230 lines
9.8 KiB
PHP
230 lines
9.8 KiB
PHP
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Overzichtsop extends MY_Controller{
|
|
|
|
function __construct(){
|
|
parent::__construct();
|
|
$models = array(
|
|
"shared/Schooljaren_model",
|
|
"shared/Organisaties_model",
|
|
"shared/Orgusers_model",
|
|
"monpas/Compactsop_model",
|
|
"monpas/Sorteringen_model",
|
|
"monpas/Sorteerlabels_model",
|
|
|
|
|
|
|
|
);
|
|
$this->load->model($models);
|
|
$this->load->helper('string');
|
|
}
|
|
|
|
function getSchooljarenEnCriteria(){
|
|
if (!$this->userid) die;
|
|
$schooljaren = $this->Schooljaren_model->getschooljaren();
|
|
$org = $this->Organisaties_model->get_record_by_id($this->globorgid);
|
|
if($org->soort == 4) $criteria = false;
|
|
else {
|
|
switch ($org->soort) {
|
|
case 1:
|
|
$swvID = $this->globorgid;
|
|
break;
|
|
case 2:
|
|
$swvID = $org->valtonder_id;
|
|
break;
|
|
case 3:
|
|
$swvID = $this->Organisaties_model->get_fieldvalue(['id' => $org->valtonder_id], 'valtonder_id');
|
|
break;
|
|
}
|
|
|
|
$criteria = $this->Sorteringen_model->get_criteriabijSWV($swvID);
|
|
if (!$criteria) {
|
|
$criteria = [];
|
|
}
|
|
$criterium = new stdClass();
|
|
$criterium->id = 0;
|
|
$criterium->swv_id = $swvID;
|
|
$criterium->naam = "bestuur";
|
|
array_unshift($criteria, $criterium);
|
|
}
|
|
|
|
$data = [
|
|
'schooljaren' => $schooljaren,
|
|
'orgsoort' => $org->soort,
|
|
'orgID' => $this->globorgid,
|
|
'criteria' => $criteria
|
|
];
|
|
|
|
echo json_encode($data);
|
|
}
|
|
|
|
|
|
|
|
function getOrgsoort(){
|
|
if (!$this->userid) die;
|
|
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
|
|
$soort = false;
|
|
if($organisatie) $soort = $organisatie->soort;
|
|
echo json_encode($soort);
|
|
|
|
|
|
}
|
|
|
|
function getoverzicht()
|
|
{
|
|
if (!$this->userid) die;
|
|
$schooljaarnr = $this->clean_input("schooljaarnr");
|
|
$criteriumID = $this->clean_input("criteriumID");
|
|
|
|
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
|
|
$organisatie->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(['organisatie_id' => $this->globorgid,
|
|
'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $organisatie->sop = 'T';
|
|
if ($organisatie->soort == 4){
|
|
echo json_encode(["soort" => 4,
|
|
"organisatie" => $organisatie,
|
|
"criteriumscholen" => false]);
|
|
return;
|
|
}
|
|
|
|
|
|
if ($criteriumID > 0){
|
|
$criteriumOrg = clone $organisatie;
|
|
$criteriumresult = $this->overzichtPerCriterium($criteriumOrg, $schooljaarnr, $criteriumID);
|
|
}
|
|
if($organisatie->soort < 3 ||$criteriumID == 0 ) $niveauresult = $this->overzichtPerNiveau($organisatie, $schooljaarnr, $criteriumID);
|
|
$niveauorgs = [];
|
|
echo json_encode([
|
|
'soort' => $organisatie->soort,
|
|
'organisatie' => isset($niveauresult)? $niveauresult : false,
|
|
'criteriumscholen' => isset($criteriumresult) ? $criteriumresult: false
|
|
|
|
]);
|
|
|
|
|
|
}
|
|
|
|
private function overzichtPerCriterium($criteriumOrg, $schooljaarnr, $criteriumID){
|
|
|
|
$lijst = [];
|
|
$orgs = $this->Organisaties_model->getlistrecursief($criteriumOrg->id, $lijst);
|
|
$orglist = implode(",", $orgs);
|
|
$criteriumOrg->scholen = $this->Sorteerlabels_model->orgsEnSopsPerCriterium($schooljaarnr,$criteriumID,$criteriumOrg->id, $orglist );
|
|
|
|
return $criteriumOrg;
|
|
|
|
}
|
|
|
|
private function overzichtPerNiveau($organisatie, $schooljaarnr, $criteriumID){
|
|
switch ($organisatie->soort) {
|
|
case 3:
|
|
$bgid = $organisatie->id;
|
|
$organisatie->scholen = $this->Organisaties_model->getorgsvanaf($bgid);
|
|
if ($organisatie->scholen) {
|
|
foreach ($organisatie->scholen as $index => $school) {
|
|
$school->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $school->sop = 'T';
|
|
}
|
|
}
|
|
break;
|
|
case 2:
|
|
$kamerid = $organisatie->id;
|
|
$organisatie->bgs = $this->Organisaties_model->getorgsvanaf($kamerid);
|
|
if ($organisatie->bgs) {
|
|
foreach ($organisatie->bgs as $bg) {
|
|
$bg->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
['organisatie_id' => $bg->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $bg->sop = 'T';
|
|
if($criteriumID == 0 ) {
|
|
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
|
|
if($bg->scholen){
|
|
foreach ($bg->scholen as $index => $school) {
|
|
$school->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $school->sop = 'T';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
['organisatie_id' => $kamer->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $kamer->sop = 'T';
|
|
$kamer->bgs = $this->Organisaties_model->getorgsvanaf($kamer->id);
|
|
if ($kamer->bgs) {
|
|
foreach ($kamer->bgs as $bg) {
|
|
$bg->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
['organisatie_id' => $bg->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $bg->sop = 'T';
|
|
if($criteriumID == 0) {
|
|
$bg->scholen = $this->Organisaties_model->getorgsvanaf($bg->id);
|
|
if($bg->scholen) {
|
|
foreach ($bg->scholen as $index => $school) {
|
|
$school->sop = 'F';
|
|
$compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
if ($compactsopID) $school->sop = 'T';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
return $organisatie;
|
|
}
|
|
|
|
|
|
// function getAlfabetisch(){
|
|
// if (!$this->userid) die;
|
|
// $schooljaarnr = $this->clean_input("schooljaarnr");
|
|
// $orgid = $this->clean_input("orgid");
|
|
// if ($orgid == 0) $orgid = $this->globorgid;
|
|
// $organisatie = $this->Organisaties_model->getorg($orgid);
|
|
// if($organisatie->soort == 2) $organisatie->scholen = $this->Organisaties_model->getscholenonderkamer($organisatie->id);
|
|
// if($organisatie->soort == 1) $organisatie->scholen = $this->Organisaties_model->getscholenonderswv($organisatie->id);
|
|
//
|
|
// foreach ($organisatie->scholen as $index => $school) {
|
|
// $school->sop = 'F';
|
|
// $compactsopID = $this->Compactsop_model->get_fieldvalue(
|
|
// ['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id');
|
|
// if ($compactsopID) $school->sop = 'T';
|
|
// }
|
|
//
|
|
//// echo json_encode(array("organisatie" => $organisatie, "soort" => $organisatie->soort));
|
|
//
|
|
// }
|
|
|
|
|
|
function download_pdf(){
|
|
if (!$this->userid) die;
|
|
$orgid = $this->uri->segment(4);
|
|
$schooljaarnr = $this->uri->segment(5);
|
|
$sopid = $this->Compactsop_model->get_fieldvalue(['organisatie_id'=>$orgid,
|
|
'schooljaarnummer' =>$schooljaarnr], 'id');
|
|
if($sopid){
|
|
$this->Compactsop_model->downloadCompactSop ($sopid);
|
|
}
|
|
|
|
}
|
|
} |