initial commit
This commit is contained in:
@@ -0,0 +1,460 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class CompacteOnderdelen
|
||||
{
|
||||
private $CI;
|
||||
private $onderdeel;
|
||||
private $omvangjaren;
|
||||
private $omvangjaar;
|
||||
private $jaar;
|
||||
private $schooljaar;
|
||||
private $schooljaarV;
|
||||
private $school;
|
||||
private $schoolgegevens;
|
||||
private $schoolpartial = [];
|
||||
private $swvid;
|
||||
private $organisatie;
|
||||
private $kleurcodes;
|
||||
private $kleuren;
|
||||
private $legenda;
|
||||
private $logo;
|
||||
private $tlvs;
|
||||
private $arrangementen;
|
||||
private $aantallen;
|
||||
private $diversiteit;
|
||||
private $ijkpunten;
|
||||
private $scorevorm;
|
||||
private $selectie;
|
||||
private $selecties = [];
|
||||
private $vorm;
|
||||
private $jaarnummer;
|
||||
private $subsoorten;
|
||||
private $subsoort;
|
||||
private $somE;
|
||||
private $somB;
|
||||
private $uitgavetypen;
|
||||
private $type;
|
||||
private $typesom;
|
||||
private $naam;
|
||||
private $data;
|
||||
private $html;
|
||||
private $onderdeelcs;
|
||||
private $onderdelencs;
|
||||
private $compacteonderdelen;
|
||||
|
||||
public function __construct($schooljaarnr, $onderdelen, $omvangjaren){
|
||||
$this->CI = &get_instance();
|
||||
$this->schooljaarnr = $schooljaarnr;
|
||||
$this->onderdelen = $onderdelen;
|
||||
$this->omvangjaren = $omvangjaren;
|
||||
$this->handle();
|
||||
}
|
||||
|
||||
public function getCompacteOnderdelen(){
|
||||
return $this->compacteonderdelen;
|
||||
}
|
||||
|
||||
public function getSchooljaar(){
|
||||
return $this->schooljaar->naam;
|
||||
}
|
||||
|
||||
public function getSchoolnaam(){
|
||||
return $this->organisatie->naam;
|
||||
}
|
||||
|
||||
private function handle()
|
||||
{
|
||||
$this->setSchooljaar();
|
||||
$this->setOrganisatie();
|
||||
$this->setSchool();
|
||||
$this->setSchoolGegevens();
|
||||
$this->setSchoolPartial();
|
||||
$this->setSWVid();
|
||||
$this->setKleurcodes();
|
||||
$this->setKleuren();
|
||||
$this->setLegenda();
|
||||
$this->loopOnderdelen();
|
||||
$this->setCompacteOnderdelen();
|
||||
|
||||
|
||||
}
|
||||
|
||||
private function setSchooljaar(){
|
||||
$jaarid = $this->CI->Schooljaren_model->get_fieldvalue(['schooljaarnr' => $this->schooljaarnr], 'id');
|
||||
$this->schooljaar = $this->CI->Schooljaren_model->get_record_by_id($jaarid);
|
||||
}
|
||||
|
||||
private function setOrganisatie(){
|
||||
$this->organisatie = $this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid);
|
||||
}
|
||||
|
||||
private function setSchool(){
|
||||
$this->school = $this->CI->Schooldetails_model->get_details($this->CI->globorgid);
|
||||
}
|
||||
|
||||
private function setSchoolGegevens(){
|
||||
$test = $this->CI->rootpath;
|
||||
$logo = false;
|
||||
if($this->school && $this->school->logo) {
|
||||
$logo = $this->CI->config->item('vendor_url') . '/images/logos/' . $this->school->logo;
|
||||
}
|
||||
|
||||
$this->schoolgegevens = [
|
||||
'organisatie' => $this->organisatie,
|
||||
'naamkort' => $this->organisatie->naamkort,
|
||||
'school' => $this->school,
|
||||
'schooljaar' => $this->schooljaar->naam,
|
||||
'schooljaarnr' => $this->schooljaarnr,
|
||||
'datum' => date("d-m-Y"),
|
||||
'logo' => $logo
|
||||
];
|
||||
}
|
||||
|
||||
private function setSchoolpartial()
|
||||
{
|
||||
$this->schoolpartial['data'] = $this->schoolgegevens;
|
||||
$this->schoolpartial['html'] = 'monpas/compactsop/schoolgegevenscompact';
|
||||
}
|
||||
|
||||
private function setSWVid()
|
||||
{
|
||||
$this->swvid = $this->CI->Organisaties_model->get_swvid($this->CI->globorgid);
|
||||
}
|
||||
|
||||
private function setKleurcodes()
|
||||
{
|
||||
$this->kleurcodes = new Kleurcodes();
|
||||
}
|
||||
|
||||
private function setKleuren()
|
||||
{
|
||||
// $this->kleuren = $this->kleurcodes->getKleurcodesOrg(0, $this->swvid);
|
||||
if (!$this->kleuren || $this->kleuren == " ") {
|
||||
$this->kleuren = new stdClass();
|
||||
$this->kleuren->cluster_id = 0;
|
||||
$this->kleuren->grens1 = '60';
|
||||
$this->kleuren->grens2 = '80';
|
||||
$this->kleuren->grens3 = '90';
|
||||
$this->kleuren->grens4 = '100';
|
||||
// $this->kleuren->kleur1 = '#fe2219';
|
||||
// $this->kleuren->kleur2 = '#fea719';
|
||||
// $this->kleuren->kleur3 = '#15d029';
|
||||
// $this->kleuren->kleur4 = '#1558d0';
|
||||
$this->kleuren->kleur1 = '#e08885';
|
||||
$this->kleuren->kleur2 = '#ffcc80';
|
||||
$this->kleuren->kleur3 = '#9fdf9f';
|
||||
$this->kleuren->kleur4 = '#99d6ff';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private function setLegenda()
|
||||
{
|
||||
$this->legenda['data'] = $this->kleuren;
|
||||
$this->legenda['html'] = "monpas/compactsop/legendacompact";
|
||||
}
|
||||
|
||||
private function loopOnderdelen()
|
||||
{
|
||||
if (!$this->onderdelen) return;
|
||||
foreach ($this->onderdelen as $index => $this->onderdeel) {
|
||||
$this->data = "";
|
||||
$this->html = "";
|
||||
$this->setOnderdeelNaam();
|
||||
$this->setHTMLPad();
|
||||
$this->switchOnderdelen();
|
||||
$this->setOnderdeel();
|
||||
$this->setOnderdelen();
|
||||
}
|
||||
}
|
||||
|
||||
private function setOnderdeelNaam()
|
||||
{
|
||||
if (!$this->onderdeel['onderdeelnr']) return;
|
||||
$this->naam = $this->CI->Compactsoponderdelen_model->get_fieldvalue(['nummer' => $this->onderdeel['onderdeelnr']], 'naam');
|
||||
}
|
||||
|
||||
private function setHTMLPad(){
|
||||
if (!$this->onderdeel['onderdeelnr']) return;
|
||||
$this->html = $this->CI->Compactsoponderdelen_model->get_fieldvalue(['nummer' => $this->onderdeel['onderdeelnr']], 'pad');
|
||||
}
|
||||
|
||||
private function switchOnderdelen()
|
||||
{
|
||||
if (!$this->onderdeel['onderdeelnr']) return;
|
||||
switch ($this->onderdeel['onderdeelnr']) {
|
||||
case 1:
|
||||
$this->setDiversiteit();
|
||||
break;
|
||||
case 2:
|
||||
$this->setIJkpunten();
|
||||
break;
|
||||
case 3:
|
||||
$this->setSetOmvang();
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
$this->setIJkpunten();
|
||||
break;
|
||||
case 7:
|
||||
$this->setMiddelen();
|
||||
break;
|
||||
case 8:
|
||||
$this->setIJkpunten();
|
||||
}
|
||||
}
|
||||
|
||||
private function setDiversiteit()
|
||||
{
|
||||
$divcompact = New Diversiteit($this->schooljaarnr, $this->CI->globorgid, $this->onderdeel['modulenr']);
|
||||
$divdata = $divcompact->getDiversiteit();
|
||||
$divafbeelding = New DiversiteitAfbeeldingen($divdata, $this->onderdeel['modulenr'], $this->schooljaarnr);
|
||||
$this->diversiteit = $divafbeelding->getDiversiteitAfbeeldingen();
|
||||
|
||||
$data = [
|
||||
'schooljaar' => $this->schooljaar->naam,
|
||||
'groepen' => $this->diversiteit['groepen'],
|
||||
'schooldq' => $this->diversiteit['schooldq'],
|
||||
'schooldiversiteit' => $this->diversiteit['totdiversiteit'],
|
||||
|
||||
|
||||
];
|
||||
$this->data = $data;
|
||||
|
||||
}
|
||||
|
||||
private function setSetOmvang(){
|
||||
if(! isset($this->omvangjaren) || count($this->omvangjaren) < 1 || !$this->omvangjaren) return;
|
||||
$jaren = implode("','", $this->omvangjaren);
|
||||
$jaren = "'" . $jaren . "'";
|
||||
|
||||
|
||||
$arrs = $this->CI->Arrangementen_model->getArrangementnamenSop($jaren,$this->CI->globorgid );
|
||||
if($arrs) {
|
||||
$kleuren = ['#ffcc80', '#ffb84d', '#ffa31a', '#e68a00', '#b36b00', '#804d00', '#4d2e00', '#ffe0b3', '#fff5e6'];
|
||||
$index = 0;
|
||||
foreach ($arrs as $arr) {
|
||||
if ($index >= count($kleuren)) $index = 0;
|
||||
$arr->kleur = $kleuren[$index];
|
||||
$index++;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($this->omvangjaren as $index => $this->omvangjaar) {
|
||||
$this->jaar = new stdClass();
|
||||
$this->jaar->aantallen =
|
||||
$this->CI->Aantalleerlingen_model->get_omvang($this->omvangjaar, $this->CI->globorgid);
|
||||
$this->jaar->tlvs =
|
||||
$this->CI->Tlvs_model->getAantalLeerlingenMetTLV($this->omvangjaar, $this->CI->globorgid);
|
||||
$this->jaar->arrangementen =
|
||||
$this->CI->Arrangementen_model->getArrangementenMetAantallenSop($this->CI->globorgid,$this->omvangjaar );
|
||||
if($this->jaar->arrangementen) {
|
||||
foreach ($this->jaar->arrangementen as $arrangement) {
|
||||
foreach ($arrs as $arr) {
|
||||
if ($arrangement->id == $arr->id) {
|
||||
$arrangement->kleur = $arr->kleur;
|
||||
}
|
||||
$arrangement->naamkort = $arrangement->naam;
|
||||
if (strlen($arrangement->naam)> 10){
|
||||
$arrangement->naamkort = substr($arrangement->naam, 0, 12);
|
||||
$arrangement->naamkort = $arrangement->naamkort. '..';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->data [] = $this->jaar;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function setMiddelen()
|
||||
{
|
||||
$this->setUitgavetypen();
|
||||
$this->loopUitgavetypen();
|
||||
$this->setTypeSom();
|
||||
// $this->typesom = $this->setBedragNL($this->typesom);
|
||||
|
||||
$this->setSubsoorten();
|
||||
$this->loopSubsoorten();
|
||||
$this->setSomSubsoort();
|
||||
// $this->somB = $this->setBedragNL($this->somB);
|
||||
// $this->somE = $this->setBedragNL($this->somE);
|
||||
$this->setMiddelenData();
|
||||
}
|
||||
|
||||
private function setUitgavetypen()
|
||||
{
|
||||
$this->jaarnummer = $this->CI->Kalenderjaren_model->get_fieldvalue(['naam' => $this->onderdeel['orgversieid']], 'jaarnr');
|
||||
$this->uitgavetypen = $this->CI->Finbestemmingen_model->getUitgavenPerType($this->CI->globorgid, $this->jaarnummer);
|
||||
}
|
||||
|
||||
private function loopUitgavetypen()
|
||||
{
|
||||
if (!$this->uitgavetypen) return;
|
||||
foreach ($this->uitgavetypen as $index => $this->type) {
|
||||
$this->afrondenType();
|
||||
// $this->type->bedragNL = $this->setBedragNL($this->type->format);
|
||||
$this->lowercase();
|
||||
}
|
||||
}
|
||||
|
||||
private function afrondenType(){
|
||||
$euros= number_format(($this->type->bedrag /100) , 0,',','.');
|
||||
$this->type->euros = $euros;
|
||||
$this->type->bedragNL =$euros;
|
||||
// $euros = round(($this->type->bedrag / 100), 2);
|
||||
// $this->type->euros = $euros;
|
||||
}
|
||||
|
||||
private function setBedragNL($bedrag){
|
||||
$metpunt = str_replace(',', '.', $bedrag);
|
||||
$lengte = strlen($metpunt);
|
||||
$deel1 = substr($metpunt, 0, ($lengte - 3));
|
||||
$deel2 = substr($metpunt, ($lengte - 2), 2);
|
||||
return $deel1 . ',' . $deel2;
|
||||
}
|
||||
|
||||
|
||||
private function lowercase(){
|
||||
$klein = strtolower($this->type->uitgavetype);
|
||||
$eerste = ucfirst($klein);
|
||||
$this->type->uitgavetype = $eerste;
|
||||
}
|
||||
|
||||
private function setTypeSom(){
|
||||
$this->typesom = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnummer);
|
||||
$this->typesom = number_format(($this->typesom / 100), 0,',','.');
|
||||
}
|
||||
|
||||
|
||||
private function setSubsoorten(){
|
||||
$this->subsoorten = $this->CI->Finbestemmingen_model->getUitgavenPerSubsoortSchool($this->CI->globorgid, $this->jaarnummer);
|
||||
}
|
||||
|
||||
private function loopSubsoorten(){
|
||||
if (!$this->subsoorten) return;
|
||||
foreach ($this->subsoorten as $index => $this->subsoort) {
|
||||
$this->afrondenSoort();
|
||||
//$this->subsoort->bedragNL = $this->setBedragNL($this->subsoort->format);
|
||||
}
|
||||
}
|
||||
|
||||
private function afrondenSoort(){
|
||||
$euros= number_format(($this->subsoort->bedrag /100) , 0,',','.');
|
||||
$this->subsoort->euros = $euros;
|
||||
$this->subsoort->bedragNL =$euros;
|
||||
}
|
||||
|
||||
private function setSomSubsoort(){
|
||||
$this->somB = $this->CI->Finbestemmingen_model->setSomSubsoort(
|
||||
$this->CI->globorgid, $this->jaarnummer, 'BASIS');
|
||||
|
||||
$this->somB = str_replace(',','', $this->somB);
|
||||
$this->somB = number_format(($this->somB ), 0,',','.');
|
||||
|
||||
|
||||
$this->somE = $this->CI->Finbestemmingen_model->setSomSubsoort(
|
||||
$this->CI->globorgid, $this->jaarnummer, 'EXTRA');
|
||||
$this->somE = str_replace(',','', $this->somE);
|
||||
$this->somE = number_format(($this->somE ), 0,',','.');
|
||||
|
||||
}
|
||||
|
||||
private function setMiddelenData()
|
||||
{
|
||||
$data = ['subsoorten' => $this->subsoorten,
|
||||
'typesom' => $this->typesom,
|
||||
'somB' => $this->somB,
|
||||
'somE' => $this->somE,
|
||||
'uitgaventypen' => $this->uitgavetypen,
|
||||
'versie' => $this->onderdeel['orgversieid']
|
||||
];
|
||||
$this->data = $data;
|
||||
|
||||
}
|
||||
|
||||
private function setIJkpunten()
|
||||
{
|
||||
$this->setScorevorm();
|
||||
$this->setSelecties();
|
||||
$this->setLijsten();
|
||||
$this->setIJkpuntenGegevens();
|
||||
}
|
||||
|
||||
private function setScorevorm(){
|
||||
if(!$this->onderdeel['orgversieid']) return;
|
||||
if($this->onderdeel['onderdeelnr'] == 7) return;
|
||||
$this->scorevorm =
|
||||
$this->CI->Orgversies_model->get_fieldvalue( ['id' => $this->onderdeel['orgversieid'] ],'vorm');
|
||||
}
|
||||
|
||||
private function setSelecties(){
|
||||
$this->selectie =[];
|
||||
$this->selecties = [];
|
||||
$this->selectie = [
|
||||
'orgversieid' => $this->onderdeel['orgversieid'],
|
||||
'vorm' => $this->scorevorm
|
||||
];
|
||||
$this->selecties[] = $this->selectie;
|
||||
if($this->onderdeel['vergelijkid'] ){
|
||||
|
||||
// foreach($this->onderdeel['vergelijkids'] as $index => $this->vergelijkingid){
|
||||
$this->vorm = $this->CI->Orgversies_model->get_fieldvalue(['id' => $this->onderdeel['vergelijkid']], 'vorm');
|
||||
$this->selectie = ['orgversieid' => $this->onderdeel['vergelijkid'],
|
||||
'vorm' => $this->vorm];
|
||||
$this->selecties [] = $this->selectie;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
private function setLijsten(){
|
||||
$this->ijkpunten = "";
|
||||
$lijsten = new Lijsten($this->CI->globorgid, $this->selecties);
|
||||
$this->ijkpunten = $lijsten->getSopInfo();
|
||||
}
|
||||
|
||||
|
||||
private function setIJkpuntenGegevens(){
|
||||
$this->data= "";
|
||||
$this->data = $this->ijkpunten;
|
||||
}
|
||||
|
||||
|
||||
private function setOnderdeel(){
|
||||
$this->onderdeelcs = $this->onderdeel;
|
||||
|
||||
$this->onderdeelcs['breed'] = 'F';
|
||||
|
||||
if($this->html) {
|
||||
$this->onderdeelcs['html'] = $this->html;
|
||||
}
|
||||
if($this->data && $this->naam) {
|
||||
$this->onderdeelcs['data'] =
|
||||
['data' =>$this->data,
|
||||
'naam' =>$this->naam];
|
||||
}
|
||||
}
|
||||
|
||||
private function setOnderdelen(){
|
||||
$this->onderdelencs []= $this->onderdeelcs;
|
||||
}
|
||||
|
||||
private function setCompacteOnderdelen(){
|
||||
$this->compacteonderdelen= [
|
||||
'schoolgegevens' => $this->schoolpartial,
|
||||
'legenda' => $this->legenda,
|
||||
'onderdelen' => $this->onderdelencs,
|
||||
'schooljaarnr' => $this->schooljaarnr,
|
||||
'schooljaar' => $this->schooljaar->naam,
|
||||
'schoolnaam' => $this->organisatie->naam
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,262 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class CompactePaginas
|
||||
{
|
||||
private $CI;
|
||||
private $schooljaarnr;
|
||||
private $schooljaar;
|
||||
private $schoolnaam;
|
||||
private $onderdeel;
|
||||
private $onderdelen;
|
||||
private $onderdelendef;
|
||||
private $schoolgegevens;
|
||||
private $legenda;
|
||||
private $paginahtml;
|
||||
private $pagina;
|
||||
private $paginas;
|
||||
private $vorigepagina = 1;
|
||||
private $aantalpaginas;
|
||||
private $divBreed = 'F';
|
||||
private $middelenBreed = 'F';
|
||||
private $inspectieBreed = 'F';
|
||||
private $compactarray;
|
||||
private $boven;
|
||||
private $onder;
|
||||
private $linksboven;
|
||||
private $rechtsboven;
|
||||
private $linksonder;
|
||||
private $rechtsonder;
|
||||
private $blokjeshtml;
|
||||
private $html;
|
||||
private $sopid;
|
||||
|
||||
private $gegevens;
|
||||
private $gegevensarray = [];
|
||||
|
||||
public function __construct($onderdelen){
|
||||
$this->CI = &get_instance();
|
||||
$this->compacteonderdelen = $onderdelen;
|
||||
$this->handle();
|
||||
}
|
||||
|
||||
public function getHtml(){
|
||||
return $this->html;
|
||||
}
|
||||
|
||||
public function getSopId(){
|
||||
return $this->sopid;
|
||||
}
|
||||
|
||||
private function handle(){
|
||||
$this->setSchoolgegevens();
|
||||
$this->setLegenda();
|
||||
$this->setOnderdelen();
|
||||
$this->setSchooljaarnr();
|
||||
$this->SetSchooljaar();
|
||||
$this->setSchoolnaam();
|
||||
$this->loopOnderdelen();
|
||||
$this->setAantalPaginas();
|
||||
$this->maakPaginas();
|
||||
$this->loopPaginas();
|
||||
$this->loopGegevensArray();
|
||||
$this->setHtml();
|
||||
}
|
||||
|
||||
private function setSchoolgegevens(){
|
||||
$this->schoolgegevens = $this->compacteonderdelen['schoolgegevens'];
|
||||
}
|
||||
|
||||
private function setLegenda(){
|
||||
$this->legenda = $this->compacteonderdelen['legenda'];
|
||||
}
|
||||
|
||||
private function setOnderdelen(){
|
||||
$this->onderdelen = $this->compacteonderdelen['onderdelen'];
|
||||
}
|
||||
|
||||
private function setSchooljaarnr(){
|
||||
$this->schooljaarnr = $this->compacteonderdelen['schooljaarnr'];
|
||||
}
|
||||
|
||||
private function setSchooljaar(){
|
||||
$this->schooljaar = $this->compacteonderdelen['schooljaar'];
|
||||
}
|
||||
|
||||
private function setSchoolnaam(){
|
||||
$this->schoolnaam = $this->compacteonderdelen['schoolnaam'];
|
||||
}
|
||||
|
||||
private function loopOnderdelen(){
|
||||
foreach($this->onderdelen as $index => $this->onderdeel ) {
|
||||
$this->setDivBreedte();
|
||||
$this->setMiddelenBreedte();
|
||||
$this->setInspectieBreedte();
|
||||
$this->setOnderdelenDef();
|
||||
}
|
||||
}
|
||||
|
||||
private function setDivBreedte(){
|
||||
if (!$this->onderdeel['onderdeelnr']) return;
|
||||
if($this->onderdeel['onderdeelnr'] != 1 || $this->divBreed== 'T') return;
|
||||
$aantalGroepen = count($this->onderdeel['data']['data']['groepen']);
|
||||
if($aantalGroepen > 8){
|
||||
$this->divBreed = 'T';
|
||||
$this->onderdeel['breed'] = 'T';
|
||||
}
|
||||
}
|
||||
|
||||
private function setMiddelenBreedte(){
|
||||
if (!$this->onderdeel['onderdeelnr']) return;
|
||||
if($this->onderdeel['onderdeelnr'] != 7 || $this->middelenBreed == 'T') return;
|
||||
$this->middelenBreed = 'T';
|
||||
$this->onderdeel['breed'] = 'T';
|
||||
}
|
||||
|
||||
|
||||
private function setInspectieBreedte(){
|
||||
if (!$this->onderdeel['onderdeelnr']) return;
|
||||
if($this->onderdeel['onderdeelnr'] != 8 || $this->inspectieBreed == 'T') return;
|
||||
$this->inspectieBreed = 'T';
|
||||
$this->onderdeel['breed'] = 'T';
|
||||
}
|
||||
|
||||
|
||||
private function setOnderdelenDef(){
|
||||
$this->onderdelendef[] = $this->onderdeel;
|
||||
}
|
||||
|
||||
private function setAantalPaginas(){
|
||||
$ruimte = count($this->onderdelen);
|
||||
if($this->divBreed == 'T'){
|
||||
$ruimte = $ruimte + 1;
|
||||
}
|
||||
if($this->middelenBreed == 'T'){
|
||||
$ruimte = $ruimte + 1;
|
||||
}
|
||||
if($this->inspectieBreed == 'T'){
|
||||
$ruimte = $ruimte + 1;
|
||||
}
|
||||
$this->aantalpaginas = ceil($ruimte/4);
|
||||
}
|
||||
|
||||
private function maakPaginas(){
|
||||
for ($i = 0; $i < $this->aantalpaginas; $i++) {
|
||||
$this->pagina = new stdClass;
|
||||
$this->paginas [] = $this->pagina;
|
||||
}
|
||||
}
|
||||
|
||||
private function loopPaginas(){
|
||||
foreach($this->paginas as $index=>$this->pagina){
|
||||
$this->maakPaginaNummer($index);
|
||||
$this->loopOnderdelendef();
|
||||
$this->verzamelGegevens();
|
||||
$this->setGegevensArray();
|
||||
}
|
||||
}
|
||||
|
||||
private function maakPaginaNummer($index){
|
||||
$this->pagina->paginanummer = $index + 1;
|
||||
}
|
||||
|
||||
private function loopOnderdelendef(){
|
||||
foreach($this->onderdelendef as $index=> $this->onderdeel){
|
||||
if(!$this->onderdeel['onderdeelnr']) continue;
|
||||
if(intval($this->onderdeel['paginanr'])== $this->pagina->paginanummer) {
|
||||
$this->setCompactArray();
|
||||
$this->plaatsOnderdelenBreed();
|
||||
$this->plaatsOnderdelenSmal();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function setCompactArray(){
|
||||
if(! isset($this->onderdeel['html']) || ! isset($this->onderdeel['data'])) return;
|
||||
$this->compactarray = ['html' => $this->onderdeel['html'],
|
||||
'data' => $this->onderdeel['data'] ];
|
||||
}
|
||||
|
||||
private function plaatsOnderdelenBreed(){
|
||||
if(! isset($this->onderdeel['html']) || ! isset($this->onderdeel['data'])) return;
|
||||
if ($this->onderdeel['breed'] == 'F') return;
|
||||
if ($this->onderdeel['bloknr'] == 1 || $this->onderdeel['bloknr'] == 2) $this->pagina->boven = $this->compactarray;
|
||||
if ($this->onderdeel['bloknr'] == 3 || $this->onderdeel['bloknr'] == 4) $this->pagina->onder = $this->compactarray;
|
||||
}
|
||||
|
||||
private function plaatsOnderdelenSmal(){
|
||||
if(! isset($this->onderdeel['html']) || ! isset($this->onderdeel['data'])) return;
|
||||
if ($this->onderdeel['breed']== 'T') return;
|
||||
switch( $this->onderdeel['bloknr']){
|
||||
case 1: $this->pagina->linksboven = $this->compactarray;
|
||||
break;
|
||||
case 2: $this->pagina->rechtsboven = $this->compactarray;
|
||||
break;
|
||||
case 3: $this->pagina->linksonder = $this->compactarray;
|
||||
break;
|
||||
case 4: $this->pagina->rechtsonder = $this->compactarray;
|
||||
}
|
||||
}
|
||||
|
||||
private function verzamelGegevens(){
|
||||
$boven = false;
|
||||
if(isset($this->pagina->boven) && $this->pagina->boven) $boven = $this->pagina->boven;
|
||||
$linksboven = false;
|
||||
if(isset($this->pagina->linksboven)&& $this->pagina->linksboven) $linksboven = $this->pagina->linksboven;
|
||||
$rechtsboven = false;
|
||||
if(isset($this->pagina->rechtsboven)&& $this->pagina->rechtsboven)$rechtsboven = $this->pagina->rechtsboven;
|
||||
$onder = "";
|
||||
if(isset($this->pagina->onder)&& $this->pagina->onder) $onder = $this->pagina->onder;
|
||||
$linksonder = false;
|
||||
if(isset($this->pagina->linksonder)&&$this->pagina->linksonder) $linksonder = $this->pagina->linksonder;
|
||||
$rechtsonder = false;
|
||||
if(isset($this->pagina->rechtsonder)&& $this->pagina->rechtsonder)$rechtsonder = $this->pagina->rechtsonder;
|
||||
|
||||
|
||||
$this->gegevens = ['schoolgegevens' => $this->schoolgegevens,
|
||||
'legenda' => $this->legenda,
|
||||
'boven' => $boven,
|
||||
'onder' => $onder,
|
||||
'linksboven' => $linksboven,
|
||||
'rechtsboven' => $rechtsboven,
|
||||
'linksonder' => $linksonder,
|
||||
'rechtsonder' => $rechtsonder,
|
||||
'paginanummer' => $this->pagina->paginanummer,
|
||||
'nieuwepagina' => false];
|
||||
|
||||
}
|
||||
|
||||
private function setGegevensArray(){
|
||||
$this->gegevensarray[] = $this->gegevens;
|
||||
}
|
||||
|
||||
private function loopGegevensArray(){
|
||||
foreach($this->gegevensarray as $index => $this->gegevens){
|
||||
$this->paginahtml = "";
|
||||
$this->maakHtmlBlokjes();
|
||||
$this->setBlokjesHtml();
|
||||
}
|
||||
}
|
||||
|
||||
private function maakHtmlBlokjes(){
|
||||
$this->gegevens['nieuwepagina'] = false;
|
||||
if ($this->pagina->paginanummer <> $this->vorigepagina) {
|
||||
$this->gegevens['nieuwepagina'] = true;
|
||||
$this->vorigepagina = $this->pagina->paginanummer;
|
||||
}
|
||||
$this->paginahtml = $this->CI->load->view("monpas/compactsop/blokjescompact", $this->gegevens, true);
|
||||
}
|
||||
|
||||
private function setBlokjesHtml(){
|
||||
if(!$this->paginahtml) return;
|
||||
if ($this->blokjeshtml <= '') $this->blokjeshtml=$this->paginahtml;
|
||||
else $this->blokjeshtml = $this->blokjeshtml .'<div style="page-break-before: always"></div>' .$this->paginahtml;
|
||||
}
|
||||
|
||||
private function setHtml()
|
||||
{
|
||||
if (!$this->blokjeshtml) return;
|
||||
$data = ['schooljaar' => $this->schooljaar];
|
||||
$html = $this->CI->load->view("monpas/compactsop/paginacompact", $data, true);
|
||||
$this->html = str_replace('##PLACEHOLDER##', $this->blokjeshtml, $html);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class CompacteVersies
|
||||
{
|
||||
private $CI;
|
||||
|
||||
private $schooljaar;
|
||||
private $kalenderjaar1;
|
||||
private $kalenderjaar2;
|
||||
private $jaarnr1;
|
||||
private $jaarnr2;
|
||||
private $modulenr;
|
||||
private $licentie;
|
||||
private $selected;
|
||||
private $erIsDiversiteit;
|
||||
private $groepen;
|
||||
private $aantallln;
|
||||
private $onderdelen;
|
||||
private $onderdeel;
|
||||
private $erZijnBudgetten = 'F';
|
||||
private $budgetten;
|
||||
private $geopendeversies;
|
||||
private $versie;
|
||||
private $erIsEenVersie = 'F';
|
||||
private $gevuldeversies;
|
||||
private $gevuldeschooljaren;
|
||||
private $gevuldschooljaar;
|
||||
private $vormtekst;
|
||||
private $filledversies;
|
||||
private $filledversie;
|
||||
|
||||
public function getOnderdelen(){
|
||||
return $this->onderdelen;
|
||||
}
|
||||
|
||||
|
||||
public function __construct( $schooljaarnr)
|
||||
{
|
||||
$this->CI =& get_instance();
|
||||
$this->schooljaarnr = $schooljaarnr;
|
||||
$this->handle();
|
||||
}
|
||||
|
||||
private function handle()
|
||||
{
|
||||
$this->setSchooljaar();
|
||||
$this->setKalenderjaren();
|
||||
$this->setCompactSopOnderdelen();
|
||||
$this->loopCompactSop();
|
||||
}
|
||||
|
||||
private function setSchooljaar(){
|
||||
$jaarid = $this->CI->Schooljaren_model->get_fieldvalue(['schooljaarnr'=>$this->schooljaarnr],'id');
|
||||
$this->schooljaar = $this->CI->Schooljaren_model->get_record_by_id($jaarid);
|
||||
}
|
||||
|
||||
private function setKalenderjaren(){
|
||||
$this->kalenderjaar1 = substr($this->schooljaar->naam, 0, 4 );
|
||||
$this->kalenderjaar2 = substr($this->schooljaar->naam, 5, 4);
|
||||
$this->jaarnr1 = $this->CI->Kalenderjaren_model->get_fieldvalue(['naam' =>$this->kalenderjaar1], 'jaarnr');
|
||||
$this->jaarnr2 = $this->CI->Kalenderjaren_model->get_fieldvalue(['naam' =>$this->kalenderjaar2], 'jaarnr');
|
||||
if(!$this->jaarnr2) $this->jaarnr2 = intval($this->jaarnr1) + 1;
|
||||
}
|
||||
|
||||
private function setCompactSopOnderdelen(){
|
||||
$this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen();
|
||||
}
|
||||
|
||||
|
||||
private function loopCompactSop(){
|
||||
if ($this->onderdelen){
|
||||
foreach($this->onderdelen as $index=> $this->onderdeel) {
|
||||
$this->onderdeel->licentie = 'F';
|
||||
$this->onderdeel->gegevens = 'F';
|
||||
$this->setModuleMetLicentie();
|
||||
$this->setExtraOmvang();
|
||||
$this->setDivSchooltypes();
|
||||
$this->setDiversiteit();
|
||||
$this->setBudgetten();
|
||||
$this->setGeopendeVersies();
|
||||
$this->loopGeopendeVersies();
|
||||
$this->setSelectedLijstOnderdelen();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function setModuleMetLicentie(){
|
||||
$this->onderdeel->modulenr = $this->CI->Compactsoponderdelen_model->getModuleMetLicentie($this->CI->globorgid, $this->onderdeel->nummer);
|
||||
if($this->onderdeel->modulenr) $this->onderdeel->licentie = 'T';
|
||||
}
|
||||
|
||||
private function setDivSchooltypes(){
|
||||
if(!isset($this->onderdeel->modulenr)) return;
|
||||
switch($this->onderdeel->modulenr){
|
||||
case 1: $this->onderdeel->schooltype = 'Alle';
|
||||
break;
|
||||
case 2:
|
||||
case 6: $this->onderdeel->schooltype = 'R';
|
||||
break;
|
||||
case 30:
|
||||
case 40:
|
||||
case 230: $this->onderdeel->schooltype = 'Alle';
|
||||
break;
|
||||
case 270:
|
||||
case 300: $this->onderdeel->schooltype = 'SBO';
|
||||
break;
|
||||
case 340: $this->onderdeel->schooltype = 'R';
|
||||
break;
|
||||
case 350: $this->onderdeel->schooltype = 'SBO';
|
||||
break;
|
||||
case 360: $this->onderdeel->schooltype = 'SO';
|
||||
break;
|
||||
case 630: $this->onderdeel->schooltype = 'Alle';
|
||||
break;
|
||||
default: $this->onderdeel->schooltype = 'Alle';
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private function setDiversiteit(){
|
||||
if($this->onderdeel->nummer != 1) return;
|
||||
$module = 2;
|
||||
$this->aantallln = $this->CI->Groepen_model->getversiesmetleerlingen(
|
||||
$this->CI->globorgid, $this->schooljaarnr, $this->onderdeel->schooltype, $module);
|
||||
|
||||
if(isset($this->aantallln)){
|
||||
if ($this->aantallln > 0) {
|
||||
$this->onderdeel->groepen = $this->CI->Groepen_model->get_AantalGroepen($this->schooljaarnr, $this->CI->globorgid, $module);
|
||||
$this->onderdeel->erIsDiversiteit = 'T';
|
||||
$this->onderdeel->gegevens = 'T';
|
||||
if($this->onderdeel->schooltype = 'R') $this->onderdeel->schoolsoort = 'PO';
|
||||
$this->onderdeel->versie = $this->schooljaar->naam. ', '. $this->onderdeel->schoolsoort;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function setExtraOmvang(){
|
||||
if($this->onderdeel->nummer != 3 || $this->onderdeel->licentie == 'F') return;
|
||||
$schooljaren = $this->CI->Aantalleerlingen_model->get_gevuldeschooljaren_Sop($this->schooljaarnr, $this->CI->globorgid);
|
||||
if($schooljaren && count($schooljaren) > 0) {
|
||||
$this->onderdeel->gegevens = 'T';
|
||||
$this->onderdeel->gevuldeschooljaren = $schooljaren;
|
||||
foreach ($this->onderdeel->gevuldeschooljaren as $this->gevuldschooljaar) {
|
||||
$this->gevuldschooljaar->erZijnTLVs = false;
|
||||
$this->gevuldschooljaar->erZijnArrangementen = false;
|
||||
$tlvs = $this->CI->Tlvs_model->getAantalTLVsSop($this->gevuldschooljaar->schooljaarnr, $this->CI->globorgid);
|
||||
if ($tlvs) {
|
||||
if ($tlvs > 0) $this->gevuldschooljaar->erZijnTLVs = true;
|
||||
}
|
||||
$arr = $this->CI->Arrangementen_model->getAantalLeerlingenMetArrangement($this->gevuldschooljaar->schooljaarnr, $this->CI->globorgid);
|
||||
if ($arr) {
|
||||
if ($arr > 0) $this->gevuldschooljaar->erZijnArrangementen = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function setBudgetten(){
|
||||
if($this->onderdeel->nummer != 7 || $this->onderdeel->licentie == 'F') return;
|
||||
$this->onderdeel->budgetversies = [];
|
||||
$this->budgetten = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnr1);
|
||||
if($this->budgetten > 0){
|
||||
$this->onderdeel->budgetversies [] = $this->kalenderjaar1;
|
||||
$this->onderdeel->erZijnBudgetten = 'T';
|
||||
$this->onderdeel->gegevens = 'T';
|
||||
}
|
||||
$this->budgetten = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnr2);
|
||||
if(intval($this->budgetten) > 0){
|
||||
$this->onderdeel->budgetversies [] = $this->kalenderjaar2;
|
||||
$this->onderdeel->erZijnBudgetten = 'T';
|
||||
$this->onderdeel->gegevens = 'T';
|
||||
}
|
||||
}
|
||||
|
||||
private function setGeopendeVersies(){
|
||||
if($this->onderdeel->ijkpunten == 'F' || $this->onderdeel->licentie =='F') return;
|
||||
$this->onderdeel->geopendeversies = $this->CI->Filledversions_model->getfilledversionsperorg(
|
||||
$this->CI->globorgid, $this->onderdeel->modulenr);
|
||||
}
|
||||
|
||||
private function loopGeopendeVersies(){
|
||||
if($this->onderdeel->ijkpunten == 'F'|| $this->onderdeel->licentie =='F') return;
|
||||
if(!$this->onderdeel->geopendeversies) return;
|
||||
$this->onderdeel->erIsEenVersie= 'F';
|
||||
$this->onderdeel->gegevens= 'F';
|
||||
$this->onderdeel->filledversies = [];
|
||||
foreach($this->onderdeel->geopendeversies as $index => $this->versie) {
|
||||
$this->setFilledVersies();
|
||||
}
|
||||
}
|
||||
|
||||
private function setFilledVersies(){
|
||||
$this->gevuldeversies = $this->CI->Scores_model->fGetGevuldeVersies(
|
||||
$this->versie->id, $this->CI->globorgid);
|
||||
|
||||
|
||||
if($this->gevuldeversies) {
|
||||
if($this->versie->vorm == 1){
|
||||
$this->vormtekst = 'schoolversie';
|
||||
}
|
||||
if($this->versie->vorm == 2){
|
||||
$this->vormtekst = 'individuele versie';
|
||||
}
|
||||
|
||||
$this->versie->naam = $this->versie->naam . ', periode: ' . $this->versie->periodenummer . ': ' . $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm .', '. $this->vormtekst;
|
||||
$this->versie->naamkort = 'Periode: ' . $this->versie->periodenummer . ': ' . $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm;
|
||||
$this->onderdeel->filledversies [] = $this->versie;
|
||||
}
|
||||
}
|
||||
|
||||
private function setSelectedLijstOnderdelen(){
|
||||
if($this->onderdeel->licentie == 'F') return;
|
||||
if($this->onderdeel->ijkpunten == 'F') return;
|
||||
if(!isset($this->onderdeel->filledversies) || count($this->onderdeel->filledversies) == 0) return;
|
||||
$this->onderdeel->erIsEenVersie = "T";
|
||||
$this->onderdeel->gegevens = "T";
|
||||
foreach($this->onderdeel->filledversies as $index => $this->filledversie) {
|
||||
$this->filledversie->selected = 'F';
|
||||
$valterin = $this->CI->Filledversions_model->checkperiode($this->versie->id,$this->schooljaar->start,
|
||||
$this->schooljaar->eind );
|
||||
if($valterin){
|
||||
$this->filledversie->selected = 'T';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user