295 lines
9.5 KiB
JavaScript
295 lines
9.5 KiB
JavaScript
$(function(){
|
|
|
|
ls.initMonfinOverzicht2Model = function(){
|
|
|
|
function fAddOrg(p, targetid){
|
|
var dit = this;
|
|
this.geopend = ko.observable(true);
|
|
|
|
this.id = p.id
|
|
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
|
|
|
|
this.fnaam = p.brin + ' - ' + p.naamkort;
|
|
this.soort = p.soort
|
|
this.suborgs = ko.observableArray([]);
|
|
if (p.kamers){
|
|
$.each(p.kamers, function(j,k){
|
|
dit.suborgs.push(new fAddOrg(k,targetid));
|
|
});
|
|
}
|
|
if (p.bgs){
|
|
$.each(p.bgs, function(j,k){
|
|
dit.suborgs.push(new fAddOrg(k,targetid));
|
|
});
|
|
}
|
|
if (p.scholen){
|
|
$.each(p.scholen, function(j,k){
|
|
dit.suborgs.push(new fAddOrg(k,targetid));
|
|
});
|
|
}
|
|
if (p.id == targetid){
|
|
ls.MonfinOverzicht2Model.selectedOrg(this);
|
|
}
|
|
}
|
|
|
|
function fAddKalenderjaar(p){
|
|
this.jaarnr = p.jaarnr;
|
|
this.naam = p.naam;
|
|
}
|
|
|
|
|
|
|
|
if (ls.MonfinOverzicht2Model !== undefined){
|
|
ls.MonfinOverzicht2Model.initModel();
|
|
}
|
|
else {
|
|
ls.MonfinOverzicht2Model = {
|
|
|
|
orgs : ko.observableArray(),
|
|
selectedOrg : ko.observable(),
|
|
targetOrg : ko.observable(),
|
|
otherOrgs : ko.observableArray(),
|
|
pmsTargetOrg : ko.observable(),
|
|
otherPMSOrgs : ko.observableArray(),
|
|
sumotherPMS : ko.observableArray(),
|
|
sumtotPMS : ko.observableArray(),
|
|
|
|
subTot : ko.observable(),
|
|
grandTot : ko.observable(),
|
|
//schoolbedragen : ko.observableArray([]),
|
|
schooltotaal : ko.observable(''),
|
|
kalenderjaren : ko.observableArray(),
|
|
selectedKalenderjaar : ko.observable(),
|
|
zelfjanee : ko.observable('1'),
|
|
opmerking : ko.observable(),
|
|
|
|
uitgavetypes : ko.observableArray(),
|
|
basis : ko.observableArray(),
|
|
extra : ko.observableArray(),
|
|
sombasisperuitgavetype : ko.observableArray(),
|
|
somextraperuitgavetype : ko.observableArray(),
|
|
totsomperuitgavetype : ko.observableArray(),
|
|
basisgeopend : ko.observable(false),
|
|
extrageopend : ko.observable(false),
|
|
budgetten : ko.observableArray(),
|
|
selectedSubsoort : ko.observable(),
|
|
|
|
totsombudget : ko.observable(),
|
|
totuitgavenpct : ko.observable('0,0'),
|
|
initBindings :function(){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
if (!ko.dataFor(document.getElementById('pagmonfinoverzicht2')) ) {
|
|
ko.applyBindings(ls.MonfinOverzicht2Model, document.getElementById("pagmonfinoverzicht2"));
|
|
}
|
|
$.post("index.php/monpas/monfinoverzicht/getkalenderjaren", function(data){
|
|
self.kalenderjaren.removeAll();
|
|
if (data){
|
|
$.each(data, function(j,k){
|
|
self.kalenderjaren.push(new fAddKalenderjaar(k));
|
|
}); // each
|
|
let datum = new Date();
|
|
let maand = datum.getMonth()
|
|
if(maand < 5)self.selectedKalenderjaar(self.kalenderjaren()[1]);
|
|
else self.selectedKalenderjaar(self.kalenderjaren()[0]);
|
|
}
|
|
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
|
|
self.orgs.removeAll();
|
|
|
|
if (result.structuur) {
|
|
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
|
|
};
|
|
if (self.selectedOrg()) {self.fGetBedragen();}
|
|
},'json');
|
|
},'json'); //getkalenderjaren
|
|
|
|
},
|
|
initModel: function(){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
self.fGetBedragen();
|
|
|
|
},
|
|
|
|
fGetBedragen: function(){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
if (!self.selectedOrg() || !self.selectedKalenderjaar()) return;
|
|
|
|
|
|
if (self.selectedOrg().soort == 4) { self.zelfjanee('1');};
|
|
|
|
if (self.zelfjanee()==1 || self.selectedOrg().soort==4){
|
|
var sd={orgid : self.selectedOrg().id,
|
|
jaarnr : self.selectedKalenderjaar().jaarnr}
|
|
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragen", sd, function(result){
|
|
self.schooltotaal( result.schooltotaal) ;
|
|
self.uitgavetypes(result.uitgavetypes);
|
|
|
|
|
|
|
|
|
|
self.basis(result.basis);
|
|
self.extra(result.extra);
|
|
self.sombasisperuitgavetype(result.sombasisperuitgavetype);
|
|
self.somextraperuitgavetype(result.somextraperuitgavetype);
|
|
self.totsomperuitgavetype(result.totsomperuitgavetype);
|
|
|
|
self.totuitgavenpct('0,0')
|
|
self.budgetten(result.budgetten);
|
|
if(self.budgetten()){
|
|
if((self.budgetten().basisbedragpct
|
|
&& self.budgetten().basisbedragpct !== '0,0' )||
|
|
(self.budgetten().extrabedragpct && self.budgetten().extrabedragpct !== '0,0')){
|
|
self.totuitgavenpct('100,0')
|
|
}
|
|
}
|
|
|
|
|
|
self.totsombudget()
|
|
self.opmerking(result.opmerking);
|
|
},'json');
|
|
} // if zelfjanee = true
|
|
|
|
else{
|
|
if (self.zelfjanee() == 0 ){
|
|
var sd={orgid : self.selectedOrg().id,
|
|
jaarnr : self.selectedKalenderjaar().jaarnr}
|
|
$.post("index.php/monfin2/monfin2overzicht/getbestuursbedragen", sd, function(result){
|
|
|
|
self.otherOrgs.removeAll();
|
|
self.otherOrgs(result.others);
|
|
self.subTot(result.subtot);
|
|
self.grandTot(result.grandtot);
|
|
self.targetOrg(result.targetorg);
|
|
|
|
|
|
},'json');
|
|
} else if ( self.zelfjanee() ==3){
|
|
var sd={orgid : self.selectedOrg().id,
|
|
jaarnr : self.selectedKalenderjaar().jaarnr,
|
|
zelfjanee : self.zelfjanee()}
|
|
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragenNieuw", sd, function(result){
|
|
|
|
self.schooltotaal( result.schooltotaal) ;
|
|
self.uitgavetypes(result.uitgavetypes);
|
|
|
|
self.basis(result.basis);
|
|
self.extra(result.extra);
|
|
self.sombasisperuitgavetype(result.sombasisperuitgavetype);
|
|
self.somextraperuitgavetype(result.somextraperuitgavetype);
|
|
self.totsomperuitgavetype(result.totsomperuitgavetype);
|
|
|
|
|
|
|
|
self.totuitgavenpct('0,0')
|
|
self.budgetten(result.budgetten);
|
|
if(self.budgetten()){
|
|
if((self.budgetten().basisbedragpct && self.budgetten().basisbedragpct !== '0,0' )||
|
|
(self.budgetten().extrabedragpct && self.budgetten().extrabedragpct !== '0,0')){
|
|
self.totuitgavenpct('100,0')
|
|
}
|
|
}
|
|
|
|
self.opmerking(result.opmerking);
|
|
},'json');
|
|
} else {
|
|
var sd={orgid : self.selectedOrg().id,
|
|
jaarnr : self.selectedKalenderjaar().jaarnr}
|
|
$.post("index.php/monfin2/monfin2overzicht/getbestuurperuitgavetype", sd, function(result){
|
|
self.pmsTargetOrg(result.targetorg);
|
|
self.otherPMSOrgs(result.otherorgs);
|
|
self.sumotherPMS(result.sumother);
|
|
self.sumtotPMS(result.sumtot);
|
|
},'json');
|
|
|
|
}
|
|
|
|
}
|
|
return true;
|
|
},
|
|
fMaakPDF : function(){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
var data = {html : $("#finoverzichtpage").html(),
|
|
jaar : self.selectedKalenderjaar().naam,
|
|
org : self.selectedOrg().fnaam,
|
|
soort : self.zelfjanee()}
|
|
data=JSON.stringify(data);
|
|
var $form = $("<form method='post' action='index.php/monfin2/monfin2overzicht/PdfFinancien' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
|
$form.appendTo("body").submit();
|
|
},
|
|
|
|
fToggle: function(wat){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
switch (wat){
|
|
case "BASIS" : self.basisgeopend(! self.basisgeopend()); break;
|
|
case "EXTRA" : self.extrageopend(! self.extrageopend()); break;
|
|
}
|
|
},
|
|
|
|
fToelichting: function(waarop){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
var message = '';
|
|
switch(waarop){
|
|
case 'KOSTEN' : message = 'Uitgaven afgerond op hele euros.';
|
|
break;
|
|
case 'SOM' : message = 'Totale uitgaven afgerond op hele euros.';
|
|
break;
|
|
case 'BUDGET' : message = 'Budget afgerond op hele euros. Klik op i in de regel voor een uitsplitsing van het budget.';
|
|
break;
|
|
case 'VERSCHIL' : message = 'Het verschil tussen het budget en de uitgaven afgerond op hele euros.';
|
|
break;
|
|
case '%BUDGET' : message = 'Het gebudgetteerde bedrag als percentage van het totale budget.';
|
|
break;
|
|
case '%UITGAVEN' : message = 'Uitgaven als percentage van de totale uitgaven.';
|
|
break;
|
|
|
|
}
|
|
apprise(message);
|
|
},
|
|
|
|
fToggleOrg :function(){
|
|
this.geopend(!this.geopend());
|
|
},
|
|
fSetSelected: function(){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
self.selectedOrg(this);
|
|
self.fGetBedragen()
|
|
},
|
|
fOpenDetails: function(niveau){
|
|
var self = ls.MonfinOverzicht2Model;
|
|
self.selectedSubsoort('');
|
|
switch(niveau){
|
|
case 'BASIS' : self.selectedSubsoort(
|
|
|
|
{
|
|
'naam' : 'Basisondersteuning gebudgetteerd',
|
|
'uitgavetypes' : self.sombasisperuitgavetype()
|
|
});
|
|
break;
|
|
case 'DETAIL': self.selectedSubsoort(this);
|
|
break;
|
|
case 'EXTRA': self.selectedSubsoort(
|
|
{'naam' : 'Extra ondersteuning gebudgetteerd',
|
|
'uitgavetypes' : self.somextraperuitgavetype()
|
|
});
|
|
break;
|
|
case 'TOTAAL': self.selectedSubsoort(
|
|
{'naam' : 'Totaal gebudgetteerd',
|
|
'uitgavetypes' : self.totsomperuitgavetype()
|
|
});
|
|
break;
|
|
}
|
|
|
|
$("#modFindetails").modal('show');
|
|
},
|
|
|
|
fShowComment: function(){
|
|
// var self = ls.MonfinOverzicht2Model;
|
|
// apprise('Het eerste getal is het percentage van de gebudgetteerde interventie ten opzichte van het totaal gebedugetteerde bedrag. ' +
|
|
// 'Het tweede getal is het percentage van de gebudgetteerde interventie in verhouding tot het totaalbudget.');
|
|
},
|
|
|
|
|
|
} ; // definition van model
|
|
ls.MonfinOverzicht2Model.initBindings();
|
|
}; // elses
|
|
}// function initMonfinOverzicht2Model
|
|
}); |