Files
monpas/application/controllers/monpas/Rapijkpunten.php
T
Monique 0c1f892b36 Merge branch 'master' into develop
# Conflicts:
#	public/css/monpas/main.css
2024-02-13 23:10:05 +01:00

814 lines
30 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Rapijkpunten extends MY_Controller{
function __construct(){
parent::__construct();
$models = array( "monpas/Filledversions_model",
"monpas/Labels_model",
"shared/Autorisatienivos_model",
"shared/Users_model",
'shared/Organisaties_model',
'shared/Orgusers_model',
"monpas/Versies_model",
"monpas/Orgversies_model",
"monpas/Modules_model",
"monpas/Ijkpunten_model",
"monpas/Indicatoren_model",
"monpas/Antwoordtypes_model",
"monpas/Wenssituaties_model",
"monpas/Scorekleuren_model",
"monpas/Scores_model",
'shared/Session_model',
"monpas/Ambities_model",
"Phantom_model");
$this->load->model($models);
$this->load->helper('string');
$this->load->library('monpas/kleurcodes');
if ( ! $this->check_online_status() ) {
echo json_encode( array('offline' => TRUE) );
die;
};// if
}
function getorgsoort(){
if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(['id' => $this->globorgid], 'soort');
echo json_encode($soort);
}
function getorgs(){
if (!$this->userid) die;
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
switch ($organisatie->soort){
case 4: $schoolid = $organisatie->id;
echo json_encode(array("organisatie"=>$organisatie, "soort"=>4));
break;
case 3: $bgid = $organisatie->id;
$organisatie->scholen=$this->Organisaties_model->getorgsvanaf($bgid);
echo json_encode(array("organisatie"=>$organisatie, "soort"=>3));
break;
case 2: $kamerid = $organisatie->id;
$organisatie->bgs = $this->Organisaties_model->getorgsvanaf($kamerid);
if ($organisatie->bgs){
foreach($organisatie->bgs as $bg){
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
}
}
echo json_encode(array("organisatie"=>$organisatie, "soort"=>2));
break;
case 1; $swvid = $organisatie->id;
$organisatie->kamers = $this->Organisaties_model->getorgsvanaf($swvid);
if ($organisatie->kamers){
if(!is_array($organisatie->kamers)){
$organisatie->kamers = objectToArray($organisatie->kamers);
}
foreach($organisatie->kamers as $kamer){
$kamer->bgs = $this->Organisaties_model->getorgsvanaf($kamer->id);
if ($kamer->bgs){
foreach($kamer->bgs as $bg){
$bg->scholen =$this->Organisaties_model->getorgsvanaf($bg->id);
}
}
}
}
echo json_encode(array("organisatie"=>$organisatie, "soort"=>1));
break;
}
}
function getusernivo(){
if (!$this->userid) die;
$usernivo = 0;
$usernivo = $this->Autorisatienivos_model->check_level($this->userrole, SYSTEM);
if ($usernivo == 0){
$usernivo = $this->Autorisatienivos_model->check_level($this->userrole, 252);
}
else {$usernivo == 1;}
echo json_encode($usernivo);
}
function checkLevel(){
if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
$werkter = $this->Orgusers_model->get_fieldvalue(array("user_id"=>$this->userid, "organisatie_id"=>$this->globorgid),"id");
$level = 0;
if ($soort < 4 && $werkter) {
$level = 1;
}
echo json_encode($level);
}
function checkLevelInspectie(){
if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
$level123 = false;
if ($soort > 0 && soort < 4) {
$level123 == true;
}
echo json_encode($level123);
}
function getperiodes2(){
if (!$this->userid) die;
$targetid = $this->uri->segment(4);
$bgid = false;
$kamerid = false;
$swvid = false;
$versies = false;
$organisatie= $this->Organisaties_model->getOrganisatie($targetid);
$soort = $organisatie->soort;
$module = $this->session->userdata('module');
if ($soort ==4){
// aan bg zijn nu nog geen versie gekoppeld, maar dat zou zo maar kunnen
//vandaar dat ie hier al wordt meegenomen
$versies = $this->Orgversies_model->getallorgversies($organisatie->valtonder_id, $module);
$bgid = $organisatie->valtonder_id;
}
if ($soort ==3 || ( !$versies && $soort > 3)){
if ($organisatie->soort == 3) {$bgid=$targetid;};
$organisatie=$this->Organisaties_model->get_record_by_id($bgid);
$versies = $this->Orgversies_model->getallorgversies($bgid,$module);
$kamerid = $organisatie->valtonder_id;
}
if ($soort ==2 || (!$versies && $soort > 2)){
if ($organisatie->soort == 2) {$kamerid=$targetid;};
$versies = $this->Orgversies_model->getallorgversies($kamerid,$module);
$organisatie =$this->Organisaties_model->get_record_by_id($kamerid);
$swvid = $organisatie->valtonder_id;
}
if ($soort == 1 || (!$versies && $soort>1)){
if ($organisatie->soort == 1) {$swvid=$targetid;};
$versies = $this->Orgversies_model->getallorgversies($swvid,$module);
}
echo json_encode($versies);
}
function getperiodes3(){
if (!$this->userid) die;
$targetid = $this->uri->segment(4);// orgid
$module = $this->session->userdata('module');
// get de lijst van scholen onder de target
$idlijst = $this->Organisaties_model->getscholenondertarget2($targetid);
if($idlijst) {
$ids = implode(',', $idlijst);
$versies = $this->Filledversions_model->getversiesperalleorgs($ids, $module);
if($versies) {
foreach ($versies as $versie) {
$versie->scoreomschrijving = $this->Antwoordtypes_model->gettype($versie->scoretype);
}
echo json_encode($versies);
}
else{
echo json_encode(false);
}
}
else{
echo json_encode(false);
}
}
function getVersies(){
if (!$this->userid) die;
$targetid = $this->uri->segment(4);// orgid
$module = $this->session->userdata('module');
// get de lijst van scholen onder de target
$idlijst = $this->Organisaties_model->getscholenondertarget2($targetid);
$ids = implode (',' , $idlijst);
if(!$ids){$versies = false;}
if(!$module){$versies = false;}
if($ids && $module) {
$versies = $this->Filledversions_model->getversiesperalleorgs($ids, $module);
foreach ($versies as $versie) {
$versie->scoreomschrijving = $this->Antwoordtypes_model->gettype($versie->scoretype);
}
}
echo json_encode($versies);
}
function getvergelijkbareversies(){
if (!$this->userid) die;
$orgid = $this->uri->segment(4);
$module = $this->session->userdata('module');
$series = (new Vergelijkbareversies($orgid, $module))->getSeries();
echo json_encode(['series' =>$series]);
}
function getingevuldelijsten(){
if (!$this->userid) die;
$orgid = $this->clean_input('orgid');
$selecties = $this->input->post('selectie');
if (!$orgid || !$selecties) return;
$aantal = count($selecties);
$users = $this->getUsersSelectie($orgid, $selecties);
$lijstenObject = new Lijsten($orgid, $selecties);
$lijsten = $lijstenObject->getLijsten();
$ijkpunten = $lijstenObject->getIJkpunten();
$nieuwsteversie = $lijstenObject->getNieuwsteVersie();
$kleuren = $lijstenObject->getKleuren();
$eigenambitie = $lijstenObject->getEigenAmbitie();
$data =[
'lijsten' => $lijsten,
'aantal' => $aantal,
'nieuwsteversie' => $nieuwsteversie,
'users' => $users,
'ijkpunten' => $ijkpunten,
'kleuren' => $kleuren,
'eigenambitie' => $eigenambitie
];
echo json_encode($data);
}
function getUsersSelectie($orgid, $selecties){
$aantal = count($selecties);
$soort = $this->Organisaties_model->get_fieldvalue(['id'=> $orgid], 'soort');
$alleenjezelf = false;
$collegas = false;
$users = [];
if($soort == 4) {
for($i = 0; $i < $aantal; $i++ ) {
if ($selecties[$i]['vorm'] == 2) {
$werkter = $this->Orgusers_model->get_fieldvalue(["user_id" => $this->userid, "organisatie_id" => $orgid], "id");
if ($werkter) {
$nivo = $this->Autorisaties_model->get_fieldvalue(["orguser_id" => $werkter], "nivo_id");
if ((int)$nivo == 10) {
$alleenjezelf = true;
break;
} else {
$collegas = true;
break;
}
}
else {
$collegas = true;
break;
}
}
}
if ($alleenjezelf) {
$orguser = $this->Orgusers_model->get_org_user($werkter);
$user = new stdClass();
$user->fullname = $orguser->fullname;
$user->id = $orguser->id;
$users[] = $user;
}
if($collegas == true ) {
$leerkrachten = $this->Orgusers_model->get_org_users($orgid);
if ($leerkrachten) {
foreach ($leerkrachten as $index => $leerkracht) {
$users[] = $leerkracht;
}
}
}
if (count($users) > 0) {
$gemiddeldeuser = new stdClass();
$gemiddeldeuser->fullname = 'Schoolgemiddelde';
$gemiddeldeuser->id = '0';
array_unshift($users, $gemiddeldeuser);
}
}
return $users;
}
function getuserlijsten(){
if (!$this->userid) die;
$orguserid = $this->clean_input('orguserid');
$orgid = $this->clean_input('orgid');
$orgversies = $this->clean_input('selectie');
if (!$orgid || !$orgversies || !$orguserid) return;
$aantal = count($orgversies);
$userLijsten = new Userlijsten($orguserid, $orgid, $orgversies);
$lijsten = $userLijsten->getLijsten();
$nieuwsteversie = $userLijsten->getNieuwsteVersie();
//LS matrixmodel.js verwacht een variable vorm die aangeeft of het een individuele versie is
$lijsten[0]->vorm=2;
$data =[
'lijsten' => $lijsten,
'aantal' => $aantal,
'nieuwsteversie' => $nieuwsteversie,
];
echo json_encode($data);
}
function getusers(){
if (!$this->userid) die;
$beheerder = $this->Autorisaties_model->check_autorisatie($this->userrole, WRITER);
$orgid = $this->clean_input('orgid');
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
$orgversieid = $this->clean_input("orgversie");
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$users = array();
if ($orgversie && $orgversie->vorm==2 && $organisatie->soort == 4){
if ($beheerder > 0) { $users= $this->Orgusers_model->get_org_users($orgid, TRUE);}
else {$users = $this->Orgusers_model->get_user($this->userid, $orgid); }
}
echo json_encode($users);
}
function getscoreSWV_Kamer($orgid,$orgversieid){
if (!$this->userid) die;
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
// de scores moeten vergeleken worden met het gemiddelde voor de kamer
// of het swv als je op swv niveau zit
if ($organisatie->soort == 1) {$targetid = $orgid; }
else {$targetid = $this->Organisaties_model->getkamer($orgid);}
$targetnaam = $this->Organisaties_model->get_fieldvalue(array('id'=>$targetid),'naamkort');
// haal alle organisatie onder de target op als string
$orgstring = implode(',' , $this->Organisaties_model->getscholenondertarget($targetid));
$scoresToplevel = $this->Scores_model->calculateOverScholen($orgversieid, $orgstring);
return array("scoresToplevel"=>$scoresToplevel,
"targetid" => $targetid,
"targetnaam"=>$targetnaam);
}
function getscores(){
if (!$this->userid) die;
$orgversieid = $this->clean_input("orgversieid");
$orgid = $this->clean_input("orgid");
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
$scores = $this->Ijkpunten_model->getscores($orgversieid, $orgid);
$returnarray = $this->getscoreSWV_Kamer($orgid,$orgversieid);
$scoresToplevel = $returnarray['scoresToplevel'];
$targetnaam = $returnarray['targetnaam'];
if ($scores){
$i =0;
foreach($scores as $score){
if ($scoresToplevel[$i]->num > 0) {
$score->toplevelgem =round( ($scoresToplevel[$i]->somscore / $scoresToplevel[$i]->num) * 10) / 10;
}
else {$score->toplevelgem = null;};
$score->toplevelscholen = $scoresToplevel[$i]->aantalscholen;
$score->gem = 0;
if ($score->num > 0) $score->gem =round( $score->somscore / $score->num,1) ;
$score->kleur = $this->kleurcodes->getkleur($score->gem);
$score->kleurtop = $this->kleurcodes->getkleur($score->toplevelgem);
$score->gem = number_format($score->gem,1,',','.');
$score->toplevelgem = number_format($score->toplevelgem, 1,',','.');
$i ++;
}
}
// haal ook nog de criteria van de organisatie op
$ambitie = $this->Ambities_model->getOrgAmbities($orgversieid, $orgid);
$kleurtabel = $this->kleurcodes->getkleurlegenda();
echo json_encode(array('kleurtabel' =>$kleurtabel,
'scores' =>$scores,
'ambitie' =>$ambitie,
'scoresToplevel' =>$scoresToplevel,
'toplevelnaam' =>$targetnaam));
}
function scoresindividueel(){
if (!$this->userid) die;
$orgversieid = $this->clean_input("orgversie");
$orgid = $this->clean_input("orgid");
$orguserid = $this->clean_input("orguserid");
$userid = $this->Orgusers_model->get_fieldvalue(array('id'=>$orguserid), "user_id");
$this->VerzamelScores($userid, $orgversieid, $orgid);
}
function orgscores()
{
if (!$this->userid) die;
$orgversieid = $this->clean_input("orgversieid");
$orgid = $this->clean_input("orgid");
$userid = null;
$this->VerzamelScores($userid, $orgversieid, $orgid);
}
function pdfijkpuntenbar(){
//TODO clean input
if (!$this->userid) die;
$inputstring = $this->input->post('data');
$input = json_decode($inputstring);
$image = $input->image;
$orgid = $input->orgid;
$organisatie = $this->Organisaties_model->getorg($orgid);
$info = $input->orgversie;
$periode = $this->Orgversies_model->get_record_by_id($input->periode);
$geldigvanaf = mysql2date($periode->geldigvanaf);
$geldigSelect = mysql2date($periode->geldigtm);
$naam = "periode ".$periode->periodenummer;
$resultaat = $input->resultaat;
$today = date("d-m-Y");
if($input->resultaatRef != null) {
$resultaatRef = $input->resultaatRef;
$periodeRef = $this->Orgversies_model->get_record_by_id($input->periodeRef);
$geldigvanafR = mysql2date($periodeRef->geldigvanaf);
$geldigRef = mysql2date($periodeRef->geldigtm);
$naamR = "periode" . $periodeRef->periodenummer;
}
$instrument = $this->Modules_model->get_fieldvalue(array("sysnr" =>$this->module), "naam") ;
$labels = $this->Labels_model->getalllabels();
$kleurtabel = $this->kleurcodes->getkleurlegenda();
if($input->resultaatRef != null) {
$data = array(
"instrument" => $instrument,
"referentie" => $input->referentie,
"toonVergelijking" => $input->toonVergelijking,
"organisatie" => $organisatie,
"docentnaam" => $input->docentnaam,
"inputimage" => $image,
"periodenaam" => $geldigvanaf . ' t/m ' . $geldigSelect,
"periodenaamR" => $geldigvanafR . ' t/m ' . $geldigRef,
"geldigRef" => $geldigRef,
"geldigSelect" => $geldigSelect,
"vandaag" => $today,
"resultaat" => $resultaat,
"resultaatRef" => $resultaatRef,
"welkehoogsteR" => $resultaatRef->welkehoogste,
"welkehoogste" => $resultaat->welkehoogste,
"geldigSelect" => $geldigSelect,
"geldigRef" => $geldigRef,
"ambitie" => $input->ambitie,
"ijkpunten" => $input->ijkpunten,
"toplevelnaam" => $input->toplevelnaam,
"labels" => $labels,
"info" =>$info,
"kleurtabel" => $kleurtabel);
}
else{
$data = array(
"instrument" => $instrument,
"referentie" => $input->referentie,
"toonVergelijking" => $input->toonVergelijking,
"organisatie" => $organisatie,
"docentnaam" => $input->docentnaam,
"inputimage" => $image,
"periodenaam" => $geldigvanaf . ' t/m ' . $geldigSelect,
"geldigSelect" => $geldigSelect,
"vandaag" => $today,
"resultaat" => $resultaat,
"welkehoogste" => $resultaat->welkehoogste,
"geldigSelect" => $geldigSelect,
"ambitie" => $input->ambitie,
"ijkpunten" => $input->ijkpunten,
"toplevelnaam" => $input->toplevelnaam,
"labels" => $labels,
"info" =>$info,
"kleurtabel" => $kleurtabel);
}
$html = $this->load->view("monpas/reports/ijkpuntenbar", $data, true);
$filenaam="ijkpunten";
$this->Phantom_model->create_pdf($html, $filenaam, FALSE, FALSE, FALSE);
}
function ijkpuntenpdf(){
$inputstring = $this->input->post('data');
$input = json_decode($inputstring);
$versieID = $input->versie;
$titel = $this->Modules_model->get_module_bij_versie($versieID);
$data= [];
$datum = new DateTime();
$datum = $datum->format('Y-m-d H:i:s');
$filenaam = preg_replace('/\s+/', '', $titel)."_". preg_replace('/\s+/', '', $datum);
$data['titel'] = $titel;
$data['chart'] = $input->chart;
$data['tabellen'] = $input->tabellen;
$data['legenda'] = $input->legenda;
$data['ambities'] = $input->ambities;
$data['resultaten'] = $input->resultaten;
$logo = [];
$html = $this->load->view("monpas/reports/ijkpuntenchart", $data, true);
$filenaam="ijkpunten";
$orientatie = 'landscape';
$this->Phantom_model->create_pdf($html, $filenaam, FALSE, FALSE, FALSE, $orientatie);
// $this->Phantom_model->create_pdf($html, $filenaam, FALSE, TRUE, FALSE, 'portrait');
// $pdf = $this->Phantom_model->create_and_get_pdf($html, $filenaam, FALSE, TRUE, FALSE, 'portrait');
// $pdf = $pdf.'pdf';
// $fileNameRapport = '../documents/tmp/'.random_string('alnum', 40).'.pdf';
// file_put_contents($fileNameRapport, $pdf);
//
// header( 'Cache-Control: public' );
// header( 'Content-type: application/pdf' );
// header( 'Content-Disposition: inline; filename=" ' . $filenaam . ' ".pdf" ' );
// header( 'Content-Length: ' . filesize( $fileNameRapport ) );
// readfile($fileNameRapport );
// unlink($fileNameRapport);
}
function maakijkpuntenpdf(){
//TODO clean input
if (!$this->userid) die;
$inputstring = $this->input->post('data');
$input = json_decode($inputstring);
$orgid = $input->orgid;
$image = $input->image;
$versie = $input->versie;
$scorekleuren = $input->scorekleuren;
$organisatie = $this->Organisaties_model->getorg($orgid);
$orgversie = $this->Orgversies_model->get_record_by_id($input->nieuwsteversie);
$geldigvanaf = mysql2date($orgversie->geldigvanaf);
$geldigSelect = mysql2date($orgversie->geldigtm);
$today = date("d-m-Y");
$instrument = $this->Modules_model->get_fieldvalue(array("sysnr" =>$this->module), "naam") ;
$aantal = count($input->lijsten);
$orientatie = 'landscape';
// if($aantal > 2){
// $orientatie = 'landscape';
// }
$htmlimage = '<img src="'. $image . '"/>';
$data = array(
"instrument" => $instrument,
"lijsten" => $input->lijsten,
"organisatie" => $organisatie,
"orgversie" => $orgversie,
"docentnaam" => $input->docentnaam,
"inputimage" => $image,
"versie" => $versie,
"nieuwsteversie" => $input->nieuwsteversie,
"geldigSelect" => $geldigSelect,
"scorekleuren" => $scorekleuren,
"vandaag" => $today,
"aantal" => $aantal,
);
$html = $this->load->view("monpas/reports/ijkpuntenbar", $data, true);
$filenaam="ijkpunten";
$this->Phantom_model->create_pdf($html, $filenaam, FALSE, FALSE, FALSE, $orientatie);
}
private function verzamelScores($userid, $orgversieid, $orgid ){
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
$returnarray = $this->getscoreSWV_Kamer($orgid, $orgversieid);
$scoresToplevel = $returnarray['scoresToplevel'];//gemiddelde scores van SWV (als t een swv is)of kamer(alle andere gevallen)
$targetnaam = $returnarray['targetnaam'];
$targetid = $returnarray['targetid'];
$vergelijkbaar = $this->getReferentieVersie($userid, $orgversieid, $orgid, $organisatie); //versies die getoond kunnen worden: 1 of 2
if ($vergelijkbaar) {
$vergelijkbaar = $this->voegsScoresToe($userid, $orgid, $vergelijkbaar);// hoe is gescored op de ijkpunten
// $versieSelect = $this->checkBestaanSelectie($userid, $vergelijkbaar, $organisatie);// als de geselecteerde versie al wel betaat uitgesterd per 27 juni 2017 zie functie
// //maar nog herlemaal niet is ingevuld, wordt de refetentieversie ook niet getoond
// if ($versieSelect) {
$versieSelect = $this->getScoresMetVergelijking($vergelijkbaar[0], $scoresToplevel);// maak scores kamer (of swv) klaar voor grafiek
$versieSelect = $this->telMetingen($userid, $orgid, $targetid, $orgversieid, $organisatie, $versieSelect); // aantal ingevulde exemplaren: individueel en bij topllevel
$versies = array($versieSelect);
if (sizeof($vergelijkbaar) > 1) { // alles tzelfe voor de referentieversie
$vorigVersieId = $vergelijkbaar[1]->id;
$returnarrayR = $this->getscoreSWV_Kamer($orgid, $vorigVersieId);
$scoresToplevelR = $returnarrayR['scoresToplevel'];
$versieRef = $this->getScoresMetVergelijking($vergelijkbaar[1], $scoresToplevelR);
$versieRef = $this->telMetingen($userid, $orgid, $targetid, $vorigVersieId, $organisatie, $versieRef); // aantal ingevulde exemplaren: individueel en bij topllevel
array_push($versies, $versieRef);
} else {
$scoresToplevelR = null;
}
// haal ook nog de criteria van de organisatie op
$ambitie = $this->Ambities_model->getOrgAmbities($orgversieid, $orgid);
$kleurtabel = $this->kleurcodes->getkleurlegenda();
echo json_encode(array('kleurtabel' => $kleurtabel,
'versies' => $versies,
'ambitie' => $ambitie,
'scoresToplevel' => $scoresToplevel,
'scoresTopLevelR' => $scoresToplevelR,
'toplevelnaam' => $targetnaam));
// }
// else {
// echo json_encode(false);
// }
}
else {
echo json_encode(false);
}
}
private function getScoresMetVergelijking($versie, $scores){
if($versie && $versie->scores && $scores) {
$i = 0;
$scorearray = $versie->scores;
$lengte = sizeof($scorearray);
for ($x = 0; $x < $lengte; $x++) {
if ($scores[$i]->num > 0 && isset($scores[$i]) ) {
$scorearray[$x]->toplevelgem = round(($scores[$i]->somscore / $scores[$i]->num) * 10) / 10;
} else {
$scorearray[$x]->toplevelgem = null;
};
$scorearray[$x]->toplevelscholen = $scores[$i]->aantalscholen;
$scorearray[$x]->gem = 0;
if ($scorearray[$x]->num > 0) $scorearray[$x]->gem = round($scorearray[$x]->somscore / $scorearray[$x]->num, 1);
$scorearray[$x]->kleur = $this->kleurcodes->getkleur($scorearray[$x]->gem);
$scorearray[$x]->kleurtop = $this->kleurcodes->getkleur($scorearray[$x]->toplevelgem);
$scorearray[$x]->gem = number_format($scorearray[$x]->gem, 1, ',', '.');
$scorearray[$x]->toplevelgem = number_format($scorearray[$x]->toplevelgem, 1, ',', '.');
$i++;
}
$versie->scores= $scorearray;
return $versie;
}
}
private function getReferentieVersie($userid, $orgversieid, $orgid, $organisatie)
{
if($userid == null) {
if ($organisatie->soort == '4') {
$vorm = $this->Orgversies_model->getVorm($orgversieid);
// $vorm = $this->Orgversies_model->get([$orgversieid->id], 'vorm', TRUE);
if($vorm == '2'){
$versies = $this->Filledversions_model->getVergelijkbareVersiesSchoolGemiddelde($orgversieid, $orgid); //individueel ingevuld. ander orgversie id = andere versie
}
if ($vorm == '1') {
$versies = $this->Filledversions_model->getVergelijkbareVersies4($orgversieid, $orgid);
}
}
if ($organisatie->soort == '3') {
$versies = $this->Filledversions_model->getVergelijkbareVersies3($orgversieid, $orgid);
}
if ($organisatie->soort == '2') {
$versies = $this->Filledversions_model->getVergelijkbareVersies2($orgversieid, $orgid);
}
if ($organisatie->soort == '1') {
$versies = $this->Filledversions_model->getVergelijkbareVersies1($orgversieid, $orgid);
}
}
else{
$versies= $this->Filledversions_model->getVergelijkbareVersiesInd($orgversieid, $orgid, $userid);
}
return $versies;
}
private function telMetingen($userid, $orgid, $kamerid, $orgversieid, $organisatie, $versie)
{
if (!$versie) return false;
if($userid ) {// individuele scores
$versie->metingen = "1";
$versie->metingenTop = $this->Filledversions_model->telVergelijkbareVersies2($orgversieid, $kamerid);
$versie->orgsoort = "4";
}
else{
if ($organisatie->soort == '4') {//teamlijst
if($versie->vorm == '1') {
$versie->metingen = "1";
}
if($versie->vorm == '2') {
$versie->metingen = $this->Filledversions_model->telVergelijkbareVersies4Ind($orgversieid, $orgid);//indiviudele lijst als schoolgemiddelde
}
$versie->metingenTop = $this->Filledversions_model->telVergelijkbareVersies2($orgversieid, $kamerid);
$versie->orgsoort = "4";
}
if ($organisatie->soort == '3') {
$versie->metingen = $this->Filledversions_model->telVergelijkbareVersies3($orgversieid, $orgid);//bestuur
$versie->metingenTop = $this->Filledversions_model->telVergelijkbareVersies2($orgversieid, $kamerid);
$versie->orgsoort = "3";
}
if ($organisatie->soort == '2') {//kamer
$versie->metingen = $this->Filledversions_model->telVergelijkbareVersies2($orgversieid, $orgid);
$versie->metingenTop = $versie->metingen;
$versie->orgsoort = "2";
}
if ($organisatie->soort == '1') {//swv
$versie->metingen = $this->Filledversions_model->telVergelijkbareVersies1($orgversieid, $orgid);
$versie->metingenTop = $versie->metingen;
$versie->orgsoort = "1";
}
}
return $versie;
}
/**
* @param $userid
* @param $orgid
* @param $versies
* @return mixed
*/
private function voegsScoresToe($userid, $orgid, $versies){
if ($userid == null) {
foreach ($versies as $versie) {
$versie->scores = $this->Ijkpunten_model->getscores($versie->id, $orgid);//teamscores
}
}
else{
foreach ($versies as $versie) {
$versie->scores = $this->Scores_model->calculateindividualscores($versie->id, $orgid, $userid);//individuele scores
}
}
return $versies;
}
/**
* uitgesterd per 27 juni 2017 omdat niet ingevulde lijsten toch ook getoond moeten worden oa vanwege de juiste weergave van het gemiddelde
24 okt in plaats hiervan subquery gemaakt
*/
// private function checkBestaanSelectie($userid, $versies, $organisatie){
// // als geen enkele vraag van de gekozen lijst is ingevuld, wordt de referentie ook niet getoond.
// $ietsingevuld = false;
// if($versies && $versies[0]){
// if($organisatie->soort == '4' || $userid != null){//scores van leerkrachten of op teamniveau
// foreach($versies[0]->scores as $selectie){
//
// if($selectie->score != '0.0' || $selectie->somscore != '0.0'){
// $ietsingevuld = true;
// break;
// }
// }
// }
// else{
// foreach($versies[0]->scores as $selectie){
//
// if($selectie->somscore != '0.0'){//gemiddelde scores van besturen, kamers of swvs
// $ietsingevuld = true;
// break;
// }
// }
// }
// }
//
// if ($ietsingevuld == false){
// $versies = null;
// }
//
// return $versies;
//
// }
}