update scoresmodel
This commit is contained in:
@@ -25,9 +25,65 @@ class Scores_model extends MY_Model{
|
|||||||
|
|
||||||
return $this->get_query_result();
|
return $this->get_query_result();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function calculateindividualscores($orgversieid, $orgid, $userid){
|
function calculateindividualscores($orgversieid, $orgid, $userid){
|
||||||
|
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score,
|
||||||
|
SUM(CASE WHEN Y.disabled = 'T' THEN 0
|
||||||
|
WHEN Y.disabled = 'F' THEN
|
||||||
|
CASE
|
||||||
|
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
|
||||||
|
WHEN SC.scoretype = 2 THEN SC.score * Indi.gewicht
|
||||||
|
WHEN (SC.scoretype = 3 OR SC.scoretype = 5) THEN
|
||||||
|
CASE
|
||||||
|
WHEN SC.score = 1 THEN 100 * Indi.gewicht
|
||||||
|
WHEN (SC.score = 2 OR SC.score = 0) THEN 0
|
||||||
|
ELSE 50 * Indi.gewicht
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 4 THEN
|
||||||
|
CASE
|
||||||
|
WHEN SC.score = 1 THEN 100 * Indi.gewicht
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 6 THEN
|
||||||
|
CASE
|
||||||
|
WHEN SC.score = 2 THEN 60 * Indi.gewicht
|
||||||
|
WHEN SC.score = 3 THEN 100 * Indi.gewicht
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 7 THEN
|
||||||
|
CASE
|
||||||
|
WHEN SC.score = 1 THEN 100 * Indi.gewicht
|
||||||
|
WHEN SC.score = 2 THEN 66.6 * Indi.gewicht
|
||||||
|
WHEN SC.score = 3 THEN 33.3 * Indi.gewicht
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
ELSE 0
|
||||||
|
END) AS somscore,
|
||||||
|
|
||||||
|
SUM( Indi.gewicht ) AS num,
|
||||||
|
SUM(CASE WHEN SC.scoretype = 4 AND SC.score = 3 THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS aantalnvt,
|
||||||
|
SUM(CASE WHEN SC.scoretype = 4 THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS aantalvier,
|
||||||
|
Y.nummer, Y.omschrijving, 0 AS aantalscholen, Y.toelichting
|
||||||
|
FROM tb_filledversions FV
|
||||||
|
JOIN tb_scores SC ON SC.filledversion_id = FV.id
|
||||||
|
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
|
||||||
|
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
|
||||||
|
WHERE FV.orgversie_id = {$orgversieid}
|
||||||
|
AND FV.organisatie_id = {$orgid}
|
||||||
|
AND FV.user_id ={$userid}
|
||||||
|
AND FV.meetellen = 1
|
||||||
|
GROUP BY SC.ijkpunt_id
|
||||||
|
ORDER BY Y.nummer ";
|
||||||
|
return $this->get_query_result();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function calculateindividualscoresoud($orgversieid, $orgid, $userid){
|
||||||
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score,
|
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score,
|
||||||
SUM(CASE
|
SUM(CASE
|
||||||
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
|
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
|
||||||
@@ -558,8 +614,104 @@ class Scores_model extends MY_Model{
|
|||||||
return $lijst;
|
return $lijst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getgemscores($orgversieid, $orgids){
|
||||||
|
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids);
|
||||||
|
if ($gevuldeversies) {
|
||||||
|
$this->sql = " SELECT Q.omschrijving, Q.toelichting, Q.ijkpunt_id, Q.kleurnummer, Q.disabled, Q.scoretype,
|
||||||
|
CASE WHEN Q.aantalvier > 0 THEN
|
||||||
|
CASE WHEN Q.aantalvier = Q.aantalnvt THEN
|
||||||
|
'T'
|
||||||
|
ELSE 'F'
|
||||||
|
END
|
||||||
|
ELSE 'F'
|
||||||
|
END AS disablenvt,
|
||||||
|
Q.sumscores/Q.sumgewicht AS gem, Q.kleurcode, Q.nummer, Q.ondergrens, Q.bovengrens
|
||||||
|
FROM (
|
||||||
|
SELECT Y.omschrijving, Y.toelichting,Y.id as ijkpunt_id,
|
||||||
|
Y.nummer, Y.disabled, SC.scoretype, SK.nummer AS kleurnummer,
|
||||||
|
SK.kleurcode, SK.ondergrens, SK.bovengrens,
|
||||||
|
SUM(CASE WHEN Y.disabled = 'T' THEN 0
|
||||||
|
WHEN Y.disabled = 'F' THEN
|
||||||
|
CASE WHEN SC.scoretype = 1
|
||||||
|
THEN (SC.score * I.gewicht * 10)
|
||||||
|
WHEN SC.scoretype = 2
|
||||||
|
THEN (SC.score * I.gewicht)
|
||||||
|
WHEN SC.scoretype = 3
|
||||||
|
THEN
|
||||||
|
CASE WHEN SC.score = 0
|
||||||
|
THEN 0
|
||||||
|
WHEN SC.score = 1
|
||||||
|
THEN (100 * I.gewicht)
|
||||||
|
WHEN SC.score = 2
|
||||||
|
THEN 0
|
||||||
|
WHEN SC.score = 3
|
||||||
|
THEN (50 * I.gewicht)
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 4
|
||||||
|
THEN
|
||||||
|
CASE WHEN SC.score = 1
|
||||||
|
THEN (100 * I.gewicht)
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 5
|
||||||
|
THEN
|
||||||
|
CASE WHEN SC.score = 0
|
||||||
|
THEN 0
|
||||||
|
WHEN SC.score = 1
|
||||||
|
THEN (100 * I.gewicht)
|
||||||
|
WHEN SC.score = 2
|
||||||
|
THEN 0
|
||||||
|
WHEN SC.score = 3
|
||||||
|
THEN (50 * I.gewicht)
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 6
|
||||||
|
THEN
|
||||||
|
CASE WHEN SC.score = 2
|
||||||
|
THEN (50 * I.gewicht)
|
||||||
|
WHEN SC.score = 3
|
||||||
|
THEN (100 * I.gewicht)
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
WHEN SC.scoretype = 7
|
||||||
|
THEN
|
||||||
|
CASE WHEN SC.score = 1
|
||||||
|
THEN (100 * I.gewicht)
|
||||||
|
WHEN SC.score = 2
|
||||||
|
THEN (66.6 * I.gewicht)
|
||||||
|
WHEN SC.score = 3
|
||||||
|
THEN (33.3 * I.gewicht)
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
ELSE 0
|
||||||
|
END)AS sumscores,
|
||||||
|
SUM(CASE WHEN SC.scoretype = 4 AND SC.score = 3 THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS aantalnvt,
|
||||||
|
SUM(CASE WHEN SC.scoretype = 4 THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS aantalvier,
|
||||||
|
SUM(I.gewicht) AS sumgewicht
|
||||||
|
FROM tb_scores SC
|
||||||
|
JOIN tb_indicatoren I ON I.id = SC.indicator_id
|
||||||
|
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
|
||||||
|
JOIN tb_scorekleuren SK ON SK.scoretype = SC.scoretype
|
||||||
|
WHERE SC.filledversion_id IN ({$gevuldeversies})
|
||||||
|
AND SK.disabled = Y.disabled
|
||||||
|
GROUP BY SC.ijkpunt_id, SK.id
|
||||||
|
ORDER BY Y.nummer ) AS Q
|
||||||
|
HAVING Q.ondergrens <= gem AND Q.bovengrens > gem ";
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
return $this->get_query_result();
|
||||||
|
}
|
||||||
|
|
||||||
function getgemscores($orgversieid, $orgid){
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function getgemscoresoud($orgversieid, $orgid){
|
||||||
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgid);
|
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgid);
|
||||||
|
|
||||||
$p = "SC.scoretype = 7";
|
$p = "SC.scoretype = 7";
|
||||||
|
|||||||
Reference in New Issue
Block a user