kamerversies bij swv en scholen

This commit is contained in:
Monique
2022-12-05 12:52:06 +01:00
parent 8f5449e80d
commit 962d91cf71
6 changed files with 351 additions and 210 deletions
+169 -50
View File
@@ -119,11 +119,11 @@ class Streefcijfers extends MY_Controller{
echo json_encode($ambities);
}
function getAmbitieOrgs($orgid, $ambitieorgs){
function setBovenliggend($orgid, $ambitieorgs){
$ambitieorgs .= $orgid . ',';
$valtonder = $this->Organisaties_model->get_fieldvalue(['id' => $orgid], 'valtonder_id');
if($valtonder != $orgid){
return $this->getAmbitieOrgs($valtonder, $ambitieorgs);
return $this->setBovenliggend($valtonder, $ambitieorgs);
}
return $ambitieorgs;
@@ -146,72 +146,191 @@ class Streefcijfers extends MY_Controller{
}
function getambities(){
function setSWVKamer($org){
$kamer = '';
$swv = '';
switch($org->soort ){
case 2: $kamer = $this->globorgid;
$swv = $org->valtonder_id;
break;
case 3: $kamer = $org->valtonder_id;
$swv = $this->Organisaties_model->get_fieldvalue(['id' => $org->valtonder_id], 'valtonder_id');
break;
case 4: $kamer = $this->Organisaties_model->get_fieldvalue(['id' => $org->valtonder_id], 'valtonder_id');
$swv = $this->Organisaties_model->get_fieldvalue(['id' => $kamer], 'valtonder_id');
break;
}
return ['swv'=>$swv,
'kamer' =>$kamer];
}
function getambities()
{
if (!$this->userid) die;
$module = $this->session->userdata('module');
$modulenaam = $this->Modules_model->get_fieldvalue(['sysnr'=>$module], 'naam');
$org = $this->Organisaties_model->get_record_by_id($this->globorgid);
$bovenliggend = '';
$bovenliggend = $this->getAmbitieOrgs($this->globorgid, $bovenliggend);
$bovenliggend = rtrim($bovenliggend, ',');
$toporgsarray = explode(',', $bovenliggend);
$toporgs = '';
$index = 0;
for($i = count($toporgsarray)-1; $i >= 0 ; $i--) {
if($index < 2) {
$toporgs .= $toporgsarray[$i] . ',';
$index++;
}
}
$toporgs = rtrim($toporgs, ',' );
$onderliggend = '';
$module = $this->session->userdata('module');
$modulenaam = $this->Modules_model->get_fieldvalue(['sysnr' => $module], 'naam');
$standaardNodig = true;
$org = $this->Organisaties_model->get_record_by_id($this->globorgid);
$orgversiesK = [];
$ambities = [];
$ambities2 = [];
$kamerids = [];
$bovenliggend = '';
$bovenliggend = $this->setBovenliggend($this->globorgid, $bovenliggend);
$bovenliggend = rtrim($bovenliggend, ',');
$onderliggend = '';
if($org->soort < 4){
$orgs = $this->Organisaties_model->getlistrecursief($this->globorgid, []);
$onderliggend = implode(',', $orgs);
$ambitieorgs = $onderliggend .','. $bovenliggend;
$orgs = $this->Organisaties_model->getlistrecursief($this->globorgid, []);
$onderliggend = implode(',', $orgs);
$ambitieorgs = $onderliggend .','. $bovenliggend;
}
if($org->soort == 4 ) $ambitieorgs = $bovenliggend;
$standaardNodig = true;
$ambities = [];
$aantalY = $this->Ijkpunten_model->telijkpunten_bij_orgs($toporgs, $module);
$ambities = $this->Ambities_model->mh_get_ambities($module, $ambitieorgs, $toporgs);
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){
foreach( $ambities AS $ambitie){
if($ambitie->soort <= $org->soort){
$standaardNodig = false;
$orgids = [];
$array = [];
foreach($ambities AS $ambitie) {
if ($ambitie->orgID != $this->globorgid) {
$orgids[] = $ambitie->orgID;
$array[] = $ambitie;
}
}
$ambities = $array;
}
foreach($kamers as $kamer){
if(! in_array( $kamer->id, $orgids,)){
$orgversie = $this->Orgversies_model->getOrgversie($kamer->id, $module);
if ($orgversie) $orgversiesK [] = $orgversie;
}
}
if(!$ambities || $standaardNodig) {
$orgversie = $this->Orgversies_model->getAmbitieVersie($toporgs, $module);
if (!$orgversie) {
$this->json("geen results");
return;
}
else {
$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->ambitievan = 'standaard';
$ambitie->id = 0;
$ambitie->geldigtm = $orgversie->geldigtm;
$ambitie->geldigvanaf = $orgversie->geldigvanaf;
$ambitie->gemscore = 80;
$ambitie->naam = $orgversie->naam;
$ambitie->orgversie_id = $orgversie->orgversie_id;
$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;
}
}
$this->json(['aantalY' => $aantalY,
'ambities' => $ambities,
'module' => $modulenaam]);
$ambitie = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, FALSE);
if($ambitie) $ambities = array_merge($ambities,$ambitie);
else $standaardNodig = true;
}
if ($org->soort > 1) {
$orgs = $this->setSWVKamer($org);
$kamer = $orgs['kamer'];
$swv = $orgs['swv'];
$orgversie = $this->Orgversies_model->getOrgVersie($kamer, $module);
}
if($org->soort == 2) {
if ($orgversie) $ambities = $this->Ambities_model->mh_get_ambities($module, $ambitieorgs, $orgversie->orgversieID);
if (!$orgversie) {
$orgversie = $this->Orgversies_model->getOrgVersie($swv, $module);
if ($orgversie) {
$ambities = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, $orgversie->orgversieID);
}
if (!$ambities) $ambities = $this->Ambities_model->mh_get_ambities($module, $swv, $orgversie->orgversieID);
$ambities2 = $this->Ambities_model->mh_get_ambities($module, $onderliggend, $orgversie->orgversieID);
}
}
if($org->soort == 3){
if ($orgversie) $ambities = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, $orgversie->orgversieID);
if (!$ambities) $ambities = $this->Ambities_model->mh_get_ambities($module, $kamer, $orgversie->orgversieID);
if (!$orgversie) {
$orgversie = $this->Orgversies_model->getOrgVersie($swv, $module);
if ($orgversie) $ambities = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, $orgversie->orgversieID);
if (!$ambities) $ambities = $this->Ambities_model->mh_get_ambities($module, $kamer, $orgversie->orgversieID);
if (!$ambities) $ambities = $this->Ambities_model->mh_get_ambities($module, $swv, $orgversie->orgversieID);
$ambities2 = $this->Ambities_model->mh_get_ambities($module, $onderliggend, $orgversie->orgversieID);
}
}
if($org->soort == 4) {
if ($orgversie) {
$ambitie = $this->Ambities_model->mh_get_ambitie_orgversie($orgversie->orgversieID, $bovenliggend, $kamer);
if($ambitie) $ambities[] = $ambitie;
}
if (!$orgversie) {
$orgversie = $this->Orgversies_model->getOrgVersie($swv, $module);
if ($orgversie){
$ambitie = $this->Ambities_model->mh_get_ambitie_orgversie($orgversie->orgversieID, $bovenliggend, $swv);
if($ambitie) $ambities[] = $ambitie;
}
}
}
if(!$orgversie) {
$this->json('geen actieve versie gevonden');
return;
}
if ($ambities) {
if(count($ambities2) > 0) $ambities[] = $ambities2;
foreach ($ambities as $ambitie) {
if (intval($ambitie->soort) <= intval($org->soort)) {
$standaardNodig = false;
}
$ambitie->aantalY = $this->Ijkpunten_model->telijkpunten($ambitie->orgversieID);
}
}
$orgversie->aantalY = $this->Ijkpunten_model->telijkpunten($orgversie->orgversieID);
$orgversie->ambitievan = $org->naamkort;
if ( $standaardNodig) {
$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;
}
$this->json([
'orgversie' => $orgversie,
'ambities' => $ambities,
'module' => $modulenaam]);
}
@@ -317,7 +436,7 @@ function saveAmbitie(){
if ($id ==0 || !$alaanwezig ){
$data=array("organisatie_id" => $this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id"),
"gem_score" => $this->clean_input("gemscore"),
"gem_score" => $this->clean_input("gemscore"),
"x_ijkpunten" => $this->clean_input("xijkpunten"),
"z_procent" => $this->clean_input("zprocent"));
$newid= $this->Ambities_model->insert_record($data);