tussenstand

This commit is contained in:
2023-06-19 17:38:26 +02:00
parent f7adcfcc93
commit 0afb3a9263
5 changed files with 146 additions and 110 deletions
@@ -42,6 +42,13 @@ class Monfin2overzicht extends MY_Controller{
$basis = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"BASIS");
$extra = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"EXTRA");
// echo json_encode([
// 'basis' => $basis,
// 'extra' =>$extra
// ]);
//
// return;
$sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes);
$somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes);
$totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes);
@@ -291,12 +298,12 @@ class Monfin2overzicht extends MY_Controller{
$budgetsom = 0;
foreach($subsoort->uitgavetypes ? : [] as $uitgavetype){
if ($uitgavetype->bedrag){
$som += $uitgavetype->bedrag;
$som += isset($uitgavetype->bedrag) && floatval($uitgavetype->bedrag) > 0 ? floatval($uitgavetype->bedrag): 0;
$uitgavetype->bedrag = number_format($uitgavetype->bedrag,0,',','.');
}
if ($uitgavetype->budget){
$budgetsom += $uitgavetype->budget;
$uitgavetype->budget = number_format($uitgavetype->budget,0,',','.');
$budgetsom += is_numeric($uitgavetype->budget) ? $uitgavetype->budget: 0;
$uitgavetype->budget =is_numeric($uitgavetype->budget) ? number_format($uitgavetype->budget,0,',','.'): '0,00';
}
}
$subsoort->uitgavetypes[3]= new stdClass;
@@ -371,50 +378,48 @@ class Monfin2overzicht extends MY_Controller{
return $somtot;
}
function get_som_per_uitgavetype($basis,$uitgavetypes){
$sombasis = [];
if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype) {
$sombasis[$uitgavetype->code] = new stdClass;
$sombasis[$uitgavetype->code]->naam = $uitgavetype->naam;
$sombasis[$uitgavetype->code]->som = 0;
$sombasis[$uitgavetype->code]->budgetsom = 0;
function get_som_per_uitgavetype($basis,$uitgavetypes){
$sombasis = [];
if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){
$sombasis[$uitgavetype->code]= new stdClass;
$sombasis[$uitgavetype->code]->naam= $uitgavetype->naam;
$sombasis[$uitgavetype->code]->som=0;
$sombasis[$uitgavetype->code]->budgetsom =0;
foreach ($basis ? $basis : [] as $soort) {
foreach ($soort->subsoorten ? $soort->subsoorten : [] as $subsoort) {
foreach ($subsoort->uitgavetypes ? $subsoort->uitgavetypes : [] as $uitgavetype) {
$sombasis[$uitgavetype->code]->som += ($uitgavetype->bedrag ?: 0);
$sombasis[$uitgavetype->code]->budgetsom += ($uitgavetype->budget ?: 0);
} //foreach
}//foreach subsoort
}//foreach basis
}
} // if uitgavetypes
$somasarray=[];
$index = 0;
$regelsom=0;
$regelsom2 = 0;
foreach($uitgavetypes as $uitgavetype){
$somasarray[$index ] = new stdClass;
$somasarray[$index]->code = $uitgavetype->code;
$somasarray[$index]->naam = $sombasis[$uitgavetype->code]->naam;
$somasarray[$index ]->som = round($sombasis[$uitgavetype->code]->som,0);
$somasarray[$index ]->budgetsom = round($sombasis[$uitgavetype->code]->budgetsom,0);
$index += 1;
};
$regelsom = $somasarray[0]->som;
$regelsom2 = $somasarray[0 ]->budgetsom;
$somasarray[$index] = new stdClass;
$somasarray[$index]->code ="REGELSOM";
$somasarray[$index]->naam = "Som";
$somasarray[$index]->som = $regelsom;
foreach($basis ? $basis : [] as $soort){
foreach ($soort->subsoorten ? $soort->subsoorten : [] as $subsoort){
foreach($subsoort->uitgavetypes ? $subsoort->uitgavetypes :[] as $kostenpost) {
$sombasis[$uitgavetype->code]->som += is_numeric($kostenpost->bedrag)? floatval($kostenpost->bedrag): 0;
$sombasis[$uitgavetype->code]->budgetsom += is_numeric($kostenpost->budget) ? floatval($kostenpost->budget): 0;
} //foreach
}//foreach subsoort
}//foreach basis
} // if uitgavetypes
$somasarray=[];
$index = 0;
$regelsom=0;
$regelsom2 = 0;
foreach($uitgavetypes as $uitgavetype){
$somasarray[$index ] = new stdClass;
$somasarray[$index]->code = $uitgavetype->code;
$somasarray[$index]->naam = $sombasis[$uitgavetype->code]->naam;
$somasarray[$index ]->som = round($sombasis[$uitgavetype->code]->som,0);
$somasarray[$index ]->budgetsom = round($sombasis[$uitgavetype->code]->budgetsom,0);
$regelsom += $somasarray[$index ]->som;
$regelsom2 += $somasarray[$index ]->budgetsom;
$index += 1;
};
$somasarray[$index] = new stdClass;
$somasarray[$index]->code ="REGELSOM";
$somasarray[$index]->naam = "Som";
$somasarray[$index]->som = $regelsom;
$somasarray[$index]->budgetsom = $regelsom2;
return $somasarray;
}
return $somasarray;
}
function getbestuursbedragen(){
$targetorgid = $this->clean_input('orgid');