Merge branch 'feature/streefcijfersperorg'

# Conflicts:
#	application/core/MY_Controller.php
This commit is contained in:
Monique
2022-11-28 23:35:04 +01:00
42 changed files with 3844 additions and 2453 deletions
@@ -102,4 +102,66 @@ class Ambities_model extends MY_Model{
};
return $ambitie;
}
function mh_get_ambities($moduleid, $ambitieorgs, $toporgs){
$this->sql = " SELECT A.id AS ambitieID,
A.gem_score AS gemscore,
A.x_ijkpunten AS xijkpunten,
A.z_procent AS zprocent,
OV.id AS orgversie_id,
DATE_FORMAT( OV.geldigvanaf, '%d-%m-%Y') as geldigvanaf,
DATE_FORMAT( OV.geldigtm, '%d-%m-%Y') as geldigtm,
OV.periodenummer, V.naam,
O.soort AS soort,
concat_ws(' ', O.brin, O.naamkort) AS organisatie,
O.id AS orgID,
CASE WHEN O.soort = 1 THEN
'swv'
WHEN O.soort = 2 THEN
'regio'
WHEN O.soort = 3 THEN
'bestuur'
WHEN O.soort = 4 THEN
'school'
END AS ambitievan
FROM tb_orgversies OV
JOIN tb_versies V ON OV.versie_id = V.id
JOIN tb_ambities A ON A.orgversie_id = OV.id
JOIN tb_organisaties O ON A.organisatie_id = O.id
WHERE A.organisatie_id IN ({$ambitieorgs})
AND OV.organisatie_id IN ({$toporgs})
AND V.modulenr = {$moduleid}
AND OV.actief = 1
ORDER BY soort DESC ";
return $this->get_query_result();
}
function mh_get_ambitie_orgversie($orgversieid, $ambitieorgs, $toporgs){
$this->sql = " SELECT A.id AS ambitieID,
A.gem_score AS gemscore,
A.x_ijkpunten AS xijkpunten,
A.z_procent AS zprocent,
O.naam AS ambitievan
FROM tb_orgversies OV
JOIN tb_versies V ON OV.versie_id = V.id
JOIN tb_ijkpunten Y ON V.id = Y.versie_id
JOIN tb_ambities A ON A.orgversie_id = OV.id
JOIN tb_organisaties O ON A.organisatie_id = O.id
WHERE A.organisatie_id IN ({$ambitieorgs})
AND OV.organisatie_id IN ({$toporgs})
AND OV.id = {$orgversieid}
AND Y.disabled = 'F'
ORDER BY soort DESC
LIMIT 1 ";
return $this->get_query_row();
}
}
@@ -42,6 +42,18 @@ class Ijkpunten_model extends MY_Model{
return $this->get_query_row('aantalY');
}
function telijkpunten_bij_orgs($toporgs, $modulenr){
$this->sql=" SELECT COUNT(DISTINCT(Y.id)) AS aantalY
FROM tb_ijkpunten Y
JOIN tb_orgversies OV ON OV.versie_id = Y.versie_id
JOIN tb_versies V ON V.id = OV.versie_id
WHERE OV.organisatie_id IN({$toporgs})
AND V.modulenr = {$modulenr}
AND OV.actief = 1
AND Y.disabled = 'F' ";
return $this->get_query_row('aantalY');
}
function getijkpunten1($versieid){
$this->sql="SELECT Y.id, Y.nummer,Y.omschrijving,Y.toelichting, Y.disabled
FROM tb_ijkpunten Y
@@ -265,6 +265,20 @@ class Orgversies_model extends MY_Model{
return $this->get_query_result();
}
function getAmbitieVersie($toporgs, $moduleid){
$this->sql = "SELECT
OV.id AS orgversie_id,
DATE_FORMAT( OV.geldigvanaf, '%d-%m-%Y') as geldigvanaf,
DATE_FORMAT( OV.geldigtm, '%d-%m-%Y') as geldigtm,
OV.periodenummer, V.naam
FROM tb_orgversies OV
JOIN tb_versies V ON OV.versie_id = V.id
WHERE OV.organisatie_id IN ({$toporgs})
AND V.modulenr = {$moduleid}
AND OV.actief = 1 ";
return $this->get_query_row();
}
}
+1 -1
View File
@@ -26,7 +26,7 @@ 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, Y.disabled,
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score, score AS gem, Y.disabled,
SUM(CASE WHEN Y.disabled = 'T' THEN 0
WHEN Y.disabled = 'F' THEN
CASE
@@ -16,6 +16,7 @@ class Sopinhouden_model extends MY_Model{
'monpas/Filledversions_model',
'monpas/Groepen_model',
'monpas/Hoofdstukken_model',
'monpas/Ijkpunten_model',
'monpas/Labels_model',
'monpas/Ondersteuningtijden_model',
'monpas/Orgversies_model',
@@ -555,8 +556,40 @@ class Sopinhouden_model extends MY_Model{
}
if ($targetversieid) {
$scores = $this->Scores_model->getgemscores($targetversieid, $orgid);
$ambitie = $this->Ambities_model->getOrgAmbities($targetversieid, $orgid);
}
$ambitieorgs = '';
$ambitieorgs = $this->getAmbitieOrgs($this->globorgid, $ambitieorgs);
$ambitieorgs = rtrim($ambitieorgs, ',');
$toporgsarray = explode(',', $ambitieorgs);
$toporgs = '';
$index = 0;
for($i = count($toporgsarray)-1; $i >= 0 ; $i--) {
if($index < 2) {
$toporgs .= $toporgsarray[$i] . ',';
$index++;
}
}
$toporgs = rtrim($toporgs, ',' );
$ambitie = $this->Ambities_model->mh_get_ambitie_orgversie($targetversieid, $ambitieorgs, $toporgs);
if(!isset($ambitie->ambitieID)) {
$xijkpunten = $this->Ijkpunten_model->telijkpunten($targetversieid);
$orgversie = $this->Orgversies_model->get_record_by_id($targetversieid);
$ambitie = new stdClass();
$ambitie->ambitievan = 'standaard';
$ambitie->AmbitieID = 0;
$ambitie->geldigtm = $orgversie->geldigtm;
$ambitie->geldigvanaf = $orgversie->geldigvanaf;
$ambitie->gemscore = 80;
$ambitie->orgversie_id = $targetversieid;
$ambitie->periodenummer = $orgversie->periodenummer;
$ambitie->soort = 0;
$ambitie->xijkpunten = $xijkpunten;
$ambitie->zprocent = 60;
}
}
if (!$targetversieid || !$scores){
return array('grafiek1' => '',
@@ -579,7 +612,7 @@ class Sopinhouden_model extends MY_Model{
// $gem=$score->somscore / $score->num;
// };
//LS ACTIEF GEMAAKT
// $score->kleurcode = $this->kleurcodes->getkleur($score->gem);
$score->kleurcode = $this->kleurcodes->getkleur($score->gem);
if ($score->disabled == 'F' && $score->disablenvt == 'F') {
$totgem = $totgem + $score->gem;
@@ -673,6 +706,17 @@ class Sopinhouden_model extends MY_Model{
'targetversie' => $targetversieid);
}
private function getAmbitieOrgs($orgid, $ambitieorgs){
$ambitieorgs .= $orgid . ',';
$valtonder = $this->Organisaties_model->get_fieldvalue(['id' => $orgid], 'valtonder_id');
if($valtonder != $orgid){
return $this->getAmbitieOrgs($valtonder, $ambitieorgs);
}
return $ambitieorgs;
}
function getlksscores($orgid, $orgversieid,$aantalijkpunten){
$lks = $this->Filledversions_model->getlks($orgid, $orgversieid);
@@ -785,7 +829,7 @@ class Sopinhouden_model extends MY_Model{
}
$score->kleur = '#808080';
if(isset($score->kleurcode)) $score->kleur = $score->kleurcode;
$score->huidig = $score->kleurnummer;
$score->huidig = $score->kleur;
if($targetversie->scoretype == 7){
if($score->gem == $grens3) $score->huidig = 4;
if($score->gem < $grens3) $score->huidig = 3;
@@ -50,5 +50,17 @@ class Autorisatienivos_model extends MY_Model{
return $this->get_query_row('nivo');
}
function checkmanage($userid, $orgid){
$this->sql=" SELECT nivo
FROM tb_autorisatienivos AN
JOIN tb_autorisaties A ON A.nivo_id = AN.id
JOIN tb_orgusers OU ON OU.id = A.orguser_id
WHERE OU.user_id = {$userid}
AND OU.organisatie_id = {$orgid}
AND AN.nivo IN (1, 4, 16, 64, 256) ";
return $this->get_query_row('nivo');
}
}