load->model($models); $this->load->helper('string'); $this->load->library('monpas/kleurcodes'); if (!$this->check_online_status()) { echo json_encode(array('offline' => TRUE)); die; };// if } function checkinzage(){ if (!$this->userid) die; $rol = $this->userrole; echo json_encode($rol); } function checkowner(){ if (!$this->userid) die; $userid = $this->userid; $orgid = $this->clean_input("orgid"); $orgversieid = $this->clean_input("orgversieid"); $filledid = $this->Filledversions_model->get_fieldvalue(array("orgversie_id"=>$orgversieid,"organisatie_id"=>$orgid,"user_id"=>$userid), "id"); if(!$filledid){ $filledid =0;} echo json_encode($filledid); } function getCriteriaSWV(){ $orgID = $this->clean_input('orgid'); $orgsoort = $this->clean_input('orgsoort'); switch($orgsoort){ case 1: $swvID = $orgID; break; case 2: case 3: $swvID = $this->Organisaties_model->get_swvid($orgID); break; default: $swvID = 0; } $criteria = $this->Sorteringen_model->get_criteriabijSWV($swvID); if(!$criteria){ $criteria = []; } $criterium = new stdClass(); $criterium->id = 0; $criterium->swv_id = $swvID; $criterium->naam = "bestuur"; array_unshift($criteria, $criterium); echo json_encode($criteria); } function haalScoresOp() { $orgID = $this->clean_input('orgid'); $orgsoort = $this->clean_input('orgsoort'); $criteriumID = $this->clean_input('criteriumid'); $orgversieID = $this->clean_input('orgversieid'); $toporg = $this->clean_input('toporg'); $ijkpunten = $this->Ijkpunten_model->getijkpuntenMetIndicatoren($orgversieID); $aantalY = count($ijkpunten); $kleurtabel = $this->kleurcodes->getkleurlegenda(); $orgversie = $this->Orgversies_model->get_record_by_id($orgversieID); $scoretype = $orgversie->scoretype; $kleuren = $this->setKleuren($orgversie); $erzijnscores = false; if ($orgsoort == 4) {//schoolniveau if ($orgversie->vorm == 2) { $labels = $this->getIndividueleMatrix($orgID, $orgversieID, $ijkpunten, $scoretype); //geef individuele scores + het gemiddelde } if ($orgversie->vorm == 1){ $labels = $this->getSchoolMatrix($orgID, $orgversieID, $aantalY, $scoretype);//schoolversie } } if ($orgsoort < 4) {//bestuurs- / kamer- of swv-niveau if ($criteriumID == 0) {//scholen ordenen per bestuur $labels = $this->getBestuurMatrix($orgID, $orgversieID, $ijkpunten, $scoretype); } if ($criteriumID > 0) {//scholen ordenen met een ander criterium $labels = $this->getCriteriumMatrix($orgID, $orgsoort, $criteriumID, $orgversieID, $ijkpunten, $kleuren); } } if($labels){ foreach($labels as $label){ if($label->users && $erzijnscores == false){ foreach($label->users as $user){ if($user->scores && $erzijnscores == false) $erzijnscores = true; } } } } echo json_encode(array( 'erzijnscores' => $erzijnscores, 'labels' =>$labels, 'ijkpunten' => $ijkpunten, 'aantalY' => $aantalY, 'vorm' =>$orgversie->vorm, '$kleurtabel' => $kleurtabel)); } function haalInspectieScoresOp(){ $orgID = $this->clean_input('orgid'); $orgsoort = $this->clean_input('orgsoort'); $criteriumID = $this->clean_input('criteriumid'); $orgversieID = $this->clean_input('orgversieid'); $ijkpunten = $this->Orgversies_model->getijkpunten($orgversieID); $kleurtabel = $this->kleurcodes->getkleurlegendainspectie(); if ($orgsoort == 4) {//schoolniveau $returnarray = $this->getSchoolInspectieMatrix($orgID, $orgversieID);//schoolversie } if ($orgsoort < 4) {//bestuurs- / kamer- of swv-niveau if ($criteriumID == 0) {//scholen ordenen per bestuur $returnarray = $this->getBestuurInspectieMatrix($orgID, $orgversieID); } if ($criteriumID > 0) {//scholen ordenen met een ander criterium $returnarray = $this->getCriteriumInspectieMatrix($orgID, $orgsoort, $criteriumID, $orgversieID); } } $labels = $returnarray['labels']; $uitslagen = $returnarray['uitslagen']; echo json_encode( array("labels" => $labels, "ijkpunten" => $ijkpunten, "aantalY" => count($ijkpunten), "uitslagen" => $uitslagen, "kleurtabel" => $kleurtabel)); } function printmatrix(){ $input0 = $this->input->post('data'); $input = json_decode($input0); $kleurtabel = $this->kleurcodes->getkleurlegenda(); $tabel = 0; if($input->orgversie->vorm != 2 || $input->organisatie->soort !=4 || $input->inzage == 256) { $tabel = 1; } else if($input->inzage < 256) { $tabel = 2; } else { $tabel = 3; } $instrument = $this->Modules_model->get_fieldvalue(array("sysnr" =>$this->module), "naam") ; $labels = $this->Labels_model->getalllabels(); $invulid = null; if($input->invulid){ $invulid = $input->invulid; } $data = array( "instrument" => $instrument, "organisatie" => $input->organisatie, "info" => $input->orgversie, "today" => date('d-m-Y'), "indelingen" => json_decode($input->indelingen), "ijkpunten" => json_decode($input->ijkpunten), "tabel" => $tabel, "criterium" => $input->criterium, "inzage" => $input->inzage, "kleurlegenda" => $kleurtabel, "kopbreedte" => $input->kopbreedte, "orgbreedte" => $input->orgbreedte, "kolombreedte" => $input->kolombreedte, "eigenfvid" => $invulid, "labels" => $labels ); $html = $this->load->view("monpas/reports/printmatrix", $data, true); $filenaam ="MonPasMatrix"; $this->Phantom_model->create_pdf($html, $filenaam, FALSE, FALSE, FALSE); } function printinspectie(){ $input0 = $this->input->post('data'); $input = json_decode($input0); $instrument = $this->Modules_model->get_fieldvalue(array("sysnr" =>$this->module), "naam") ; $labels = $this->Labels_model->getalllabels(); $invulid = null; if($input->invulid){ $invulid = $input->invulid; } $data = array( "instrument" => $instrument, "organisatie" => $input->organisatie, "info" => $input->orgversie, "today" => date('d-m-Y'), "indelingen" => json_decode($input->indelingen), "ijkpunten" => json_decode($input->ijkpunten), "inzage" => $input->inzage, "criterium" => $input->criterium, "kleurlegenda" => $input->kleurlegenda, "eigenfvid" => $invulid, "labels" => $labels, "kopbreedte" => $input->kopbreedte, "orgbreedte" => $input->orgbreedte, "kolombreedte" => $input->kolombreedte, ); $html = $this->load->view("monpas/reports/printinspectie", $data, true); $filenaam ="MonPasInspectieMatrix"; $this->Phantom_model->create_pdf($html, $filenaam, FALSE, FALSE, FALSE); } private function setKleuren($orgversie){ $kleuren = new stdClass(); $kleuren->grens1 = '60'; $kleuren->grens2 = '80'; $kleuren->grens3 = '90'; $kleuren->grens4 = '100'; if($orgversie->scoretype == 7){ $kleuren->grens1 = '33'; $kleuren->grens2 = '66'; $kleuren->grens3 = '100'; } $kleuren->kleur1 = '#e08885'; $kleuren->kleur2 = '#ffcc80'; $kleuren->kleur3 = '#9fdf9f'; $kleuren->kleur4 = '#99d6ff'; return $kleuren; } private function getIndividueleMatrix($orgID, $orgversieID, $ijkpunten, $scoretype){ $scores = $this->getLeerkrachtscores($orgID, $orgversieID); $labels = $this->getGemiddeldeScores($scores, $ijkpunten, $scoretype); return $labels; } private function getSchoolMatrix($orgID, $orgversieID, $aantalY, $scoretype) { $scores = $this->getSchoolScores($orgID, $orgversieID); $labels = $this->getGemiddeldenSchool($scores, $aantalY,$orgversieID, $scoretype); return $labels; } private function getSchoolInspectieMatrix($orgID, $orgversieID){ $oordelen = $this->getSchoolOordelen($orgID, $orgversieID); $returnarray = $this->voegKleurenToe($oordelen); return $returnarray; } private function getBestuurMatrix($orgID, $orgversieID, $ijkpunten, $scoretype) { $scholen = $this->getScholenPerBestuur($orgID); $scores = $this->getScoresBijBesturen($scholen, $orgversieID); $labels = $this->getGemiddeldeScores($scores, $ijkpunten, $scoretype); return $labels; } private function getBestuurInspectieMatrix($orgID, $orgversieID) { $scholen = $this->getScholenPerBestuur($orgID); $oordelen = $this->getOordelenVanafBesturen($scholen, $orgversieID); $returnarray = $this->voegKleurenToe($oordelen); return $returnarray; } private function getCriteriumMatrix($orgID, $orgsoort, $criteriumID, $orgversieID, $ijkpunten, $kleuren) { $scholen = $this->getCriteriumScholen($orgID, $orgsoort); $ingedeeld = $this->getScholenPerLabel($scholen, $criteriumID); $scores = $this->getScoresBijCriterium($ingedeeld, $orgversieID); $labels = $this->getGemiddeldeScores($scores, $ijkpunten, $kleuren); return $labels; } private function getCriteriumInspectieMatrix($orgID, $orgsoort, $criteriumID, $orgversieID) { $scholen = $this->getCriteriumScholen($orgID, $orgsoort); $ingedeeld = $this->getScholenPerLabel($scholen, $criteriumID); $oordelen = $this->getOordelenVanafBesturenBijCriterium($ingedeeld, $orgversieID); $returnarray = $this->voegKleurenToe($oordelen); return $returnarray; } private function getLeerkrachtScores($orgID, $orgversieID) { $labels = new stdClass; $labels->label = new stdClass; $labels->label->users = []; $leerkrachten = $this->Filledversions_model->getlks($orgID, $orgversieID); $labels->label->users = $leerkrachten; foreach ($labels->label->users as $user) { $user->scores = $this->Scores_model->calculateindividualscores($orgversieID, $orgID,$user->user_id ); if ($user->scores) { foreach ($user->scores as $score) { $score->gem = new stdClass(); if($score->somscore && $score->num && $score->num > 0) { $score->gem = $score->somscore / $score->num; } else{ $score->gem = 0; } } } } return $labels; } private function getSchoolScores($orgID, $orgversieID) { $labels = new stdClass; $labels->label = new stdClass; $users = $this->Organisaties_model->getorg($orgID); $users->filledversionid = $orgversieID; $users->orgid = $orgID; $users->fullname = $users->naam; $labels->label->users[] = $users; $scores = $this->Scores_model->getgemscores($orgversieID, $orgID); $labels->label->users[0]->scores = $scores; return $labels; } private function getGemiddeldenSchool($labels, $aantalY, $orgversieID, $scoretype) { $orgversie = $this->Orgversies_model->get_record_by_id($orgversieID); $waarden = 0; if ($labels) { //$aantalscores = 0; foreach ($labels as $label) { for ($i = 0; $i < $aantalY; $i++) { $sumscore[$i] = 0; }; $aantalrijen = 0; $aantalresults = array(); for ($i = 0; $i < $aantalY; $i++) { $aantalresults[$i] = 0; }; // for i if ($label->users) { foreach ($label->users as $user) { $sumscorerij = 0; $aantalscores = 0; if ($user->scores) { $aantalrijen = $aantalrijen + 1; for ($i = 0; $i < $aantalY; $i++) { if(isset($user->scores[$i])) { if($user->scores[$i]->disabled == 'F' && $user->scores[$i]->disablenvt == 'F') { // if ($user->scores[$i]->gem == '' || $user->scores[$i]->gem == null) { // // doe niks // } else { $aantalscores++; $sumscore[$i] = $sumscore[$i] + $user->scores[$i]->gem; $aantalresults[$i] = $aantalresults[$i] + 1; $sumscorerij = $sumscorerij + $user->scores[$i]->gem; if ($sumscorerij > 0) { $waarden++; } } // } $kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $user->scores[$i]->gem); $user->scores[$i]->kleur = $kleur->kleurcode; $user->scores[$i]->kleurcode = $kleur->kleurcode; } else{ $user->scores[$i] = new stdClass(); $user->scores[$i]->gem = new stdClass() ; $user->scores[$i]->gem = null; } }; $user->scores[$aantalY] = new stdClass(); $user->scores[$aantalY]->gem = new stdClass(); if ($aantalscores > 0) { $user->scores[$aantalY]->gem = round($sumscorerij / $aantalscores); } else { $user->scores[$aantalY]->gem = null; } $kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $user->scores[$aantalY]->gem); $user->scores[$aantalY]->kleur = $kleur->kleurcode; $user->scores[$aantalY]->kleurcode = $kleur->kleurcode; } // if scores };// foreach bg rijen $label->users = array_values($label->users); } }; // if label->rijen } return $labels; } private function getKleur ($score, $kleuren){ $grensnummer = 1; if ($score>= $kleuren->grens1) $grensnummer = 2; if ($score>= $kleuren->grens2) $grensnummer = 3; if ($score>= $kleuren->grens3) $grensnummer = 4; switch ( $grensnummer) { case 1: $kleur = $kleuren->kleur1; break; case 2: $kleur = $kleuren->kleur2; break; case 3: $kleur = $kleuren->kleur3; break; case 4: $kleur = $kleuren->kleur4; break; default: $kleur = $kleuren->kleur1; } return $kleur; } private function getScholenPerBestuur($orgID){ $organisatie = $this->Organisaties_model->get_record_by_id($orgID); if(!$organisatie){ return; } $labels = new stdClass(); $labels->label = new stdClass(); $labels->label->users = new stdClass(); if ($organisatie->soort == 3) { $labels->label->users = $this->Organisaties_model->getorgs2($orgID); }; // if soort --3 if ($organisatie->soort == 2) { $labels = $this->Organisaties_model->getorgsdetails(3, $orgID); if ($labels) { foreach ($labels as $label) { $label->users = new stdClass; $label->users = $this->Organisaties_model->getorgs2($label->id); } }; // if bgs };// if soort ==2 if ($organisatie->soort == 1) { $labels = $this->Organisaties_model->getbgsonderswv($orgID); if ($labels) { foreach ($labels as $label) { $label->users = $this->Organisaties_model->getorgs2($label->id); } }; // if bgs }; // if soort ==1 if($labels) return $labels; return false; } private function getCriteriumScholen($orgID, $orgsoort){ $scholen = new stdClass(); switch ($orgsoort) { case 3: $scholen = $this->Organisaties_model->getorgsonderbestuur($orgID); break; case 2: $scholen = $this->Organisaties_model->getscholenonderkamer($orgID); break; case 1: $scholen = $this->Organisaties_model->getscholenonderswv($orgID); break; } if(!$scholen){ return false; } return $scholen; } private function getScholenPerLabel($scholen, $criteriumID){ $labels = $this->Sorteerlabels_model->get_labels($criteriumID); $schoollabels = []; $schoolids = []; if($labels) { foreach ($labels as $label) { $label->users = []; } foreach ($scholen as $school) { array_push($schoolids, $school->id); $schoollabel = $this->Sorteerlabels_model->getSchoolLabel($school->id, $criteriumID); if ($schoollabel) { foreach ($labels as $label) { if ($label->waardeid == $schoollabel) { array_push($label->users, $school); array_push($schoollabels, $school->id); } } } } $verschil = array_diff($schoolids, $schoollabels); if ($verschil) { $label = new stdClass(); $label->id = 0; $label->sortering_id = $criteriumID; $label->naam = 'niet ingedeeld'; $label->volgorde = 'LAATST'; $label->users = []; foreach ($scholen as $school) { if (in_array($school->id, $verschil)) { array_push($label->users, $school); } } array_push($labels, $label); } } else{ $labels = []; $label = new stdClass(); $label->id = 0; $label->sortering_id = $criteriumID; $label->naam = 'niet ingedeeld'; $label->volgorde = 'LAATST'; $label->users = []; array_push($labels, $label); } return $labels; } private function getScoresBijBesturen($labels, $orgversieID){ foreach ($labels as $label) { if ($label->users) { if(! is_array($label->users)){ $tijdelijk = $label->users; $label->users = null; $label = new stdClass(); $label->users = []; array_push($label->users, $tijdelijk); } foreach ($label->users as $user) { $user->scores = new stdClass; $user->scores = $this->Scores_model->getgemscores($orgversieID, $user->orgid); } } } return $labels; } private function getScoresBijCriterium($labels, $orgversieID){ foreach ($labels as $label) { if ($label->users) { if(! is_array($label->users)){ $tijdelijk = $label->users; $label->users = null; $label->users []= null; array_unshift($label->users[], $tijdelijk); } foreach ($label->users as $user) { $user->scores = new stdClass; $user->scores = $this->Scores_model->getgemscores($orgversieID, $user->id); } } } return $labels; } private function getGemiddeldeScores($labels, $ijkpunten, $scoretype){ $aantalY = count($ijkpunten); $waarden = 0; $nvt = []; if ($labels) { //$aantalscores = 0; foreach ($labels as $label) { for ($i = 0; $i < $aantalY; $i++) { $sumscore[$i] = 0; }; $aantalrijen = 0; $aantalresults = array(); for ($i = 0; $i < $aantalY; $i++) { $aantalresults[$i] = 0; $nvt[$i] = 0; }; // for i if ($label->users) { foreach ($label->users as $user) { $sumscorerij = 0; $aantalscores = 0; if ($user->scores) { $aantalrijen = $aantalrijen + 1; for ($i = 0; $i < $aantalY; $i++) { if(isset($user->scores[$i])) { if($user->scores[$i]->disabled == 'F' && (isset($user->scores[$i]->disablenvt) && $user->scores[$i]->disablenvt == 'F' || isset($user->scores[$i]->aantalvier) && ($user->scores[$i]->aantalvier == 0 || ($user->scores[$i]->aantalvier > 0 && $user->scores[$i]->aantalnvt != $user->scores[$i]->aantalvier )))){ // $aantalscores++; $sumscore[$i] = $sumscore[$i] + $user->scores[$i]->gem; $aantalresults[$i] = $aantalresults[$i] + 1; $sumscorerij = $sumscorerij + $user->scores[$i]->gem; if ($sumscorerij > 0) { $waarden++; // } } } $user->scores[$i]->kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $user->scores[$i]->gem); if(!isset($user->scores[$i]->disablenvt)){ $user->scores[$i]->disablenvt= 'F'; if($user->scores[$i]->aantalvier > 0 && $user->scores[$i]->aantalvier && $user->scores[$i]->aantalnvt) $user->scores[$i]->disablenvt= 'T'; } if($user->scores[$i]->disablenvt == 'T') $nvt[$i]++; } else{ $user->scores[$i] = new stdClass(); $user->scores[$i]->gem = new stdClass(); $user->scores[$i]->kleur = new stdClass(); $user->scores[$i]->disabled = new stdClass(); $user->scores[$i]->disablenvt = new stdClass(); $user->scores[$i]->gem = null; $user->scores[$i]->kleur = '#cccccc'; $user->scores[$i]->kleurcode = '#cccccc'; $user->scores[$i]->disablenvt= 'F'; $user->scores[$i]->disabled= $ijkpunten[$i]->disabled; } }; $user->scores[$aantalY] = new stdClass(); $user->scores[$aantalY]->gem = new stdClass(); $user->scores[$aantalY]->kleur = new stdClass(); $user->scores[$aantalY]->kleurcode = new stdClass(); $user->scores[$aantalY]->disabled = new stdClass(); $user->scores[$aantalY]->disablenvt = new stdClass(); if ($aantalscores > 0) { $user->scores[$aantalY]->gem = round($sumscorerij / $aantalscores); $kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $user->scores[$aantalY]->gem); $user->scores[$aantalY]->kleur = $kleur->kleurcode; $user->scores[$aantalY]->kleurcode = $kleur->kleurcode; } else { $user->scores[$aantalY]->gem = null; $user->scores[$aantalY]->kleur = '#cccccc'; $user->scores[$aantalY]->kleurcode = '#cccccc'; } $user->scores[$aantalY]->disabled = 'F'; $user->scores[$aantalY]->disablenvt = 'F'; } // if scores };// foreach bg rijen $label->users = array_values($label->users); $rijcount = count($label->users); $label->users[$rijcount] = new stdClass(); $label->users[$rijcount]->fullname = "gemiddeld"; $labeltot = 0; $labeltotaantal = 0; for ($i = 0; $i < $aantalY; $i++) { $waarden2 = 0; if ($aantalrijen == 0) { $sumscore[$i] = 0; } else { if ($aantalresults[$i] > 0) { if ($sumscore[$i] !== 0) { $sumscore[$i] = round($sumscore[$i] / $aantalresults[$i]); $waarden2++; }; $labeltot = $labeltot + $sumscore[$i]; $labeltotaantal++; } else { $sumscore[$i] = 0; } } $label->users[$rijcount]->scores[$i] = new stdClass(); if ($waarden2 > 0) { $label->users[$rijcount]->scores[$i]->gem = $sumscore[$i]; $kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $label->users[$rijcount]->scores[$i]->gem); $label->users[$rijcount]->scores[$i]->kleurcode = $kleur->kleurcode; $label->users[$rijcount]->scores[$i]->kleur = $kleur->kleurcode; } $label->users[$rijcount]->scores[$i]->disabled = $ijkpunten[$i]->disabled; $label->users[$rijcount]->scores[$i]->disablenvt = 'F'; if($nvt[$i] > 0 && $nvt[$i] == $aantalresults[$i]) $label->users[$rijcount]->scores[$i]->disablenvt = 'T'; }; $label->users[$rijcount]->scores[$aantalY] = new stdClass(); if ($labeltotaantal > 0 && round($labeltot / $labeltotaantal) > 0) { $label->users[$rijcount]->scores[$aantalY]->gem = round($labeltot / $labeltotaantal); } else { $label->users[$rijcount]->scores[$aantalY]->gem = null; }; if ($label->users[$rijcount]->scores[$aantalY]->gem) { $kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $label->users[$rijcount]->scores[$aantalY]->gem); $label->users[$rijcount]->scores[$aantalY]->kleur = $kleur-> kleurcode; $label->users[$rijcount]->scores[$aantalY]->kleurcode = $kleur-> kleurcode; } $label->users[$rijcount]->scores[$aantalY]->disabled = 'F'; $label->users[$rijcount]->scores[$aantalY]->disablenvt = 'F'; }; // if label->rijen } } return $labels; } private function getSchooloordelen($orgID, $orgversieID){ $labels = new stdClass; $labels->label = new stdClass; $users = $this->Organisaties_model->getorg($orgID); $users->filledversionid = $orgversieID; $users->orgid = $orgID; $users->fullname = $users->naam; $labels->label->users[] = $users; $oordelen = $this->Oordelen_model->getoordelenorgs($orgversieID, $orgID); $labels->label->users[0]->oordelen = $oordelen; return $labels; } private function voegKleurenToe($labels){ $uitslagen = false; $kleuren = $this->kleurcodes->getkleurcodesfromdatabase(); foreach($labels as $label) { if ($label->users) { if (!is_array($label->users)) { $tijdelijk = $label->users; $label->users = null; $label->users [] = null; array_unshift($label->users[], $tijdelijk); } foreach ($label->users as $user) { if ($user->oordelen) { $uitslagen = true; foreach ($user->oordelen as $oordeel) { if ($oordeel->normID) { switch ($oordeel->normID) { case 1: $oordeel->kleur = $kleuren->kleur1; break; case 2: $oordeel->kleur = $kleuren->kleur2; break; case 3: $oordeel->kleur = $kleuren->kleur3; break; case 4: $oordeel->kleur = $kleuren->kleur4; break; } } else { $oordeel->kleur = '#ffffff'; } } } } } } return array('labels' => $labels, 'uitslagen' => $uitslagen); } private function getOordelenVanafBesturen($labels, $orgversieID) { foreach ($labels as $label) { if ($label->users) { if (!is_array($label->users)) { $tijdelijk = $label->users; $label->users = null; $label->users [] = null; array_unshift($label->users[], $tijdelijk); } foreach ($label->users as $user) { $user->oordelen = new stdClass; $user->oordelen = $this->Oordelen_model->getoordelenorgs($orgversieID, $user->orgid); } } } return $labels; } private function getOordelenVanafBesturenBijCriterium($labels, $orgversieID) { foreach ($labels as $label) { if ($label->users) { if (!is_array($label->users)) { $tijdelijk = $label->users; $label->users = null; $label->users [] = null; array_unshift($label->users[], $tijdelijk); } foreach ($label->users as $user) { $user->oordelen = new stdClass; $user->oordelen = $this->Oordelen_model->getoordelenorgs($orgversieID, $user->id); } } } return $labels; } // function printresultaatmatrix(){ // if (!$this->userid) die; // $inputstring = $this->input->post('data'); // $input = json_decode($inputstring); // $today = date("d-m-Y"); // $orgid = $input->orgid; // $organisatie = $this->Organisaties_model->get_record_by_id($orgid); // $periode = $this->Orgversies_model->get_record_by_id($input->periode); // $geldigvanaf = mysql2date($periode->geldigvanaf); // $geldigtm = mysql2date($periode->geldigtm); // $naam = "periode ".$periode->periodenummer; // $orgversieid = $input->orgversieid; // $orgversie = $this->Orgversies_model->get_record_by_id($orgversieid); // // // als school en orgversie = "ikvorm" =haal de resultaten van de medewerkers op // $bgs = new stdClass; // $bgs->bg = new stdClass; // $bgs->bg->naam = null; // $bgs->bg->rijen = new stdClass; // // if ($organisatie->soort ==4 && $orgversie->vorm == 2) { // $bgs->bg->rijen = $this->Filledversions_model->getlks($orgid, $orgversieid); // } // // if ($organisatie->soort == 4 && $orgversie->vorm != 2){ // $rij = new stdClass; // $rij->filledversionid = $orgversieid; // $rij->orgid = $orgid; // $rij->fullname = $organisatie->naamkort; // $bgs->bg->rijen[0]=$rij; // }; // if soort --4 && schoolversie // // if ($organisatie->soort == 3){ // $bgs->bg->rijen = $this->Organisaties_model->getorgs2($orgid); // }; // if soort --3 // // if ($organisatie->soort == 2){ // $bgs = $this->Organisaties_model->getorgsdetails(3,$orgid); // if ($bgs){ // foreach($bgs as $bg){ // $bg->rijen = new stdClass; // $bg->rijen =$this->Organisaties_model->getorgs2($bg->id); // } // }; // if bgs // };// if soort ==2 // // if ($organisatie->soort ==1){ // $bgs = $this->Organisaties_model->getbgsonderswv($orgid); // // if ($bgs){ // foreach($bgs as $bg){ // $bg->rijen =$this->Organisaties_model->getorgs2($bg->id); // } // }; // if bgs // }; // if soort ==1 // // nu de (gemiddelde) scores ophalen // if ($bgs){ // if($organisatie->soort ==4 && $orgversie->vorm == 2) { // foreach ($bgs as $bg) { // if ($bg->rijen) { // foreach ($bg->rijen as $rij) { // //$rij->scores = new stdClass; // if($organisatie->soort == 4 && $orgversie->vorm == 2) { // $rij->scores = $this->Scores_model->getlkscores($rij->filledversionid); // } //// // else { // $rij->scores = $this->Scores_model->getgemscores($orgversieid, $rij->orgid); // } // } //// // }; // if rijen // }; // foreach bg // } // if (!$bg->rijen) { // unset($bg); // } // }; // if bg // // $ijkpunten = $this->Orgversies_model->getijkpunten($orgversieid); // $aantalY = count($ijkpunten); // // nu bepaal het gemiddeld per rij en het gemiddelde van een BG // // $waarden = 0; // if ($bgs){ // foreach($bgs as $bg){ // for ($i=0; $i < $aantalY; $i++){$sumscore[$i]=0;}; // $aantalrijen = 0; // $aantalscores = 0; // $aantalresults =array(); // for ($i=0; $i < $aantalY ; $i++){ // $aantalresults[$i] = 0; // }; // for i // if ($bg->rijen){ // foreach($bg->rijen as $rij){ // $sumscorerij = 0; // if (isset($rij->scores) && $rij->scores){ // $aantalrijen= $aantalrijen + 1; // for ($i=0; $i < $aantalY ; $i++){ // if ($rij->scores[$i]->gem == '' || $rij->scores[$i]->gem == null) { // // doe niks // } else { // $aantalscores++; // $sumscore[$i] = $sumscore[$i] + $rij->scores[$i]->gem; // $aantalresults[$i] = $aantalresults[$i] + 1; // $sumscorerij = $sumscorerij + $rij->scores[$i]->gem; // if($sumscorerij > 0){$waarden++; // } // } //// $rij->scores[$i]->gem = round($rij->scores[$i]->gem); // $rij->scores[$i]->colorcode=$this->kleurcodes->getkleur($rij->scores[$i]->gem); // if(round($rij->scores[$i]->gem) > 0){ // $waarden++; // } // // }; // $rij->scores[$aantalY]=new stdClass(); // $rij->scores[$aantalY]->gem = new stdClass(); // // if($aantalscores > 0) { // $rij->scores[$aantalY]->gem = round($sumscorerij / $aantalY); // } // else{ // $rij->scores[$aantalY]->gem = null; // } // $rij->scores[$aantalY]->colorcode=$this->kleurcodes->getkleur($rij->scores[$aantalY]->gem); // }; // if scores // };// foreach bg rijen // $bg->rijen = array_values($bg->rijen); // // if($organisatie->soort ==4 || $orgversie->vorm == 1) { // }//doe niks // else{ // $rijcount = count($bg->rijen); // $bg->rijen[$rijcount] = new stdClass(); // $bg->rijen[$rijcount]->fullname = "gemiddeld"; // $bgtot = 0; // $bgtotaantal = 0; // for ($i = 0; $i < $aantalY; $i++) { // $waarden2 = 0; // if ($aantalrijen == 0) { // $sumscore[$i] = 0; // } else { // if ($aantalresults[$i] > 0) { // if($sumscore[$i] != 0) { // $sumscore[$i] = round($sumscore[$i] / $aantalrijen); // $waarden++; // } // $bgtot = $bgtot + $sumscore[$i]; // $bgtotaantal++; // } // else{ // $sumscore[$i] = 0; // } // } // $bg->rijen[$rijcount]->scores[$i] = new stdClass(); // if($waarden2 > 0) { // $bg->rijen[$rijcount]->scores[$i]->gem = $sumscore[$i]; // $bg->rijen[$rijcount]->scores[$i]->colorcode = $this->kleurcodes->getkleur($bg->rijen[$rijcount]->scores[$i]->gem); // } // }; // $bg->rijen[$rijcount]->scores[$aantalY] = new stdClass(); // if ($bgtotaantal > 0 && round($bgtot / $bgtotaantal) > 0) { // $bg->rijen[$rijcount]->scores[$aantalY]->gem = round($bgtot / $bgtotaantal); // } // else { // $bg->rijen[$rijcount]->scores[$aantalY]->gem = null; // }; // // if( $bg->rijen[$rijcount]->scores[$aantalY]->gem) { // $gem = $bg->rijen[$rijcount]->scores[$aantalY]->gem; // $bg->rijen[$rijcount]->scores[$aantalY]->colorcode = $this->kleurcodes->getkleur($gem); // } // if($orgversie->vorm == 2 && $organisatie->soort == 4) { // $rechten = $this->checkinzage(); // if ($rechten == 256) { // //doe niks // } // } // if($rechten < 256) { // for ($si = 0; $si <= $rijcount; $si++) { // if ($si < $rijcount) { // unset($bg->rijen[$si]); // } // } // } // if($rechten > 256){ // for($si = 0; $si <= $rijcount; $si++){ // if($si < $rijcount || $this->userid != $bg->rijen[$si]->user_id ){ // unset($bg->rijen[$si]); // } // // } // // } // // } // }; // if bg->rijen // } // } // // // $instrument = $this->Modules_model->get_fieldvalue(array("sysnr" =>$this->module), "naam") ; // $labels = $this->Labels_model->getalllabels(); // $kleurtabel = $this->kleurcodes->getkleurlegenda(); // // if($waarden > 0) { // $data = array("instrument" => $instrument, // "organisatie" => $organisatie, // "periodenaam" => $geldigvanaf . ' t/m ' . $geldigtm, // "vandaag" => $today, // "versievorm" => $orgversie->vorm, // "bgs" => $bgs, // "ijkpunten" => $ijkpunten, // "labels" => $labels, // "kleurtabel" => $kleurtabel); // } // else{ $data = null; // } // $html = $this->load->view("monpas/reports/resultaatmatrix", $data, true); // $filenaam="resultaatmatrix"; // $this->Phantom_model->create_pdf($html, $filenaam, FALSE, FALSE, FALSE); // } // function getscores() // { // //TODO clean input // if (!$this->userid) die; // $orgversieid = $this->clean_input("orgversieid"); // $orgid = $this->clean_input("orgid"); // // $organisatie = $this->Organisaties_model->get_record_by_id($orgid); // $orgversie = $this->Orgversies_model->get_record_by_id($orgversieid); // // // als school en orgversie = "ikvorm" =haal de resultaten van de medewerkers op // $bgs = new stdClass; // $bgs->bg = new stdClass; // $bgs->bg->naam = null; // // // $bgs->bg->rijen = new stdClass; // $bgs->bg->rijen = []; // if (!$organisatie) return; // if ($organisatie->soort ==4 && $orgversie->vorm == 2){ // $bgs->bg->rijen = $this->Filledversions_model->getlks($orgid,$orgversieid); // } // if soort = 4 & ikvorm // // if ($organisatie->soort == 4 && $orgversie->vorm != 2) { // $rij = new stdClass; // $rij->filledversionid = $orgversieid; // $rij->orgid = $orgid; // $rij->fullname = $organisatie->naamkort; // $bgs->bg->rijen[] = $rij; //// if(!array($bgs->bg->rijen)){ //// $bgs->bg->rijen = (array)$bgs->bg->rijen; //// } ////var_dump($bgs->bg->rijen); // // }; // if soort =4 en schoolvorm // // // if ($organisatie->soort == 3) { // $bgs->bg->rijen = $this->Organisaties_model->getorgs2($orgid); // }; // if soort --3 // // if ($organisatie->soort == 2) { // $bgs = $this->Organisaties_model->getorgsdetails(3, $orgid); // if ($bgs) { // foreach ($bgs as $bg) { // $bg->rijen = new stdClass; // $bg->rijen = $this->Organisaties_model->getorgs2($bg->id); // } // }; // if bgs // };// if soort ==2 // // if ($organisatie->soort == 1) { // $bgs = $this->Organisaties_model->getbgsonderswv($orgid); // // if ($bgs) { // foreach ($bgs as $bg) { // $bg->rijen = $this->Organisaties_model->getorgs2($bg->id); // // } // }; // if bgs // }; // if soort ==1 // // nu de (gemiddelde) scores ophalen // // if ($bgs) { // // foreach ($bgs as $bg) { // if ($bg->rijen) { // if (!is_array($bg->rijen)) { // $tijdelijk = $bg->rijen; // $bg->rijen = null; // $bg->rijen [] = null; // array_unshift($bg->rijen[], $tijdelijk); // // } // foreach ($bg->rijen as $rij) { // $rij->scores = new stdClass; // if($organisatie->soort == 4 && $orgversie->vorm == 2) { // $rij->scores = $this->Scores_model->getlkscores($rij->filledversionid); // } // else // if ($organisatie->soort == 4 && $orgversie->vorm != 2) { // // $scores = $this->Scores_model->getgemscores($orgversieid, $orgid); // // $rij->scores = $scores; // // } else { // $rij->scores = $this->Scores_model->getgemscores($orgversieid, $rij->orgid); // } // } // } // } // if (!$bg->rijen) { // unset($bg); // } // } // $ijkpunten = $this->Orgversies_model->getijkpunten($orgversieid); // $aantalY = count($ijkpunten); // // nu bepaal het gemiddeld per rij en het gemiddelde van een BG // // $waarden = 0; // // if ($bgs) { // //$aantalscores = 0; // foreach ($bgs as $bg) { // for ($i = 0; $i < $aantalY; $i++) { // $sumscore[$i] = 0; // }; // $aantalrijen = 0; // $aantalresults = array(); // for ($i = 0; $i < $aantalY; $i++) { // $aantalresults[$i] = 0; // }; // for i // if ($bg->rijen) { // foreach ($bg->rijen as $rij) { // $sumscorerij = 0; // $aantalscores = 0; // if ($rij->scores) { // $aantalrijen = $aantalrijen + 1; // for ($i = 0; $i < $aantalY; $i++) { // if ($rij->scores[$i]->gem == '' || $rij->scores[$i]->gem == null) { // // doe niks // } else { // $aantalscores++; // $sumscore[$i] = $sumscore[$i] + $rij->scores[$i]->gem; // $aantalresults[$i] = $aantalresults[$i] + 1; // $sumscorerij = $sumscorerij + $rij->scores[$i]->gem; // if ($sumscorerij > 0) { // $waarden++; // } // // } // $rij->scores[$i]->kleur = $this->kleurcodes->getkleur($rij->scores[$i]->gem); // }; // $rij->scores[$aantalY] = new stdClass(); // $rij->scores[$aantalY]->gem = new stdClass(); // // if ($aantalscores > 0) { // $rij->scores[$aantalY]->gem = round($sumscorerij / $aantalscores); // // } else { // $rij->scores[$aantalY]->gem = null; // } // $rij->scores[$aantalY]->kleur = $this->kleurcodes->getkleur($rij->scores[$aantalY]->gem); // } // if scores // // };// foreach bg rijen // $bg->rijen = array_values($bg->rijen); // // if ($organisatie->soort != 4 || $orgversie->vorm == 2) { // $rijcount = count($bg->rijen); // $bg->rijen[$rijcount] = new stdClass(); // $bg->rijen[$rijcount]->fullname = "gemiddeld"; // $bgtot = 0; // $bgtotaantal = 0; // for ($i = 0; $i < $aantalY; $i++) { // $waarden2 = 0; // if ($aantalrijen == 0) { // $sumscore[$i] = 0; // } else { // if ($aantalresults[$i] > 0) { // if ($sumscore[$i] !== 0) { // $sumscore[$i] = round($sumscore[$i] / $aantalresults[$i]); // $waarden2++; // }; // $bgtot = $bgtot + $sumscore[$i]; // $bgtotaantal++; // } else { // $sumscore[$i] = 0; // } // } // $bg->rijen[$rijcount]->scores[$i] = new stdClass(); // if ($waarden2 > 0) { // $bg->rijen[$rijcount]->scores[$i]->gem = $sumscore[$i]; // $bg->rijen[$rijcount]->scores[$i]->kleur = $this->kleurcodes->getkleur($bg->rijen[$rijcount]->scores[$i]->gem); // } // // }; // $bg->rijen[$rijcount]->scores[$aantalY] = new stdClass(); // if ($bgtotaantal > 0 && round($bgtot / $bgtotaantal) > 0) { // $bg->rijen[$rijcount]->scores[$aantalY]->gem = round($bgtot / $bgtotaantal); // } else { // $bg->rijen[$rijcount]->scores[$aantalY]->gem = null; // }; // if ($bg->rijen[$rijcount]->scores[$aantalY]->gem) { // // $bg->rijen[$rijcount]->scores[$aantalY]->kleur = $this->kleurcodes->getkleur($bg->rijen[$rijcount]->scores[$aantalY]->gem); // } // } // }; // if bg->rijen // } // } // // $kleurtabel = $this->kleurcodes->getkleurlegenda(); // if ($waarden > 0) { // echo json_encode(array("bgs" => $bgs, // "vorm" => $orgversie->vorm, // "ijkpunten" => $ijkpunten, // "kleurtabel" => $kleurtabel)); // } else echo json_encode(false); // } }