Merge branch 'feature/disable3'

# Conflicts:
#	application/core/MY_Controller.php
This commit is contained in:
Monique
2021-11-24 21:47:54 +01:00
4 changed files with 98 additions and 35 deletions
+87 -24
View File
@@ -6,10 +6,12 @@ class Rapmatrix extends MY_Controller
{
parent::__construct();
$models = array("shared/Organisaties_model",
"monpas/Ijkpunten_model",
"monpas/Filledversions_model",
"monpas/Orgversies_model",
"monpas/Modules_model",
"monpas/Scores_model",
"monpas/Scorekleuren_model",
"monpas/Sorteringen_model",
"monpas/Sorteerlabels_model",
"monpas/Sorteerlabelsorg_model",
@@ -74,28 +76,30 @@ class Rapmatrix extends MY_Controller
$criteriumID = $this->clean_input('criteriumid');
$orgversieID = $this->clean_input('orgversieid');
$toporg = $this->clean_input('toporg');
$ijkpunten = $this->Orgversies_model->getijkpunten($orgversieID);
$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, $aantalY, $kleuren);
$labels = $this->getIndividueleMatrix($orgID, $orgversieID, $aantalY, $scoretype);
//geef individuele scores + het gemiddelde
}
if ($orgversie->vorm == 1){
$labels = $this->getSchoolMatrix($orgID, $orgversieID, $aantalY, $kleuren);//schoolversie
$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, $aantalY, $kleuren);
$labels = $this->getBestuurMatrix($orgID, $orgversieID, $ijkpunten, $scoretype);
}
if ($criteriumID > 0) {//scholen ordenen met een ander criterium
$labels = $this->getCriteriumMatrix($orgID, $orgsoort, $criteriumID, $orgversieID, $aantalY, $kleuren);
@@ -252,18 +256,18 @@ class Rapmatrix extends MY_Controller
private function getIndividueleMatrix($orgID, $orgversieID, $aantalY, $kleuren){
private function getIndividueleMatrix($orgID, $orgversieID, $aantalY, $scoretype){
$scores = $this->getLeerkrachtscores($orgID, $orgversieID);
$labels = $this->getGemiddeldeScores($scores, $aantalY, $kleuren);
$labels = $this->getGemiddeldeScores($scores, $aantalY, $scoretype);
return $labels;
}
private function getSchoolMatrix($orgID, $orgversieID, $aantalY, $kleuren)
private function getSchoolMatrix($orgID, $orgversieID, $aantalY, $scoretype)
{
$scores = $this->getSchoolScores($orgID, $orgversieID);
$labels = $this->getGemiddeldenSchool($scores, $aantalY,$orgversieID, $kleuren);
$labels = $this->getGemiddeldenSchool($scores, $aantalY,$orgversieID, $scoretype);
return $labels;
}
@@ -277,11 +281,11 @@ class Rapmatrix extends MY_Controller
}
private function getBestuurMatrix($orgID, $orgversieID, $aantalY, $kleuren)
private function getBestuurMatrix($orgID, $orgversieID, $ijkpunten, $scoretype)
{
$scholen = $this->getScholenPerBestuur($orgID);
$scores = $this->getScoresBijBesturen($scholen, $orgversieID);
$labels = $this->getGemiddeldeScores($scores, $aantalY, $kleuren);
$labels = $this->getGemiddeldeScores($scores, $ijkpunten, $scoretype);
return $labels;
}
@@ -362,7 +366,7 @@ class Rapmatrix extends MY_Controller
private function getGemiddeldenSchool($labels, $aantalY, $orgversieID, $kleuren)
private function getGemiddeldenSchool($labels, $aantalY, $orgversieID, $scoretype)
{
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieID);
@@ -401,8 +405,11 @@ private function getGemiddeldenSchool($labels, $aantalY, $orgversieID, $kleuren)
}
}
// }
$kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $user->scores[$i]->gem);
$user->scores[$i]->kleur = $kleur->kleurcode;
$user->scores[$i]->kleurcode = $kleur->kleurcode;
$user->scores[$i]->kleur = $this->getkleur($user->scores[$i]->gem, $kleuren);
}
else{
$user->scores[$i] = new stdClass();
@@ -418,7 +425,11 @@ private function getGemiddeldenSchool($labels, $aantalY, $orgversieID, $kleuren)
} else {
$user->scores[$aantalY]->gem = null;
}
$user->scores[$aantalY]->kleur = $this->getkleur($user->scores[$aantalY]->gem, $kleuren);
$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);
@@ -604,23 +615,30 @@ private function getScoresBijCriterium($labels, $orgversieID){
return $labels;
}
private function getGemiddeldeScores($labels, $aantalY, $kleuren){
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) {
@@ -628,12 +646,13 @@ private function getGemiddeldeScores($labels, $aantalY, $kleuren){
for ($i = 0; $i < $aantalY; $i++) {
if(isset($user->scores[$i])) {
if($user->scores[$i]->disabled == 'F' &&
($user->scores[$i]->aantalvier == 0 ||
(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 ))){
// if ($user->scores[$i]->gem == '' || $user->scores[$i]->gem == null) {
// // doe niks
// } else {
$user->scores[$i]->aantalnvt != $user->scores[$i]->aantalvier )))){
//
$aantalscores++;
$sumscore[$i] = $sumscore[$i] + $user->scores[$i]->gem;
$aantalresults[$i] = $aantalresults[$i] + 1;
@@ -643,25 +662,55 @@ private function getGemiddeldeScores($labels, $aantalY, $kleuren){
// }
}
}
$user->scores[$i]->kleur = $this->getkleur($user->scores[$i]->gem, $kleuren);
$user->scores[$i]->kleur = $user->scores[$i]->kleurcode;
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]->kleur = $this->getkleur($user->scores[$aantalY]->gem, $kleuren);
$user->scores[$aantalY]->disabled = 'F';
$user->scores[$aantalY]->disablenvt = 'F';
} // if scores
};// foreach bg rijen
@@ -682,6 +731,7 @@ private function getGemiddeldeScores($labels, $aantalY, $kleuren){
$sumscore[$i] = round($sumscore[$i] / $aantalresults[$i]);
$waarden2++;
};
$labeltot = $labeltot + $sumscore[$i];
$labeltotaantal++;
} else {
@@ -691,8 +741,15 @@ private function getGemiddeldeScores($labels, $aantalY, $kleuren){
$label->users[$rijcount]->scores[$i] = new stdClass();
if ($waarden2 > 0) {
$label->users[$rijcount]->scores[$i]->gem = $sumscore[$i];
$label->users[$rijcount]->scores[$i]->kleur = $this->getkleur($label->users[$rijcount]->scores[$i]->gem, $kleuren);
}
$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) {
@@ -702,9 +759,15 @@ private function getGemiddeldeScores($labels, $aantalY, $kleuren){
};
if ($label->users[$rijcount]->scores[$aantalY]->gem) {
$label->users[$rijcount]->scores[$aantalY]->kleur = $this->getkleur($label->users[$rijcount]->scores[$aantalY]->gem, $kleuren);
$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
}
}