tussenopslag

This commit is contained in:
Monique
2022-11-21 09:30:42 +01:00
parent 50459e9ffd
commit 761bf62686
8 changed files with 183 additions and 149 deletions
@@ -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),
+2 -1
View File
@@ -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),
@@ -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,
@@ -156,6 +156,7 @@ class Lijsten
$this->scores[$i]->disabledV = $vergelijking->disabled;
$this->scores[$i]->disablenvtV = $vergelijking->disablenvt;
}
}
@@ -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(){
+11 -11
View File
@@ -199,17 +199,17 @@
<canvas style="display: none" id="ijkpuntencanvas">
</canvas>
<div data-bind="with: selectedSerie()" style="margin-left: 50px;">
<span style="font-weight: bold; "
data-bind="text: 'Versie: ' + naam + ', scoretype: ' + scoreomschrijving ">
</span>
</div>
<table style="margin-top: 5px; margin-left: 50px; " data-bind="foreach: lijsten" >
<tr data-bind="visible: erzijnscores() == true">
<td style="width: 30px; font-weight: bold" data-bind=" text: periodenummer"></td>
<td style="padding-left:10px; "data-bind="text: ': ' + vantm + ', ' + wijik"></td>
</tr>
</table>
<!-- <div data-bind="with: selectedSerie()" style="margin-left: 50px;">-->
<!-- <span style="font-weight: bold; "-->
<!-- data-bind="text: 'Versie: ' + naam + ', scoretype: ' + scoreomschrijving ">-->
<!-- </span>-->
<!-- </div>-->
<!-- <table style="margin-top: 5px; margin-left: 50px; " data-bind="foreach: lijsten" >-->
<!-- <tr data-bind="visible: erzijnscores() == true">-->
<!-- <td style="width: 30px; font-weight: bold" data-bind=" text: periodenummer"></td>-->
<!-- <td style="padding-left:10px; "data-bind="text: ': ' + vantm + ', ' + wijik"></td>-->
<!-- </tr>-->
<!-- </table>-->
</div>
<div class="col-xs-12 ">
@@ -41,7 +41,6 @@
fFillGraph20=function(){
var xas = [];
var verkorteVersies = [];
var balkGegevens = [];
var lijnGegevens;
@@ -76,7 +75,7 @@
<?php } //if
} // foreach lijstscores ?>
verkorteVersies.push(<?= $lijst->periodenummer ?>);
var ambitiewaarde =<?=$data['lijsten'][0]->ambities->gemscore; ?>;
ambities.push(
{ y: <?=$data['lijsten'][0]->ambities->gemscore; ?>,
@@ -94,18 +93,18 @@
};
scores.unshift(legescore);
verkorteVersies.unshift(<?= $lijst->periodenummer ?>);
labels.push(' ');
scores.push(legescore);
verkorteVersies.push(<?=$lijst->periodenummer ?>);
balkGegevens[indexnummer] =({
dataLabels: {
format: '<span style="font-size: 5px;">{point.versie}</span>'
},
type : 'column',
name : verkorteVersies,
name : '',
backgroundColor: '#e6e6e6',
data : scores
});
@@ -133,7 +132,7 @@
format: ''
},
type: 'spline',
name: verkorteVersies,
name: '',
data: splinedata //ambities
});
+84 -88
View File
@@ -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 = '<div class="ijktooltip"><p>' + this.point.vantm + '</p>' + '<br/>' + '<p>' + this.x + '. '
+ this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '</p></div>';
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 = '<div class="ijktooltip"><p>' + this.point.vantm + '</p>' + '<br/>' + '<p>' + this.x + '. '
// + this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '</p></div>';
// 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
});
},