initial commit
This commit is contained in:
@@ -0,0 +1,788 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/** Sopinhouden_model oktober 2015 */
|
||||
|
||||
class Sopinhouden_model extends MY_Model{
|
||||
|
||||
|
||||
protected $tablename = 'tb_sopinhouden';
|
||||
|
||||
function __construct(){
|
||||
parent::__construct();
|
||||
$models = array(
|
||||
"monpas/Ambities_model",
|
||||
'shared/Users_model',
|
||||
'monpas/Diversiteits_model',
|
||||
'monpas/Filledversions_model',
|
||||
'monpas/Groepen_model',
|
||||
'monpas/Hoofdstukken_model',
|
||||
'monpas/Labels_model',
|
||||
'monpas/Ondersteuningtijden_model',
|
||||
'monpas/Orgversies_model',
|
||||
'monpas/Schooldetails_model',
|
||||
'shared/Schooljaren_model',
|
||||
'monpas/Scores_model',
|
||||
'monpas/Sop_model',
|
||||
'monpas/Standaardteksten_model',
|
||||
'monpas/Wenssituaties_model');
|
||||
$this->load->model($models);
|
||||
$this->load->library('monpas/kleurcodes');
|
||||
}
|
||||
|
||||
function maakcontent($chapterid,$profielid, $targetversieid= FALSE){
|
||||
$content = $this->Standaardteksten_model->get_fieldvalue(array("soort"=>1, "chapter_id"=>$chapterid),'content');
|
||||
$versie = null;
|
||||
if(! $targetversieid || $targetversieid == FALSE){
|
||||
$targetversieid = 0;
|
||||
}
|
||||
|
||||
switch ($chapterid){
|
||||
case 1: $tabelschoolcolofon =$this->getcolofon();
|
||||
$content = $content.$tabelschoolcolofon.'<h2>Visie van onze school</h2><p> </p>';
|
||||
break;
|
||||
|
||||
case 2: $module = 2;
|
||||
$arraytabelsdiversiteit = $this->getdiversiteit234($profielid,$targetversieid, $module);
|
||||
$versie = $arraytabelsdiversiteit['targetjaar'];
|
||||
$tabeldiversiteit2 = $arraytabelsdiversiteit['dvt2'];
|
||||
$pos = strpos($content, "dvt2");
|
||||
$content = substr_replace($content, $tabeldiversiteit2, $pos, 4);
|
||||
$tabeldiversiteit4 = $arraytabelsdiversiteit['dvt4'];
|
||||
$pos = strpos($content, "dvt4");
|
||||
$content = substr_replace($content, $tabeldiversiteit4, $pos , 4);
|
||||
|
||||
$tabeldiversiteit3= $arraytabelsdiversiteit['dvt3'];
|
||||
$pos = strpos($content,"dvt3");
|
||||
$content = substr_replace($content, $tabeldiversiteit3, $pos, 4);
|
||||
$grafiekdiversiteit1 = $arraytabelsdiversiteit['divgrafiek1'];
|
||||
$image = $this->Phantom_model->create_img($grafiekdiversiteit1, 'test.png', FALSE, FALSE, array(650, 300));
|
||||
$pos = strpos($content,"dvt5");
|
||||
$imagedata = "<img src='data:image/png;base64,".$image."' id='divimage1'/>";
|
||||
$content = substr_replace($content, $imagedata, $pos, 4);
|
||||
break;
|
||||
|
||||
case 3: $module = 2;
|
||||
|
||||
$ostabellen = $this->getondersteuning12($profielid,$targetversieid, $module);
|
||||
|
||||
$versie = $ostabellen['targetjaar'];
|
||||
$os1 = $ostabellen['os1'];
|
||||
$pos = strpos($content, "om1");
|
||||
$content = substr_replace($content, $os1, $pos, 3);
|
||||
$os2 = $ostabellen['os2'];
|
||||
$pos = strpos($content, "om2");
|
||||
$content = substr_replace($content, $os2, $pos, 3);
|
||||
break;
|
||||
|
||||
case 6: $result = $this->getenquetetabellen($profielid,1,6,$targetversieid);
|
||||
|
||||
|
||||
$versie = $result['targetversie'];
|
||||
$mbgrafiek = $result['grafiek1'];
|
||||
$imagemb =$this->Phantom_model->create_img($mbgrafiek, 'test', FALSE, FALSE, array(650, 300));
|
||||
$imagedata = "<img src='data:image/png;base64,".$imagemb."' id='mod1image1'/>";
|
||||
$pos = strpos($content,'mbgrafiek1');
|
||||
$content = substr_replace($content, $imagedata, $pos, 10);
|
||||
|
||||
$monbas1 = $result['tabel1'];
|
||||
$pos = strpos($content, 'monbas1');
|
||||
$content = substr_replace($content, $monbas1, $pos, 7);
|
||||
|
||||
$monbas2 = $result['tabel2'];
|
||||
$pos = strpos($content, 'monbas2');
|
||||
$content = substr_replace($content, $monbas2, $pos, 7);
|
||||
break;
|
||||
|
||||
case 7: $result = $this->getenquetetabellen($profielid,4,7,$targetversieid);
|
||||
|
||||
$versie = $result['targetversie'];
|
||||
$smgrafiek = $result['grafiek1'];
|
||||
$imagesm = $this->Phantom_model->create_img($smgrafiek, 'test', FALSE, FALSE, array(650, 300));
|
||||
$imagedata = "<img src='data:image/png;base64,".$imagesm."' id='mod4image1'/>";
|
||||
$pos = strpos($content,'imagesm');
|
||||
$content = substr_replace($content, $imagedata, $pos, 7);
|
||||
|
||||
$sm1 = $result['tabel1'];
|
||||
$pos = strpos($content, 'tabelsm1');
|
||||
$content = substr_replace($content, $sm1, $pos, 8);
|
||||
|
||||
$sm2 = $result['tabel2'];
|
||||
$pos = strpos($content, 'tabelsm2');
|
||||
$content = substr_replace($content, $sm2, $pos, 8);
|
||||
break;
|
||||
case 8: $result = $this->getenquetetabellen($profielid,5,8,$targetversieid);
|
||||
|
||||
$versie = $result['targetversie'];
|
||||
$esgrafiek = $result['grafiek1'];
|
||||
$imagesm = $this->Phantom_model->create_img($esgrafiek, 'test', FALSE, FALSE, array(650, 300));
|
||||
$imagedata = "<img src='data:image/png;base64,".$imagesm."' id='mod5image1'/>";
|
||||
$pos = strpos($content,'esgrafiek1');
|
||||
$content = substr_replace($content, $imagedata, $pos, 10);
|
||||
|
||||
$es1 = $result['tabel1'];
|
||||
$pos = strpos($content, 'estabel1');
|
||||
$content = substr_replace($content, $es1, $pos, 8);
|
||||
|
||||
$es2 = $result['tabel2'];
|
||||
$pos = strpos($content, 'estabel2');
|
||||
$content = substr_replace($content, $es2, $pos, 8);
|
||||
break;
|
||||
case 9:
|
||||
$result = $this->getenquetetabellen($profielid,3,9,$targetversieid);
|
||||
$versie = $result['targetversie'];
|
||||
$tvgrafiek = $result['grafiek1'];
|
||||
$imagetv = $this->Phantom_model->create_img($tvgrafiek, 'test', FALSE, FALSE, array(650, 300));
|
||||
$imagedata = "<img src='data:image/png;base64,".$imagetv."' id='mod3image1'/>";
|
||||
$pos = strpos($content,'tvgrafiek1');
|
||||
$content = substr_replace($content, $imagedata, $pos, 10);
|
||||
|
||||
$tv1 = $result['tabel1'];
|
||||
$pos = strpos($content, 'tvtabel1');
|
||||
$content = substr_replace($content, $tv1, $pos, 8);
|
||||
|
||||
$tv2 = $result['tabel2'];
|
||||
$pos = strpos($content, 'tvtabel2');
|
||||
$content = substr_replace($content, $tv2, $pos, 8);
|
||||
break;
|
||||
case 11: // Ontwikkelagenda Monbas
|
||||
$versie = "";
|
||||
$result = $this->getOntwikkelagenda($profielid, 1,$targetversieid);
|
||||
if($result) {
|
||||
$versie = $result['targetversie'];
|
||||
}
|
||||
$imageoa = $this->Phantom_model->create_img($result['tabel1'], 'test', FALSE, FALSE, array(650, 300));
|
||||
$imagedata = "<img src='data:image/png;base64,".$imageoa."' id='oa1image1'/>";
|
||||
$pos = strpos($content, 'oatabel1');
|
||||
$content = substr_replace($content, $imagedata, $pos,8);
|
||||
|
||||
$oa2 = $result['tabel2'];
|
||||
$pos = strpos($content, 'oatabel2');
|
||||
$content = substr_replace($content, $oa2, $pos,8);
|
||||
break;
|
||||
case 12: // Ontwikkelagenda Schoolmeter
|
||||
|
||||
// $content = '';
|
||||
$versie = "";
|
||||
$result = $this->getOntwikkelagenda($profielid, 4,$targetversieid);
|
||||
if($result) {
|
||||
$versie = $result['targetversie'];
|
||||
}
|
||||
$imageoa = $this->Phantom_model->create_img($result['tabel1'], 'test', FALSE, FALSE, array(650, 300));
|
||||
$imagedata = "<img src='data:image/png;base64,".$imageoa."' id='oa2image1'/>";
|
||||
$pos = strpos($content, 'oatabel3');
|
||||
$content = substr_replace($content, $imagedata, $pos,8);
|
||||
$oa2 = $result['tabel2'];
|
||||
$pos = strpos($content, 'oatabel4');
|
||||
$content = substr_replace($content, $oa2, $pos,8);
|
||||
//
|
||||
break;
|
||||
|
||||
}; // switch
|
||||
|
||||
return array('content' =>$content,
|
||||
'versie' =>$versie);
|
||||
}
|
||||
function getcolofon(){
|
||||
$orgid = $this->globorgid;
|
||||
$details = $this->Schooldetails_model->get_details2($orgid);
|
||||
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
|
||||
$bg = $this->Organisaties_model->get_record_by_id($organisatie->valtonder_id);
|
||||
$data = array("bevoegdgezag" => $bg->naam,
|
||||
"school" => $organisatie->naam,
|
||||
"details" => $details);
|
||||
return $this->load->view("monpas/sop/schooldetails", $data,TRUE);
|
||||
}
|
||||
function getgroepeninfo($schooljaarnr){
|
||||
$orgid = $this->globorgid;
|
||||
$this->sql="SELECT sum(totaantal) AS llng,
|
||||
count(DISTINCT id) AS groepen,
|
||||
sum( IF(length(niveau)> 1, 1,0 )) AS combi
|
||||
FROM tb_groepen
|
||||
WHERE organisatie_id = {$orgid}
|
||||
AND schooljaarnr = {$schooljaarnr} ";
|
||||
return $this->get_query_row();
|
||||
}
|
||||
|
||||
function getschooljaar($profielid){
|
||||
$targetjaar = false;
|
||||
|
||||
$profiel = $this->Sop_model->get_record_by_id($profielid);
|
||||
$this->sql = "SELECT schooljaarnr, naam
|
||||
FROM tb_schooljaren
|
||||
WHERE start >= '{$profiel->van}'
|
||||
AND start <='{$profiel->tm}'
|
||||
ORDER BY schooljaarnr DESC";
|
||||
$schooljaren= $this->get_query_result();
|
||||
|
||||
//Kijk of voor welk schooljaar er gegevens zijn; neem daarvan het meest recente schooljaar.
|
||||
if ($schooljaren){
|
||||
foreach($schooljaren as $schooljaar){
|
||||
$groepsinfo = $this->getgroepeninfo($schooljaar->schooljaarnr);
|
||||
if ($groepsinfo->groepen > 0){
|
||||
$targetjaar = $schooljaar->schooljaarnr;
|
||||
break;
|
||||
}
|
||||
};//foreach
|
||||
};
|
||||
return $targetjaar;
|
||||
}
|
||||
|
||||
function gettargetjaar($profielid, $orgid,$currentchapterid){
|
||||
// als er een current hoofdstuk is, gebruik dat jaar
|
||||
$where = array("profiel_id"=>$profielid, "chapter_id"=>$currentchapterid);
|
||||
$targetjaar = $this->get_fieldvalue($where, "orgversieid");
|
||||
// als er nog geen current hoofdstuk is; als er al een hoofdstuk is met dezelfde module, gebruik hetzelfde jaar.
|
||||
if (!$targetjaar){
|
||||
$where = array("id"=>$currentchapterid);
|
||||
$module = $this->Hoofdstukken_model->get_fieldvalue($where,'module');
|
||||
$where = array("module"=>$module, "id !="=>$currentchapterid);
|
||||
$otherchapters = $this->Hoofdstukken_model->get_records_where($where);
|
||||
if ($otherchapters){
|
||||
foreach($otherchapters as $otherchapter){
|
||||
$where = array("profiel_id"=>$profielid, "chapter_id"=>$otherchapter->id);
|
||||
$targetjaar = $this->get_fieldvalue($where, "orgversieid");
|
||||
if ($targetjaar) break;
|
||||
}; // foreach
|
||||
}; // if otherchapters
|
||||
}
|
||||
|
||||
//als er dan nog geen target jaar is, bepaal dan het targetjaar aan de hand van de periode
|
||||
if (is_null($targetjaar)){
|
||||
$targetjaar = $this->getschooljaar($profielid);
|
||||
}
|
||||
return $targetjaar;
|
||||
}
|
||||
|
||||
function getdiversiteit234($profielid,$targetversieid, $module){
|
||||
$orgid = $this->globorgid;
|
||||
$swvid = $this->Organisaties_model->get_swvid ($orgid);
|
||||
if ($targetversieid) { $targetjaar=$this->Schooljaren_model->get_fieldvalue(array('id'=> $targetversieid),'schooljaarnr');} // let op is targetid het id en heeft targetjaar het id nodig of iets anders?
|
||||
else {
|
||||
$targetjaar = $this->gettargetjaar($profielid, $orgid,2);
|
||||
}
|
||||
//haal de tabel op
|
||||
$dvt2 = false;
|
||||
$dvt4 = false;
|
||||
$dvt3 = false;
|
||||
$divgrafiek1= false;
|
||||
$totaal = 0;
|
||||
$hoeveelgroepen = 0;
|
||||
$combi = 0;
|
||||
$som1 = 0;
|
||||
$som2 = 0;
|
||||
$som3 = 0;
|
||||
$som4 = 0;
|
||||
$normaantal = 0;
|
||||
$totdiversiteit = 0;
|
||||
$totdq = 0;
|
||||
$schooljaar ='';
|
||||
if ($targetjaar){
|
||||
$schoolsoort = 'REGULIER';
|
||||
$minnivo = 1;
|
||||
$maxnivo = 4;
|
||||
$aantallnschool =0;
|
||||
$normaantallen = $this->Diversiteits_model->getnormaantallen($orgid, $schoolsoort);
|
||||
$groepen = $this->Groepen_model->getgroepen($orgid, $targetjaar, $module);
|
||||
$osvormen = $this->Diversiteits_model->getosvormen($orgid, $targetjaar, $minnivo, $maxnivo, $module);
|
||||
$schooljaar = $this->Schooljaren_model->get_record_by_id($targetjaar);
|
||||
$combifactoren = $this->Combifactoren_model->getfactoren($swvid);
|
||||
$schoolcombifactor = 0;
|
||||
if ($groepen){
|
||||
foreach($groepen as $groep){
|
||||
$groepasarray = explode(';',$groep->niveau);
|
||||
$aantallnschool = $groep->totaantal + $aantallnschool;
|
||||
$combis = count($groepasarray);
|
||||
|
||||
$groep->diversiteit = $groep->som1 + (1.5 * $groep->som2) + (2 * $groep->som3) + (4 * $groep->som4);
|
||||
if ($combis==2 && $groep->totaantal > 0) {
|
||||
$groep->diversiteit = $groep->diversiteit + $combifactoren->combi2;
|
||||
$schoolcombifactor = $schoolcombifactor + $combifactoren->combi2;
|
||||
};
|
||||
if ($combis >=3 && $groep->totaantal > 0) {
|
||||
$groep->diversiteit = $groep->diversiteit + $combifactoren->combi3;
|
||||
$schoolcombifactor = $schoolcombifactor + $combifactoren->combi3;
|
||||
};
|
||||
//if (strpos($groep->niveau,';') >0) {$groep->diversiteit = $groep->diversiteit + 1.5;};
|
||||
|
||||
$factor =$normaantallen->groep38;
|
||||
if (strpos($groep->niveau,'1') !== false || strpos($groep->niveau,'2') !== false) {$factor = $normaantallen->groep12;};
|
||||
$groep->dq= round(($groep->diversiteit / $factor),2);
|
||||
$totaal = $totaal + $groep->totaantal;
|
||||
$hoeveelgroepen = $hoeveelgroepen + 1;
|
||||
if (strpos($groep->niveau, ';') > 0){$combi = $combi + 1;}
|
||||
$som1= $som1 + $groep->som1;
|
||||
$som2= $som2 + $groep->som2;
|
||||
$som3= $som3 + $groep->som3;
|
||||
$som4= $som4 + $groep->som4;
|
||||
if (strpos($groep->niveau,'1') !== false || strpos($groep->niveau,'2') !== false){
|
||||
$normaantal = $normaantal + $normaantallen->groep12;
|
||||
}
|
||||
else {
|
||||
$normaantal = $normaantal + $normaantallen->groep38;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$totdiversiteit = $som1 + (1.5 * $som2) + (2 * $som3) + (4 * $som4);
|
||||
// hier gaat het fout omdat de combifactor voor ieder groep moet worden toegevoegd
|
||||
//en dit ligt buiten de foreach groep
|
||||
if ($aantallnschool > 0){
|
||||
$totdiversiteit= $totdiversiteit + $schoolcombifactor;
|
||||
// if ($combis == 2){$totdiversiteit = $totdiversiteit + $combifactoren->combi2;};
|
||||
// if ($combis >= 3){$totdiversiteit = $totdiversiteit + $combifactoren->combi3;};
|
||||
}
|
||||
|
||||
if ($normaantal > 0){
|
||||
$totdq = $totdiversiteit / $normaantal;
|
||||
};
|
||||
}
|
||||
$data = array('normaantallen' =>$normaantallen,
|
||||
'groepen' =>$groepen,
|
||||
'osvormen' =>$osvormen,
|
||||
'schooljaar' => $schooljaar->naam,
|
||||
'totdiversiteit' => $totdiversiteit,
|
||||
'schooldq' => $totdq);
|
||||
$dvt2 = $this->load->view("monpas/sop/diversiteittabel2", $data,TRUE);
|
||||
$dvt4 = $this->load->view("monpas/sop/diversiteittabel4", $data, TRUE);
|
||||
$data2 = array( 'schooljaar' =>$schooljaar->naam,
|
||||
'totaal' => $totaal,
|
||||
'groepen' => $hoeveelgroepen,
|
||||
"combi" => $combi,
|
||||
'som1' => $som1,
|
||||
'som2' => $som2,
|
||||
'som3' => $som3,
|
||||
'som4' => $som4,
|
||||
'totdiversiteit' => $totdiversiteit,
|
||||
'totdq' => $totdq
|
||||
);
|
||||
$dvt3 = $this->load->view("monpas/sop/diversiteittabel3", $data2,TRUE);
|
||||
$data3=array('groepen' =>$groepen, 'totdq'=>$totdq);
|
||||
$divgrafiek1= $this->load->view("monpas/sop/diversiteitgrafiek1", $data3, TRUE);
|
||||
};
|
||||
|
||||
return array('dvt2' =>$dvt2,
|
||||
'dvt3' =>$dvt3,
|
||||
'dvt4' =>$dvt4,
|
||||
'divgrafiek1' =>$divgrafiek1,
|
||||
'targetjaar' => $targetjaar
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function getondersteuning12($profielid,$targetversieid, $module){
|
||||
$orgid =$this->globorgid;
|
||||
$os1='';
|
||||
$os2='';
|
||||
$som1 = 0;
|
||||
$som2 = 0;
|
||||
$som3 = 0;
|
||||
$som4 = 0;
|
||||
$normaantal = 0;
|
||||
$schooldiversiteit = 0;
|
||||
$schooldq = 0;
|
||||
$totschooltijd = 0;
|
||||
$totG = 0;
|
||||
$totS = 0;
|
||||
$totI = 0;
|
||||
|
||||
if ($targetversieid ) {$targetjaar = $this->Schooljaren_model->get_fieldvalue(array('id'=>$targetversieid), "schooljaarnr"); }
|
||||
else {$targetjaar = $this->gettargetjaar($profielid, $orgid,3);}
|
||||
|
||||
if ($targetjaar){
|
||||
$schooljaar = $this->Schooljaren_model->get_record_by_id($targetjaar);
|
||||
$groepen = $this->Groepen_model->getgroepen($orgid, $targetjaar, $module);
|
||||
$schooltype = "REGULIER";
|
||||
$normaantallen= $this->Diversiteits_model->getnormaantallen($orgid, $schooltype);
|
||||
if ($groepen){
|
||||
foreach($groepen as $groep){
|
||||
$groep->tijden = new stdClass;
|
||||
$groep->tijden = $this->Ondersteuningtijden_model->getgroeptijden($groep->id);
|
||||
$groep->tijdstring='';
|
||||
$groeptot =0;
|
||||
if ($groep->tijden){
|
||||
foreach($groep->tijden as $tijd){
|
||||
$groeptot = $groeptot + $tijd->minuten;
|
||||
|
||||
switch ($tijd->soort){
|
||||
case 'G' : $totG= $totG + $tijd->minuten; break;
|
||||
case 'S' : $totS= $totS + $tijd->minuten; break;
|
||||
case 'I' : $totI= $totI+ $tijd->minuten; break;
|
||||
}
|
||||
|
||||
$uur = floor($tijd->minuten / 60);
|
||||
$minuten = $tijd->minuten % 60;
|
||||
$uur0 ='';
|
||||
if ($uur < 10) $uur0='0';
|
||||
$minuut0 ='';
|
||||
if ($minuten < 10) $minuut0='0';
|
||||
$tijd->tijdstring = $tijd->soort.' '.$uur0.$uur.':'.$minuut0.$minuten;
|
||||
$totschooltijd = $totschooltijd + $tijd->minuten;
|
||||
}
|
||||
|
||||
}
|
||||
$groep->diversiteit = $groep->som1 + (1.5 * $groep->som2) + (2 * $groep->som3) + (4 * $groep->som4);
|
||||
if (strpos($groep->niveau,';') >0) {$groep->diversiteit = $groep->diversiteit + 1.5;};
|
||||
$factor =$normaantallen->groep38;
|
||||
if (strpos($groep->niveau,'1') > 0 || strpos($groep->niveau,'2') > 0) {$factor = $normaantallen->groep12;};
|
||||
$groep->dq= round(($groep->diversiteit / $factor),2);
|
||||
$som1= $som1 + $groep->som1;
|
||||
$som2= $som2 + $groep->som2;
|
||||
$som3= $som3 + $groep->som3;
|
||||
$som4= $som4 + $groep->som4;
|
||||
if (strpos($groep->niveau,'1') > 0 || strpos($groep->niveau,'2') > 0){
|
||||
$normaantal = $normaantal + $normaantallen->groep12;
|
||||
}
|
||||
else {
|
||||
$normaantal = $normaantal + $normaantallen->groep38;
|
||||
}
|
||||
$uur = floor($groeptot / 60);
|
||||
$minuten = $groeptot % 60;
|
||||
$uur0 ='';
|
||||
if ($uur < 10) $uur0='0';
|
||||
$minuut0 ='';
|
||||
if ($minuten < 10) $minuut0='0';
|
||||
$groep->tottijd= $uur0.$uur.':'.$minuut0.$minuten;
|
||||
}
|
||||
$uur = floor($totschooltijd / 60);
|
||||
$minuten = $totschooltijd % 60;
|
||||
$uur0 ='';
|
||||
if ($uur < 10) $uur0='0';
|
||||
$minuut0 ='';
|
||||
if ($minuten < 10) $minuut0='0';
|
||||
$schooltijdstring= $uur0.$uur.':'.$minuut0.$minuten;
|
||||
|
||||
$schooldiversiteit = $som1 + (1.5 * $som2) + (2 * $som3) + (4 * $som4);
|
||||
if ($normaantal > 0){
|
||||
$schooldq = round($schooldiversiteit / $normaantal, 2);
|
||||
};
|
||||
|
||||
|
||||
$data=array('groepen'=>$groepen,
|
||||
'schooljaar'=> $schooljaar->naam,
|
||||
'schooldq' =>$schooldq,
|
||||
'schooltijdstring' =>$schooltijdstring );
|
||||
$os1 = $this->load->view("monpas/sop/ondersteuning1", $data,TRUE);
|
||||
// print_r($os1);
|
||||
// die;
|
||||
}
|
||||
|
||||
$uur = floor($totG / 60);
|
||||
$minuten = $totG % 60;
|
||||
$uur0 ='';
|
||||
if ($uur < 10) $uur0='0';
|
||||
$minuut0 ='';
|
||||
if ($minuten < 10) $minuut0='0';
|
||||
$Gtijdstring= $uur0.$uur.':'.$minuut0.$minuten;
|
||||
|
||||
$uur = floor($totS / 60);
|
||||
$minuten = $totS % 60;
|
||||
$uur0 ='';
|
||||
if ($uur < 10) $uur0='0';
|
||||
$minuut0 ='';
|
||||
if ($minuten < 10) $minuut0='0';
|
||||
$Stijdstring= $uur0.$uur.':'.$minuut0.$minuten;
|
||||
|
||||
$uur = floor($totI / 60);
|
||||
$minuten = $totI % 60;
|
||||
$uur0 ='';
|
||||
if ($uur < 10) $uur0='0';
|
||||
$minuut0 ='';
|
||||
if ($minuten < 10) $minuut0='0';
|
||||
$Itijdstring= $uur0.$uur.':'.$minuut0.$minuten;
|
||||
$data2= array("gtijd"=> $Gtijdstring,
|
||||
'stijd' => $Stijdstring,
|
||||
"itijd"=> $Itijdstring);
|
||||
$os2 = $this->load->view("monpas/sop/ondersteuning2", $data2,TRUE);
|
||||
}
|
||||
return array('os1' => $os1,
|
||||
'os2' => $os2,
|
||||
'targetjaar' => $targetjaar );
|
||||
}
|
||||
|
||||
function gettargetversie($profielid, $orgid,$currentchapterid){
|
||||
// als er een current hoofdstuk is, gebruik die versie
|
||||
$where = array("profiel_id"=>$profielid, "chapter_id"=>$currentchapterid);
|
||||
$targetversieid = $this->get_fieldvalue($where, "orgversieid");
|
||||
|
||||
// als er nog geen current hoofdstuk is maar wel een hoofdstuk is met dezelfde module, gebruik hetzelfde jaar.
|
||||
if (!$targetversieid){
|
||||
$where = array("id"=>$currentchapterid);
|
||||
$module = $this->Hoofdstukken_model->get_fieldvalue($where,'module');
|
||||
$where = array("module"=>$module, "id !="=>$currentchapterid);
|
||||
$otherchapters = $this->Hoofdstukken_model->get_records_where($where);
|
||||
if ($otherchapters){
|
||||
foreach($otherchapters as $otherchapter){
|
||||
$where = array("profiel_id"=>$profielid, "chapter_id"=>$otherchapter->id);
|
||||
$targetversieid = $this->get_fieldvalue($where, "orgversieid");
|
||||
if ($targetversieid) break;
|
||||
}; // foreach
|
||||
}; // if otherchapters
|
||||
}
|
||||
//als er dan nog geen targetversie is, bepaal dan het targetversie aan de hand van de periode
|
||||
if (!$targetversieid){
|
||||
$profiel=$this->Sop_model->get_record_by_id($profielid);
|
||||
$versies = $this->Filledversions_model->getversiesperorgperperiode($orgid, $module, $profiel->van, $profiel->tm);
|
||||
if ($versies){
|
||||
$targetversie = $this->Orgversies_model->get_record_by_id($versies[0]->id);
|
||||
$targetversieid = $targetversie->id;
|
||||
};
|
||||
}
|
||||
return $targetversieid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getenquetetabellen($profielid, $module, $chapterid, $targetversieid){
|
||||
$orgid = $this->globorgid;
|
||||
|
||||
$grafiek ='';
|
||||
$tabel1 = '';
|
||||
$tabel2 = '';
|
||||
|
||||
$scores = '';
|
||||
$ambitie = '';
|
||||
$profiel = $this->Sop_model->get_record_by_id($profielid);
|
||||
//zoek de gewenste versie
|
||||
if (!$targetversieid ){
|
||||
$targetversieid = $this->gettargetversie($profielid, $orgid,$chapterid);
|
||||
}
|
||||
if ($targetversieid) {
|
||||
$scores = $this->Scores_model->calculateschool($targetversieid, $orgid);
|
||||
$ambitie = $this->Ambities_model->getOrgAmbities($targetversieid, $orgid);
|
||||
}
|
||||
|
||||
if (!$targetversieid || !$scores){
|
||||
return array('grafiek1' => '',
|
||||
'tabel1' => '',
|
||||
'tabel2' => '',
|
||||
'targetversie' => $targetversieid);
|
||||
}
|
||||
$totgem = 0 ;
|
||||
$totaantal= 0;
|
||||
$ijkpuntenok = 0;
|
||||
$welkehoogste = 0;
|
||||
$hoogstescore = -1;
|
||||
$welkelaagste = 0;
|
||||
$laagstescore = 101;
|
||||
if ($scores){
|
||||
foreach($scores as $score){
|
||||
$gem = 0;
|
||||
|
||||
if ($score->num > 0) {
|
||||
$gem=$score->somscore / $score->num;
|
||||
};
|
||||
$totgem= $totgem + $gem;
|
||||
$totaantal=$totaantal + 1;
|
||||
|
||||
$score->kleurcode=$this->kleurcodes->getkleur($gem);
|
||||
|
||||
if ($gem > $hoogstescore){
|
||||
$hoogstescore = $gem;
|
||||
$welkehoogste = $score->nummer;
|
||||
}
|
||||
if ($gem <= $laagstescore){
|
||||
$laagstescore = $gem;
|
||||
$welkelaagste = $score->nummer;
|
||||
}
|
||||
if ($ambitie && $gem >= $ambitie->zprocent) {$ijkpuntenok = $ijkpuntenok + 1;};
|
||||
|
||||
}
|
||||
if ($totaantal >0){ $totgem= round($totgem/ $totaantal, 2);}
|
||||
}
|
||||
$totgemkleur= $this->kleurcodes->getkleur($totgem);
|
||||
// foreach scores bereken som en dus totgem en ijkpuntenok
|
||||
$tabelid='';
|
||||
switch ($module){
|
||||
case 1: $tabelid = "tabelmb1"; break;
|
||||
case 3: $tabelid = "tabeltv1"; break;
|
||||
case 4: $tabelid = "tabelsm1"; break;
|
||||
case 5: $tabelid = "tabeles1"; break;
|
||||
}
|
||||
$labels = $this->Labels_model->getalllabels($module);
|
||||
$kleurtabel = $this->kleurcodes->getkleurlegenda();
|
||||
|
||||
$orgversie = $this->Orgversies_model->get_record_by_id($targetversieid);
|
||||
$vantm = "geen periode bekend.";
|
||||
if ($orgversie){
|
||||
$vantm = "Gegevens uit periode ".$orgversie->periodenummer." van ".mysql2date($orgversie->geldigvanaf)." t/m ".mysql2date($orgversie->geldigtm);
|
||||
};
|
||||
$data=array( "tabelid" => $tabelid,
|
||||
"ambitie" => $ambitie,
|
||||
"labels" => $labels,
|
||||
"scores" => $scores,
|
||||
'totgem' => $totgem,
|
||||
'totgemkleur' =>$totgem,
|
||||
'ijkpuntenok' => $ijkpuntenok,
|
||||
'welkehoogste' => $welkehoogste,
|
||||
'hoogstescore' => round($hoogstescore,1),
|
||||
'welkelaagste' => $welkelaagste,
|
||||
'laagstescore' => round($laagstescore,1) ,
|
||||
"kleurtabel" =>$kleurtabel,
|
||||
"vantm" =>$vantm);
|
||||
$tabel1 = $this->load->view("monpas/sop/monbastabel1", $data,TRUE);
|
||||
$grafiek = $this->load->view("monpas/sop/monbasgrafiek1",$data, TRUE);
|
||||
|
||||
$aantalijkpunten = 0;
|
||||
$ijkpunten = $this->Orgversies_model->getijkpunten( $targetversieid);
|
||||
|
||||
if ($ijkpunten){
|
||||
$aantalijkpunten=count($ijkpunten);
|
||||
};
|
||||
|
||||
$targetversie = $this->Orgversies_model->get_record_by_id($targetversieid);
|
||||
if ($targetversie->vorm == 1){
|
||||
// school vorm
|
||||
$lks = $this->getorgscores($orgid, $targetversieid,$aantalijkpunten);
|
||||
}
|
||||
else{
|
||||
$lks= $this->getlksscores($orgid, $targetversieid,$aantalijkpunten);
|
||||
}
|
||||
|
||||
$tabelid = '';
|
||||
switch ($module){
|
||||
case 1: $tabelid = "tabelmb2"; break;
|
||||
case 3: $tabelid = "tabeltv2"; break;
|
||||
case 4: $tabelid = "tabelsm2"; break;
|
||||
case 5: $tabelid = "tabeles2"; break;
|
||||
}
|
||||
$data = array( 'tabelid' =>$tabelid,
|
||||
'lks' =>$lks,
|
||||
'aantalijkpunten' => $aantalijkpunten,
|
||||
'ijkpunten' => $ijkpunten,
|
||||
'versievorm' => $targetversie->vorm);
|
||||
$tabel2 = $this->load->view("monpas/sop/monbastabel2", $data,TRUE);
|
||||
|
||||
return array ('grafiek1' => $grafiek,
|
||||
'tabel1' => $tabel1,
|
||||
'tabel2' => $tabel2,
|
||||
'targetversie' => $targetversieid);
|
||||
}
|
||||
|
||||
|
||||
function getlksscores($orgid, $orgversieid,$aantalijkpunten){
|
||||
$lks = $this->Filledversions_model->getlks($orgid, $orgversieid);
|
||||
if ($lks){
|
||||
foreach($lks as $lk){
|
||||
$lk->scores = $this->Scores_model->getlkscores($lk->filledversionid);
|
||||
$som = 0;
|
||||
if ($lk->scores){
|
||||
foreach($lk->scores as $score){
|
||||
$score->gem = new stdClass();
|
||||
$score->gem = $score->somcore / $score->num;
|
||||
$score->colorcode = $this->kleurcodes->getkleur($score->gem);
|
||||
$som = $som + $score->gem;
|
||||
}
|
||||
$lk->lkgem = round($som / $aantalijkpunten, 0);
|
||||
$lk->colorcode = $this->kleurcodes->getkleur($lk->lkgem);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $lks;
|
||||
}
|
||||
function getorgscores($orgid, $orgversieid,$aantalijkpunten){
|
||||
|
||||
$lks = array();
|
||||
$lks[0] = new stdClass;
|
||||
$fv = $this->Filledversions_model->getfilledversion($orgversieid, $orgid, 0, 1);
|
||||
$lks[0]->filledversionid = $fv->id;
|
||||
$lks[0]->fullname = $this->Organisaties_model->get_record_by_id($orgid, "naam",true);
|
||||
$lks[0]->orgid = $orgid;
|
||||
$lks[0]->scores = $this->Scores_model->getgemscores($orgversieid, $orgid);
|
||||
|
||||
if ($lks[0]->scores){
|
||||
$som = 0;
|
||||
foreach($lks[0]->scores as $score){
|
||||
$score->colorcode = $this->kleurcodes->getkleur($score->gem);
|
||||
$som = $som + $score->gem;
|
||||
}
|
||||
$lks[0]->lkgem = round($som / $aantalijkpunten, 0);
|
||||
$lks[0]->colorcode = $this->kleurcodes->getkleur($lks[0]->lkgem);
|
||||
}
|
||||
return $lks;
|
||||
}
|
||||
function getOntwikkelagenda($profielid, $module,$targetversieid){
|
||||
$tabel1='';
|
||||
$tabel2='';
|
||||
$orgid = $this->globorgid;
|
||||
$profiel = $this->Sop_model->get_record_by_id($profielid);
|
||||
$scores = [];
|
||||
|
||||
if ($module == 1) $chapterid = 11;
|
||||
else $chapterid = 12;
|
||||
if (! $targetversieid) {
|
||||
$targetversieid =$this->gettargetversie($profielid, $orgid,$chapterid);
|
||||
}
|
||||
if ($targetversieid){
|
||||
$targetversie = $this->Orgversies_model->get_record_by_id($targetversieid);
|
||||
$scores = $this->Scores_model->calculateschool($targetversieid, $orgid);
|
||||
$ambitie = $this->Ambities_model->getOrgAmbities($targetversieid, $orgid);
|
||||
|
||||
if($targetversie->scoretype == 7){
|
||||
$grens1 = 33;
|
||||
$grens2 = 66;
|
||||
$grens3 = 100;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (!$targetversieid){
|
||||
return array( 'tabel1' => '',
|
||||
'tabel2' => '');
|
||||
}
|
||||
$gewenst = $this->Scores_model->getgewenst($orgid, $targetversieid);
|
||||
$i =0;
|
||||
|
||||
$scores = $scores ? $scores : [];
|
||||
|
||||
foreach($scores as $score){
|
||||
$score->gem = 0;
|
||||
if ($score->num > 0) {
|
||||
$score->gem= round($score->somscore / $score->num,1);
|
||||
}
|
||||
$score->huidig = $this->kleurcodes->getnummer($score->gem);
|
||||
if($targetversie->scoretype == 7){
|
||||
if($score->gem == $grens3) $score->huidig = 4;
|
||||
if($score->gem < $grens3) $score->huidig = 3;
|
||||
if($score->gem < $grens2) $score->huidig = 2;
|
||||
if($score->gem < $grens1) $score->huidig = 1;
|
||||
}
|
||||
|
||||
if ($gewenst){
|
||||
$score->wens = $gewenst[$i]->wens;
|
||||
$i = $i + 1;
|
||||
};
|
||||
}; //foreach
|
||||
|
||||
$labels = $this->Labels_model->getalllabels($module);
|
||||
$kleurtabel = $this->kleurcodes->getkleurlegenda();
|
||||
if($targetversie->scoretype == 7){
|
||||
$kleurtabel = $this->kleurcodes->getKleurlegendaType($targetversie->scoretype);
|
||||
}
|
||||
$data= array( "scores" => $scores,
|
||||
"labels" => $labels,
|
||||
"module" => $module,
|
||||
"kleurtabel" => $kleurtabel);
|
||||
$tabel1 = $this->load->view("monpas/sop/ontwikkelagenda", $data,TRUE);
|
||||
$data = array( "scores" => $scores,
|
||||
"labels" => $labels,
|
||||
"module" => $module);
|
||||
$tabel2 = $this->load->view("monpas/sop/ontwikkelagenda2", $data,TRUE);
|
||||
return array(
|
||||
'tabel1' => $tabel1,
|
||||
'tabel2' => $tabel2,
|
||||
'targetversie' => $targetversieid);
|
||||
}
|
||||
|
||||
function getPagvolgorde($profielID){
|
||||
$this->sql = "SELECT id as sopinhoudID, volgorde
|
||||
FROM tb_sopinhouden
|
||||
WHERE profiel_id = {$profielID}
|
||||
ORDER BY volgorde";
|
||||
return $this->get_query_result();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user