nieuwe versie

This commit is contained in:
Monique
2021-07-13 12:53:03 +02:00
parent 20fb7267a8
commit 444829340a
36 changed files with 655 additions and 1123 deletions
@@ -0,0 +1,238 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Compacteversies
{
private $CI;
private $schooljaar;
private $kalenderjaar1;
private $kalenderjaar2;
private $jaarnr1;
private $jaarnr2;
private $modulenr;
private $licentie;
private $selected;
private $erIsDiversiteit;
private $groepen;
private $aantallln;
private $onderdelen;
private $onderdeel;
private $erZijnBudgetten = 'F';
private $budgetten;
private $geopendeversies;
private $versie;
private $erIsEenVersie = 'F';
private $gevuldeversies;
private $gevuldeschooljaren;
private $gevuldschooljaar;
private $vormtekst;
private $filledversies;
private $filledversie;
public function getOnderdelen(){
return $this->onderdelen;
}
public function __construct( $schooljaarnr)
{
$this->CI =& get_instance();
$this->schooljaarnr = $schooljaarnr;
$this->handle();
}
private function handle()
{
$this->setSchooljaar();
$this->setKalenderjaren();
$this->setCompactSopOnderdelen();
$this->loopCompactSop();
}
private function setSchooljaar(){
$jaarid = $this->CI->Schooljaren_model->get_fieldvalue(['schooljaarnr'=>$this->schooljaarnr],'id');
$this->schooljaar = $this->CI->Schooljaren_model->get_record_by_id($jaarid);
}
private function setKalenderjaren(){
$this->kalenderjaar1 = substr($this->schooljaar->naam, 0, 4 );
$this->kalenderjaar2 = substr($this->schooljaar->naam, 5, 4);
$this->jaarnr1 = $this->CI->Kalenderjaren_model->get_fieldvalue(['naam' =>$this->kalenderjaar1], 'jaarnr');
$this->jaarnr2 = $this->CI->Kalenderjaren_model->get_fieldvalue(['naam' =>$this->kalenderjaar2], 'jaarnr');
if(!$this->jaarnr2) $this->jaarnr2 = intval($this->jaarnr1) + 1;
}
private function setCompactSopOnderdelen(){
$this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen();
}
private function loopCompactSop(){
if ($this->onderdelen){
foreach($this->onderdelen as $index=> $this->onderdeel) {
$this->onderdeel->licentie = 'F';
$this->onderdeel->gegevens = 'F';
$this->setModuleMetLicentie();
$this->setExtraOmvang();
$this->setDivSchooltypes();
$this->setDiversiteit();
$this->setBudgetten();
$this->setGeopendeVersies();
$this->loopGeopendeVersies();
$this->setSelectedLijstOnderdelen();
}
}
}
private function setModuleMetLicentie(){
$this->onderdeel->modulenr = $this->CI->Compactsoponderdelen_model->getModuleMetLicentie($this->CI->globorgid, $this->onderdeel->nummer);
if($this->onderdeel->modulenr) $this->onderdeel->licentie = 'T';
}
private function setDivSchooltypes(){
if(!isset($this->onderdeel->modulenr)) return;
switch($this->onderdeel->modulenr){
case 1: $this->onderdeel->schooltype = 'Alle';
break;
case 2:
case 6: $this->onderdeel->schooltype = 'R';
break;
case 30:
case 40:
case 230: $this->onderdeel->schooltype = 'Alle';
break;
case 270:
case 300: $this->onderdeel->schooltype = 'SBO';
break;
case 340: $this->onderdeel->schooltype = 'R';
break;
case 350: $this->onderdeel->schooltype = 'SBO';
break;
case 360: $this->onderdeel->schooltype = 'SO';
break;
case 630: $this->onderdeel->schooltype = 'Alle';
break;
default: $this->onderdeel->schooltype = 'Alle';
}
}
private function setDiversiteit(){
if($this->onderdeel->nummer != 1) return;
$module = 2;
$this->aantallln = $this->CI->Groepen_model->getversiesmetleerlingen(
$this->CI->globorgid, $this->schooljaarnr, $this->onderdeel->schooltype, $module);
if(isset($this->aantallln)){
if ($this->aantallln > 0) {
$this->onderdeel->groepen = $this->CI->Groepen_model->get_AantalGroepen($this->schooljaarnr, $this->CI->globorgid, $module);
$this->onderdeel->erIsDiversiteit = 'T';
$this->onderdeel->gegevens = 'T';
if($this->onderdeel->schooltype = 'R') $this->onderdeel->schoolsoort = 'PO';
$this->onderdeel->versie = $this->schooljaar->naam. ', '. $this->onderdeel->schoolsoort;
}
}
}
private function setExtraOmvang(){
if($this->onderdeel->nummer != 3 || $this->onderdeel->licentie == 'F') return;
$schooljaren = $this->CI->Aantalleerlingen_model->get_gevuldeschooljaren_Sop($this->schooljaarnr, $this->CI->globorgid);
if($schooljaren && count($schooljaren) > 0) {
$this->onderdeel->gegevens = 'T';
$this->onderdeel->gevuldeschooljaren = $schooljaren;
foreach ($this->onderdeel->gevuldeschooljaren as $this->gevuldschooljaar) {
$this->gevuldschooljaar->erZijnTLVs = false;
$this->gevuldschooljaar->erZijnArrangementen = false;
$tlvs = $this->CI->Tlvs_model->getAantalTLVsSop($this->gevuldschooljaar->schooljaarnr, $this->CI->globorgid);
if ($tlvs) {
if ($tlvs > 0) $this->gevuldschooljaar->erZijnTLVs = true;
}
$arr = $this->CI->Arrangementen_model->getAantalLeerlingenMetArrangement($this->gevuldschooljaar->schooljaarnr, $this->CI->globorgid);
if ($arr) {
if ($arr > 0) $this->gevuldschooljaar->erZijnArrangementen = true;
}
}
}
}
private function setBudgetten(){
if($this->onderdeel->nummer != 7 || $this->onderdeel->licentie == 'F') return;
$this->onderdeel->budgetversies = [];
$this->budgetten = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnr1);
if($this->budgetten > 0){
$this->onderdeel->budgetversies [] = $this->kalenderjaar1;
$this->onderdeel->erZijnBudgetten = 'T';
$this->onderdeel->gegevens = 'T';
}
$this->budgetten = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnr2);
if(intval($this->budgetten) > 0){
$this->onderdeel->budgetversies [] = $this->kalenderjaar2;
$this->onderdeel->erZijnBudgetten = 'T';
$this->onderdeel->gegevens = 'T';
}
}
private function setGeopendeVersies(){
if($this->onderdeel->ijkpunten == 'F' || $this->onderdeel->licentie =='F') return;
$this->onderdeel->geopendeversies = $this->CI->Filledversions_model->getfilledversionsperorg(
$this->CI->globorgid, $this->onderdeel->modulenr);
}
private function loopGeopendeVersies(){
if($this->onderdeel->ijkpunten == 'F'|| $this->onderdeel->licentie =='F') return;
if(!$this->onderdeel->geopendeversies) return;
$this->onderdeel->erIsEenVersie= 'F';
$this->onderdeel->gegevens= 'F';
$this->onderdeel->filledversies = [];
foreach($this->onderdeel->geopendeversies as $index => $this->versie) {
$this->setFilledVersies();
}
}
private function setFilledVersies(){
$this->gevuldeversies = $this->CI->Scores_model->fGetGevuldeVersies(
$this->versie->id, $this->CI->globorgid);
if($this->gevuldeversies) {
if($this->versie->vorm == 1){
$this->vormtekst = 'schoolversie';
}
if($this->versie->vorm == 2){
$this->vormtekst = 'individuele versie';
}
$this->versie->naam = $this->versie->naam . ', periode: ' . $this->versie->periodenummer . ': ' . $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm .', '. $this->vormtekst;
$this->versie->naamkort = 'Periode: ' . $this->versie->periodenummer . ': ' . $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm;
$this->onderdeel->filledversies [] = $this->versie;
}
}
private function setSelectedLijstOnderdelen(){
if($this->onderdeel->licentie == 'F') return;
if($this->onderdeel->ijkpunten == 'F') return;
if(!isset($this->onderdeel->filledversies) || count($this->onderdeel->filledversies) == 0) return;
$this->onderdeel->erIsEenVersie = "T";
$this->onderdeel->gegevens = "T";
foreach($this->onderdeel->filledversies as $index => $this->filledversie) {
$this->filledversie->selected = 'F';
$valterin = $this->CI->Filledversions_model->checkperiode($this->versie->id,$this->schooljaar->start,
$this->schooljaar->eind );
if($valterin){
$this->filledversie->selected = 'T';
}
}
}
}