optie niet van toepassing niet meetellen

als gekozen is voor scoretype 4 bij een orgversie (ja,nee, nvt) de optie nvt niet meetellen in het gemiddelde als bij een ijkpunt in een filledversion voor alle opties nvt is gekozen.
De optie elf wordt dan grijs
This commit is contained in:
2024-01-17 16:08:17 +01:00
parent f33dc87cf3
commit 8d32f13c57
11 changed files with 214 additions and 87 deletions
+34 -31
View File
@@ -260,7 +260,7 @@ class Rapmatrix extends MY_Controller
private function getIndividueleMatrix($orgID, $orgversieID, $ijkpunten, $kleuren,$scoretype){
$scores = $this->getLeerkrachtscores($orgID, $orgversieID);
$scores = $this->getLeerkrachtscores($orgID, $orgversieID, $scoretype);
$labels = $this->getGemiddeldeScores($scores, $ijkpunten, $kleuren, $scoretype);
return $labels;
@@ -269,7 +269,7 @@ class Rapmatrix extends MY_Controller
private function getSchoolMatrix($orgID, $orgversieID, $aantalY, $scoretype)
{
$scores = $this->getSchoolScores($orgID, $orgversieID);
$scores = $this->getSchoolScores($orgID, $orgversieID, $scoretype);
$labels = $this->getGemiddeldenSchool($scores, $aantalY,$orgversieID, $scoretype);
return $labels;
@@ -287,7 +287,7 @@ class Rapmatrix extends MY_Controller
private function getBestuurMatrix($orgID, $orgversieID, $ijkpunten, $kleuren, $scoretype)
{
$scholen = $this->getScholenPerBestuur($orgID);
$scores = $this->getScoresBijBesturen($scholen, $orgversieID);
$scores = $this->getScoresBijBesturen($scholen, $orgversieID, $scoretype);
$labels = $this->getGemiddeldeScores($scores, $ijkpunten, $kleuren, $scoretype);
return $labels;
@@ -307,7 +307,7 @@ class Rapmatrix extends MY_Controller
{
$scholen = $this->getCriteriumScholen($orgID, $orgsoort);
$ingedeeld = $this->getScholenPerLabel($scholen, $criteriumID);
$scores = $this->getScoresBijCriterium($ingedeeld, $orgversieID);
$scores = $this->getScoresBijCriterium($ingedeeld, $orgversieID, $scoretype);
$labels = $this->getGemiddeldeScores($scores, $ijkpunten, $kleuren, $scoretype );
return $labels;
@@ -323,7 +323,7 @@ class Rapmatrix extends MY_Controller
return $returnarray;
}
private function getLeerkrachtScores($orgID, $orgversieID)
private function getLeerkrachtScores($orgID, $orgversieID, $scoretype)
{
$labels = new stdClass;
$labels->label = new stdClass;
@@ -333,15 +333,19 @@ class Rapmatrix extends MY_Controller
$labels->label->users = $leerkrachten;
foreach ($labels->label->users as $user) {
if($scoretype ==4) $user->scores = $this->Scores_model->calculateindividualscorestype4($orgversieID, $orgID,$user->user_id );
else
$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;
if($scoretype ==4) $score->gem = round($score->somscore);
else {
if ($score->somscore && $score->num && $score->num > 0) {
$score->gem = $score->somscore / $score->num;
} else {
$score->gem = 0;
}
}
}
}
@@ -350,7 +354,7 @@ class Rapmatrix extends MY_Controller
}
private function getSchoolScores($orgID, $orgversieID)
private function getSchoolScores($orgID, $orgversieID, $scoretype)
{
$labels = new stdClass;
$labels->label = new stdClass;
@@ -361,7 +365,8 @@ class Rapmatrix extends MY_Controller
$users->orgid = $orgID;
$users->fullname = $users->naam;
$labels->label->users[] = $users;
$scores = $this->Scores_model->getgemscores($orgversieID, $orgID);
if($scoretype == 4) $scores = $this->Scores_model->getgemscorestype4($orgversieID, $orgID);
else $scores = $this->Scores_model->getgemscores($orgversieID, $orgID);
$labels->label->users[0]->scores = $scores;
return $labels;
@@ -424,7 +429,7 @@ private function getGemiddeldenSchool($labels, $aantalY, $orgversieID, $scoretyp
$user->scores[$aantalY]->gem = new stdClass();
if ($aantalscores > 0) {
$user->scores[$aantalY]->gem = round($sumscorerij / $aantalscores);
$user->scores[$aantalY]->gem = round(round($sumscorerij) / $aantalscores);
} else {
$user->scores[$aantalY]->gem = null;
}
@@ -580,7 +585,7 @@ private function getScholenPerLabel($scholen, $criteriumID){
return $labels;
}
private function getScoresBijBesturen($labels, $orgversieID){
private function getScoresBijBesturen($labels, $orgversieID, $scoretype){
foreach ($labels as $label) {
if ($label->users) {
if(! is_array($label->users)){
@@ -592,7 +597,9 @@ private function getScholenPerLabel($scholen, $criteriumID){
}
foreach ($label->users as $user) {
$user->scores = new stdClass;
$user->scores = $this->Scores_model->getgemscores($orgversieID, $user->orgid);
if($scoretype == 4 )
$user->scores = $this->Scores_model->getgemscorestype4($orgversieID, $user->orgid);
else $user->scores = $this->Scores_model->getgemscores($orgversieID, $user->orgid);
}
}
}
@@ -600,7 +607,7 @@ private function getScholenPerLabel($scholen, $criteriumID){
}
private function getScoresBijCriterium($labels, $orgversieID){
private function getScoresBijCriterium($labels, $orgversieID, $scoretype){
foreach ($labels as $label) {
if ($label->users) {
if(! is_array($label->users)){
@@ -611,7 +618,8 @@ private function getScoresBijCriterium($labels, $orgversieID){
}
foreach ($label->users as $user) {
$user->scores = new stdClass;
$user->scores = $this->Scores_model->getgemscores($orgversieID, $user->id);
if($scoretype == 4)$user->scores = $this->Scores_model->getgemscorestype4($orgversieID, $user->id);
else $user->scores = $this->Scores_model->getgemscores($orgversieID, $user->id);
}
}
}
@@ -634,9 +642,11 @@ private function getGemiddeldeScores($labels, $ijkpunten, $kleuren, $scoretype){
};
$aantalrijen = 0;
$aantalresults = array();
$ingevuld = [];
for ($i = 0; $i < $aantalY; $i++) {
$aantalresults[$i] = 0;
$nvt[$i] = 0;
$ingevuld[$i] = 0;
}; // for i
if ($label->users) {
@@ -648,14 +658,11 @@ private function getGemiddeldeScores($labels, $ijkpunten, $kleuren, $scoretype){
$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 )))){
if(!isset($user->scores[$i]->disablenvt)){
$user->scores[$i]->disablenvt= 'F';
}
if($user->scores[$i]->disabled == 'F' && $user->scores[$i]->disablenvt == 'F'){
//
$aantalscores++;
$sumscore[$i] = $sumscore[$i] + $user->scores[$i]->gem;
$aantalresults[$i] = $aantalresults[$i] + 1;
@@ -668,13 +675,9 @@ private function getGemiddeldeScores($labels, $ijkpunten, $kleuren, $scoretype){
$kleur = $this->Scorekleuren_model->getGemiddeldeKleur($scoretype, $user->scores[$i]->gem);
$user->scores[$i]->kleur = $kleur->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]++;
if($user->scores[$i]->disabled == 'F') $ingevuld[$i] = $ingevuld[$i] + 1;
}
else{
$user->scores[$i] = new stdClass();
@@ -752,7 +755,7 @@ private function getGemiddeldeScores($labels, $ijkpunten, $kleuren, $scoretype){
}
$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';
if($nvt[$i] > 0 && $nvt[$i] == $ingevuld[$i]) $label->users[$rijcount]->scores[$i]->disablenvt = 'T';
};
$label->users[$rijcount]->scores[$aantalY] = new stdClass();
@@ -109,7 +109,8 @@ class Rapontwikkel extends MY_Controller {
//
}
$scores = $this->Scores_model->getgemscores( $orgversieid, $lijst);
if($orgversie->scoretype == 4) $scores = $this->Scores_model->getgemscorestype4( $orgversieid, $lijst);
else $scores = $this->Scores_model->getgemscores( $orgversieid, $lijst);
if ( $scores )
{
$gewenst = $this->Wenssituaties_model->getgewenst( $orgversieid, $orgid );
@@ -188,6 +189,7 @@ class Rapontwikkel extends MY_Controller {
$orguserid = $this->clean_input( "orguserid" );
$userid = $this->Orgusers_model->get_fieldvalue( ["id" => $orguserid], "user_id" );
$organisatie = $this->Organisaties_model->getorg( $orgid );
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$scores = NULL;
$gewenst = NULL;
// als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt
@@ -195,7 +197,8 @@ class Rapontwikkel extends MY_Controller {
// dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions);
// let op ja nee bezig wordt vertaald naar 10, 0 en 5
$scores = $this->Scores_model->calculateindividualscores( $orgversieid, $orgid, $userid );
if($orgversie->scoretype == 4) $scores = $this->Scores_model->calculateindividualscorestype4( $orgversieid, $orgid, $userid );
else $scores = $this->Scores_model->calculateindividualscores( $orgversieid, $orgid, $userid );
// haal ook nog de criteria op
if ( ! $scores ) $scores = FALSE;
@@ -205,10 +208,12 @@ class Rapontwikkel extends MY_Controller {
foreach ( $scores as $score )
{
$score->gem = 0;
if ( $score->num > 0 )
{
$score->gem = round( $score->somscore / $score->num, 1 );
if($orgversie->scoretype == 4) $score->gem = round($score->somscore, 1);
else {
$score->gem = 0;
if ($score->num > 0) {
$score->gem = round($score->somscore / $score->num, 1);
}
}
$score->huidig = $this->kleurcodes->getnummer( $score->gem );
}; // foreach scores