From 50459e9ffd56e26bb51c2ab60f2fb11512d8c9aa Mon Sep 17 00:00:00 2001 From: Monique Date: Fri, 18 Nov 2022 15:47:13 +0100 Subject: [PATCH] tussenstand --- .../controllers/monpas/Streefcijfers.php | 89 +++-- .../libraries/monpas/Gemiddeldescores.php | 1 + application/libraries/monpas/Scores.php | 4 +- .../libraries/monpas/ijkpunten/Lijsten.php | 56 ++- .../monpas/ijkpunten/Userlijsten.php | 46 ++- application/models/monpas/Ambities_model.php | 46 ++- .../models/monpas/Orgversies_model.php | 14 + application/views/monpas/pages/ijkpunten.php | 6 - .../views/monpas/pages/streefcijfers.php | 339 ++++-------------- public/js/monpas/models/ijkpuntenmodel.js | 62 +++- public/js/monpas/models/streefcijfersmodel.js | 165 ++++----- 11 files changed, 372 insertions(+), 456 deletions(-) diff --git a/application/controllers/monpas/Streefcijfers.php b/application/controllers/monpas/Streefcijfers.php index d3e4310..d76b0c1 100644 --- a/application/controllers/monpas/Streefcijfers.php +++ b/application/controllers/monpas/Streefcijfers.php @@ -6,7 +6,8 @@ class Streefcijfers extends MY_Controller{ $models = array( "shared/Users_model", 'shared/Organisaties_model', "monpas/Orgversies_model", - "monpas/Ambities_model"); + "monpas/Ambities_model", + "monpas/Modules_model" ); $this->load->model($models); $this->load->helper('string'); if ( ! $this->check_online_status() ) { @@ -128,6 +129,9 @@ class Streefcijfers extends MY_Controller{ return $ambitieorgs; } + + + function checkrecht(){ if (!$this->userid) die; $manage = 'F'; @@ -136,20 +140,23 @@ class Streefcijfers extends MY_Controller{ $result = $this->Autorisatiesnivos_model->checkmanage($this->userid, $this->orgid); if($result) $manage = 'T'; } - $this->json($manage); + $soort = $this->Organisaties_model->get_fieldvalue(['id'=>$this->globorgid],'soort'); + $this->json(['manage'=>$manage, + 'soort' => $soort]); } -function getambitie(){ +function getambities(){ if (!$this->userid) die; - $orgid = $this->uri->segment(4); - $module = $this->session->userdata('module'); - $ambitieorgs = ''; - $ambitieorgs = $this->getAmbitieOrgs($orgid, $ambitieorgs); - $ambitieorgs = rtrim($ambitieorgs, ','); + $module = $this->session->userdata('module'); + $modulenaam = $this->Modules_model->get_fieldvalue(['sysnr'=>$module], 'naam'); + $org = $this->Organisaties_model->get_record_by_id($this->globorgid); + $bovenliggend = ''; + $bovenliggend = $this->getAmbitieOrgs($this->globorgid, $bovenliggend); + $bovenliggend = rtrim($bovenliggend, ','); - $toporgsarray = explode(',', $ambitieorgs); + $toporgsarray = explode(',', $bovenliggend); $toporgs = ''; $index = 0; for($i = count($toporgsarray)-1; $i >= 0 ; $i--) { @@ -159,12 +166,52 @@ function getambitie(){ } } $toporgs = rtrim($toporgs, ',' ); - + $onderliggend = ''; + if($org->soort < 4){ + $orgs = $this->Organisaties_model->getlistrecursief($this->globorgid, []); + $onderliggend = implode(',', $orgs); + $ambitieorgs = $onderliggend .','. $bovenliggend; + } + if($org->soort == 4 ) $ambitieorgs = $bovenliggend; + $standaardNodig = true; + $ambities = []; $aantalY = $this->Ijkpunten_model->telijkpunten_bij_orgs($toporgs, $module); - $ambitie = $this->Ambities_model->mh_get_ambitie($module, $ambitieorgs, $toporgs, $aantalY); - if(!$ambitie) return json_encode("Er is geen actieve versie bij het instrument"); + $ambities = $this->Ambities_model->mh_get_ambities($module, $ambitieorgs, $toporgs); + if($ambities){ + foreach( $ambities AS $ambitie){ + if($ambitie->soort <= $org->soort){ + $standaardNodig = false; + } + } + } - echo json_encode($ambitie); + if(!$ambities || $standaardNodig) { + $orgversie = $this->Orgversies_model->getAmbitieVersie($toporgs, $module); + if (!$orgversie) { + $this->json("geen results"); + return; + } + else { + + $ambitie = new stdClass(); + $ambitie->ambitievan = 'standaard'; + $ambitie->id = 0; + $ambitie->geldigtm = $orgversie->geldigtm; + $ambitie->geldigvanaf = $orgversie->geldigvanaf; + $ambitie->gemscore = 80; + $ambitie->naam = $orgversie->naam; + + $ambitie->orgversie_id = $orgversie->orgversie_id; + $ambitie->periodenummer = $orgversie->periodenummer; + $ambitie->soort = 0; + $ambitie->xijkpunten = ROUND($aantalY * 0.8); + $ambitie->zprocent = 60; + $ambities[] = $ambitie; + } + } + $this->json(['aantalY' => $aantalY, + 'ambities' => $ambities, + 'module' => $modulenaam]); } @@ -172,24 +219,20 @@ function saveAmbitie(){ if (!$this->userid) die; $orgversieid = $this->clean_input("orgversieid"); - $orgid = $this->clean_input("orgid"); - - if($this->super == false) { - if ($orgid != $this->orgid) return; - $result = $this->Autorisatiesnivos_model->checkmanage($this->userid, $this->orgid); + $result = $this->Autorisatiesnivos_model->checkmanage($this->userid, $this->globorgid); $saveorg = $this->globorgid; if (!$result) return; } else{ - $saveorg = $orgid; + $saveorg = $this->globorgid; } - $bestaand = $this->Ambities_model->get_fieldvalue(['organisatie_id'=>$orgid, + $bestaand = $this->Ambities_model->get_fieldvalue(['organisatie_id'=>$saveorg, 'orgversie_id' =>$orgversieid], 'id'); if(!$bestaand) { $id = $this->Ambities_model->insert_record([ - 'organisatie_id' => $orgid, + 'organisatie_id' => $saveorg, 'orgversie_id' => $orgversieid, 'gem_score' => $this->clean_input("gemscore"), 'x_ijkpunten' => $this->clean_input("xijkpunten"), @@ -269,10 +312,10 @@ function saveAmbitie(){ if (!$this->userid) die; $id=$this->clean_input("id"); // zoek of de ambitie voor een nieuwe organisatie is - $alaanwezig = $this->Ambities_model->check_for_record(array("organisatie_id"=>$this->clean_input("organisatie_id"), + $alaanwezig = $this->Ambities_model->check_for_record(array("organisatie_id"=>$this->globorgid, "orgversie_id" => $this->clean_input("orgversie_id")) ); if ($id ==0 || !$alaanwezig ){ - $data=array("organisatie_id" => $this->clean_input("organisatie_id"), + $data=array("organisatie_id" => $this->globorgid, "orgversie_id" => $this->clean_input("orgversie_id"), "gem_score" => $this->clean_input("gemscore"), "x_ijkpunten" => $this->clean_input("xijkpunten"), diff --git a/application/libraries/monpas/Gemiddeldescores.php b/application/libraries/monpas/Gemiddeldescores.php index c6d9f24..96cc2f3 100644 --- a/application/libraries/monpas/Gemiddeldescores.php +++ b/application/libraries/monpas/Gemiddeldescores.php @@ -311,6 +311,7 @@ class Gemiddeldescores $toporgs = rtrim($toporgs, ',' ); $this->ambities = $this->CI->Ambities_model->mh_get_ambitie_orgversie($this->orgversieid, $ambitieorgs, $toporgs); + } private function setWensen(){ diff --git a/application/libraries/monpas/Scores.php b/application/libraries/monpas/Scores.php index 5462bbf..730ee13 100644 --- a/application/libraries/monpas/Scores.php +++ b/application/libraries/monpas/Scores.php @@ -18,8 +18,8 @@ class Scores private $ijkpuntenok = 0; private $welkelaagste; private $welkehoogste; - private $laagstescore; - private $hoogstescore; + private $laagstescore = 110; + private $hoogstescore = 0; public function __construct( $orgversieid, $orgid, $scoretype, $isVergelijking) diff --git a/application/libraries/monpas/ijkpunten/Lijsten.php b/application/libraries/monpas/ijkpunten/Lijsten.php index 850b28d..37d5904 100644 --- a/application/libraries/monpas/ijkpunten/Lijsten.php +++ b/application/libraries/monpas/ijkpunten/Lijsten.php @@ -85,6 +85,7 @@ class Lijsten $this->setResults(); $this->setVergelijkingen(); $this->setVergelijkingScores(); + $this->setAmbities(); $this->setLijst(); $this->setrapportInfo(); $this->setLijsten(); @@ -117,12 +118,14 @@ class Lijsten private function setResults(){ if($this->soort == 4 && $this->lijst->vorm == 2) { - $this->results = (new Gemiddeldescores ($this->lijst->orgversieid, $this->orgid, $this->lijst->orgversie->scoretype))->getResults(); - $this->scores = (new Gemiddeldescores ($this->lijst->orgversieid, $this->orgid, $this->lijst->orgversie->scoretype))->getIJkpunten(); + $this->gemiddelden = new Gemiddeldescores ($this->lijst->orgversieid, $this->orgid, $this->lijst->orgversie->scoretype); + $this->results = $this->gemiddelden->getResults(); + $this->scores = $this->gemiddelden->getIJkpunten(); } else { - $this->results = (new Scores($this->lijst->orgversieid, $this->orgid, $this->lijst->orgversie->scoretype, 'F'))->getResults(); - $this->scores = (new Scores($this->lijst->orgversieid, $this->orgid, $this->lijst->orgversie->scoretype, 'F'))->getScores(); + $this->scoresobject = new Scores($this->lijst->orgversieid, $this->orgid, $this->lijst->orgversie->scoretype, 'F'); + $this->results = $this->scoresobject->getResults(); + $this->scores = $this->scoresobject->getScores(); } } @@ -154,26 +157,55 @@ class Lijsten $this->scores[$i]->disablenvtV = $vergelijking->disablenvt; } + } + + private function setAmbities(){ + + $standaard = new stdClass(); + $standaard->ambitievan = 'standaard'; + $standaard->id = 0; + $standaard->geldigtm = $this->lijst->orgversie->geldigtm; + $standaard->geldigvanaf = $this->lijst->orgversie->geldigvanaf; + $standaard->gemscore = 80; + $standaard->naam = $this->versienaam; + $standaard->orgversie_id = $this->lijst->orgversie->id; + $standaard->periodenummer = $this->lijst->orgversie->periodenummer; + $standaard->soort = 0; + $standaard->xijkpunten = ROUND($this->results['aantalY'] * 0.8); + $standaard->zprocent = 60; + + + if($this->results && $this->results['ambities'] && $this->results['ambities']->gemscore > 0) $this->lijst->ambities = $this->results['ambities']; + else $this->lijst->ambities = $standaard; + + if(!isset($this->vergelijkingen) || !$this->vergelijkingen) return; + + if($this->vergelijkingen['ambities'] && $this->vergelijkingen['ambities']->gemscore > 0 ) $ambitiesV = $this->vergelijkingen['ambities']; + else $ambitiesV = $standaard; + if($ambitiesV->ambitievan != $this->lijst->ambities->ambitievan) $this->lijst->ambitiesV = $ambitiesV; + + + } private function setLijst(){ $this->lijst->naam = $this->results['orgnaam']; - $this->lijst->naamV = $this->vergelijkingen['orgnaam']; $this->lijst->scores = $this->scores; $metingen = $this->results['metingen']; $this->lijst->metingen = $metingen ? $metingen->aantal : 0; - $metingenV = $this->vergelijkingen['metingen']; - $this->lijst->metingenV = $metingenV ? $metingenV->aantal : 0; + $this->lijst->aantalorgs = $metingen ? $metingen->aantalorgs : 0; - $this->lijst->aantalorgsV = $metingenV ? $metingenV->aantalorgs : 0; - $this->lijst->ambities = $this->results['ambities']; - if($this->results['ambities']->ambitievan != $this->vergelijkingen['ambities']->ambitievan) - $this->lijst->ambitiesV = $this->vergelijkingen['ambities']; - else $this->lijst->ambitiesV = false; + $this->lijst->wensen = $this->results['wensen']; $this->lijst->adviezen = $this->results['adviezen']; $this->lijst->resultaten = $this->results['resultaten'] ; $this->lijst->aantalY = $this->results['aantalY']; + + if(!isset($this->vergelijkingen) || !$this->vergelijkingen) return; + $this->lijst->naamV = $this->vergelijkingen['orgnaam']; + $metingenV = $this->vergelijkingen['metingen']; + $this->lijst->metingenV = $metingenV ? $metingenV->aantal : 0; + $this->lijst->aantalorgsV = $metingenV ? $metingenV->aantalorgs : 0; } private function setRapportInfo(){ diff --git a/application/libraries/monpas/ijkpunten/Userlijsten.php b/application/libraries/monpas/ijkpunten/Userlijsten.php index a3bfc9f..836709f 100644 --- a/application/libraries/monpas/ijkpunten/Userlijsten.php +++ b/application/libraries/monpas/ijkpunten/Userlijsten.php @@ -5,7 +5,6 @@ class Userlijsten private $CI; private $modulenr; private $orgversieid; - private $ambitiearray = []; private $lijst; private $lijsten = []; private $nieuwste = 0; @@ -42,11 +41,13 @@ class Userlijsten foreach($this->orgversies as $index => $this->orgversieid){ $this->lijst = new stdClass(); $this->setOrgversie(); + $this->setVersieNaam(); $this->setLabels(); $this->setOrganisatie(); $this->setIndividueleScores(); $this->setVergelijkingen(); $this->setVergelijkingScores(); + $this->setAmbities(); $this->setLijst(); $this->setLijsten(); } @@ -59,6 +60,11 @@ class Userlijsten mysql2date($this->lijst->orgversie->geldigvanaf) . " t/m " . mysql2date($this->lijst->orgversie->geldigtm); } + private function setVersieNaam(){ + if($this->versienaam != "") return; + $this->versienaam = $this->CI->Versies_model->get_fieldvalue(['id' => $this->lijst->orgversie->versie_id], 'naam'); + } + private function setLabels(){ $this->lijst->label = $this->CI->Labels_model->gettabellabel($this->modulenr); $this->lijst->label2 = $this->CI->Labels_model->getresultaatlabel($this->modulenr); @@ -69,12 +75,10 @@ class Userlijsten $this->organisatie = $this->CI->Organisaties_model->get_reord_by_id($this->orgid); } - - - private function setIndividueleScores(){ - $this->results = (new Individuelescores($this->orgversieid, $this->orguserid, $this->orgid, $this->lijst->orgversie->scoretype))->getResults(); - $this->scores = (new Individuelescores($this->orgversieid, $this->orguserid, $this->orgid, $this->lijst->orgversie->scoretype))->getScores(); + $this->individueel = new Individuelescores($this->orgversieid, $this->orguserid, $this->orgid, $this->lijst->orgversie->scoretype); + $this->results = $this->individueel->getResults(); + $this->scores = $this->individueel->getScores(); } private function setVergelijkingen(){ @@ -94,6 +98,32 @@ class Userlijsten } } + } + private function setAmbities(){ + $standaard = new stdClass(); + $standaard->ambitievan = 'standaard'; + $standaard->id = 0; + $standaard->geldigtm = $this->lijst->orgversie->geldigtm; + $standaard->geldigvanaf = $this->lijst->orgversie->geldigvanaf; + $standaard->gemscore = 80; + $standaard->naam = $this->versienaam; + $standaard->orgversie_id = $this->lijst->orgversie->id; + $standaard->periodenummer = $this->lijst->orgversie->periodenummer; + $standaard->soort = 0; + $standaard->xijkpunten = ROUND($this->results['aantalY'] * 0.8); + $standaard->zprocent = 60; + + if($this->results && $this->results['ambities'] && $this->results['ambities']->gemscore > 0) $this->lijst->ambities = $this->results['ambities']; + else $this->lijst->ambities = $standaard; + + if(!isset($this->vergelijkingen) || !$this->vergelijkingen) return; + + if($this->vergelijkingen['ambities'] && $this->vergelijkingen['ambities']->gemscore > 0 ) $ambitiesV = $this->vergelijkingen['ambities']; + else $ambitiesV = $standaard; + if($ambitiesV->ambitievan != $this->lijst->ambities->ambitievan) $this->lijst->ambitiesV = $ambitiesV; + + + } private function setLijst(){ @@ -105,10 +135,6 @@ class Userlijsten $this->lijst->metingenV = $metingenV ? $metingenV->aantal : 0; $this->lijst->aantalorgs = $this->scores && $this->scores->gem > 0 ? 1 : 0; $this->lijst->aantalorgsV = $metingenV ? $metingenV->aantalorgs : 0; - $this->lijst->ambities = $this->results['ambities']; - if($this->results['ambities']->ambitievan != $this->vergelijkingen['ambities']->ambitievan) - $this->lijst->ambitiesV = $this->vergelijkingen['ambities']; - else $this->lijst->ambitiesV = false; $this->lijst->wensen = $this->results['wensen']; $this->lijst->adviezen = $this->results['adviezen']; $this->lijst->resultaten = $this->results['resultaten'] ; diff --git a/application/models/monpas/Ambities_model.php b/application/models/monpas/Ambities_model.php index ad2f8b2..0f822dd 100644 --- a/application/models/monpas/Ambities_model.php +++ b/application/models/monpas/Ambities_model.php @@ -103,21 +103,19 @@ class Ambities_model extends MY_Model{ return $ambitie; } -function mh_get_ambitie($moduleid, $ambitieorgs, $toporgs, $aantalY){ - $this->sql = " SELECT COALESCE(A.id, 0) AS ambitieID, - COALESCE(A.gem_score, 80) AS gemscore, - COALESCE(A.x_ijkpunten, ROUND({$aantalY} * 0.8)) AS xijkpunten, - {$aantalY} AS aantalY, - COALESCE(A.z_procent, 60) AS zprocent, +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, - COALESCE(O.soort, 0) AS soort, + O.soort AS soort, + concat_ws(' ', O.brin, O.naamkort) AS organisatie, O.id AS orgID, - CASE WHEN O.soort IS NULL THEN - 'standaard' - WHEN O.soort = 1 THEN + CASE WHEN O.soort = 1 THEN 'swv' WHEN O.soort = 2 THEN 'regio' @@ -129,34 +127,32 @@ function mh_get_ambitie($moduleid, $ambitieorgs, $toporgs, $aantalY){ FROM tb_orgversies OV JOIN tb_versies V ON OV.versie_id = V.id - LEFT JOIN tb_ambities A ON A.orgversie_id = OV.id - LEFT JOIN tb_organisaties O ON A.organisatie_id = O.id - WHERE (A.organisatie_id IN ({$ambitieorgs}) OR A.id IS NULL) + 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 - LIMIT 1 "; - return $this->get_query_row(); + ORDER BY soort DESC "; + return $this->get_query_result(); } function mh_get_ambitie_orgversie($orgversieid, $ambitieorgs, $toporgs){ - $this->sql = " SELECT COALESCE(A.id, 0) AS ambitieID, - COALESCE(A.gem_score, 80) AS gemscore, + $this->sql = " SELECT A.id AS ambitieID, + A.gem_score AS gemscore, COUNT(Y.id) AS aantalY, - COALESCE(A.x_ijkpunten, ROUND(COUNT(Y.id) * 0.8)) AS xijkpunten, - COALESCE(A.z_procent, 60) AS zprocent, - COALESCE(O.naam, 'standaard') AS ambitievan + 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 - LEFT JOIN tb_ambities A ON A.orgversie_id = OV.id - LEFT JOIN tb_organisaties O ON A.organisatie_id = O.id - WHERE (A.organisatie_id IN ({$ambitieorgs}) OR A.id IS NULL) + 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 OV.actief = 1 AND Y.disabled = 'F' ORDER BY soort LIMIT 1 "; diff --git a/application/models/monpas/Orgversies_model.php b/application/models/monpas/Orgversies_model.php index cb82f08..63fa147 100644 --- a/application/models/monpas/Orgversies_model.php +++ b/application/models/monpas/Orgversies_model.php @@ -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(); + } + } \ No newline at end of file diff --git a/application/views/monpas/pages/ijkpunten.php b/application/views/monpas/pages/ijkpunten.php index 7702ea0..cdce136 100644 --- a/application/views/monpas/pages/ijkpunten.php +++ b/application/views/monpas/pages/ijkpunten.php @@ -210,12 +210,6 @@ - - - - - -
: ambitie
diff --git a/application/views/monpas/pages/streefcijfers.php b/application/views/monpas/pages/streefcijfers.php index ee90297..5312257 100644 --- a/application/views/monpas/pages/streefcijfers.php +++ b/application/views/monpas/pages/streefcijfers.php @@ -1,257 +1,70 @@
-
-

Selecteer een organisatieniveau

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
- -
- - -
-

-
- - - -
- - - - - - - - - - - - -
- -
- - - - - - - -
-
-
- - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - -
- -
- - - - - - - -
-
-
- - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - -
- -
- - - - - - - - - - - - -
- -
- - - - - - - -
-
-
-
- -
- -
-
-

Criteria voor scholen onder organisatie: - +
+

- +
- - - - - + + + + + - + - - - - + + + + + + enable: $parent.manage() == 'T' && $parent.orgsoort() == soort " />% - + + @@ -268,47 +81,49 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
nr versievant/m gem. scoreminimumcriteria vanvant/m gem. scoreminimumcriteria van
+ + + + + + + + + + + + + % ijkpunten + attr: {'max': $parent.aantalY}, + enable: $parent.manage() =='T' && $parent.orgsoort() == soort " /> ijkpunten op + enable: $parent.manage() =='T' && $parent.orgsoort() == soort " /> % of hoger
@@ -259,8 +72,8 @@ font-weight: bold; margin-top; 20px;" data-bind="click: $parent.fNew, visible: $parent.manage() =='T' && - $parent.toporg().soort != soort - && $parent.toporg().id == $parent.selectedOrg().id ">nieuw + $parent.orgsoort() > soort + ">nieuw
% ijkpunten - op % of hoger - - -
- - - -
% ijkpunten + op % of hoger + + +
+ + + +
diff --git a/public/js/monpas/models/ijkpuntenmodel.js b/public/js/monpas/models/ijkpuntenmodel.js index 4023487..a34765d 100644 --- a/public/js/monpas/models/ijkpuntenmodel.js +++ b/public/js/monpas/models/ijkpuntenmodel.js @@ -115,7 +115,7 @@ ls.initIJkpuntenModel = function(){ } this.orgversieid = l.orgversie.id; this.scoretype = l.orgversie.scoretype; - this.orgnaam = l.orgnaam; + this.orgnaam = l.naam; this.wijik = "schoolversie"; if (l.vorm === '2') { dit.wijik = "individuele versie" @@ -131,19 +131,16 @@ ls.initIJkpuntenModel = function(){ this.gemscore = l.ambities.gemscore; this.ijkpunten = l.ambities.xijkpunten; this.zprocent = l.ambities.zprocent; + this.ambitieorg this.ambitievan = l.ambities.ambitievan === 'standaard' ? '(standaard ingestelde ambitie)': '(ambitie van: ' + l.ambities.ambitievan + ')'; console.log(this.ambitievan, "ambitievan"); - this.gemscoreV = l.ambitiesV.gemscore ? l.ambitiesV.gemscore: false ; - this.ijkpuntenV = l.ambitiesV.xijkpunten ? l.ambitiesV.xijkpunten: false; - this.zprocentV = l.ambitiesV.zprocent ? l.ambitiesV.zprocent: false; - this.ambitievanV = l.ambitiesV.ambitievan ? l.ambitiesV.ambitievan === 'standaard' ? + this.gemscoreV = l.ambitiesV && l.ambitiesV.gemscore ? l.ambitiesV.gemscore: false ; + this.ijkpuntenV = l.ambitiesV && l.ambitiesV.xijkpunten ? l.ambitiesV.xijkpunten: false; + this.zprocentV = l.ambitiesV && l.ambitiesV.zprocent ? l.ambitiesV.zprocent: false; + this.ambitievanV = l.ambitiesV && l.ambitiesV.ambitievan ? l.ambitiesV.ambitievan === 'standaard' ? '(standaard ingestelde ambitie)': '(ambitie van: ' + l.ambitiesV.ambitievan: false ; - - - - this.scores = ko.observableArray([]); this.erzijnscores = ko.observable(true); if(l.scores){ @@ -598,16 +595,21 @@ ls.initIJkpuntenModel = function(){ var lijsten2 = self.lijsten(); var xas = []; var verkorteVersies = []; - var extraLijn = []; + var balkGegevens = []; - var lijnGegevens; + var lijnGegevens = []; + var lijnGegevensV = []; var ambitiewaarde = 0; + var ambitiewaardeV = 0; + var ambitienaam = ''; + var ambitienaamV = ''; var xastitel; $.each(lijsten, function(i, l) { var labels = []; var scores = []; var ambities = []; + var ambitiesV = []; if(l.label){ xastitel = l.label; @@ -615,7 +617,12 @@ ls.initIJkpuntenModel = function(){ var zwart = '#0000'; if(l.gemscore && Number(l.gemscore) > 0){ ambitiewaarde = Number(l.gemscore); + } + if(l.gemscoreV && Number(l.gemscoreV) > 0){ + ambitiewaardeV = Number(l.gemscoreV); + } + lijsten[i].scores = l.scores(); $.each(lijsten[i].scores, function (j, g) { @@ -636,9 +643,17 @@ ls.initIJkpuntenModel = function(){ { y: ambitiewaarde, color: '#000000', - name: '', + name: '' } ); + ambitiesV.push( + { + y: ambitiewaardeV, + color: 'grey', + name: '' , + } + ); + }); labels.unshift(' '); var legescore ={ @@ -671,15 +686,28 @@ ls.initIJkpuntenModel = function(){ ambities.unshift(extralijn); ambities.push(extralijn); - lijnGegevens = ({ - dataLabels: { - format: '' - }, + var extralijnV = { + + y: ambitiewaardeV, + name: '', + }; + ambitiesV.unshift(extralijnV); + ambitiesV.push(extralijnV); + + + lijnGegevens = ({ + type: 'spline', - name: verkorteVersies, + name: '', data: ambities }); + lijnGegevensV = ({ + type: 'spline', + name: '', + data: ambitiesV + }); + balkGegevens.push(lijnGegevens); xas = labels; }); diff --git a/public/js/monpas/models/streefcijfersmodel.js b/public/js/monpas/models/streefcijfersmodel.js index 3173efb..28fbbef 100644 --- a/public/js/monpas/models/streefcijfersmodel.js +++ b/public/js/monpas/models/streefcijfersmodel.js @@ -8,38 +8,19 @@ $(function(){ ls.initStreefcijfersModel = function(){ var timeout; - function fAddVersieAmbitie(i, p, toporgsoort){ - console.log(p, "p") + function fAddVersieAmbitie(i, p){ + let dit = this; - this.id = p.ambitieID; // ambitie id - this.orgID = p.orgID; - this.periodenummer = p.periodenummer; - this.naam = p.naam ; // versienaam - this.orgversieid = p.orgversie_id; - this.geldigvanaf = p.geldigvanaf; - this.geldigtm = p.geldigtm; - this.info = ko.computed(function(){ - var info = this.periodenummer + '. (versie: ' + this.naam + ') geldig vanaf ' + this.geldigvanaf + ' t/m ' + this.geldigtm; - return info; - },this); - - this.gemscore = ko.observable(p.gemscore); - this.zprocent = ko.observable(p.zprocent); - this.aantalY = p.aantalY; - this.xijkpunten = ko.observable(p.xijkpunten); + this.id = p.ambitieID; // ambitie id + this.orgID = p.orgID; + this.gemscore = ko.observable(p.gemscore); + this.zprocent = ko.observable(p.zprocent); + this.xijkpunten = ko.observable(p.xijkpunten); this.ambitievan = ko.observable(p.ambitievan); + this.organisatie = p.organisatie ? p.organisatie : ''; this.soort = p.soort; - this.nieuw = ko.observable(''); - switch(Number(toporgsoort)){ - case 1: dit.nieuw = 'swv'; - break; - case 2: dit.nieuw = 'regio'; - break; - case 3: dit.nieuw = 'bestuur'; - break; - case 4: dit.nieuw = 'school'; - break; - } + console.log(p.soort, "soort") + } @@ -105,12 +86,10 @@ ls.initStreefcijfersModel = function(){ } else { ls.StreefcijfersModel = { - ambities : ko.observable(), - toporg : ko.observableArray([]), + ambities : ko.observableArray([]), + streefcijfers : ko.observableArray(), orgsoort : ko.observable(1), orgversions : ko.observableArray([]), - selectedOrgversion : ko.observable(''), - selectedOrg : ko.observable(''), manage : ko.observable('F'), bezig : ko.observable(false), isSWV : ko.observable(false), @@ -118,6 +97,16 @@ ls.initStreefcijfersModel = function(){ scoreNieuw : ko.observable(100), ijkNieuw : ko.observable(0), procentNieuw : ko.observable(100), + aantalY : ko.observable(0), + instrument : ko.observable(''), + periodenummer : ko.observable(''), + naam : ko.observable(''), + geldigvanaf : ko.observable(''), + geldigtm : ko.observable(''), + ambitievan : ko.observable(''), + orgversieid : ko.observable(''), + soortNaam : ko.observable(''), + initBindings :function(){ @@ -130,70 +119,53 @@ ls.initStreefcijfersModel = function(){ initModel: function(){ var self = ls.StreefcijfersModel; - self.toporg(''); - + self.orgsoort(''); $.post("index.php/monpas/streefcijfers/checkrecht", function(data){ - if(data) {self.manage(data);} + if(data) {self.manage(data.manage); + self.orgsoort(data.soort)} - $.post("index.php/monpas/rapijkpunten/getorgs", function(data){ - self.bezig(true); - if (data.organisatie) { + switch(Number(data.soort)){ + case 1: self.soortNaam('swv'); + break; + case 2: self.soortNaam('regio'); + break; + case 3: self.soortNaam('bestuur'); + break; + case 4: self.soortNaam('school'); + break; + } - self.orgsoort(data.soort); - switch (self.orgsoort()) { - case 1: - self.toporg(new fAddSWV(data.organisatie)); - self.isSWV(true); - break; - case 2: - self.toporg(new fAddKamer(data.organisatie)); - break; - case 3: - self.toporg(new fAddBG(data.organisatie)); - break; - case 4: - self.toporg(new fAddSchool(data.organisatie)); - break; - } // switch - self.selectedOrg(self.toporg()); - } + self.bezig(false); + self.fGetAmbities(); - self.bezig(false); - self.fGetAmbitie(); - },'json'); + },'json'); + }, - },'json'); - }, - fToggleGeopend: function(){ - this.geopend(!this.geopend()); - }, - - fSwitchOrg : function(){ + fGetAmbities : function() { var self = ls.StreefcijfersModel; - self.isSWV(false); - if (this.id == self.selectedOrg().id) return; - self.selectedOrg(this); - if (self.selectedOrg() == undefined) return; - if(self.selectedOrg().soort === '1'){ - self.isSWV(true); - } + self.ambities.removeAll() - self.fGetAmbitie(); - }, + $.post("index.php/monpas/streefcijfers/getambities/", function(data){ + self.ambities.removeAll(); + if(data=== 'geen results'){ + apprise("Er is geen actieve orgversie gevonden bij dit instrument.") + } + else{ - fGetAmbitie : function() { - var self = ls.StreefcijfersModel; - self.ambities(''); - $.post("index.php/monpas/streefcijfers/getambitie/" + self.selectedOrg().id, function(data){ - console.log(data, "data") - if (data){ - let soort = self.toporg().soort; - $.each(data, function(i,p){ - self.ambities(new fAddVersieAmbitie(i,p, soort )); + + $.each(data.ambities, function (i, a){ + self.ambities.push(new fAddVersieAmbitie(i, a)) }); + self.aantalY(data.aantalY); + self.instrument(data.module); + self.periodenummer(data.ambities[0].periodenummer); + self.naam(data.ambities[0].naam); + self.geldigvanaf(data.ambities[0].geldigvanaf); + self.geldigtm(data.ambities[0].geldigtm); + self.orgversieid(data.ambities[0].orgversie_id); } },'json'); }, @@ -208,14 +180,13 @@ ls.initStreefcijfersModel = function(){ } timeout = setTimeout(function(){ self.bezig(true); - var submitData={ "id" : dit.id, - "orgversie_id" : dit.orgversieid, - "organisatie_id" : self.selectedOrg().id, - "gemscore" : dit.gemscore(), + var submitData={ "id" : dit.id, + "orgversie_id" : self.orgversieid(), + "gemscore" : dit.gemscore(), "xijkpunten" : dit.xijkpunten(), "zprocent" : dit.zprocent()} $.post("index.php/monpas/streefcijfers/updateambitie", submitData, function(newid){ - if (newid) {self.fGetAmbitie()} + if (newid) {self.fGetAmbities()} self.bezig(false); },'json'); },700); @@ -232,9 +203,6 @@ ls.initStreefcijfersModel = function(){ var self = ls.StreefcijfersModel; let dit = this; - if(!self.selectedOrg().id) return - if(self.toporg().id !== self.selectedOrg().id) return; - if (timeout){ clearTimeout(timeout); timeout = null; @@ -242,16 +210,14 @@ ls.initStreefcijfersModel = function(){ timeout = setTimeout(function(){ self.bezig(true); var submitData={ - "orgversieid" : dit.orgversieid, - "orgid" : self.selectedOrg().id, + "orgversieid" : self.orgversieid(), "gemscore" : self.scoreNieuw(), "xijkpunten" : self.ijkNieuw(), "zprocent" : self.procentNieuw() } - console.log(submitData, "data") $.post("index.php/monpas/streefcijfers/saveAmbitie", submitData, function(newid){ - if (newid) {self.fGetAmbitie()} + if (newid) {self.fGetAmbities()} self.bezig(false); self.insert(false); self.scoreNieuw(0); @@ -280,13 +246,14 @@ ls.initStreefcijfersModel = function(){ self.bezig(true); var dit = this; - apprise("Weet u zeker dat u de criteria bij " + dit.naam + " wilt verwijderen?", + apprise("Weet u zeker dat u de streefcijfers van " + dit.organisatie + " wilt verwijderen?", {verify: true, textYes:'ja', textNo: 'nee'}, function(ans){ if (ans){ var sd = {id : dit.id} $.post('index.php/monpas/streefcijfers/verwijder', sd, function(result){ self.bezig(false); - self.versieambities.remove(dit); + self.ambities.removeAll(); + self.fGetAmbities() },'json'); } else { self.bezig(false);