totaalbudget overal meetellen, deelbudgetten niet

This commit is contained in:
2024-03-04 13:31:09 +01:00
parent 66ab033e6b
commit 6172a2932b
4 changed files with 89 additions and 22 deletions
@@ -452,13 +452,18 @@ class Monfin2overzicht extends MY_Controller{
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid); $targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
$targetorg->bestemmingen = $this->get_bestuur_bestemmingen($targetorgid, $kalenderjaarnr); $targetorg->bestemmingen = $this->get_bestuur_bestemmingen($targetorgid, $kalenderjaarnr);
$targetorg->budgetten = $this->getbudgetten($targetorgid, $kalenderjaarnr,$targetorg->bestemmingen['som']); $targetorg->budgetten = $this->get_bestuur_gebudget($targetorgid, $kalenderjaarnr);
$verschil = $targetorg->budgetten['som']-$targetorg->bestemmingen['som'];
$targetorg->verschil = number_format($verschil,0 , ',' , '.');
$grandtot->basis = $targetorg->bestemmingen['basis']; $grandtot->basis = $targetorg->bestemmingen['basis'];
$grandtot->extra = $targetorg->bestemmingen['extra']; $grandtot->extra = $targetorg->bestemmingen['extra'];
$grandtot->som = $targetorg->bestemmingen['som']; $grandtot->som = $targetorg->bestemmingen['som'];
$grandtot->budget = $targetorg->budgetten->totaal; $grandtot->budgetbasis = $targetorg->budgetten['basis'];
$grandtot->verschil = $targetorg->budgetten->verschil; $grandtot->budgetextra = $targetorg->budgetten['extra'];
$grandtot->budget = $targetorg->budgetten['som'];
$grandtot->verschil = $targetorg->budgetten['som'] - $targetorg->bestemmingen['som'];
//get de som van de uitgaven van de onderliggende organisaties //get de som van de uitgaven van de onderliggende organisaties
$soort = $targetorg->soort +1; $soort = $targetorg->soort +1;
@@ -472,8 +477,9 @@ class Monfin2overzicht extends MY_Controller{
$others[$index]->naam = $organisatie->brin.'-'.$organisatie->naamkort; $others[$index]->naam = $organisatie->brin.'-'.$organisatie->naamkort;
$others[$index]->id = $organisatie->id; $others[$index]->id = $organisatie->id;
$others[$index]->budget = $this->get_budgetten_inclusief($orgids, $kalenderjaarnr); $others[$index]->budget = $this->get_budgetten_inclusief($orgids, $kalenderjaarnr);
$others[$index]->gebudget = $this->Finbestemmingen_model->get_gebudgeteerd_totbedrag_over_orgs($orgids, $kalenderjaarnr); $gebudget = $this->Finbestemmingen_model->get_gebudgeteerd_totbedrag_over_orgs($orgids, $kalenderjaarnr);
$others[$index]->gebudgetForm = number_format($others[$index]->gebudget,0 , ',' , '.'); $others[$index]->gebudget = floatval($gebudget);
$others[$index]->gebudgetForm = number_format($others[$index]->gebudget,0 , ',' , '.');
$others[$index]->bestemmingen = $this->get_bestemmingen_inclusief($orgids, $kalenderjaarnr); $others[$index]->bestemmingen = $this->get_bestemmingen_inclusief($orgids, $kalenderjaarnr);
$others[$index]->verschil = $others[$index]->budget->totaal - $others[$index]->bestemmingen->som; $others[$index]->verschil = $others[$index]->budget->totaal - $others[$index]->bestemmingen->som;
$others[$index]->verschilGeb = $others[$index]->gebudget - $others[$index]->bestemmingen->som; $others[$index]->verschilGeb = $others[$index]->gebudget - $others[$index]->bestemmingen->som;
@@ -497,10 +503,10 @@ class Monfin2overzicht extends MY_Controller{
$index += 1; $index += 1;
} }
} }
$targetorg->budgetten->basis = number_format($targetorg->budgetten->basis, 0, ',' , '.'); // $targetorg->budgetten->basis = number_format($targetorg->budgetten->basis, 0, ',' , '.');
$targetorg->budgetten->extra = number_format($targetorg->budgetten->extra, 0, ',' , '.'); // $targetorg->budgetten->extra = number_format($targetorg->budgetten->extra, 0, ',' , '.');
$targetorg->budgetten->totaal = number_format($targetorg->budgetten->totaal, 0, ',' , '.'); // $targetorg->budgetten->totaal = number_format($targetorg->budgetten->totaal, 0, ',' , '.');
$targetorg->budgetten->verschil = number_format($targetorg->budgetten->verschil,0, ',' , '.'); // $targetorg->budgetten->verschil = number_format($targetorg->budgetten->verschil,0, ',' , '.');
$subtot->basis = number_format($subtot->basis,0 , ',' , '.'); $subtot->basis = number_format($subtot->basis,0 , ',' , '.');
$subtot->extra = number_format($subtot->extra,0 , ',' , '.'); $subtot->extra = number_format($subtot->extra,0 , ',' , '.');
@@ -514,7 +520,7 @@ class Monfin2overzicht extends MY_Controller{
$grandtot->extra = number_format($grandtot->extra,0 , ',' , '.'); $grandtot->extra = number_format($grandtot->extra,0 , ',' , '.');
$grandtot->som = number_format($grandtot->som,0 , ',' , '.'); $grandtot->som = number_format($grandtot->som,0 , ',' , '.');
$grandtot->budget = number_format($grandtot->budget,0 , ',' , '.'); $grandtot->budget = number_format($grandtot->budget,0 , ',' , '.');
$grandtot->gebudget = number_format($grandtot->gebudget,0 , ',' , '.'); // $grandtot->gebudget = number_format($grandtot->gebudget,0 , ',' , '.');
$grandtot->verschil = number_format($grandtot->verschil,0 , ',' , '.'); $grandtot->verschil = number_format($grandtot->verschil,0 , ',' , '.');
$grandtot->verschilGeb = number_format($grandtot->verschilGeb,0 , ',' , '.'); $grandtot->verschilGeb = number_format($grandtot->verschilGeb,0 , ',' , '.');
// $result = $this->get_orgs_bestemmingen($orgids, $kalenderjaarnr); // $result = $this->get_orgs_bestemmingen($orgids, $kalenderjaarnr);
@@ -629,6 +635,51 @@ class Monfin2overzicht extends MY_Controller{
return $orgbestedingen; return $orgbestedingen;
} }
private function get_bestuur_gebudget($orgid, $kalenderjaarnr){
$orggebudget = array();
$orggebudget['basis'] =0;
$orggebudget['formBasis'] ='' ;
$orggebudget['extra'] =0;
$orggebudget['formExtra'] = '';
$orggebudget['som'] =0;
$gebudgetOrgZelf = $this->Finbestemmingen_model->getbudgetpersoortoverorgs($orgid, $kalenderjaarnr);
$soort = $this->Organisaties_model->get_fieldvalue(['id' => $orgid], 'soort');
if ($gebudgetOrgZelf){
foreach($gebudgetOrgZelf as $gebudget){
switch ($gebudget->categorie){
// 25 sept tijdelijk oplossing, uiteindelijk wijzigen in eigen budget en uitgaven en uitgaven voor onder orgs
case "BASIS":
// $orgbestedingen['basis'] = $besteding->bedrag;
// $orgbestedingen['basis'] = $besteding->bedrag;
$orggebudget['basis'] = intval($soort)== 3 ?$gebudget->budget: 0;
// $orgbestedingen['formBasis'] = number_format($besteding->bedrag,0, ',' , '.' );
$orggebudget['formBasis'] = intval($soort)== 3? number_format($gebudget->budget,0, ',' , '.' ): 0;
break;
case "EXTRA":
// $orgbestedingen['extra'] = $besteding->bedrag;
// $orgbestedingen['formExtra'] = number_format($besteding->bedrag,0, ',' , '.' );
$orggebudget['extra'] = intval($soort)== 3 ?$gebudget->budget: 0;
$orggebudget['formExtra'] = intval($soort)== 3? number_format($gebudget->budget,0, ',' , '.' ): 0;
break;
};// switch
$orggebudget['som'] += $gebudget->budget;
}; // foreach bestedingen
} ; // if bestedingen
$orggebudget['formSom']=number_format($orggebudget['som'] ,0, ',' , '.' );
return $orggebudget;
}
private function getbudgetten($orgid, $kalenderjaarnr, $som){ private function getbudgetten($orgid, $kalenderjaarnr, $som){
$budgetten =$this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr); $budgetten =$this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr);
if (!$budgetten){ if (!$budgetten){
@@ -239,9 +239,9 @@ class Finbestemmingen_model extends MY_Model{
WHERE B.organisatie_id in ({$orglist}) WHERE B.organisatie_id in ({$orglist})
AND B.kalenderjaar = {$jaarnr } AND B.kalenderjaar = {$jaarnr }
AND B.uitgavetype = 'TOTAAL' "; AND B.uitgavetype = 'TOTAAL' ";
$row= $this->get_query_row(); $this->get_query_row();
if ($row) $row->budget = str_replace(',' , '' , $row->budget);
return $row->budget; return $this->get_query_row('budget');
@@ -278,10 +278,24 @@ class Finbestemmingen_model extends MY_Model{
JOIN finsoorten FS on FS.id = FSS.finsoort_id JOIN finsoorten FS on FS.id = FSS.finsoort_id
WHERE FB.organisatie_id in ({$orgids}) WHERE FB.organisatie_id in ({$orgids})
AND FB.kalenderjaar = {$jaarnr} AND FB.kalenderjaar = {$jaarnr}
AND FB.uitgavetype <> 'TOTAAL' AND FB.uitgavetype = 'TOTAAL'
GROUP BY categorie, organisatie_id"; GROUP BY categorie, organisatie_id";
return $this->get_query_result(); return $this->get_query_result();
} }
function getbudgetpersoortoverorgs($orgids, $jaarnr){
$this->sql ="SELECT categorie,
round(sum(budget/100) ) AS budget
FROM finbestemmingen FB
JOIN finsubsoorten FSS on FSS.id = FB.subsoort_id
JOIN finsoorten FS on FS.id = FSS.finsoort_id
WHERE FB.organisatie_id in ({$orgids})
AND FB.kalenderjaar = {$jaarnr}
AND FB.uitgavetype = 'TOTAAL'
GROUP BY categorie, organisatie_id";
return $this->get_query_result();
}
function getsompersoortoverorgsSummed($orgids, $jaarnr, $cat){ function getsompersoortoverorgsSummed($orgids, $jaarnr, $cat){
$this->sql ="SELECT sum(bedrag) / 100 AS bedrag $this->sql ="SELECT sum(bedrag) / 100 AS bedrag
FROM finbestemmingen FB FROM finbestemmingen FB
@@ -289,7 +303,7 @@ class Finbestemmingen_model extends MY_Model{
JOIN finsoorten FS on FS.id = FSS.finsoort_id JOIN finsoorten FS on FS.id = FSS.finsoort_id
WHERE FB.organisatie_id in ({$orgids}) WHERE FB.organisatie_id in ({$orgids})
AND FB.kalenderjaar = {$jaarnr} AND FB.kalenderjaar = {$jaarnr}
AND FB.uitgavetype <> 'TOTAAL' AND FB.uitgavetype = 'TOTAAL'
AND FS.categorie = '{$cat}' AND FS.categorie = '{$cat}'
GROUP BY categorie"; GROUP BY categorie";
return $this->get_query_row('bedrag'); return $this->get_query_row('bedrag');
@@ -35,8 +35,8 @@
<td style="text-align:right; " data-bind="text: soort == 3 ?bestemmingen.formBasis : '' "></td> <td style="text-align:right; " data-bind="text: soort == 3 ?bestemmingen.formBasis : '' "></td>
<td style="text-align:right;" data-bind="text: soort == 3 ? bestemmingen.formExtra: '' "></td> <td style="text-align:right;" data-bind="text: soort == 3 ? bestemmingen.formExtra: '' "></td>
<td style="border-left:1px solid #777777;text-align:right;" data-bind="text: soort == 3 ? bestemmingen.formSom: '' "></td> <td style="border-left:1px solid #777777;text-align:right;" data-bind="text: soort == 3 ? bestemmingen.formSom: '' "></td>
<td style="text-align:right;" data-bind="text: soort == 3 ? $root.grandTot().gebudget: ''"></td> <td style="text-align:right;" data-bind="text: soort == 3 ? budgetten.formSom: ''"></td>
<td style="text-align:right; " data-bind="text: soort == 3 ? budgetten.verschil: ''"></td> <td style="text-align:right; " data-bind="text: soort == 3 ? verschil: ''"></td>
</tr> </tr>
@@ -49,8 +49,8 @@
<td style="text-align:right; " data-bind="text: grandTot() ? grandTot().basis: '' "></td> <td style="text-align:right; " data-bind="text: grandTot() ? grandTot().basis: '' "></td>
<td style="text-align:right;" data-bind="text: grandTot() ? grandTot().extra: ''"></td> <td style="text-align:right;" data-bind="text: grandTot() ? grandTot().extra: ''"></td>
<td style="border-left:1px solid #777777;text-align:right; " data-bind="text: grandTot() ? grandTot().som : '' "></td> <td style="border-left:1px solid #777777;text-align:right; " data-bind="text: grandTot() ? grandTot().som : '' "></td>
<td style="text-align:right;" data-bind="text: grandTot() ? grandTot().gebudget : '' "></td> <td style="text-align:right;" data-bind="text: grandTot() ? grandTot().budget : '' "></td>
<td style="text-align:right; " data-bind="text: grandTot() ? grandTot().verschilGeb: ''"></td> <td style="text-align:right; " data-bind="text: grandTot() ? grandTot().verschil: ''"></td>
</tr> </tr>
<!-- /ko --> <!-- /ko -->
@@ -57,7 +57,7 @@ ls.initMonfinOverzicht2Model = function(){
subTot : ko.observable(), subTot : ko.observable(),
grandTot : ko.observable(), grandTot : ko.observable(),
//schoolbedragen : ko.observableArray([]), //schoolbedragen : ko.observableArray([]),
schooltotaal : ko.observable(''), schooltotaal : ko.observable(''),
kalenderjaren : ko.observableArray(), kalenderjaren : ko.observableArray(),
selectedKalenderjaar : ko.observable(), selectedKalenderjaar : ko.observable(),
zelfjanee : ko.observable('1'), zelfjanee : ko.observable('1'),
@@ -120,6 +120,7 @@ ls.initMonfinOverzicht2Model = function(){
var sd={orgid : self.selectedOrg().id, var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr} jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragen", sd, function(result){ $.post("index.php/monfin2/monfin2overzicht/getschoolbedragen", sd, function(result){
console.log('schoolbedragen')
self.schooltotaal( result.schooltotaal) ; self.schooltotaal( result.schooltotaal) ;
self.uitgavetypes(result.uitgavetypes); self.uitgavetypes(result.uitgavetypes);
@@ -150,6 +151,7 @@ ls.initMonfinOverzicht2Model = function(){
var sd={orgid : self.selectedOrg().id, var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr} jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/monfin2overzicht/getbestuursbedragen", sd, function(result){ $.post("index.php/monfin2/monfin2overzicht/getbestuursbedragen", sd, function(result){
console.log('bestuursbedragen')
self.otherOrgs.removeAll(); self.otherOrgs.removeAll();
self.otherOrgs(result.others); self.otherOrgs(result.others);
self.subTot(result.subtot); self.subTot(result.subtot);
@@ -165,7 +167,7 @@ ls.initMonfinOverzicht2Model = function(){
jaarnr : self.selectedKalenderjaar().jaarnr, jaarnr : self.selectedKalenderjaar().jaarnr,
zelfjanee : self.zelfjanee()} zelfjanee : self.zelfjanee()}
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragenNieuw", sd, function(result){ $.post("index.php/monfin2/monfin2overzicht/getschoolbedragenNieuw", sd, function(result){
console.log('schoolbedragenNieuw')
self.schooltotaal( result.schooltotaal) ; self.schooltotaal( result.schooltotaal) ;
self.uitgavetypes(result.uitgavetypes); self.uitgavetypes(result.uitgavetypes);
@@ -192,7 +194,7 @@ ls.initMonfinOverzicht2Model = function(){
var sd={orgid : self.selectedOrg().id, var sd={orgid : self.selectedOrg().id,
jaarnr : self.selectedKalenderjaar().jaarnr} jaarnr : self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/monfin2overzicht/getbestuurperuitgavetype", sd, function(result){ $.post("index.php/monfin2/monfin2overzicht/getbestuurperuitgavetype", sd, function(result){
console.log('bestuur per uitgavetype')
self.pmsTargetOrg(result.targetorg); self.pmsTargetOrg(result.targetorg);
self.otherPMSOrgs(result.otherorgs); self.otherPMSOrgs(result.otherorgs);
self.sumotherPMS(result.sumother); self.sumotherPMS(result.sumother);