diff --git a/application/controllers/monpas/Streefcijfers.php b/application/controllers/monpas/Streefcijfers.php index 4262ebf..d613fb6 100644 --- a/application/controllers/monpas/Streefcijfers.php +++ b/application/controllers/monpas/Streefcijfers.php @@ -175,11 +175,12 @@ function getambities() $module = $this->session->userdata('module'); $modulenaam = $this->Modules_model->get_fieldvalue(['sysnr' => $module], 'naam'); $standaardNodig = true; + $standaardSWVNodig = false; $org = $this->Organisaties_model->get_record_by_id($this->globorgid); $orgversiesK = []; $ambities = []; $ambities2 = []; - $kamerids = []; + $bovenliggend = ''; $bovenliggend = $this->setBovenliggend($this->globorgid, $bovenliggend); $bovenliggend = rtrim($bovenliggend, ','); @@ -190,57 +191,93 @@ function getambities() $ambitieorgs = $onderliggend .','. $bovenliggend; } if($org->soort == 1) { - $kamers = $this->Organisaties_model->get_onderliggende_orgs($this->globorgid); - $orgids = []; - - $ambities = $this->Ambities_model->mh_get_ambities($module, $ambitieorgs, FALSE); - if($ambities){ - $orgids = []; - $array = []; - foreach($ambities AS $ambitie) { - if ($ambitie->orgID != $this->globorgid) { - $orgids[] = $ambitie->orgID; - $array[] = $ambitie; - } + $onderarray = []; + $onderstring = ''; + $kamers = $this->Organisaties_model->get_onderliggende_orgs($this->globorgid); + $kamerarray = []; + $orgversiearray = []; + $onderarray = []; + $kamerstring = ''; + if($kamers) { + foreach($kamers AS $kamer){ + $kamerarray[] = $kamer->id; } - $ambities = $array; - } - foreach($kamers as $kamer){ - if(! in_array( $kamer->id, $orgids,)){ - $orgversie = $this->Orgversies_model->getOrgversie($kamer->id, $module); + foreach ($kamerarray as $kamer) { + $bgs = $this->Organisaties_model->get_onderliggende_orgs($kamer); + if ($bgs) { + foreach ($bgs as $bg) { + $scholen = $this->Organisaties_model->get_onderliggende_orgs($bg->id); + if ($scholen) { + foreach ($scholen as $school) { + $onderarray []= $school->id; + } + } + $onderarray[] = $bg->id; + } + + } + + } + + if (count($onderarray) > 0) { + foreach($onderarray as $element) { + $onderstring .= $element. ','; + } + + $onderstring = rtrim( $onderstring, ','); + $ambities = $this->Ambities_model->mh_get_ambities($module, $onderstring, FALSE); + } + foreach($kamerarray As $kamer){ + $kamerstring .= $kamer. ','; + } + $kamerstring = rtrim( $kamerstring, ','); + + $ambitiesK = $this->Ambities_model->mh_get_ambities($module, $kamerstring, FALSE); + if (!$ambitiesK) $orgversiearray = $kamerarray; + else if (count($ambitiesK) == count($kamerarray)) $orgversiearray = []; + else { + foreach ($ambitiesK as $ambitieK) { + $ambitieids[] = $ambitieK->orgID; + } + $orgversiearray = array_diff($ambitieids, $kamerarray); + + } + foreach ($orgversiearray as $kamer) { + $orgversie = $this->Orgversies_model->getOrgversie($kamer, $module); if ($orgversie) $orgversiesK [] = $orgversie; } - } - $this->Orgversies_model->getOrgVersie($this->globorgid, $module); + if ($orgversiesK) { + foreach ($orgversiesK as $orgversie) { + + $aantalY = $this->Ijkpunten_model->telijkpunten($orgversie->orgversieID); + $ambitie = new stdClass(); + $ambitie->ambitievan = 'standaard'; + $ambitie->id = 0; + $ambitie->geldigtm = $orgversie->geldigtm; + $ambitie->geldigvanaf = $orgversie->geldigvanaf; + $ambitie->gemscore = 80; + $ambitie->naam = $orgversie->naam; + $ambitie->orgnaam = $org->naamkort; + $ambitie->versievan = $orgversie->versievan; + $ambitie->orgversieID = $orgversie->orgversieID; + $ambitie->periodenummer = $orgversie->periodenummer; + $ambitie->soort = 0; + $ambitie->xijkpunten = ROUND($aantalY * 0.8); + $ambitie->zprocent = 60; + $ambities[] = $ambitie; + } - if ($orgversiesK){ - foreach($orgversiesK AS $orgversie){ - $aantalY = $this->Ijkpunten_model->telijkpunten($orgversie->orgversieID); - $ambitie = new stdClass(); - $ambitie->ambitievan = 'standaard'; - $ambitie->id = 0; - $ambitie->geldigtm = $orgversie->geldigtm; - $ambitie->geldigvanaf = $orgversie->geldigvanaf; - $ambitie->gemscore = 80; - $ambitie->naam = $orgversie->naam; - $ambitie->orgnaam = $org->naamkort; - $ambitie->versievan = $orgversie->versievan; - $ambitie->orgversieID = $orgversie->orgversieID; - $ambitie->periodenummer = $orgversie->periodenummer; - $ambitie->soort = 0; - $ambitie->xijkpunten = ROUND($aantalY * 0.8); - $ambitie->zprocent = 60; - $ambities[] = $ambitie; } - - } - $ambitie = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, FALSE); + $ambitie = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, $this->globorgid); if($ambitie) $ambities = array_merge($ambities,$ambitie); - else $standaardNodig = true; + else{ + $standaardSWVNodig = true; + $orgversie = $this->Orgversies_model->getOrgVersie($this->globorgid, $module); + } } if ($org->soort > 1) { @@ -286,18 +323,19 @@ function getambities() } } -if(!$orgversie) { - $this->json('geen actieve versie gevonden'); +if(!$orgversie && !$orgversiesK) { + $this->json('geen results'); return; } if ($ambities) { - if(count($ambities2) > 0) $ambities[] = $ambities2; + + if($ambities2) $ambities[] = $ambities2; foreach ($ambities as $ambitie) { - if (intval($ambitie->soort) <= intval($org->soort)) { + if (intval($ambitie->soort ) <= intval($org->soort ) && $standaardSWVNodig == false) { $standaardNodig = false; } - $ambitie->aantalY = $this->Ijkpunten_model->telijkpunten($ambitie->orgversieID); +// $ambitie->aantalY = $this->Ijkpunten_model->telijkpunten($ambitie->orgversieID); } } $orgversie->aantalY = $this->Ijkpunten_model->telijkpunten($orgversie->orgversieID); diff --git a/application/core/MY_Controller.php b/application/core/MY_Controller.php index d93f77d..e0f7e45 100644 --- a/application/core/MY_Controller.php +++ b/application/core/MY_Controller.php @@ -80,7 +80,7 @@ class MY_Controller extends CI_Controller{ // public $version = '1.18.08';// kleurenfout // public $version = '1.19.00';// ambities per org // public $version = '1.19.01';// compactdiv met orgid ipv globorg - public $version = '1.19.02';// ambities per org incl kamerversies + public $version = '1.19.03';// ambities per org incl kamerversies diff --git a/application/models/monpas/Orgversies_model.php b/application/models/monpas/Orgversies_model.php index ef8e48d..3607393 100644 --- a/application/models/monpas/Orgversies_model.php +++ b/application/models/monpas/Orgversies_model.php @@ -296,7 +296,7 @@ class Orgversies_model extends MY_Model{ JOIN tb_versies V ON OV.versie_id = V.id WHERE OV.actief = 1 AND V.modulenr = {$module} - AND OV.organisatie_id = ({$orgid}) "; + AND OV.organisatie_id IN ({$orgid}) "; return $this->get_query_row(); }