diff --git a/application/controllers/monfin2/Monfin2overzicht.php b/application/controllers/monfin2/Monfin2overzicht.php index df54fd9..613e563 100644 --- a/application/controllers/monfin2/Monfin2overzicht.php +++ b/application/controllers/monfin2/Monfin2overzicht.php @@ -38,8 +38,6 @@ class Monfin2overzicht extends MY_Controller{ $budgetten->totaal = 0; $budgetten->basis = 0; $budgetten->extra = 0; - - } $basis = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"BASIS"); $extra = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"EXTRA"); @@ -50,7 +48,6 @@ class Monfin2overzicht extends MY_Controller{ $totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG'); $totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET'); - $sommen = $this->get_som_regel($basis, $budgetten->basis); $basis = $sommen['soorten']; $sombudgetpct = $sommen['sombudgetpct']; @@ -268,21 +265,21 @@ class Monfin2overzicht extends MY_Controller{ 'budgetten' => $budgetten, 'opmerking' => $opmerking)); } - function sommeeralles($totsomperuitgavetype, $soort){ + function sommeeralles($totsomperuitgavetype, $soort) + { - $totsom =0; - if ($totsomperuitgavetype){ - foreach($totsomperuitgavetype as $som){ - $waarde = $som->som; - if($soort == 'BUDGET') $waarde = $som->budgetsom; - if ($som->code != "REGELSOM"){ - $totsom += $waarde; - } - } - } - return $totsom; - } - + $totsom = 0; + if ($totsomperuitgavetype) { + foreach ($totsomperuitgavetype as $som) { + if ($som->code == 'TOTAAL') { + if ($soort == 'BUDGET') $totsom += $som->budgetsom; + else $totsom += $som->som; + + } + } + return $totsom; + } + } function get_som_regel($soorten, $budget ){ $somgebudgetpct = 0; $sombudgetpct = 0; @@ -377,22 +374,23 @@ class Monfin2overzicht extends MY_Controller{ 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($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; - $sombasis[$uitgavetype->code]->budgetsom += $uitgavetype->budget; - } //foreach - }//foreach subsoort - }//foreach basis + 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; @@ -404,10 +402,11 @@ class Monfin2overzicht extends MY_Controller{ $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; }; + $regelsom = $somasarray[0]->som; + $regelsom2 = $somasarray[0 ]->budgetsom; + $somasarray[$index] = new stdClass; $somasarray[$index]->code ="REGELSOM"; $somasarray[$index]->naam = "Som"; diff --git a/public/js/monpas/models/monfin2/bestemmingen.js b/public/js/monpas/models/monfin2/bestemmingen.js index 894ea3b..faf0d15 100644 --- a/public/js/monpas/models/monfin2/bestemmingen.js +++ b/public/js/monpas/models/monfin2/bestemmingen.js @@ -33,7 +33,9 @@ ls.initBestemmingenModel = function(){ var subbedrag = 0; - if (b.uitgavetypes) { + if (b.uitgavetypes || b.uitgavetypes()) { + if (b.uitgavetypes) { + subbudget = b.uitgavetypes[0].budget; subbedrag = b.uitgavetypes[0].bedrag; @@ -41,6 +43,7 @@ ls.initBestemmingenModel = function(){ dit.uitgavetypes.push(new fAddUitgavetype(k)); }); + } if ( Number(totbudget) > 0) { if(Number(subbudget) > 0) subbudget = subbudget.replace(/[.| ,]/g, ''); @@ -368,8 +371,6 @@ ls.initBestemmingenModel = function(){ if(Number(invoer) > 0) dit.bedragFormat(parseFloat(invoer).format(2, 3, '.', ',')); else dit.bedragFormat(''); - - dit.bedrag(invoer); var code = dit.code; @@ -407,8 +408,6 @@ ls.initBestemmingenModel = function(){ // update procenten en reserve totalen van subsoorten $.each(soort === 'BASIS' ? self.basissoorten(): self.extrasoorten(), function(i, b){ $.each(b.subsoorten(), function(x, s){ - - if (s.uitgavetypes() && s.subsoortID === subsoortid) { subtotaal = Number(s.uitgavetypes()[0].bedrag()); if (parseFloat(subtotaal) > 0) { subtotaal = parseFloat(subtotaal).format(2, 3, '.', ','); @@ -424,7 +423,7 @@ ls.initBestemmingenModel = function(){ } - }} + } }) }) @@ -654,6 +653,10 @@ ls.initBestemmingenModel = function(){ },500); } } ; // definition van model + + + + ls.BestemmingenModel.initBindings(); }; // else } // function initBestemmingenModel