Merge branch 'feature/streefcijfersperorg'

# Conflicts:
#	application/core/MY_Controller.php
This commit is contained in:
Monique
2022-11-28 23:35:04 +01:00
42 changed files with 3844 additions and 2453 deletions
@@ -30,7 +30,14 @@ class Rapijkpunten extends MY_Controller{
};// if
}
function getorgs(){
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){
@@ -46,7 +53,7 @@ class Rapijkpunten extends MY_Controller{
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;
@@ -215,6 +222,7 @@ class Rapijkpunten extends MY_Controller{
$nieuwsteversie = $lijstenObject->getNieuwsteVersie();
$kleuren = $lijstenObject->getKleuren();
$eigenambitie = $lijstenObject->getEigenAmbitie();
$data =[
'lijsten' => $lijsten,
@@ -222,7 +230,8 @@ class Rapijkpunten extends MY_Controller{
'nieuwsteversie' => $nieuwsteversie,
'users' => $users,
'ijkpunten' => $ijkpunten,
'kleuren' => $kleuren
'kleuren' => $kleuren,
'eigenambitie' => $eigenambitie
];
@@ -297,7 +306,6 @@ class Rapijkpunten extends MY_Controller{
$orgversies = $this->clean_input('selectie');
if (!$orgid || !$orgversies || !$orguserid) return;
$aantal = count($orgversies);
$userLijsten = new Userlijsten($orguserid, $orgid, $orgversies);
$lijsten = $userLijsten->getLijsten();
@@ -6,7 +6,8 @@ class Streefcijfers extends MY_Controller{
$models = array( "shared/Users_model",
'shared/Organisaties_model',
"monpas/Orgversies_model",
"monpas/Ambities_model");
"monpas/Ambities_model",
"monpas/Modules_model" );
$this->load->model($models);
$this->load->helper('string');
if ( ! $this->check_online_status() ) {
@@ -15,12 +16,14 @@ class Streefcijfers extends MY_Controller{
};// if
}
function gethierarchie($selfid){
if (!$this->userid) die;
$organisatie= $this->Organisaties_model->get_record_by_id($selfid);
$swvid = null;
$kamerid = null;
$bgid = null;
$schoolid = null;
switch ($organisatie->soort) {
case 1: $swvid = $organisatie->id;
break;
@@ -32,7 +35,8 @@ class Streefcijfers extends MY_Controller{
$org2 = $this->Organisaties_model->get_record_by_id($kamerid);
$swvid = $org2->valtonder_id;
break;
case 4: $bgid = $organisatie->valtonder_id;
case 4: $schoolid = $organisatie->id;
$bgid = $organisatie->valtonder_id;
$org2 = $this->Organisaties_model->get_record_by_id($bgid);
$kamerid = $org2->valtonder_id;
$org3 = $this->Organisaties_model->get_record_by_id($kamerid);
@@ -41,7 +45,8 @@ class Streefcijfers extends MY_Controller{
} ; // einde switch
return array('swvid'=>$swvid,
"kamerid" =>$kamerid,
"bgid" =>$bgid);
"bgid" =>$bgid,
"schoolid" =>$schoolid);
}
@@ -61,7 +66,8 @@ class Streefcijfers extends MY_Controller{
// let op dit is een array
break;
case 2:
case 3: $orgversies = $this->Orgversies_model->getallorgversies($hierarchie['kamerid'],$module, true);
case 3:
case 4:$orgversies = $this->Orgversies_model->getallorgversies($hierarchie['kamerid'],$module, true);
if (!$orgversies){
$orgversies = $this->Orgversies_model->getallorgversies($hierarchie['swvid'],$module, true);
}
@@ -113,6 +119,133 @@ class Streefcijfers extends MY_Controller{
echo json_encode($ambities);
}
function getAmbitieOrgs($orgid, $ambitieorgs){
$ambitieorgs .= $orgid . ',';
$valtonder = $this->Organisaties_model->get_fieldvalue(['id' => $orgid], 'valtonder_id');
if($valtonder != $orgid){
return $this->getAmbitieOrgs($valtonder, $ambitieorgs);
}
return $ambitieorgs;
}
function checkrecht(){
if (!$this->userid) die;
$manage = 'F';
if($this->super) $manage = 'T';
else {
$result = $this->Autorisatienivos_model->checkmanage($this->userid, $this->orgid);
if($result) $manage = 'T';
}
$soort = $this->Organisaties_model->get_fieldvalue(['id'=>$this->globorgid],'soort');
$this->json(['manage'=>$manage,
'soort' => $soort]);
}
function getambities(){
if (!$this->userid) die;
$module = $this->session->userdata('module');
$modulenaam = $this->Modules_model->get_fieldvalue(['sysnr'=>$module], 'naam');
$org = $this->Organisaties_model->get_record_by_id($this->globorgid);
$bovenliggend = '';
$bovenliggend = $this->getAmbitieOrgs($this->globorgid, $bovenliggend);
$bovenliggend = rtrim($bovenliggend, ',');
$toporgsarray = explode(',', $bovenliggend);
$toporgs = '';
$index = 0;
for($i = count($toporgsarray)-1; $i >= 0 ; $i--) {
if($index < 2) {
$toporgs .= $toporgsarray[$i] . ',';
$index++;
}
}
$toporgs = rtrim($toporgs, ',' );
$onderliggend = '';
if($org->soort < 4){
$orgs = $this->Organisaties_model->getlistrecursief($this->globorgid, []);
$onderliggend = implode(',', $orgs);
$ambitieorgs = $onderliggend .','. $bovenliggend;
}
if($org->soort == 4 ) $ambitieorgs = $bovenliggend;
$standaardNodig = true;
$ambities = [];
$aantalY = $this->Ijkpunten_model->telijkpunten_bij_orgs($toporgs, $module);
$ambities = $this->Ambities_model->mh_get_ambities($module, $ambitieorgs, $toporgs);
if($ambities){
foreach( $ambities AS $ambitie){
if($ambitie->soort <= $org->soort){
$standaardNodig = false;
}
}
}
if(!$ambities || $standaardNodig) {
$orgversie = $this->Orgversies_model->getAmbitieVersie($toporgs, $module);
if (!$orgversie) {
$this->json("geen results");
return;
}
else {
$ambitie = new stdClass();
$ambitie->ambitievan = 'standaard';
$ambitie->id = 0;
$ambitie->geldigtm = $orgversie->geldigtm;
$ambitie->geldigvanaf = $orgversie->geldigvanaf;
$ambitie->gemscore = 80;
$ambitie->naam = $orgversie->naam;
$ambitie->orgversie_id = $orgversie->orgversie_id;
$ambitie->periodenummer = $orgversie->periodenummer;
$ambitie->soort = 0;
$ambitie->xijkpunten = ROUND($aantalY * 0.8);
$ambitie->zprocent = 60;
$ambities[] = $ambitie;
}
}
$this->json(['aantalY' => $aantalY,
'ambities' => $ambities,
'module' => $modulenaam]);
}
function saveAmbitie(){
if (!$this->userid) die;
$orgversieid = $this->clean_input("orgversieid");
if($this->super == false) {
$result = $this->Autorisatienivos_model->checkmanage($this->userid, $this->globorgid);
$saveorg = $this->globorgid;
if (!$result) return;
}
else{
$saveorg = $this->globorgid;
}
$bestaand = $this->Ambities_model->get_fieldvalue(['organisatie_id'=>$saveorg,
'orgversie_id' =>$orgversieid], 'id');
if(!$bestaand) {
$id = $this->Ambities_model->insert_record([
'organisatie_id' => $saveorg,
'orgversie_id' => $orgversieid,
'gem_score' => $this->clean_input("gemscore"),
'x_ijkpunten' => $this->clean_input("xijkpunten"),
'z_procent' => $this->clean_input("zprocent")
]);
}
$this->json($id);
}
// function getorgversies_ambities_oud(){
// $versies = false;
// $module = $this->session->userdata('module');
@@ -179,10 +312,10 @@ class Streefcijfers extends MY_Controller{
if (!$this->userid) die;
$id=$this->clean_input("id");
// zoek of de ambitie voor een nieuwe organisatie is
$alaanwezig = $this->Ambities_model->check_for_record(array("organisatie_id"=>$this->clean_input("organisatie_id"),
$alaanwezig = $this->Ambities_model->check_for_record(array("organisatie_id"=>$this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id")) );
if ($id ==0 || !$alaanwezig ){
$data=array("organisatie_id" => $this->clean_input("organisatie_id"),
$data=array("organisatie_id" => $this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id"),
"gem_score" => $this->clean_input("gemscore"),
"x_ijkpunten" => $this->clean_input("xijkpunten"),