update scoresmodel
This commit is contained in:
@@ -25,9 +25,65 @@ class Scores_model extends MY_Model{
|
||||
|
||||
return $this->get_query_result();
|
||||
}
|
||||
|
||||
|
||||
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,
|
||||
SUM(CASE
|
||||
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
|
||||
@@ -558,8 +614,104 @@ class Scores_model extends MY_Model{
|
||||
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);
|
||||
|
||||
$p = "SC.scoretype = 7";
|
||||
|
||||
Reference in New Issue
Block a user