comactsops valtonderorgs

This commit is contained in:
Monique
2022-11-02 13:42:56 +01:00
parent a4f2db9611
commit 792b89c674
8 changed files with 153 additions and 105 deletions
+24 -12
View File
@@ -57,17 +57,27 @@ class Compactsop extends MY_Controller{
echo json_encode($soort);
}
function getSchooljaren(){
if (!$this->userid) die;
$schooljaren = $this->Schooljaren_model->getschooljaren();
echo json_encode($schooljaren);
}
function getSchooljarenEnOrgs(){
if (!$this->userid) die;
$schooljaren = $this->Schooljaren_model->getschooljaren();
// $orgs = $this->
echo json_encode($schooljaren);
$orgs = $this->Organisaties_model->get_alle_onderliggende_orgs($this->globorgid);
echo json_encode(['schooljaren'=>$schooljaren,
'organisaties'=>$orgs ]);
}
function getCompactSop(){
if (!$this->userid) die;
$orgid = $this->globorgid;
$schooljaar = $this->uri->segment(4);
$orgid = $this->clean_input("orgID");
$schooljaar = $this->clean_input("schooljaarID");
$compactsopID = $this->Compactsop_model->get_fieldvalue(['organisatie_id'=>$orgid, 'schooljaarnummer'=>$schooljaar], 'id');
echo json_encode($compactsopID);
}
@@ -79,9 +89,10 @@ class Compactsop extends MY_Controller{
function getOnderdelenEnVersies(){
if (!$this->userid) die;
$schooljaar = $this->uri->segment(4);
$orgsoort = $this->uri->segment(5);
$compacteversies = new Compacteversies($schooljaar, $orgsoort);
$schooljaar = $this->clean_input('schooljaarID');
$orgsoort = $this->clean_input('orgsoort');
$orgid = $this->clean_input('orgID');
$compacteversies = new Compacteversies($schooljaar, $orgid, $orgsoort);
$onderdelen = $compacteversies->getOnderdelen();
echo json_encode($onderdelen);
@@ -89,9 +100,10 @@ class Compactsop extends MY_Controller{
function getOrganisatiegegevens(){
if (!$this->userid) die;
$school = $this->Schooldetails_model->getschool($this->globorgid);
$orgid = $this->uri->segment(4);
$school = $this->Schooldetails_model->getschool($orgid);
if(!$school){
$school = $this->Organisaties_model->get_record_by_id($this->globorgid);
$school = $this->Organisaties_model->get_record_by_id($orgid);
}
echo json_encode($school);
}
@@ -99,7 +111,6 @@ class Compactsop extends MY_Controller{
function saveSchool(){
if (!$this->userid) die;
$id = $this->clean_input('id');
if($id != $this->globorgid) return;
$straat = strip_slashes($this->clean_input('straat'));
$plaats = strip_slashes($this->clean_input('plaats'));
$foon = strip_slashes($this->clean_input('telefoon'));
@@ -131,13 +142,14 @@ class Compactsop extends MY_Controller{
function maakPDF(){
if (!$this->userid) die;
$schooljaarnr = $this->clean_input('schooljaarnr');
$orgid = $this->clean_input('orgID');
$onderdelen = $this->input->post('onderdelen');
$omvangjaren = $this->clean_input('jaren');
$paginas = $this->clean_input('paginas');
$compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren);
$compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren, $orgid);
$compacteonderdelen = $compact->getCompacteOnderdelen();
$schoolID = $this->globorgid;
$schoolID = $orgid;
$html = (new Compactepaginas($compacteonderdelen, $paginas))->getHtml();
$padnaam = $schoolID . $schooljaarnr;
file_put_contents(MYROOTPATH.'public/tmp/temp'.$schoolID.$schooljaarnr.'.html', $html);
@@ -34,11 +34,12 @@ class Compacteonderdelen
private $onderdelenNew;
private $compacteonderdelen;
public function __construct($schooljaarnr, $onderdelen, $omvangjaren){
public function __construct($schooljaarnr, $onderdelen, $omvangjaren, $orgid){
$this->CI = &get_instance();
$this->schooljaarnr = $schooljaarnr;
$this->onderdelen = $onderdelen;
$this->omvangjaren = $omvangjaren;
$this->orgid = $orgid;
$this->handle();
}
@@ -75,7 +76,7 @@ class Compacteonderdelen
}
private function setOrganisatie(){
$this->organisatie = $this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid);
$this->organisatie = $this->CI->Organisaties_model->get_record_by_id($this->orgid);
}
private function setOrgSoort(){
switch($this->organisatie->soort){
@@ -91,7 +92,7 @@ class Compacteonderdelen
}
private function setOrgdetails(){
$this->details = $this->CI->Schooldetails_model->get_details($this->CI->globorgid);
$this->details = $this->CI->Schooldetails_model->get_details($this->orgid);
}
private function setOrgGegevens(){
@@ -124,7 +125,7 @@ class Compacteonderdelen
private function setOrglist(){
$lijst = [];
$orglist = $this->CI->Organisaties_model->getlistrecursief($this->organisatie->id, $lijst);
$orglist = $this->CI->Organisaties_model->getlistrecursief($this->orgid, $lijst);
$orglist = implode('","', $orglist);
$this->orglist = '"'. $orglist .'"';
@@ -132,7 +133,6 @@ class Compacteonderdelen
private function setKleuren()
{
// $this->kleuren = $this->kleurcodes->getKleurcodesOrg(0, $this->swvid);
if (!$this->kleuren || $this->kleuren == " ") {
$this->kleuren = new stdClass();
$this->kleuren->cluster_id = 0;
@@ -140,10 +140,6 @@ class Compacteonderdelen
$this->kleuren->grens2 = '80';
$this->kleuren->grens3 = '90';
$this->kleuren->grens4 = '100';
// $this->kleuren->kleur1 = '#fe2219';
// $this->kleuren->kleur2 = '#fea719';
// $this->kleuren->kleur3 = '#15d029';
// $this->kleuren->kleur4 = '#1558d0';
$this->kleuren->kleur1 = '#e08885';
$this->kleuren->kleur2 = '#ffcc80';
$this->kleuren->kleur3 = '#9fdf9f';
@@ -189,7 +185,7 @@ class Compacteonderdelen
private function setDiversiteit()
{
$divcompact = New Diversiteit($this->schooljaarnr, $this->CI->globorgid, $this->onderdeel['modulenr']);
$divcompact = New Diversiteit($this->schooljaarnr, $this->orgid, $this->onderdeel['modulenr']);
$divdata = $divcompact->getDiversiteit();
$divafbeelding = New Diversiteitafbeeldingen($divdata, $this->onderdeel['modulenr'], $this->schooljaarnr);
$this->diversiteit = $divafbeelding->getDiversiteitafbeeldingen();
@@ -213,7 +209,7 @@ class Compacteonderdelen
if($this->organisatie->soort == 4) {
$arrs = $this->CI->Arrangementen_model->getArrangementnamenSop($jaren, $this->CI->globorgid);
$arrs = $this->CI->Arrangementen_model->getArrangementnamenSop($jaren, $this->orgid);
if ($arrs) {
$kleuren = ['#ffcc80', '#ffb84d', '#ffa31a', '#e68a00', '#b36b00', '#804d00', '#4d2e00', '#ffe0b3', '#fff5e6'];
$index = 0;
@@ -284,7 +280,7 @@ class Compacteonderdelen
private function setUitgavetypen()
{
$this->jaarnummer = $this->CI->Kalenderjaren_model->get_fieldvalue(['naam' => $this->onderdeel['orgversieid']], 'jaarnr');
$this->uitgavetypen = $this->CI->Finbestemmingen_model->getUitgavenPerType($this->CI->globorgid, $this->jaarnummer);
$this->uitgavetypen = $this->CI->Finbestemmingen_model->getUitgavenPerType($this->orgid, $this->jaarnummer);
}
private function loopUitgavetypen()
@@ -320,12 +316,12 @@ class Compacteonderdelen
}
private function setTypeSom(){
$this->typesom = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->CI->globorgid, $this->jaarnummer);
$this->typesom = $this->CI->Finbestemmingen_model->getTotaalSchoolBestedingen($this->orgid, $this->jaarnummer);
$this->typesom = number_format(($this->typesom / 100), 0,',','.');
}
private function setSubsoorten(){
$this->subsoorten = $this->CI->Finbestemmingen_model->getUitgavenPerSubsoortSchool($this->CI->globorgid, $this->jaarnummer);
$this->subsoorten = $this->CI->Finbestemmingen_model->getUitgavenPerSubsoortSchool($this->orgid, $this->jaarnummer);
}
private function loopSubsoorten(){
@@ -405,13 +401,13 @@ class Compacteonderdelen
private function setLijsten(){
$this->ijkpunten = "";
$lijsten = new Lijsten($this->CI->globorgid, $this->selecties);
$lijsten = new Lijsten($this->orgid, $this->selecties);
$this->ijkpunten = $lijsten->getSopInfo();
}
private function setIJkpuntenGegevens(){
$this->data= "";
$this->data = $this->ijkpunten;
}
@@ -29,10 +29,11 @@ class Compacteversies
}
public function __construct( $schooljaarnr, $orgsoort)
public function __construct( $schooljaarnr, $orgid, $orgsoort)
{
$this->CI =& get_instance();
$this->schooljaarnr = $schooljaarnr;
$this->orgid = $orgid;
$this->orgsoortnr = $orgsoort;
$this->handle();
}
@@ -63,40 +64,39 @@ class Compacteversies
private function setOrglist(){
$lijst = [];
$orglist = $this->CI->Organisaties_model->getlistrecursief($this->CI->globorgid, $lijst);
$orglist = $this->CI->Organisaties_model->getlistrecursief($this->orgid, $lijst);
$orglist = implode('","', $orglist);
$this->orglist = '"'. $orglist .'"';
}
private function setSWVID(){
$this->organisatie =$this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid);
if ($this->organisatie) {
switch ($this->organisatie->soort) {
switch ($this->orgsoortnr) {
case "1":
$this->swvID = $this->organisatie->id;
$this->swvID = $this->orgid;
break;
case "2":
$this->swvID = $this->organisatie->valtonder_id;
$kamer = $this->CI->Organisaties_model->get_record_by_id($this->orgid);
$this->swvID = $kamer->valtonder_id;
break;
case "3" :
$kamer = $this->CI->Organisaties_model->get_record_by_id($this->organisatie->valtonder_id);
$bg = $this->CI->Organisaties_model->get_record_by_id($this->orgid);
$kamer = $this->CI->Organisaties_model->get_record_by_id($bg->valtonder_id);
$this->swvID = $kamer->valtonder_id;
break;
case "4":
$kamer = $this->CI->Organisaties_model->get_record_by_id($this->organisatie->valtonder_id);
$bestuur = $this->CI->Organisaties_model->get_record_by_id($kamer->valtonder_id);
$this->swvID = $bestuur->valtonder_id;
$school = $this->CI->Organisaties_model->get_record_by_id($this->orgid);
$bg = $this->CI->Organisaties_model->get_record_by_id($school->valtonder_id);
$kamer = $this->CI->Organisaties_model->get_record_by_id($bg->valtonder_id);
$this->swvID = $kamer->valtonder_id;
break;
}
}
else{
$this->swvID = null;
}
}
private function setCompactSopOnderdelen(){
$this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen( $this->organisatie->id, $this->organisatie->soort);
$this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen( $this->orgid);
}
private function loopCompactSop(){
@@ -30,7 +30,7 @@ class compactsoponderdelen_model extends MY_Model{
// return $this->get_query_result();
// }
function getOnderdelen($orgid, $soort){
function getOnderdelen($orgid){
$this->sql =" SELECT M.sysnr as modulenr, M.naam AS instrument, M.instrument_type AS type, COALESCE(C.naam, 'geen') AS cluster,
COALESCE(C.naam, 'aaaa') AS ordening, SOP.id,
SOP.sopnaam AS naam, SOP.blokjesnaam AS naamkort
@@ -42,6 +42,39 @@ class Organisaties_model extends MY_Model{
return $this->get_query_result();
}
function get_onderliggende_orgs($orgid)
{
$this->sql = " SELECT O.id, O.brin, O.naamkort, valtonder_id, soort
FROM tb_organisaties O
WHERE O.valtonder_id = {$orgid}
AND actief= 1
AND O.id <> {$orgid} ";
return $this->get_query_result();
}
function get_alle_onderliggende_orgs($orgid){
$this->sql=" SELECT O.id, O.brin, O.naamkort, O.valtonder_id, O.soort
FROM tb_organisaties O
WHERE O.actief= 1
AND (O.id = {$orgid} OR O.valtonder_id = {$orgid})
UNION
SELECT O2.id, O2.brin, O2.naamkort, O2.valtonder_id, O2.soort
FROM tb_organisaties O
LEFT JOIN tb_organisaties O2 ON O.id = O2.valtonder_id
WHERE O2.actief= 1
AND O.valtonder_id = {$orgid}
UNION
SELECT O3.id, O3.brin, O3.naamkort, O3.valtonder_id, O3.soort
FROM tb_organisaties O
LEFT JOIN tb_organisaties O2 ON O.id = O2.valtonder_id
LEFT JOIN tb_organisaties O3 ON O2.id = O3.valtonder_id
WHERE O3.actief = 1
AND O.valtonder_id = {$orgid}
ORDER BY naamkort ";
return $this->get_query_result();
}
function getScholen($bgID){
$this->sql ="SELECT O.id, brin, naam, naamkort, plaats,
(SELECT count(OU.id) FROM tb_orgusers OU WHERE OU.organisatie_id = O.id ) AS aantal,
@@ -9,16 +9,16 @@
event: {change: fGetCompactSop}" >
</select>
</td>
<!--ko if: orgsoortnummer < 4 -->
<td style="padding-left: 30px;">
<p>Selecteer een organisatie:</p>
<select data-bind=" options: schooljaren,
optionsText: 'naam',
value: $root.selectedSchooljaar,
<td style="padding-left: 30px;" data-bind="visible: toporgnr() != 4 ">
<p>Organisatie:</p>
<select data-bind=" options: organisaties,
optionsText: 'naamkort',
value: $root.selectedOrganisatie,
event: {change: fGetCompactSop}" >
</select>
</td>
<!--/ko -->
<td style="vertical-align: bottom; ">
<button class="buttonCompact"
@@ -11,9 +11,9 @@
</div>
<div class="modal-body">
<table style="width: 90%;" data-bind="foreach: $root.school">
<table style="width: 90%;" data-bind="with: $root.schoolasobsject">
<tr >
<td style="width: 20%" data-bind="text: $root.orgsoort() "></td>
<td style="width: 20%" data-bind="text: $root.orgsoort "></td>
<td style="width: 30%" data-bind="text: naam"></td>
<td style="width: 20%" >Adres</td>
<td style="width: 30%">
+58 -51
View File
@@ -79,7 +79,7 @@ mh.initCompactSopModel = function(){
if(this.type=="DIV") {
if (diversiteit) return this.versie
if (!diversiteit && (Number(this.modulenr) == 660 && Number(mh.CompactSopModel.selectedSchooljaar().id) > 8)
||!diversiteit && (Number(mh.CompactSopModel.orgsoortnummer()) < 4))
||!diversiteit && (Number(mh.CompactSopModel.selectedOrganisatie().soort) < 4))
return "De diversiteitsmeter " + schooljaar + " is niet ingevuld."
else
return "Vul eerst de diversiteitsmeter " + schooljaar + " in.";
@@ -111,7 +111,7 @@ mh.initCompactSopModel = function(){
return "Schooljaar " + this.omvangschooljaren()[0].schooljaarnaam + ', '+ tlvs + arr
}
if(this.omvangschooljaren().length == 0){
if(Number(mh.CompactSopModel.orgsoortnummer()) < 4) return "Er zijn geen gegevens ingevuld."
if(Number(mh.CompactSopModel.selectedOrganisatie().soort) < 4) return "Er zijn geen gegevens ingevuld."
else
return "Vul eerst gegevens bij dit instrument in."
}
@@ -122,7 +122,7 @@ mh.initCompactSopModel = function(){
if (this.orgversies().length > 1) return "Meerdere versies beschikbaar."
if (this.orgversies().length == 1) return this.naam;
if (this.orgversies().length == 0 && this.erZijnOrgVersies) {
if (Number(mh.CompactSopModel.orgsoortnummer()) < 4) return "Er zijn geen lijsten ingevuld."
if (Number(mh.CompactSopModel.selectedOrganisatie().soort) < 4) return "Er zijn geen lijsten ingevuld."
else return "Vul eerst een lijst bij dit instrument in."
}
if (!this.erZijnOrgVersies) return "Voor dit instrument is (nog) geen lijst beschikbaar."
@@ -267,11 +267,12 @@ mh.initCompactSopModel = function(){
onderdelen : ko.observableArray([]),
school : ko.observableArray([]),
selectedOmvangJaren : ko.observableArray([]),
orgsoort : ko.observable(''),
orgsoortnummer : ko.observable(),
label : ko.observable(''),
toporgnr : ko.observable(),
orgsoort : ko.observable(),
schoolasobject : ko.observable(),
selectedSchooljaar : ko.observable(''),
selectedOrganisatie : ko.observable(''),
selectedSopID : ko.observable(''),
selectedOnderdeel : ko.observable(''),
tobemovedOnderdeel : ko.observable(),
@@ -326,37 +327,26 @@ mh.initCompactSopModel = function(){
}
$.post("index.php/monpas/compactsop/getorgsoort", function (result){
if(result){
self.orgsoortnummer(result);
switch(result){
case '1': self.orgsoort('SWV');
self.label('SWOP');
break;
case '2': self.orgsoort('Regio');
self.label('ROP');
break;
case '3': self.orgsoort('Bestuur');
self.label('BOP');
break;
case '4': self.orgsoort('School');
self.label('SOP');
break;
}
self.toporgnr(result);
}
console.log(self.toporgnr())
self.druk(true);
self.initModel();
},'json');
},'json');
},
initModel: function(){
var self =mh.CompactSopModel;
self.fGetSchooljarenEnOrgs(function(){self.fGetCompactSop()})
},
fGetSchooljarenEnOrgs: function(callback){
var self =mh.CompactSopModel;
$.post("index.php/monpas/compactsop/getSchooljarenEnOrgs", function(data){
self.selectedSchooljaar(null)
self.selectedSchooljaar(null)
self.schooljaren.removeAll();
self.toonOnderdelen(true)
self.selectedOnderdelen.removeAll()
@@ -364,10 +354,12 @@ mh.initCompactSopModel = function(){
if(data) {
self.druk(true);
$.each(data, function (i, s) {
$.each(data.schooljaren, function (i, s) {
self.schooljaren.push(new fAddSchooljaar(s));
});//each
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
self.organisaties(data.organisaties);
self.selectedOrganisatie(self.organisaties()[0]);
} // if
self.druk(false);
if (typeof callback == "function") callback()
@@ -377,11 +369,37 @@ mh.initCompactSopModel = function(){
fGetCompactSop: function(){
var self =mh.CompactSopModel;
if (self.druk()) return;
if(self.selectedSchooljaar() === undefined){
if(self.selectedSchooljaar() === undefined || self.selectedOrganisatie === undefined){
return;
}
switch(self.selectedOrganisatie().soort){
case '1':
self.orgsoort("SWV")
self.label('SWOP');
break;
case '2':
self.orgsoort("regio")
self.label('ROP');
break;
case '3':
self.orgsoort("bestuur")
self.label('BOP');
break;
case '4':
self.orgsoort("school")
self.label('SOP');
break;
}
let sd = {
'schooljaarID' : self.selectedSchooljaar().id,
'orgID' : self.selectedOrganisatie().id
}
$.post("index.php/monpas/compactsop/getCompactsop/" + self.selectedSchooljaar().id, function(result){
$.post("index.php/monpas/compactsop/getCompactsop", sd, function(result){
self.onderdelen.removeAll();
self.selectedOnderdelen.removeAll()
self.paginas.removeAll();
@@ -401,17 +419,25 @@ mh.initCompactSopModel = function(){
fGetOnderdelenEnVersies: function(){
var self =mh.CompactSopModel;
var schooljaar = self.selectedSchooljaar().id;
self.toonOnderdelen(true);
self.selectedOnderdelen.removeAll();
self.paginas.removeAll();
let sd = {
schooljaarID : self.selectedSchooljaar().id,
orgID : self.selectedOrganisatie().id,
orgsoort : self.selectedOrganisatie().soort,
}
console.log(sd, "sd")
if(self.erIsEenSop()){
apprise("Het nieuwe Compact " + self.label() + " overschrijft het bestaande Compact " + self.label() + " bij dit schooljaar. Wilt u doorgaan?",
{verify: true, textYes: ' ja ', textNo: "nee"}, function (ans) {
if (ans) {
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies/" + schooljaar + "/" + self.orgsoortnummer() , function(result){
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies", sd, function(result){
self.onderdelen.removeAll();
if(result){
$.each(result, function(i, o){
@@ -424,11 +450,11 @@ mh.initCompactSopModel = function(){
} // if ans
});//apprise
} else {
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies/" + schooljaar + "/" + self.orgsoortnummer() , function(result){
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies", sd, function(result){
self.onderdelen.removeAll();
if(result){
$.each(result, function(i, o){
self.onderdelen.push(new fAddOnderdeel(i, o))
self.onderdelen.push(new fAddOnderdeel(i, o))
self.toonOnderdelen(true);
});
}
@@ -438,7 +464,7 @@ mh.initCompactSopModel = function(){
fGetOrganisatiegegevens: function(){
var self = mh.CompactSopModel;
$.post("index.php/monpas/compactsop/getOrganisatiegegevens", function (result) {
$.post("index.php/monpas/compactsop/getOrganisatiegegevens/" + self.selectedOrganisatie().id, function (result) {
if(result){
self.school.removeAll();
// hier kun je ook
@@ -467,7 +493,7 @@ mh.initCompactSopModel = function(){
'telefoon' : dit.foon(),
'email1' : dit.email(),
'web' : dit.site(),
'id' : dit.schoolid
'id' : self.selectedOrganisatie().id
};
// je mag ook een post doen zonder dat je resultaat terug verwacht van de server
// dan laat je result en de afsluitenden json weg
@@ -699,24 +725,6 @@ mh.initCompactSopModel = function(){
}
},
// fAllowDrop: function(data, event){
// var self = mh.CompactSopModel;
// event.stopPropagation();
// event.preventDefault();
// },
// fDragstart: function(data, event){
// var self = mh.CompactSopModel;
// var dit = this;
// data.dataTransfer.setData(event.naam, event.nummer);
// },
// fDrop: function(data, event){
// var self = mh.CompactSopModel;
// event.preventDefault();
// var data2 = event.dataTransfer.getData(event.naam, event.nummer);
// event.target.appendChild(document.getElementById(data2));
// },
fSelectVoorPlaatsing: function(){
var self = mh.CompactSopModel;
@@ -726,7 +734,6 @@ mh.initCompactSopModel = function(){
self.tobemovedOnderdeel(this)
}
},
fHiernaartoe: function(){
@@ -881,6 +888,7 @@ mh.initCompactSopModel = function(){
}
var submitData = {
'schooljaarnr' : self.selectedSchooljaar().id,
'orgID' : self.selectedOrganisatie().id,
'onderdelen' : sops,
'jaren' : self.selectedOmvangJaren(),
'paginas': self.paginas().length
@@ -892,7 +900,6 @@ mh.initCompactSopModel = function(){
$.post("index.php/monpas/compactsop/maakPDF/", submitData, function(result){
window.open('tmp/temp' + result + '.html');
console.log(result, "result pdf")
if(result){
self.erIsEenSop(true);
}