diff --git a/application/controllers/monpas/Beheer.php b/application/controllers/monpas/Beheer.php index 326c8c4..785e2c0 100644 --- a/application/controllers/monpas/Beheer.php +++ b/application/controllers/monpas/Beheer.php @@ -155,15 +155,20 @@ class Beheer extends MY_Controller{ function moduleinsop(){ if (!$this->userid) die; - $sopID = $this->clean_input("sopID"); $modulenr = $this->clean_input("sysnr"); $inSOP = $this->clean_input("inSOP"); - if ($sopID > 0) { - $this->Compactsoponderdelen_model->update_record(['in_sop' => $inSOP], $sopID); + $blokjesnaam = $this->clean_input("blokjesnaam"); + $sopnaam = $this->clean_input("sopnaam"); + $sopID = $this->Compactsoponderdelen_model->get_fieldvalue(['module_nr' =>$modulenr], 'id'); + if ($sopID ) { + $this->Compactsoponderdelen_model->update_record( + ['in_sop' => $inSOP, + 'sopnaam' => $sopnaam, + 'blokjesnaam' => $blokjesnaam], $sopID); } else { $sopID = $this->Compactsoponderdelen_model->insert_record( - ['sopnaam' => '', - 'blokjesnaam' => '', + ['sopnaam' => $sopnaam, + 'blokjesnaam' => $blokjesnaam, 'module_nr' => $modulenr, 'in_sop' => $inSOP ] @@ -175,10 +180,11 @@ class Beheer extends MY_Controller{ function savesopnaam(){ if (!$this->userid) die; - $sopID = $this->clean_input("sopID"); + $modulenr = $this->clean_input("sysnr"); $sopnaam = $this->clean_input("sopnaam"); - if ($sopID > 0) { + $sopID = $this->Compactsoponderdelen_model->get_fieldvalue(['module_nr' =>$modulenr], 'id'); + if ($sopID ) { $this->Compactsoponderdelen_model->update_record(['sopnaam' => $sopnaam], $sopID); } else { $sopID = $this->Compactsoponderdelen_model->insert_record( @@ -195,10 +201,10 @@ class Beheer extends MY_Controller{ function saveblokjesnaam(){ if (!$this->userid) die; - $sopID = $this->clean_input("sopID"); $modulenr = $this->clean_input("sysnr"); $blokjesnaam = $this->clean_input("blokjesnaam"); - if ($sopID > 0) { + $sopID = $this->Compactsoponderdelen_model->get_fieldvalue(['module_nr' =>$modulenr], 'id'); + if ($sopID) { $this->Compactsoponderdelen_model->update_record(['blokjesnaam' => $blokjesnaam], $sopID); } else { $sopID = $this->Compactsoponderdelen_model->insert_record( diff --git a/application/controllers/monpas/Compactsop.php b/application/controllers/monpas/Compactsop.php index 761a50a..b3d853e 100644 --- a/application/controllers/monpas/Compactsop.php +++ b/application/controllers/monpas/Compactsop.php @@ -131,11 +131,12 @@ class Compactsop extends MY_Controller{ $schooljaarnr = $this->clean_input('schooljaarnr'); $onderdelen = $this->input->post('onderdelen'); $omvangjaren = $this->clean_input('jaren'); + $paginas = $this->clean_input('paginas'); $compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren); $compacteonderdelen = $compact->getCompacteOnderdelen(); $schoolID = $this->globorgid; - $html = (new Compactepaginas($compacteonderdelen))->getHtml(); + $html = (new Compactepaginas($compacteonderdelen, $paginas))->getHtml(); file_put_contents(MYROOTPATH.'public/tmp/temp'.$schoolID.'.html', $html); diff --git a/application/libraries/monpas/compactsop/Compacteonderdelen.php b/application/libraries/monpas/compactsop/Compacteonderdelen.php index 372d3c4..5248c15 100644 --- a/application/libraries/monpas/compactsop/Compacteonderdelen.php +++ b/application/libraries/monpas/compactsop/Compacteonderdelen.php @@ -167,35 +167,21 @@ class Compacteonderdelen private function switchOnderdelen() { - if (!$this->onderdeel['onderdeelnr']) return; - switch ($this->onderdeel['onderdeelnr']) { - case 1: + if (!$this->onderdeel['type']) return; + switch ($this->onderdeel['type']) { + case "LIJST": + $this->setIJkpunten(); $this->setDiversiteit(); break; - case 2: - $this->setIJkpunten(); + case "DIV": + $this->setDiversiteit(); break; - case 3: + case "OMVANG": $this->setSetOmvang(); break; - case 4: - case 5: - case 6: - $this->setIJkpunten(); - break; - case 7: + case "FIN": $this->setMiddelen(); break; - case 8: - case 9: - $this->setIJkpunten(); - break; - case 10: - $this->setDiversiteit(); - break; - case 11: - case 12: $this->setIJkpunten(); - break; } } @@ -392,7 +378,6 @@ class Compacteonderdelen 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'); } @@ -429,17 +414,16 @@ class Compacteonderdelen } private function setOnderdeel(){ - if (!$this->onderdeel['onderdeelnr']) return; + if (!$this->onderdeel['modulenr']) return; // $this->onderdeelcs['breed'] = 'F'; - $result = $this->CI->Compactsoponderdelen_model->getOnderdeel($this->onderdeel['onderdeelnr'], $this->organisatie->soort); - $this->onderdeel['html'] = $result->pad; - $this->onderdeel['breed'] = 'F'; + $html = $this->CI->Compactsoponderdelen_model->getPad($this->onderdeel['modulenr']); + $this->onderdeel['html'] = $html; if($this->data){ $this->onderdeel['data'] = ['data' =>$this->data, - 'naam' =>$result->naam, - 'chartid'=>$result->blokid]; + 'naam' =>$this->onderdeel['naam'], + 'chartid'=>'blokje' . $this->onderdeel['modulenr'] ]; } } diff --git a/application/libraries/monpas/compactsop/Compactepaginas.php b/application/libraries/monpas/compactsop/Compactepaginas.php index 4e1134a..62378a8 100644 --- a/application/libraries/monpas/compactsop/Compactepaginas.php +++ b/application/libraries/monpas/compactsop/Compactepaginas.php @@ -23,9 +23,10 @@ class Compactepaginas private $gegevens; private $gegevensarray = []; - public function __construct($onderdelen){ + public function __construct($onderdelen, $paginas){ $this->CI = &get_instance(); $this->compacteonderdelen = $onderdelen; + $this->aantalpaginas = $paginas; $this->handle(); } @@ -42,8 +43,8 @@ class Compactepaginas $this->setLegenda(); $this->setOnderdelen(); $this->SetSchooljaar(); - $this->loopOnderdelen(); - $this->setAantalPaginas(); +// $this->loopOnderdelen(); +// $this->setAantalPaginas(); $this->maakPaginas(); $this->loopPaginas(); $this->loopGegevensArray(); @@ -68,46 +69,46 @@ class Compactepaginas } - private function loopOnderdelen(){ - foreach($this->onderdelen as $index => $this->onderdeel ) { - $this->setDivBreedte(); - $this->setMiddelenBreedte(); - $this->setOnderdelenDef(); - } - } +// private function loopOnderdelen(){ +// foreach($this->onderdelen as $index => $this->onderdeel ) { +//// $this->setDivBreedte(); +//// $this->setMiddelenBreedte(); +// $this->setOnderdelenDef(); +// } +// } - private function setDivBreedte(){ - if (!$this->onderdeel['onderdeelnr']) return; - if($this->onderdeel['onderdeelnr'] != 1 && $this->onderdeel['onderdeelnr'] != 10 ) return; - $aantalGroepen = count($this->onderdeel['data']['data']['groepen']); - if($aantalGroepen > 8){ - $this->divBreed = 'T'; - $this->onderdeel['breed'] = 'T'; - } - } +// private function setDivBreedte(){ +// if (!$this->onderdeel['modulenr']) return; +// if($this->onderdeel['onderdeelnr'] != 1 && $this->onderdeel['onderdeelnr'] != 10 ) 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 setMiddelenBreedte(){ +// if (!$this->onderdeel['onderdeelnr']) return; +// if($this->onderdeel['onderdeelnr'] != 7 || $this->middelenBreed == 'T') return; +// $this->middelenBreed = 'T'; +// $this->onderdeel['breed'] = 'T'; +// } - private function setOnderdelenDef(){ - $this->onderdelendef[] = $this->onderdeel; - } +// 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; - } - - $this->aantalpaginas = ceil($ruimte/4); - } +// private function setAantalPaginas(){ +// $ruimte = count($this->onderdelen); +// if($this->divBreed == 'T'){ +// $ruimte = $ruimte + 1; +// } +// if($this->middelenBreed == 'T'){ +// $ruimte = $ruimte + 1; +// } +// +// $this->aantalpaginas = ceil($ruimte/4); +// } private function maakPaginas(){ for ($i = 0; $i < $this->aantalpaginas; $i++) { @@ -130,8 +131,8 @@ class Compactepaginas } private function loopOnderdelendef(){ - foreach($this->onderdelendef as $index=> $this->onderdeel){ - if(!$this->onderdeel['onderdeelnr']) continue; + foreach($this->onderdelen as $index=> $this->onderdeel){ + if(!$this->onderdeel['modulenr']) continue; if(intval($this->onderdeel['paginanr'])== $this->pagina->paginanummer) { $this->setCompactArray(); $this->plaatsOnderdelenBreed(); diff --git a/application/libraries/monpas/compactsop/Compacteversies.php b/application/libraries/monpas/compactsop/Compacteversies.php index b8f9506..30c535c 100644 --- a/application/libraries/monpas/compactsop/Compacteversies.php +++ b/application/libraries/monpas/compactsop/Compacteversies.php @@ -5,6 +5,7 @@ class Compacteversies private $CI; private $schooljaar; + private $organisatie; private $kalenderjaar1; private $kalenderjaar2; private $jaarnr1; @@ -66,21 +67,21 @@ class Compacteversies } private function setSWVID(){ - $organisatie =$this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid); - if ($organisatie) { - switch ($organisatie->soort) { + $this->organisatie =$this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid); + if ($this->organisatie) { + switch ($this->organisatie->soort) { case "1": - $this->swvID = $organisatie->id; + $this->swvID = $this->organisatie->id; break; case "2": - $this->swvID = $organisatie->valtonder_id; + $this->swvID = $this->organisatie->valtonder_id; break; case "3" : - $kamer = $this->CI->Organisaties_model->get_record_by_id($organisatie->valtonder_id); + $kamer = $this->CI->Organisaties_model->get_record_by_id($this->organisatie->valtonder_id); $this->swvID = $kamer->valtonder_id; break; case "4": - $kamer = $this->CI->Organisaties_model->get_record_by_id($organisatie->valtonder_id); + $kamer = $this->CI->Organisaties_model->get_record_by_id($this->organisatie->valtonder_id); $bestuur = $this->CI->Organisaties_model->get_record_by_id($kamer->valtonder_id); $this->swvID = $bestuur->valtonder_id; break; @@ -92,20 +93,18 @@ class Compacteversies } private function setCompactSopOnderdelen(){ - $this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen($this->orgsoortnr, $this->swvID, - $this->schooljaar->schooljaarnr); + $this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen( $this->organisatie->id); } 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->setOrgVersies(); $this->setGeopendeVersies(); $this->loopGeopendeVersies(); $this->setSelectedLijstOnderdelen(); @@ -113,14 +112,8 @@ class Compacteversies } } - private function setModuleMetLicentie(){ - $this->onderdeel->modulenr = - $this->CI->Compactsoponderdelen_model->getModuleMetLicentie($this->CI->globorgid, $this->onderdeel->nummer, $this->orgsoortnr); - if($this->onderdeel->modulenr) $this->onderdeel->licentie = 'T'; - } private function setDivSchooltypes(){ - if($this->onderdeel->licentie =='F') return; switch($this->onderdeel->modulenr){ case 1: $this->onderdeel->schooltype = 'Alle'; break; @@ -147,10 +140,8 @@ class Compacteversies } private function setDiversiteit(){ - if($this->onderdeel->licentie =='F') return; - if($this->onderdeel->nummer != 1 && $this->onderdeel->nummer != 10) return; + if($this->onderdeel->instrument_type != "DIV") return; $module = $this->onderdeel->modulenr; - if(isset($this->swvID) && $this->swvID == 150 && $this->schooljaar->schooljaarnr > 8 && $this->onderdeel->modulenr != 270) $module = 660; $this->aantallln = $this->CI->Groepen_model->getversiesmetleerlingengoedeversie( $this->CI->globorgid, $this->schooljaarnr, $this->onderdeel->schooltype, $module); @@ -168,7 +159,7 @@ class Compacteversies private function setExtraOmvang(){ - if($this->onderdeel->nummer != 3 || $this->onderdeel->licentie == 'F') return; + if($this->onderdeel->instrument_type != "LIJST") return; $schooljaren = $this->CI->Aantalleerlingen_model->get_gevuldeschooljaren_Sop($this->schooljaarnr, $this->orglist); if($schooljaren && count($schooljaren) > 0) { $this->onderdeel->gegevens = 'T'; @@ -195,7 +186,7 @@ class Compacteversies } private function setBudgetten(){ - if($this->onderdeel->nummer != 7 || $this->onderdeel->licentie == 'F') return; + if($this->onderdeel->instrument_type != "FIN") return; $this->onderdeel->budgetversies = []; $this->budgetten = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnr1); if($this->budgetten > 0){ @@ -211,15 +202,25 @@ class Compacteversies } } + private function setOrgVersies(){ + if($this->onderdeel->instrument_type != "LIJST" ) return; + $this->onderdeel->erZijnOrgVersies = 'F'; + $this->onderdeel->gegevens = 'F'; + $orgversies = $this->CI->Orgversies_model->getOrgversiesBijSOP($this->swvID, $this->onderdeel->modulenr); + if($orgversies){ + $this->onderdeel->erZijnOrgVersies = 'T'; + + } + } + private function setGeopendeVersies(){ - if($this->onderdeel->ijkpunten == 'F' || $this->onderdeel->licentie =='F') return; + if($this->onderdeel->instrument_type != "LIJST" ) return; $this->onderdeel->geopendeversies = $this->CI->Filledversions_model->getfilledversions_bij_orglist( $this->orglist, $this->onderdeel->modulenr); } private function loopGeopendeVersies(){ - if($this->onderdeel->ijkpunten == 'F'|| $this->onderdeel->licentie =='F') return; - if(!$this->onderdeel->geopendeversies) return; + if($this->onderdeel->instrument_type != "LIJST" ||!$this->onderdeel->geopendeversies ) return; $this->onderdeel->erIsEenVersie= 'F'; $this->onderdeel->gegevens= 'F'; $this->onderdeel->filledversies = []; @@ -291,8 +292,7 @@ class Compacteversies } private function setSelectedLijstOnderdelen(){ - if($this->onderdeel->licentie == 'F') return; - if($this->onderdeel->ijkpunten == 'F') return; + if($this->onderdeel->instrument_type != "LIJST") return; if(!isset($this->onderdeel->filledversies) || count($this->onderdeel->filledversies) == 0) return; $this->onderdeel->erIsEenVersie = "T"; $this->onderdeel->gegevens = "T"; diff --git a/application/models/monpas/Compactsoponderdelen_model.php b/application/models/monpas/Compactsoponderdelen_model.php index e513e22..2720a2d 100644 --- a/application/models/monpas/Compactsoponderdelen_model.php +++ b/application/models/monpas/Compactsoponderdelen_model.php @@ -12,21 +12,38 @@ class compactsoponderdelen_model extends MY_Model{ $this->load->model($models); } - function getOnderdelen($orgsoort, $swvID, $schooljaarnr){ - $this->sql = "SELECT C.naam, C.naamkort, C.ijkpunten, C.vergelijking, S.pad, S.blokid, C.nummer, - S.toon_nummer - FROM tb_compactsoponderdelen C - JOIN tb_compactonderdeel_piv_orgsoort S ON C.id = S.onderdeel_id - WHERE S.org_soort = {$orgsoort} "; +// function getOnderdelen($orgsoort, $swvID, $schooljaarnr){ +// $this->sql = "SELECT C.naam, C.naamkort, C.ijkpunten, C.vergelijking, S.pad, S.blokid, C.nummer, +// S.toon_nummer +// FROM tb_compactsoponderdelen C +// JOIN tb_compactonderdeel_piv_orgsoort S ON C.id = S.onderdeel_id +// WHERE S.org_soort = {$orgsoort} "; +// +// if($swvID == 150 && $schooljaarnr > 8){ +// $this->sql .= "AND C.nummer <> 1 "; +// } +// else { +// $this->sql .= "AND C.nummer <> 10 "; +// } +// +// $this->sql .= " ORDER BY S.toon_nummer "; +// return $this->get_query_result(); +// } - if($swvID == 150 && $schooljaarnr > 8){ - $this->sql .= "AND C.nummer <> 1 "; - } - else { - $this->sql .= "AND C.nummer <> 10 "; - } - - $this->sql .= " ORDER BY S.toon_nummer "; + function getOnderdelen($orgid){ + $this->sql =" SELECT M.sysnr as modulenr, M.naam AS instrument, M.instrument_type, COALESCE(C.naam, 'geen') AS cluster, + COALESCE(C.naam, 'aaaa') AS ordening, SOP.id, + SOP.sopnaam AS naam, SOP.blokjesnaam AS naamkort + + FROM tb_modules M + JOIN tb_compactsoponderdelen SOP on M.sysnr = SOP.module_nr + JOIN tb_licenties L ON M.sysnr = L.modulenr + LEFT JOIN tb_cluster C ON M.cluster_id = C.id + + WHERE L.orgid = {$orgid} + AND SOP.in_sop = 'T' + + ORDER BY ordening, instrument"; return $this->get_query_result(); } function getOnderdeel($nummer, $orgsoort){ @@ -39,6 +56,8 @@ class compactsoponderdelen_model extends MY_Model{ } + + function getModuleMetLicentie($orgid, $onderdeelnummer, $orgsoort){ $this->sql = "SELECT L.modulenr FROM tb_compactsoponderdelen CO @@ -52,4 +71,6 @@ function getModuleMetLicentie($orgid, $onderdeelnummer, $orgsoort){ return $this->get_query_row("modulenr"); } + + } diff --git a/application/models/monpas/Modules_model.php b/application/models/monpas/Modules_model.php index d38ff38..d565802 100644 --- a/application/models/monpas/Modules_model.php +++ b/application/models/monpas/Modules_model.php @@ -117,6 +117,14 @@ class Modules_model extends MY_Model{ return $this->get_query_result(); } + function getPad($modulenr){ + $this->sql = "SELECT pad + FROM tb_compactsoppaden P + JOIN tb_modules M ON p.instrument_type = M.instrument_type + WHERE M.sysnr = {$modulenr} "; + return $this->get_query_row("pad"); + } + diff --git a/application/models/monpas/Orgversies_model.php b/application/models/monpas/Orgversies_model.php index 9fe7a17..d2b820b 100644 --- a/application/models/monpas/Orgversies_model.php +++ b/application/models/monpas/Orgversies_model.php @@ -186,5 +186,19 @@ class Orgversies_model extends MY_Model{ ORDER BY UPPER(omschrijving) DESC"; return $this->get_query_result(); } - + + function getOrgVersiesBijSop($swvid, $modulenr){ + $this->sql = "SELECT OV.id,V.naam + FROM tb_orgversies OV + JOIN tb_versies V ON V.id =OV.versie_id + JOIN tb_organisaties O ON OV.organisatie_id = O.id + WHERE (O.id = {$swvid} OR O.valtonder_id = {$swvid}) + AND V.modulenr = {$modulenr} + + "; + return $this->get_query_result(); + + } + + } \ No newline at end of file diff --git a/application/views/monpas/compactsop/diversiteitcompact.php b/application/views/monpas/compactsop/diversiteitcompact.php index 0bee1bb..8ffd12b 100644 --- a/application/views/monpas/compactsop/diversiteitcompact.php +++ b/application/views/monpas/compactsop/diversiteitcompact.php @@ -91,14 +91,14 @@ -