192 lines
6.3 KiB
PHP
192 lines
6.3 KiB
PHP
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Userlijsten
|
|
{
|
|
private $CI;
|
|
private $modulenr;
|
|
private $clusterid;
|
|
private $individueleScores;
|
|
private $kamerScores;
|
|
private $gemiddeldeScores;
|
|
private $individueleAfbeeldingen;
|
|
private $kamerAfbeeldingen;
|
|
private $gemiddeldenAfbeeldingen;
|
|
private $orgversieid;
|
|
private $scores;
|
|
private $vNaam;
|
|
private $zprocent;
|
|
private $vergelijking;
|
|
private $vergelijkingen;
|
|
private $ambitiearray = [];
|
|
private $lijst;
|
|
private $lijsten = [];
|
|
private $nieuwste = 0;
|
|
private $nieuwsteversie;
|
|
|
|
public function getLijsten(){
|
|
return $this->lijsten;
|
|
}
|
|
|
|
public function getNieuwsteVersie(){
|
|
return $this->nieuwsteversie;
|
|
}
|
|
|
|
public function __construct($orguserid, $orgid, $orgversies){
|
|
$this->CI =& get_instance();
|
|
$this->orguserid = $orguserid;
|
|
$this->orgid = $orgid;
|
|
$this->orgversies = $orgversies;
|
|
$this->handle();
|
|
}
|
|
|
|
private function handle(){
|
|
$this->setModulenummer();
|
|
$this->setClusterid();
|
|
$this->loopOrgVersies();
|
|
$this->loopLijsten();
|
|
}
|
|
|
|
private function setModulenummer(){
|
|
$this->modulenr = $this->CI->session->userdata('module');
|
|
}
|
|
|
|
private function setClusterid(){
|
|
$this->clusterid = $this->CI->Modules_model->get_fieldvalue(['sysnr' =>$this->modulenr], 'cluster_id');
|
|
}
|
|
|
|
|
|
private function loopOrgVersies(){
|
|
foreach($this->orgversies as $index => $this->orgversieid){
|
|
$this->lijst = new stdClass();
|
|
$this->setOrgversie();
|
|
$this->setLabels();
|
|
$this->setAmbities();
|
|
$this->setZprocent();
|
|
$this->setIndividueleAfbeeldingen();
|
|
$this->setKamerAfbeeldingen();
|
|
$this->setLijstScores();
|
|
$this->setGemiddeldenAfbeeldingen();
|
|
$this->loopVergelijkingScores();
|
|
$this->setIndividueleMetingen();
|
|
$this->setMetingenVergelijkingIndividueel();
|
|
$this->setVNaam();
|
|
$this->setResultaten();
|
|
$this->setLijsten();
|
|
}
|
|
}
|
|
|
|
private function setOrgversie(){
|
|
$this->lijst->orgversie = $this->CI->Orgversies_model->get_record_by_id($this->orgversieid);
|
|
|
|
$this->lijst->vantm = "periode " . $this->lijst->orgversie->periodenummer . " van " .
|
|
mysql2date($this->lijst->orgversie->geldigvanaf) . " t/m " . mysql2date($this->lijst->orgversie->geldigtm);
|
|
}
|
|
|
|
private function setLabels(){
|
|
$this->lijst->labels = $this->CI->Labels_model->getalllabels($this->modulenr);
|
|
}
|
|
|
|
private function setAmbities(){
|
|
$ambitie = $this->CI->Ambities_model->getOrgAmbities($this->orgversieid, $this->orgid);
|
|
if (!in_array($ambitie, $this->ambitiearray, FALSE)) {
|
|
$this->lijst->ambities = $ambitie;
|
|
$this->ambitiearray [] = $ambitie;
|
|
}
|
|
}
|
|
|
|
private function setZprocent(){
|
|
$this->zprocent = 0;
|
|
if(isset($this->lijst->ambities)){
|
|
$this->zprocent = $this->lijst->ambities->zprocent;
|
|
}
|
|
}
|
|
|
|
private function setIndividueleAfbeeldingen(){
|
|
$this->individueleScores = new Individuelescores($this->orgversieid, $this->orguserid, $this->orgid);
|
|
$this->individueleAfbeeldingen = new Afbeeldingen($this->individueleScores, $this->modulenr, $this->orgversieid, $this->clusterid, $this->orgid, $this->zprocent);
|
|
}
|
|
|
|
|
|
private function setKamerAfbeeldingen(){
|
|
$vorm = 2;
|
|
$this->kamerScores = new Kamerscores($this->orgversieid, $this->orgid, $vorm);
|
|
if($this->kamerScores){
|
|
$this->kamerAfbeeldingen = new Afbeeldingen($this->kamerScores, $this->modulenr, $this->orgversieid,
|
|
$this->clusterid, $this->orgid, $this->zprocent);
|
|
}
|
|
}
|
|
|
|
private function setLijstScores(){
|
|
if (!$this->kamerAfbeeldingen || !$this->individueleAfbeeldingen) return; {
|
|
$this->lijst->scores = $this->individueleAfbeeldingen->getScores();
|
|
|
|
$this->lijst->vergelijkingen = $this->kamerAfbeeldingen->getScores();
|
|
}
|
|
}
|
|
|
|
private function setGemiddeldenAfbeeldingen(){
|
|
$this->gemiddeldeScores= new Gemiddeldescores($this->orgversieid, $this->orgid);
|
|
if($this->gemiddeldeScores){
|
|
$this->gemiddeldenAfbeeldingen = new Gemiddeldenafbeeldingen($this->gemiddeldeScores, $this->modulenr, $this->orgversieid, $this->clusterid,$this->orgid);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private function loopVergelijkingScores(){
|
|
if( (!isset($this->lijst->vergelijkingen))) return;
|
|
for($i = 0; $i < count($this->lijst->vergelijkingen); $i++){
|
|
$this->setVergelijkingScores($i);
|
|
}
|
|
}
|
|
|
|
private function setVergelijkingScores($i){
|
|
if($this->lijst->scores[$i]) {
|
|
$this->lijst->scores[$i]->gemV = $this->lijst->vergelijkingen[$i]->gem;
|
|
$this->lijst->scores[$i]->kleurV = $this->lijst->vergelijkingen[$i]->kleur;
|
|
}
|
|
}
|
|
|
|
|
|
private function setIndividueleMetingen(){
|
|
if(!isset($this->lijst->scores)) return;
|
|
$this->lijst->metingen = $this->gemiddeldeScores->getAantalLeerkrachten();
|
|
}
|
|
|
|
private function setMetingenVergelijkingIndividueel(){
|
|
if(! isset($this->lijst->vergelijkingen)) return;
|
|
foreach($this->lijst->vergelijkingen as $index => $this->lijst->vergelijking) {
|
|
$this->lijst->metingenV = $this->lijst->vergelijking->aantallijsten;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private function setVNaam(){
|
|
$this->lijst->vNaam = $this->kamerScores->getOrgnaam();
|
|
}
|
|
|
|
private function setResultaten(){
|
|
if(!$this->gemiddeldenAfbeeldingen) return;
|
|
$this->lijst->resultaten = $this->gemiddeldenAfbeeldingen->getResultaten();
|
|
}
|
|
|
|
private function setLijsten(){
|
|
$this->lijsten [] = $this->lijst;
|
|
}
|
|
|
|
private function loopLijsten()
|
|
{
|
|
$this->nieuwste = 0;
|
|
foreach ($this->lijsten as $index => $this->lijst) {
|
|
if (!$this->lijst->orgversie) continue;
|
|
$this->setNieuwsteVersie();
|
|
}
|
|
}
|
|
|
|
private function setNieuwsteVersie(){
|
|
if ($this->lijst->orgversie->periodenummer > $this->nieuwste) {
|
|
$this->nieuwste = $this->lijst->orgversie->periodenummer;
|
|
$this->nieuwsteversie = $this->lijst->orgversie->id;
|
|
}
|
|
}
|
|
} |