diff --git a/application/libraries/monpas/Gemiddeldescores.php b/application/libraries/monpas/Gemiddeldescores.php index 96cc2f3..bb4623d 100644 --- a/application/libraries/monpas/Gemiddeldescores.php +++ b/application/libraries/monpas/Gemiddeldescores.php @@ -14,11 +14,18 @@ class Gemiddeldescores private $scoreteller; private $slaover = false; private $ambities; - private $adviezen; + private $adviezen= [] ; private $resultaten; - private $metingen; + private $metingen = []; private $aantalnvt = 0; private $aantalscores; + private $somscore = 0; + private $welkelaagste; + private $welkehoogste; + private $laagstescore = 110; + private $hoogstescore = 0; + + public function __construct($orgversieid, $orgid, $scoretype) { @@ -128,20 +135,23 @@ class Gemiddeldescores private function setMetingen(){ if (!isset($this->leerkrachten)) return; - $this->metingen = 0; - $this->aantalorgs = 0; + $this->metingen = new stdClass(); + $this->metingen->aantal = 0; + $this->metingen->aantalorgs = 0; if ($this->org->soort == 4) { $gevuld = $this->CI->Scores_model->fCountGevuldeVersies($this->orgversieid, $this->orgid); if($gevuld ){ - $this->metingen = $gevuld->aantal;} + $this->metingen->aantal = $gevuld->aantal; + $this->metingen->aantalorgs = 1; + } }; if ($this->org->soort == 3) { $gevuld = $this->CI->Scores_model->fCountGevuldeBestuurVersies($this->orgversieid, $this->orgid); if($gevuld){ - $this->metingen = $gevuld->aantal; - $this->aantalorgs = $gevuld->aantalorgs;} + $this->metingen->aantal = $gevuld->aantal; + $this->metingen->aantalorgs = $gevuld->aantalorgs;} }; if ($this->org->soort == 2) { @@ -150,8 +160,8 @@ class Gemiddeldescores $this->setGevuldeVersies12(); $metingen = $this->CI->Scores_model->fCountGevuldeKamerEnSWVVersies($this->orgversieid, $this->orgstring); if($metingen){ - $this->metingen = $metingen->aantal; - $this->aantalorgs = $metingen->aantalorgs; + $this->metingen->aantal = $metingen->aantal; + $this->metingen->aantalorgs = $metingen->aantalorgs; } }; @@ -160,8 +170,8 @@ class Gemiddeldescores $this->setGevuldeVersies12(); $metingen = $this->CI->Scores_model->fCountGevuldeKamerEnSwvVersies($this->orgversieid, $this->orgstring); if($metingen){ - $this->metingen = $metingen->aantal; - $this->aantalorgs = $metingen->aantalorgs; + $this->metingen->aantal = $metingen->aantal; + $this->metingen->aantalorgs = $metingen->aantalorgs; } }; } @@ -267,7 +277,8 @@ class Gemiddeldescores private function setIJkpuntGemiddeldeScores(){ if ($this->ijkpunt->aantallkrtn > 0) { - $this->ijkpunt->score = $this->ijkpunt->totaal / $this->ijkpunt->aantallkrtn; + $this->ijkpunt->score = round($this->ijkpunt->totaal / $this->ijkpunt->aantallkrtn); + $this->ijkpunt->gem = round($this->ijkpunt->totaal / $this->ijkpunt->aantallkrtn); } } @@ -406,7 +417,7 @@ class Gemiddeldescores } private function telIJkpuntenok(){ - if ($this->ambities && $this->ijkpunt->score >= $this->ambities->zprocent && $this->ijkpunt->disabelntv == 'F') { + if ($this->ambities && $this->ijkpunt->score >= $this->ambities->zprocent && $this->ijkpunt->disablenvt == 'F') { $this->ijkpuntenok++; } } @@ -432,7 +443,7 @@ class Gemiddeldescores private function setResults() { $this->resultaten = [ - 'totgem' => $this->gemiddelde->gem, + 'totgem' => $this->gemiddelde->score, 'ijkpuntenok' => $this->ijkpuntenok, 'welkehoogste' => $this->welkehoogste, 'hoogstescore' => round($this->hoogstescore, 1), diff --git a/application/libraries/monpas/Scores.php b/application/libraries/monpas/Scores.php index 730ee13..062e468 100644 --- a/application/libraries/monpas/Scores.php +++ b/application/libraries/monpas/Scores.php @@ -20,6 +20,7 @@ class Scores private $welkehoogste; private $laagstescore = 110; private $hoogstescore = 0; + private $gemiddelde; public function __construct( $orgversieid, $orgid, $scoretype, $isVergelijking) @@ -309,7 +310,7 @@ class Scores private function setResults(){ $this->resultaten = [ - 'totgem' => $this->score->gem, + 'totgem' => $this->gemiddelde->gem, 'ijkpuntenok' => $this->ijkpuntenok, 'welkehoogste' => $this->welkehoogste, 'hoogstescore' => round($this->hoogstescore, 1), diff --git a/application/libraries/monpas/ijkpunten/Individuelescores.php b/application/libraries/monpas/ijkpunten/Individuelescores.php index 7d80ac6..243e000 100644 --- a/application/libraries/monpas/ijkpunten/Individuelescores.php +++ b/application/libraries/monpas/ijkpunten/Individuelescores.php @@ -13,6 +13,15 @@ class Individuelescores private $aantalscores = 0; private $ijkpuntenok = 0; private $results; + private $gemiddelde; + private $resultaten; + private $adviezen; + private $somscore = 0; + private $welkelaagste; + private $welkehoogste; + private $laagstescore = 110; + private $hoogstescore = 0; + public function __construct( $orgversieid, $orguserid, $orgid, $scoretype) { @@ -73,6 +82,8 @@ class Individuelescores $this->scores = $this->CI->Scores_model->calculateindividualscores($this->orgversieid, $this->orgid, $this->userid); } + + private function setAmbities(){ $ambitieorgs = ''; @@ -129,6 +140,7 @@ class Individuelescores } private function setNietVanToepassing(){ + if(! isset($this->scores) || $this->scores == false ) return; $this->score->disablenvt = 'F'; if($this->score->aantalvier> 0 && $this->score->aantalvier == $this->score->aantalnvt) $this->score->disablenvt = 'T'; @@ -137,14 +149,15 @@ class Individuelescores } private function setGem(){ + if(! isset($this->scores) || $this->scores == false ) return; $this->score->gem = 0; if(isset($this->score->somscore) && $this->score->num > 0) { - $this->score->gem = $this->score->somscore/$this->score->num; + $this->score->gem = round($this->score->somscore/$this->score->num); } } private function setSomscores() - { + { if(! isset($this->scores) || $this->scores == false ) return; if ($this->score->disabled == 'F' && $this->score->disablenvt == 'F') { $this->somscore = $this->somscore + $this->score->gem; $this->aantalscores++; @@ -152,6 +165,7 @@ class Individuelescores } private function setScoreKleuren(){ + if(! isset($this->scores) || $this->scores == false ) return; $kleur = $this->CI->Scorekleuren_model->getGemiddeldeKleur($this->scoretype, $this->score->gem); $kleur = $kleur->kleurcode; if(!$kleur) $kleur = '#ffffff'; @@ -181,7 +195,7 @@ class Individuelescores } private function setAdviezen(){ - + if(! isset($this->scores) || $this->scores == false ) return; if(isset($this->score->wens) && $this->score->huidig < $this->score->wens && $this->score->wens!= 0 && @@ -217,20 +231,21 @@ class Individuelescores } private function setResults(){ - - $this->resultaten = [ - 'totgem' => $this->score->gem, - 'ijkpuntenok' => $this->ijkpuntenok, - 'welkehoogste' => $this->welkehoogste, - 'hoogstescore' => round($this->hoogstescore, 1), - 'welkelaagste' => $this->welkelaagste, - 'laagstescore' => round($this->laagstescore, 1), - ]; + if($this->scores) { + $this->resultaten = [ + 'totgem' => $this->gemiddelde->gem, + 'ijkpuntenok' => $this->ijkpuntenok, + 'welkehoogste' => $this->welkehoogste, + 'hoogstescore' => round($this->hoogstescore, 1), + 'welkelaagste' => $this->welkelaagste, + 'laagstescore' => round($this->laagstescore, 1), + ]; + } $this->results= [ 'orgnaam' => $this->orgnaam, 'ijkpunten' => $this->ijkpunten, - 'scores' => $this->scores, + 'scores' => $this->scores ? $this->scores : false, 'ambities' => $this->ambities, 'kleuren' => $this->kleuren, 'resultaten' => $this->resultaten, diff --git a/application/libraries/monpas/ijkpunten/Lijsten.php b/application/libraries/monpas/ijkpunten/Lijsten.php index 37d5904..56249c6 100644 --- a/application/libraries/monpas/ijkpunten/Lijsten.php +++ b/application/libraries/monpas/ijkpunten/Lijsten.php @@ -156,6 +156,7 @@ class Lijsten $this->scores[$i]->disabledV = $vergelijking->disabled; $this->scores[$i]->disablenvtV = $vergelijking->disablenvt; + } } diff --git a/application/libraries/monpas/ijkpunten/Userlijsten.php b/application/libraries/monpas/ijkpunten/Userlijsten.php index 836709f..d763c24 100644 --- a/application/libraries/monpas/ijkpunten/Userlijsten.php +++ b/application/libraries/monpas/ijkpunten/Userlijsten.php @@ -61,8 +61,8 @@ class Userlijsten } 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(){ @@ -72,7 +72,8 @@ class Userlijsten } private function setOrganisatie(){ - $this->organisatie = $this->CI->Organisaties_model->get_reord_by_id($this->orgid); + $this->organisatie = $this->CI->Organisaties_model->get_record_by_id($this->orgid); + } private function setIndividueleScores(){ @@ -82,24 +83,25 @@ class Userlijsten } private function setVergelijkingen(){ + if(!isset($this->scores) || !$this->scores) return; $bestuurid = $this->organisatie->valtonder_id; $orgid = $this->CI->Organisaties_model->get_fieldvalue(['id'=>$bestuurid], 'valtonder_id'); $this->vergelijkingen = (new Scores($this->orgversieid, $orgid, 2, 'T'))->getResults() ; } private function setVergelijkingScores(){ + if(!isset($this->scores) || !$this->scores) return; if( (!isset($this->vergelijkingen) ||! $this->vergelijkingen )) return; - foreach($this->vergelijkingen['scores'] AS $i =>$vergelijking){ - if($this->lijst->vergelijkingen[$i]) { - $this->scores[$i]->gemV = $vergelijking[$i]->gem; - $this->scores[$i]->kleurV = $vergelijking[$i]->kleur; - $this->scores[$i]->disabledV = $vergelijking[$i]->disabled; - $this->scores[$i]->disablenvtV = $vergelijking[$i]->disablenvt; - } + foreach($this->vergelijkingen['scores'] AS $i =>$vergelijking){ + $this->scores[$i]->gemV = $vergelijking->gem; + $this->scores[$i]->kleurV = $vergelijking->kleur; + $this->scores[$i]->disabledV = $vergelijking->disabled; + $this->scores[$i]->disablenvtV = $vergelijking->disablenvt; } } private function setAmbities(){ + if(!isset($this->scores) || !$this->scores) return; $standaard = new stdClass(); $standaard->ambitievan = 'standaard'; $standaard->id = 0; @@ -128,17 +130,26 @@ class Userlijsten private function setLijst(){ $this->lijst->naam = $this->results['orgnaam']; - $this->lijst->naamV = $this->vergelijkingen['orgnaam']; $this->lijst->scores = $this->scores; - $this->lijst->metingen = $this->scores && $this->scores->gem > 0 ? 1 : 0; + if(isset($this->scores)) { + $this->lijst->metingen = 1 ; + $this->lijst->aantalorgs = 1 ; + $this->lijst->adviezen = $this->results['adviezen']; + $this->lijst->resultaten = $this->results['resultaten']; + } + else{ + $this->lijst->metingen = 0 ; + $this->lijst->aantalorgs = 1 ; + $this->lijst->adviezen = false; + $this->lijst->resultaten = false; + + } + $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->aantalorgs = $this->scores && $this->scores->gem > 0 ? 1 : 0; $this->lijst->aantalorgsV = $metingenV ? $metingenV->aantalorgs : 0; - $this->lijst->wensen = $this->results['wensen']; - $this->lijst->adviezen = $this->results['adviezen']; - $this->lijst->resultaten = $this->results['resultaten'] ; - $this->lijst->aantalY = $this->results['aantalY']; } private function setLijsten(){ diff --git a/application/views/monpas/pages/ijkpunten.php b/application/views/monpas/pages/ijkpunten.php index cdce136..eb7ed7b 100644 --- a/application/views/monpas/pages/ijkpunten.php +++ b/application/views/monpas/pages/ijkpunten.php @@ -199,17 +199,17 @@ -
- - -
- - - - - -
+ + + + + + + + + + +
diff --git a/application/views/monpas/sopkeuze/ijkpuntengrafiek.php b/application/views/monpas/sopkeuze/ijkpuntengrafiek.php index 1c3d32e..302480a 100644 --- a/application/views/monpas/sopkeuze/ijkpuntengrafiek.php +++ b/application/views/monpas/sopkeuze/ijkpuntengrafiek.php @@ -41,7 +41,6 @@ fFillGraph20=function(){ var xas = []; - var verkorteVersies = []; var balkGegevens = []; var lijnGegevens; @@ -76,7 +75,7 @@ - verkorteVersies.push(periodenummer ?>); + var ambitiewaarde =ambities->gemscore; ?>; ambities.push( { y: ambities->gemscore; ?>, @@ -94,18 +93,18 @@ }; scores.unshift(legescore); - verkorteVersies.unshift(periodenummer ?>); + labels.push(' '); scores.push(legescore); - verkorteVersies.push(periodenummer ?>); + balkGegevens[indexnummer] =({ dataLabels: { format: '{point.versie}' }, type : 'column', - name : verkorteVersies, + name : '', backgroundColor: '#e6e6e6', data : scores }); @@ -133,7 +132,7 @@ format: '' }, type: 'spline', - name: verkorteVersies, + name: '', data: splinedata //ambities }); diff --git a/public/js/monpas/models/ijkpuntenmodel.js b/public/js/monpas/models/ijkpuntenmodel.js index a34765d..8a1ded8 100644 --- a/public/js/monpas/models/ijkpuntenmodel.js +++ b/public/js/monpas/models/ijkpuntenmodel.js @@ -108,6 +108,8 @@ ls.initIJkpuntenModel = function(){ } function fAddLijst(i, l, nieuw){ + + console.log(l, "lijst") var dit = this; this.tooninfo = ko.observable(false); if(nieuw === l.orgversie.id) { @@ -120,7 +122,7 @@ ls.initIJkpuntenModel = function(){ if (l.vorm === '2') { dit.wijik = "individuele versie" } - this.naamV = l.vNaam; + this.naamV = l.naamV; this.metingen = l.metingen; this.metingenV = l.metingenV; this.vantm = l.vantm; @@ -131,7 +133,8 @@ ls.initIJkpuntenModel = function(){ this.gemscore = l.ambities.gemscore; this.ijkpunten = l.ambities.xijkpunten; this.zprocent = l.ambities.zprocent; - this.ambitieorg + this.ambitiesoort = l.ambities.soort; + this.ambitiesoortV = l.ambities.soortV ? l.ambities.soortV : false; this.ambitievan = l.ambities.ambitievan === 'standaard' ? '(standaard ingestelde ambitie)': '(ambitie van: ' + l.ambities.ambitievan + ')'; console.log(this.ambitievan, "ambitievan"); @@ -422,8 +425,9 @@ ls.initIJkpuntenModel = function(){ self.ijkpunten.removeAll(); self.aantal(''); var teller = 0; - if( Number(result.lijsten[0].resultaten.totgem) > 0 ) { + console.log(result, "result"); $.each(result.lijsten, function (i, p) { + console.log(p, "lijst") if (p.scores || p.vergelijkingen) { self.erzijnlijsten(true); self.nietIngevuld(false) @@ -439,10 +443,8 @@ ls.initIJkpuntenModel = function(){ }); - } - else{ - self.nietIngevuld(true); - } + + if(self.erzijnlijsten()){ var nieuw = ''; @@ -587,72 +589,66 @@ ls.initIJkpuntenModel = function(){ }, fOpenGrafiek: function(){ - var self = ls.IJkpuntenModel; - var dit = this; var lijsten = self.lijsten(); - var lijsten2 = self.lijsten(); + let soorten = [0]; var xas = []; - var verkorteVersies = []; - + let toonAmbities = false; var balkGegevens = []; var lijnGegevens = []; - var lijnGegevensV = []; var ambitiewaarde = 0; - var ambitiewaardeV = 0; - var ambitienaam = ''; - var ambitienaamV = ''; var xastitel; + let titel = 'Versie: ' + self.selectedSerie().naam + ', scoretype: ' + self.selectedSerie().scoreomschrijving + + $.each(lijsten, function(z, a){ + if(!soorten.includes(Number(a.ambitiesoort))) { + soorten.push(Number(a.ambitiesoort)) + + } + if(soorten.length > 1) toonAmbities = true; + + }) $.each(lijsten, function(i, l) { var labels = []; var scores = []; var ambities = []; - var ambitiesV = []; + if(l.label){ xastitel = l.label; } - var zwart = '#0000'; - if(l.gemscore && Number(l.gemscore) > 0){ - ambitiewaarde = Number(l.gemscore); + if(i === 0 || toonAmbities) { - } - if(l.gemscoreV && Number(l.gemscoreV) > 0){ - ambitiewaardeV = Number(l.gemscoreV); + if (l.gemscore && Number(l.gemscore) > 0) { + ambitiewaarde = Number(l.gemscore); + + } } lijsten[i].scores = l.scores(); $.each(lijsten[i].scores, function (j, g) { var omschrijving = ''; - if(g.omschrijving){ + if(g.omschrijving){ omschrijving = g.omschrijving; } labels.push(g.nummer); - scores.push({ y : Number(g.gem) == 0 ? null: Number(g.gem) , + scores.push({ y : Number(g.gem) === 0 ? null: Number(g.gem) , color : g.kleur, - name : g.nummer }); - - verkorteVersies.push(l.periodenummer); + name : l.periodenummer }); + if(i === 0 || toonAmbities) { ambities.push( { y: ambitiewaarde, - color: '#000000', - name: '' - } - ); - ambitiesV.push( - { - y: ambitiewaardeV, - color: 'grey', - name: '' , + name: '', } ); + } }); labels.unshift(' '); @@ -664,49 +660,39 @@ ls.initIJkpuntenModel = function(){ }; scores.unshift(legescore); - verkorteVersies.unshift(l.periodenummer); - labels.push(' '); scores.push(legescore); - verkorteVersies.push(l.periodenummer); + balkGegevens[i] =({ dataLabels: { - format: '{point.versie}' + format: '{point.name}' }, type : 'column', - name : verkorteVersies, + color : '#ffffff', + name : l.vantm, data : scores }); - var extralijn = { - y: ambitiewaarde, - name: '', - }; - ambities.unshift(extralijn); - ambities.push(extralijn); - - var extralijnV = { - - y: ambitiewaardeV, - name: '', - }; - ambitiesV.unshift(extralijnV); - ambitiesV.push(extralijnV); + if(i === 0 || toonAmbities) { + var extralijn = { + y: ambitiewaarde, + name: '', + }; + ambities.unshift(extralijn); + ambities.push(extralijn); - lijnGegevens = ({ + lijnGegevens = ({ + dataLabels: { + format: '' + }, + type: 'spline', + name: toonAmbities ?'periode ' + l.periodenummer + ', ambitie van ' + l.ambitievan : 'standaard ingestelde ambitie', + data: ambities + }); - type: 'spline', - name: '', - data: ambities - }); - - lijnGegevensV = ({ - type: 'spline', - name: '', - data: ambitiesV - }); + } balkGegevens.push(lijnGegevens); xas = labels; @@ -715,7 +701,7 @@ ls.initIJkpuntenModel = function(){ self.ijkgrafiek = Highcharts.chart('hc-chart1', { chart: { - type: 'column', + margin: [5,0,10,0], options3d: { enabled: true, alpha: 20, @@ -738,28 +724,29 @@ ls.initIJkpuntenModel = function(){ }, title: { - text: '' + text: titel }, credits: { enabled: false, }, tooltip:{ - useHTML: true, - outside: true, - formatter: function() { - var txt = null; - if(!this.point.omschrijving){ - this.point.omschrijving = ''; - } - if(this.point.soort === 'score' || this.point.soort === 'ambitie' ) { - txt = '

' + this.point.vantm + '

' + '
' + '

' + this.x + '. ' - + this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '

'; - return txt; - } - } + enabled: false, + // useHTML: true, + // outside: true, + // formatter: function() { + // var txt = null; + // if(!this.point.omschrijving){ + // this.point.omschrijving = ''; + // } + // if(this.point.soort === 'score' || this.point.soort === 'ambitie' ) { + // txt = '

' + this.point.vantm + '

' + '
' + '

' + this.x + '. ' + // + this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '

'; + // return txt; + // } + // } }, xAxis: { - type: 'category', + // type: 'category', categories: xas, skew3d: true, title:{ @@ -774,9 +761,20 @@ ls.initIJkpuntenModel = function(){ text: 'Scores' } }, - legend: { - enabled: false + + legend:{ + align: 'left', + marginLeft: '10px', + verticalAlign: 'bottom', + floating: false, + width: '50%', + itemStyle: { + fontSize: '14px', + fontWeight: 'normal' + + } }, + plotOptions: { column:{ pointPadding: 0.05, @@ -788,7 +786,7 @@ ls.initIJkpuntenModel = function(){ enabled: true, inside: true, align: 'center', - verticalAlign: 'bottom', + verticalAlign: 'top', color: '#404040', style: { textOutline: false @@ -797,7 +795,6 @@ ls.initIJkpuntenModel = function(){ }, spline: { - color: '#404040', pointStart: 0, marker: { enabled: false @@ -806,7 +803,6 @@ ls.initIJkpuntenModel = function(){ }, series: balkGegevens, - showInLegend: false }); },