From 4173dd2dc56ffb54e4400adb07ad0f6281c7fce3 Mon Sep 17 00:00:00 2001 From: Monique Hansma Date: Fri, 24 Mar 2023 15:00:04 +0100 Subject: [PATCH] budgetteren in monfin --- application/config/config.php | 2 +- .../controllers/monfin2/Bestemmingen.php | 15 +- .../controllers/monfin2/Monfin2overzicht.php | 554 +++++++++++++----- application/core/MY_Controller.php | 3 +- .../models/monfin2/Finbestemmingen_model.php | 33 +- .../views/monpas/modals/findetails_modal.php | 48 ++ .../monpas/pages/monfin2/bestemmingen.php | 295 ++++++++-- .../views/monpas/pages/monfin2/overzicht.php | 398 ++++++++++--- .../views/monpas/pages/monfin2/pmsorgs.php | 190 ++++-- .../js/monpas/models/monfin2/bestemmingen.js | 465 ++++++++++++--- .../monpas/models/monfin2/monfinoverzicht2.js | 76 ++- 11 files changed, 1647 insertions(+), 432 deletions(-) create mode 100644 application/views/monpas/modals/findetails_modal.php diff --git a/application/config/config.php b/application/config/config.php index 4257562..5ecbc16 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -227,7 +227,7 @@ $config['allow_get_array'] = TRUE; | your log files will fill up very fast. | */ -$config['log_threshold'] = 0; +$config['log_threshold'] = 1; /* |-------------------------------------------------------------------------- diff --git a/application/controllers/monfin2/Bestemmingen.php b/application/controllers/monfin2/Bestemmingen.php index 707cf4f..476c717 100644 --- a/application/controllers/monfin2/Bestemmingen.php +++ b/application/controllers/monfin2/Bestemmingen.php @@ -8,7 +8,6 @@ class Bestemmingen extends MY_Controller{ "monpas/Toewijzingen_model", "monfin2/Finuitgavetypes_model", "monfin2/Finbestemmingen_model", - "monfin2/Finsoorten_model", "monfin2/Finsubsoorten_model"); $this->load->model($models); @@ -52,7 +51,6 @@ class Bestemmingen extends MY_Controller{ function getBestemmingen(){ if($this->Autorisaties_model->check_autorisatie($this->userrole, READER) <=0) { $jaartoewijzing =array(); - $bestedingen = array(); $jaarclosed = TRUE; } else { @@ -72,7 +70,7 @@ class Bestemmingen extends MY_Controller{ } $basisbestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"BASIS"); $extrabestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"EXTRA"); - + $opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $jaarnr); }; @@ -90,10 +88,19 @@ class Bestemmingen extends MY_Controller{ $targetjaar = $this->Toewijzingen_model->getNextJaar($this->globorgid); $bestemmingjaar = $this->Finbestemmingen_model->get(['id'=>$bestemmingID], 'kalenderjaar', true); if ($targetjaar == $bestemmingjaar){ - $this->Finbestemmingen_model->update_record(['bedrag'=>$this->input->post('bedrag')], $bestemmingID); + $this->Finbestemmingen_model->update_record(['bedrag'=>$this->clean_input('bedrag')], $bestemmingID); } } + function updatebudget(){ + // TODO check autorisatie + $bestemmingID = $this->clean_input("id"); + + $this->Finbestemmingen_model->update_record(['budget'=>$this->clean_input('budget')], $bestemmingID); + + } + + function saveopmerking(){ // TODO check autorisatie $orgid = $this->globorgid; diff --git a/application/controllers/monfin2/Monfin2overzicht.php b/application/controllers/monfin2/Monfin2overzicht.php index 7a5455a..b79cbfc 100644 --- a/application/controllers/monfin2/Monfin2overzicht.php +++ b/application/controllers/monfin2/Monfin2overzicht.php @@ -22,35 +22,81 @@ class Monfin2overzicht extends MY_Controller{ $kalenderjaarnr = $this->clean_input("jaarnr"); $uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes(); $budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr); - $totbudget = 0; - $totbesteed = 0; $basis = array(); $extra = array(); - $sompersoort = array(); + $schooltot = 0; $opmerking = ''; - if ($budgetten){ - // $totbudget = $budgetten->basis + $budgetten->extra ; - $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)/100); - $budgetten->basis = ROUND($budgetten->basis / 100); - $budgetten->extra = Round($budgetten->extra/ 100); + if ($budgetten) { + $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra) / 100); + $budgetten->basis = ROUND($budgetten->basis / 100); + $budgetten->extra = Round($budgetten->extra / 100); + } + else{ + $budgetten = new stdClass(); + $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"); $sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes); $somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes); $totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes); - $totbesteed = $this->sommeeralles($totsomperuitgavetype); - $basis = $this->get_som_regel($basis); - $extra = $this->get_som_regel($extra); - // todo + $totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG'); + $totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET'); + + $subbedragbasis = $sombasisperuitgavetype[3]->som; + $subbudgetbasis = $sombasisperuitgavetype[3]->budgetsom; + $sommen = $this->get_som_regel($basis, $subbedragbasis, $subbudgetbasis, $budgetten->basis); + $basis = $sommen['soorten']; + $somgebudgetpct = $sommen['somgebudgetpct']; + $sombudgetpct = $sommen['sombudgetpct']; + $sombedragpct = $sommen['sombedragpct']; + $sombedragbudgetpct = $sommen['sombedragbudgetpct']; + $subbedragextra = $somextraperuitgavetype[3]->som; + $subbudgetextra = $somextraperuitgavetype[3]->budgetsom; + + $sommenex = $this->get_som_regel($extra, $subbedragextra, $subbudgetextra, $budgetten->extra); + $extra = $sommenex['soorten']; + $somgebudgetpctex = $sommenex['somgebudgetpct']; + $sombudgetpctex = $sommenex['sombudgetpct']; + $sombedragpctex = $sommenex['sombedragpct']; + $sombedragbudgetpctex = $sommenex['sombedragbudgetpct']; + // todo // bereken budget - besteding verschil per basis/extra/overig - $budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' ); - $budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' ); - $budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som); - // todo + $budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' ); + $budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' ); + $budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som); + $budgetten->basisverschilgeb = number_format($sombasisperuitgavetype[3]->budgetsom - $sombasisperuitgavetype[3]->som, 0, ',' , '.' ); + $budgetten->extraverschilgeb = number_format($somextraperuitgavetype[3]->budgetsom - $somextraperuitgavetype[3]->som, 0, ',' , '.' ); + $budgetten->totaalverschilgeb = $totgebudgeteerd - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som); + + $budgetten->basisbudgetpct = number_format($sombudgetpct, 2,',', '.'); + $budgetten->basisgebudgetpct = number_format($somgebudgetpct, 2,',', '.'); + $budgetten->basisbedragpct = number_format($sombedragpct, 2,',', '.'); + $budgetten->basisbedragbudgetkaal = $sombedragbudgetpct; + $budgetten->basisbedragbudgetpct = number_format($sombedragbudgetpct, 2,',', '.'); + + $budgetten->extrabudgetpct = number_format($sombudgetpctex, 2,',', '.'); + $budgetten->extragebudgetpct = number_format($somgebudgetpctex, 2,',', '.'); + $budgetten->extrabedragpct = number_format($sombedragpctex, 2,',', '.'); + $budgetten->extrabedragbudgetkaal = $sombedragpctex; + $budgetten->extrabedragbudgetpct = number_format($sombedragbudgetpctex, 2,',', '.'); + + + $bedrag = $budgetten->totaal > 0 ? ($totbesteed/$budgetten->totaal) *100: 0; + $budgetten->totbedragbudgetkaal = $bedrag; + $budgetten->totbedragbudgetpct = number_format($bedrag, 2, ',', '.'); + $budgetten->totbedragpct = $totbesteed > 0 ? '100,00': 0; + $bedrag2 = $budgetten->totaal > 0 ?($totgebudgeteerd/$budgetten->totaal)*100 : 0; + $budgetten->totbudgetpct = number_format($bedrag2, 2, ',', '.'); + $budgetten->totgebudgetpct= $totgebudgeteerd > 0 ? '100,00': 0; + // todo // zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken $budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.'); $budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.'); @@ -58,34 +104,44 @@ class Monfin2overzicht extends MY_Controller{ foreach($sombasisperuitgavetype as $sompertype){ $sompertype->som = number_format($sompertype->som,0, ',' , '.' ); - } + $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' ); + + + } foreach($somextraperuitgavetype as $sompertype){ $sompertype->som = number_format($sompertype->som,0, ',' , '.' ); - } + $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' ); + + + } foreach($totsomperuitgavetype as $sompertype){ $sompertype->som = number_format($sompertype->som,0, ',' , '.' ); - } + $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' ); + + + } $schooltot = array( 'budget' => $budgetten->totaal , "bestemd" => number_format($totbesteed, 0, ',' , '.' ), + "gebudget" => number_format($totgebudgeteerd, 0, ',' , '.' ), "verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' )); $opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr); - }; // if budgetten +// }; // if budgetten if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0; if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0; if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0; if (! isset($schooltot)) $schooltot = 0; echo json_encode(array('uitgavetypes' =>$uitgavetypes, - 'basis' =>$basis, - 'extra' =>$extra, - 'sombasisperuitgavetype' =>$sombasisperuitgavetype, - 'somextraperuitgavetype' =>$somextraperuitgavetype, - 'totsomperuitgavetype' =>$totsomperuitgavetype, - 'schooltotaal' => $schooltot, - 'budgetten' => $budgetten, - 'opmerking' => $opmerking)); + 'basis' =>$basis, + 'extra' =>$extra, + 'sombasisperuitgavetype' =>$sombasisperuitgavetype, + 'somextraperuitgavetype' =>$somextraperuitgavetype, + 'totsomperuitgavetype' =>$totsomperuitgavetype, + 'schooltotaal' => $schooltot, + 'budgetten' => $budgetten, + 'opmerking' => $opmerking)); } function getschoolbedragenNieuw(){ @@ -103,24 +159,24 @@ class Monfin2overzicht extends MY_Controller{ } else { $budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr); } - $totbudget = 0; - $totbesteed = 0; + $basis = array(); $extra = array(); - $sompersoort = array(); + $schooltot = 0; $opmerking = ''; - if ($budgetten){ - if ($soortoverzicht == 3){ - $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)); - $budgetten->basis = ROUND($budgetten->basis ); - $budgetten->extra = ROUND($budgetten->extra); - } else { - $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)/100); - $budgetten->basis = ROUND($budgetten->basis / 100); - $budgetten->extra = ROUND($budgetten->extra/ 100); - } + if ($budgetten) { + if ($soortoverzicht == 3) { + $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)); + $budgetten->basis = ROUND($budgetten->basis); + $budgetten->extra = ROUND($budgetten->extra); + } else { + $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra) / 100); + $budgetten->basis = ROUND($budgetten->basis / 100); + $budgetten->extra = ROUND($budgetten->extra / 100); + } + if ($soortoverzicht == 3){ $basis = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"BASIS"); $extra = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"EXTRA"); @@ -132,15 +188,50 @@ class Monfin2overzicht extends MY_Controller{ $sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes); $somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes); $totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes); - $totbesteed = $this->sommeeralles($totsomperuitgavetype); - $basis = $this->get_som_regel($basis); - $extra = $this->get_som_regel($extra); + $totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG'); + $totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET'); + $subbedragbasis = $sombasisperuitgavetype[3]->som; + $subbudgetbasis = $sombasisperuitgavetype[3]->budgetsom; + $sommen = $this->get_som_regel($basis, $subbedragbasis, $subbudgetbasis, $budgetten->basis); + $basis = $sommen['soorten']; + $somgebudgetpct = $sommen['somgebudgetpct']; + $sombudgetpct = $sommen['sombudgetpct']; + $sombedragpct = $sommen['sombedragpct']; + $sombedragbudgetpct = $sommen['sombedragbudgetpct']; + $subbedragextra = $somextraperuitgavetype[3]->som; + $subbudgetextra = $somextraperuitgavetype[3]->budgetsom; + + $sommenex = $this->get_som_regel($extra,$subbedragextra, $subbudgetextra, $budgetten->extra ); + $extra = $sommenex['soorten']; + $somgebudgetpctex = $sommenex['somgebudgetpct']; + $sombudgetpctex = $sommenex['sombudgetpct']; + $sombedragpctex = $sommenex['sombedragpct']; + $sombedragbudgetpctex = $sommen['sombedragbudgetpct']; // todo // bereken budget - besteding verschil per basis/extra/overig $budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' ); $budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' ); $budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som); - // todo + $budgetten->basisbudgetpct = number_format($sombudgetpct, 2,',', '.'); + $budgetten->basisgebudgetpct = number_format($somgebudgetpct, 2,',', '.'); + $budgetten->basisbedragpct = number_format($sombedragpct, 2,',', '.'); + $budgetten->basisbedragbudgetpct = number_format($sombedragbudgetpct, 2,',', '.'); + + $budgetten->extrabudgetpct = number_format($sombudgetpctex, 2,',', '.'); + $budgetten->extragebudgetpct = number_format($somgebudgetpctex, 2,',', '.'); + $budgetten->extrabedragpct = number_format($sombedragpctex, 2,',', '.'); + $budgetten->extrabedragbudgetpct = number_format($sombedragbudgetpctex, 2,',', '.'); + + $bedrag = $budgetten->totaal > 0 ? ($totbesteed/$budgetten->totaal) *100: 0; + $budgetten->totbedragbudgetkaal = $bedrag; + $budgetten->totbedragbudgetpct = number_format($bedrag, 2, ',', '.'); + $budgetten->totbedragpct = $totbesteed > 0 ? '100,00': 0; + $bedrag2 = $budgetten->totaal > 0 ?($totgebudgeteerd/$budgetten->totaal)*100 : 0; + $budgetten->totbudgetpct = number_format($bedrag2, 2, ',', '.'); + $budgetten->totgebudgetpct= $totgebudgeteerd > 0 ? '100,00': 0; + + + // todo // zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken $budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.'); $budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.'); @@ -148,16 +239,23 @@ class Monfin2overzicht extends MY_Controller{ foreach($sombasisperuitgavetype as $sompertype){ $sompertype->som = number_format($sompertype->som,0, ',' , '.' ); - } + $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' ); + + } foreach($somextraperuitgavetype as $sompertype){ $sompertype->som = number_format($sompertype->som,0, ',' , '.' ); - } + $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' ); + + } foreach($totsomperuitgavetype as $sompertype){ $sompertype->som = number_format($sompertype->som,0, ',' , '.' ); - } + $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' ); + + } $schooltot = array( 'budget' => $budgetten->totaal , "bestemd" => number_format($totbesteed, 0, ',' , '.' ), + "gebudget" => number_format($totgebudgeteerd, 0, ',' , '.' ), "verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' )); if ($soortoverzicht == 3){ @@ -166,9 +264,9 @@ class Monfin2overzicht extends MY_Controller{ $opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr); } }; // if budgetten - if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0; - if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0; - if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0; + if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = false; + if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = false; + if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = false; if (! isset($schooltot)) $schooltot = 0; echo json_encode(array('uitgavetypes' =>$uitgavetypes, @@ -181,46 +279,87 @@ class Monfin2overzicht extends MY_Controller{ 'budgetten' => $budgetten, 'opmerking' => $opmerking)); } - function sommeeralles($totsomperuitgavetype){ + 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 += $som->som; + $totsom += $waarde; } } } return $totsom; } - function get_som_regel($soorten){ - if ($soorten){ - foreach($soorten as $soort){ - if ($soort->subsoorten){ - foreach ($soort->subsoorten as $subsoort){ + function get_som_regel($soorten, $bedrag, $gebudget, $budget ){ + $somgebudgetpct = 0; + $sombudgetpct = 0; + $sombedragpct = 0; + $sombedragbudgetpct = 0; + foreach($soorten ? : [] as $soort){ + foreach ($soort->subsoorten ? : [] as $subsoort){ $som = 0; - if ($subsoort->uitgavetypes){ - foreach($subsoort->uitgavetypes as $uitgavetype){ - if ($uitgavetype && $uitgavetype->bedrag){ + $budgetsom = 0; + foreach($subsoort->uitgavetypes ? : [] as $uitgavetype){ + if ($uitgavetype->bedrag){ $som += $uitgavetype->bedrag; $uitgavetype->bedrag = number_format($uitgavetype->bedrag,0,',','.'); - } + } + if ($uitgavetype->budget){ + $budgetsom += $uitgavetype->budget; + $uitgavetype->budget = number_format($uitgavetype->budget,0,',','.'); + } } - } - $subsoort->uitgavetypes[3]= new stdClass; - $subsoort->uitgavetypes[3]->bedrag =number_format($som,0, ',' , '.'); - $subsoort->uitgavetypes[3]->code ='REGELSOM'; + $subsoort->uitgavetypes[3]= new stdClass; + $bedragpct = 0; + $bedragbudgetpct = 0; + $gebudgetpct = 0; + $budgetpct = 0; + + $subsoort->uitgavetypes[3]->bedrag =number_format($som,0, ',' , '.'); + $subsoort->uitgavetypes[3]->budget =number_format($budgetsom,0, ',' , '.'); + + if($budget > 0) $bedragbudgetpct = ($som/$budget)*100; + $subsoort->uitgavetypes[3]->bedragbudgetpct= number_format($bedragbudgetpct,2, ',' , '.'); + + if($subsoort->uitgavetypes[3]->bedrag> 0 && $bedrag > 0) $bedragpct = ($som/$bedrag) * 100; + $subsoort->uitgavetypes[3]->bedragpct= number_format($bedragpct,2, ',' , '.'); + + + if($subsoort->uitgavetypes[3]->budget> 0 &&$gebudget > 0) $gebudgetpct = ($budgetsom/$gebudget) * 100; + $subsoort->uitgavetypes[3]->gebudgetpct =number_format($gebudgetpct,2, ',' , '.'); + + if($subsoort->uitgavetypes[3]->budget> 0 && $budget > 0) $budgetpct =($budgetsom/$budget) * 100; + $subsoort->uitgavetypes[3]->budgetpct =number_format($budgetpct,2, ',' , '.'); + + $subsoort->uitgavetypes[3]->verschil = number_format(($budgetsom - $som), 0,',', '.'); + + $subsoort->uitgavetypes[3]->code ='REGELSOM'; + $sombudgetpct =$sombudgetpct + $budgetpct; + $somgebudgetpct = $somgebudgetpct +$gebudgetpct; + $sombedragpct = $sombedragpct +$bedragpct; + $sombedragbudgetpct = $sombedragbudgetpct + $bedragbudgetpct; } - } + } - } - return $soorten; + + return [ + 'soorten' =>$soorten, + 'sombudgetpct' => $sombudgetpct, + 'somgebudgetpct' => $somgebudgetpct, + 'sombedragpct' => $sombedragpct, + 'sombedragbudgetpct' => $sombedragbudgetpct, + ]; } function sommeer_per_uitgavetype($sombasis,$somextra,$uitgavetypes){ $somtot = []; $regelsom =0; + $regelsom2 = 0; if ($uitgavetypes){ $index =0; foreach($uitgavetypes as $uitgavetype){ @@ -228,20 +367,29 @@ class Monfin2overzicht extends MY_Controller{ $somtot[$index]->code = $uitgavetype->code; $somtot[$index]->naam = $uitgavetype->naam; $somtot[$index]->som =0; + $somtot[$index]->budgetsom =0; foreach($sombasis as $basis){ - if ($basis->code == $somtot[$index]->code) $somtot[$index]->som += $basis->som; + if ($basis->code == $somtot[$index]->code) { + $somtot[$index]->som += $basis->som; + $somtot[$index]->budgetsom += $basis->budgetsom; + } } foreach($somextra as $basis){ - if ($basis->code == $somtot[$index]->code) $somtot[$index]->som += $basis->som; + if ($basis->code == $somtot[$index]->code) { + $somtot[$index]->som += $basis->som; + $somtot[$index]->budgetsom += $basis->budgetsom; + } } $regelsom += $somtot[$index]->som; + $regelsom2 += $somtot[$index]->budgetsom; $index += 1; } $somtot[$index] = new stdClass; $somtot[$index]->code = "REGELSOM"; $somtot[$index]->naam = "Som"; $somtot[$index]->som = $regelsom; + $somtot[$index]->budgetsom = $regelsom2; } return $somtot; @@ -254,36 +402,38 @@ class Monfin2overzicht extends MY_Controller{ $sombasis[$uitgavetype->code]= new stdClass; $sombasis[$uitgavetype->code]->naam= $uitgavetype->naam; $sombasis[$uitgavetype->code]->som=0; + $sombasis[$uitgavetype->code]->budgetsom =0; + } - if ($basis){ - foreach($basis as $soort){ - if ($soort->subsoorten){ - foreach ($soort->subsoorten as $subsoort){ - if ($subsoort->uitgavetypes){ - foreach($subsoort->uitgavetypes as $uitgavetype) { + + 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 - }// if uitgavetypes }//foreach subsoort - }//if subsoort }//foreach basis - } // if 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); - $regelsom += $somasarray[$index ]->som; + $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; } @@ -466,16 +616,18 @@ class Monfin2overzicht extends MY_Controller{ $targetorgid = $this->clean_input('orgid'); $kalenderjaarnr = $this->clean_input("jaarnr"); $targetorg = $this->Organisaties_model->get_record_by_id($targetorgid); - list($targetorg->pms,$otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr); - $sumother = $this->getsumotherpms($otherorgs); - $sumtot = $this->getsumtotpms($targetorg, $sumother); + list($targetorg->pms, $targetorg->bud, $targetorg->kleur, $otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr); + $sumother = $this->getsumotherpms($otherorgs); + $sumtot = $this->getsumtotpms($targetorg, $sumother); - $targetorg->pms = $this->format_all_bedragen($targetorg->pms); - $sumother = $this->format_all_bedragen($sumother); - $sumtot = $this->format_all_bedragen($sumtot); + $targetorg->pms = $this->format_all_bedragen($targetorg->pms, 5); + $targetorg->bud = $this->format_all_bedragen($targetorg->bud, 5); + $sumother = $this->format_all_bedragen($sumother, 11); + $sumtot = $this->format_all_bedragen($sumtot, 11); if ($otherorgs){ foreach($otherorgs as $otherorg){ - $otherorg->pms = $this->format_all_bedragen($otherorg->pms); + $otherorg->pms = $this->format_all_bedragen($otherorg->pms, 5); + $otherorg->bud = $this->format_all_bedragen($otherorg->bud, 5); } } @@ -484,63 +636,147 @@ class Monfin2overzicht extends MY_Controller{ 'sumother' => $sumother, 'sumtot' => $sumtot]); } - function format_all_bedragen($pms){ - - for ($i = 0 ; $i <=5; $i++){ + function format_all_bedragen($pms, $lengte){ + + for ($i = 0 ; $i <=$lengte; $i++){ if ($pms[$i] >0 ) $pms[$i]=number_format($pms[$i], 0, ',' , '.'); else $pms[$i]=''; } return $pms; } - private function get_bestuur_pms($targetorgid, $kalenderjaarnr){ - $pms = $this->Finbestemmingen_model->get_pms($targetorgid, $kalenderjaarnr); - $targetorg->pms[0] = 0; - $targetorg->pms[1] = 0; - $targetorg->pms[2] = 0; - $targetorg->pms[3] = 0; - $targetorg->pms[4] = 0; - $targetorg->pms[5] = 0; - if ($pms){ - foreach($pms as $uitgave){ - if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="PERSONEEL") $targetorg->pms[0] += $uitgave->bedrag; - if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="MATERIEEL") $targetorg->pms[1] += $uitgave->bedrag; - if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="SCHOLING") $targetorg->pms[2] += $uitgave->bedrag; - if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="PERSONEEL") $targetorg->pms[3] += $uitgave->bedrag; - if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="MATERIEEL") $targetorg->pms[4] += $uitgave->bedrag; - if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="SCHOLING") $targetorg->pms[5] += $uitgave->bedrag; - } - } + private function get_bestuur_pms($targetorgid, $kalenderjaarnr) + { + $pms = $this->Finbestemmingen_model->get_pms($targetorgid, $kalenderjaarnr); + $targetorg = new stdClass(); + $targetorg->pms[0] = 0; + $targetorg->pms[1] = 0; + $targetorg->pms[2] = 0; + $targetorg->pms[3] = 0; + $targetorg->pms[4] = 0; + $targetorg->pms[5] = 0; + + $targetorg->bud[0] = 0; + $targetorg->bud[1] = 0; + $targetorg->bud[2] = 0; + $targetorg->bud[3] = 0; + $targetorg->bud[4] = 0; + $targetorg->bud[5] = 0; + + $targetorg->kleur[0] = 'black'; + $targetorg->kleur[1] = 'black'; + $targetorg->kleur[2] = 'black';; + $targetorg->kleur[3] = 'black'; + $targetorg->kleur[4] = 'black'; + $targetorg->kleur[5] = 'black'; + + if ($pms) { + foreach ($pms as $uitgave) { + if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "PERSONEEL") { + $targetorg->pms[0] += $uitgave->bedrag; + $targetorg->bud[0] += $uitgave->budget; + $targetorg->pms[0] > $targetorg->bud[0] ? $targetorg->kleur[0] = 'red' : 'black'; + } + if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "MATERIEEL") { + $targetorg->pms[1] += $uitgave->bedrag; + $targetorg->bud[1] += $uitgave->budget; + $targetorg->pms[1] > $targetorg->bud[1] ? $targetorg->kleur[1] = 'red' : 'black'; + } + if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "SCHOLING") { + $targetorg->pms[2] += $uitgave->bedrag; + $targetorg->bud[2] += $uitgave->budget; + $targetorg->pms[2] > $targetorg->bud[2] ? $targetorg->kleur[2] = 'red' : 'black'; + } + if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "PERSONEEL") { + $targetorg->pms[3] += $uitgave->bedrag; + $targetorg->bud[3] += $uitgave->budget; + $targetorg->pms[3] > $targetorg->bud[3] ? $targetorg->kleur[3] = 'red' : 'black'; + } + if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "MATERIEEL") { + $targetorg->pms[4] += $uitgave->bedrag; + $targetorg->bud[4] += $uitgave->budget; + $targetorg->pms[4] > $targetorg->bud[4] ? $targetorg->kleur[4] = 'red' : 'black'; + } + if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "SCHOLING") { + $targetorg->pms[5] += $uitgave->bedrag; + $targetorg->bud[5] += $uitgave->budget; + $targetorg->pms[5] > $targetorg->bud[5] ? $targetorg->kleur[5] = 'red' : 'black'; + } + } + } + $organisaties = $this->Organisaties_model->getorgs2($targetorgid); - $organisaties = $this->Organisaties_model->getorgs2($targetorgid); + if ($organisaties) { + foreach ($organisaties as $organisatie) { + $org_plus_subs = $this->getorgids($organisatie->orgid); + if (!$org_plus_subs) { + $org_plus_subs = $organisatie->orgid; + }; + $pms = $this->Finbestemmingen_model->get_pms($org_plus_subs, $kalenderjaarnr); + $organisatie->pms[0] = 0; + $organisatie->pms[1] = 0; + $organisatie->pms[2] = 0; + $organisatie->pms[3] = 0; + $organisatie->pms[4] = 0; + $organisatie->pms[5] = 0; + $organisatie->bud[0] = 0; + $organisatie->bud[1] = 0; + $organisatie->bud[2] = 0; + $organisatie->bud[3] = 0; + $organisatie->bud[4] = 0; + $organisatie->bud[5] = 0; + $organisatie->kleur[0] = 'black'; + $organisatie->kleur[1] = 'black'; + $organisatie->kleur[2] = 'black'; + $organisatie->kleur[3] = 'black'; + $organisatie->kleur[4] = 'black'; + $organisatie->kleur[5] = 'black'; + if ($pms) { + foreach ($pms as $uitgave) { + if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "PERSONEEL") { + $organisatie->pms[0] += $uitgave->bedrag; + $organisatie->bud[0] += $uitgave->budget; + } + if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "MATERIEEL") { + $organisatie->pms[1] += $uitgave->bedrag; + $organisatie->bud[1] += $uitgave->budget; + } + if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "SCHOLING") { + $organisatie->pms[2] += $uitgave->bedrag; + $organisatie->bud[2] += $uitgave->budget; + } + if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "PERSONEEL") { + $organisatie->pms[3] += $uitgave->bedrag; + $organisatie->bud[3] += $uitgave->budget; + } + if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "MATERIEEL") { + $organisatie->pms[4] += $uitgave->bedrag; + $organisatie->bud[4] += $uitgave->budget; + } + if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "SCHOLING") { + $organisatie->pms[5] += $uitgave->bedrag; + $organisatie->bud[5] += $uitgave->budget; + } + } - if ($organisaties){ - foreach($organisaties as $organisatie){ - $org_plus_subs = $this->getorgids($organisatie->orgid); - if (! $org_plus_subs) {$org_plus_subs = $organisatie->orgid;}; - $pms = $this->Finbestemmingen_model->get_pms($org_plus_subs, $kalenderjaarnr); - $organisatie->pms[0] = 0; - $organisatie->pms[1] = 0; - $organisatie->pms[2] = 0; - $organisatie->pms[3] = 0; - $organisatie->pms[4] = 0; - $organisatie->pms[5] = 0; - if ($pms){ - foreach($pms as $uitgave){ - if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="PERSONEEL") $organisatie->pms[0] += $uitgave->bedrag; - if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="MATERIEEL") $organisatie->pms[1] += $uitgave->bedrag; - if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="SCHOLING") $organisatie->pms[2] += $uitgave->bedrag; - if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="PERSONEEL") $organisatie->pms[3] += $uitgave->bedrag; - if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="MATERIEEL") $organisatie->pms[4] += $uitgave->bedrag; - if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="SCHOLING") $organisatie->pms[5] += $uitgave->bedrag; - } - } - } - }; // if organisaties - return [$targetorg->pms , $organisaties]; - } + + } + if ($organisatie->pms[0] > $organisatie->bud[0]) $organisatie->kleur[0] = 'red'; + if ($organisatie->pms[1] > $organisatie->bud[1]) $organisatie->kleur[1] = 'red'; + if ($organisatie->pms[2] > $organisatie->bud[2]) $organisatie->kleur[2] = 'red'; + if ($organisatie->pms[3] > $organisatie->bud[3]) $organisatie->kleur[3] = 'red'; + if ($organisatie->pms[4] > $organisatie->bud[4]) $organisatie->kleur[4] = 'red'; + if ($organisatie->pms[5] > $organisatie->bud[4]) $organisatie->kleur[5] = 'red'; + + + }; // if organisaties + + return [$targetorg->pms, $targetorg->bud, $targetorg->kleur, $organisaties]; + } + + } function getsumtotpms($targetorg, $sumother){ $sumtot = []; @@ -551,6 +787,18 @@ class Monfin2overzicht extends MY_Controller{ $sumtot[3] = $targetorg->pms[3] + $sumother[3]; $sumtot[4] = $targetorg->pms[4] + $sumother[4]; $sumtot[5] = $targetorg->pms[5] + $sumother[5]; + $sumtot[6] = $targetorg->bud[0] + $sumother[6]; + $sumtot[7] = $targetorg->bud[1] + $sumother[7]; + $sumtot[8] = $targetorg->bud[2] + $sumother[8]; + $sumtot[9] = $targetorg->bud[3] + $sumother[9]; + $sumtot[10] = $targetorg->bud[4] + $sumother[10]; + $sumtot[11] = $targetorg->bud[5] + $sumother[11]; + $sumtot[12] = $sumtot[0] > $sumtot[6] ? 'red' : 'black'; + $sumtot[13] = $sumtot[1] > $sumtot[7] ? 'red' : 'black'; + $sumtot[14] = $sumtot[2] > $sumtot[8] ? 'red' : 'black'; + $sumtot[15] = $sumtot[3] > $sumtot[9] ? 'red' : 'black'; + $sumtot[16] = $sumtot[4] > $sumtot[10] ? 'red' : 'black'; + $sumtot[17] = $sumtot[5] > $sumtot[11] ? 'red' : 'black'; return $sumtot; } @@ -563,16 +811,46 @@ class Monfin2overzicht extends MY_Controller{ $sumother[3] = 0; $sumother[4] = 0; $sumother[5] = 0; + $sumother[6] = 0; + $sumother[7] = 0; + $sumother[8] = 0; + $sumother[9] = 0; + $sumother[10] = 0; + $sumother[11] = 0; + $sumother[12] = 'black'; + $sumother[13] = 'black'; + $sumother[14] = 'black'; + $sumother[15] = 'black'; + $sumother[16] = 'black'; + $sumother[17] = 'black'; foreach($otherorgs as $org){ - if ($org->pms){ $sumother[0] += $org->pms[0]; $sumother[1] += $org->pms[1]; $sumother[2] += $org->pms[2]; $sumother[3] += $org->pms[3]; $sumother[4] += $org->pms[4]; $sumother[5] += $org->pms[5]; - } + $sumother[6] += $org->bud[0]; + $sumother[7] += $org->bud[1]; + $sumother[8] += $org->bud[2]; + $sumother[9] += $org->bud[3]; + $sumother[10] += $org->bud[4]; + $sumother[11] += $org->bud[5]; + } + + foreach($otherorgs as $org){ + if ($org->pms){ + if( $sumother[0] > $sumother[6]) $sumother[12] = 'red'; + if( $sumother[1] > $sumother[7]) $sumother[13] = 'red'; + if( $sumother[2] > $sumother[8]) $sumother[14] = 'red'; + if( $sumother[3] > $sumother[9]) $sumother[15] = 'red'; + if( $sumother[4] > $sumother[10]) $sumother[16] = 'red'; + if( $sumother[5] > $sumother[11]) $sumother[17] = 'red'; + + } + } + return $sumother; } diff --git a/application/core/MY_Controller.php b/application/core/MY_Controller.php index 8f7b4e4..e5f7a6f 100644 --- a/application/core/MY_Controller.php +++ b/application/core/MY_Controller.php @@ -80,7 +80,8 @@ class MY_Controller extends CI_Controller{ // public $version = '1.18.08';// kleurenfout // public $version = '1.19.00';// ambities per org // public $version = '1.19.01';// compactdiv met orgid ipv globorg - public $version = '1.19.05';// ambities per org incl kamerversies +// public $version = '1.19.05';// ambities per org incl kamerversies + public $version = '1.19.06';// monfin met budgetten public $partituurid; public $globProfielVersieID = 1; public $userid; //id of the user that is logged in diff --git a/application/models/monfin2/Finbestemmingen_model.php b/application/models/monfin2/Finbestemmingen_model.php index fc39f30..8e1379d 100644 --- a/application/models/monfin2/Finbestemmingen_model.php +++ b/application/models/monfin2/Finbestemmingen_model.php @@ -10,7 +10,9 @@ class Finbestemmingen_model extends MY_Model{ function __construct(){ parent::__construct(); $models = array('shared/Organisaties_model', - "monfin2/Finuitgavetypes_model"); + "monfin2/Finuitgavetypes_model" + + ); $this->load->model($models); } @@ -61,7 +63,7 @@ class Finbestemmingen_model extends MY_Model{ if ($uitgavetypes){ foreach($uitgavetypes as $uitgavetype){ $subsoort->uitgavetypes[] = $this->get_bedrag_per_type($orgID, $jaarnr,$subsoort->subsoortID,$uitgavetype->code); - } + } } } }// if subsoorten @@ -87,7 +89,8 @@ class Finbestemmingen_model extends MY_Model{ // haal per uitgavetypes de bedragen op if ($uitgavetypes){ foreach($uitgavetypes as $uitgavetype){ - $subsoort->uitgavetypes[] = $this->get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoort->subsoortID,$uitgavetype->code); + $result = $this->get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoort->subsoortID,$uitgavetype->code); + $subsoort->uitgavetypes[] = $result; } } } @@ -121,7 +124,7 @@ class Finbestemmingen_model extends MY_Model{ // }// if subsoorten // } // }// if soorten - // return $soorten; + // return $soorten; // } function setSomSubsoort($orgid, $jaarnr, $categorie){ @@ -164,6 +167,7 @@ class Finbestemmingen_model extends MY_Model{ function get_bedrag_per_type($orgid, $jaarnr,$subsoortID, $uitgavetype){ $this->sql = "SELECT id, FORMAT(bedrag / 100,2) as bedrag, + FORMAT(budget / 100,2) as budget, uitgavetype as code FROM finbestemmingen WHERE organisatie_id = {$orgid} @@ -176,27 +180,39 @@ class Finbestemmingen_model extends MY_Model{ "kalenderjaar" =>$jaarnr, "subsoort_id" =>$subsoortID, "uitgavetype" =>$uitgavetype, - "bedrag" =>0]; + "bedrag" =>0, + "budget" =>0]; $this->insert_record($data); $row = $this->get_query_row(); } - if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag); + if ($row) { + $row->bedrag = str_replace(',' , '' , $row->bedrag); + $row->budget = str_replace(',' , '' , $row->budget); + + + } return $row; } + + function get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoortID, $uitgavetype){ $this->sql = "SELECT id, FORMAT(sum(bedrag) / 100,2) as bedrag, + FORMAT(budget / 100,2) as budget, uitgavetype as code FROM finbestemmingen WHERE organisatie_id in ({$orglist}) AND kalenderjaar = {$jaarnr } AND subsoort_id = {$subsoortID} AND uitgavetype = '{$uitgavetype}' "; - $row= $this->get_query_row(); + $row= $this->get_query_row(); + + if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag); + if ($row) $row->budget = str_replace(',' , '' , $row->budget); return $row; } @@ -245,7 +261,8 @@ class Finbestemmingen_model extends MY_Model{ return $this->get_query_row('bedrag'); } function get_pms($orgids, $kalenderjaarnr){ - $this->sql = " SELECT round(sum(bedrag/100) ) AS bedrag, + $this->sql = " SELECT round(sum(FB.bedrag/100) ) AS bedrag, + round(sum(FB.budget/100)) AS budget, uitgavetype, FS.categorie, FB.organisatie_id diff --git a/application/views/monpas/modals/findetails_modal.php b/application/views/monpas/modals/findetails_modal.php new file mode 100644 index 0000000..3914ac4 --- /dev/null +++ b/application/views/monpas/modals/findetails_modal.php @@ -0,0 +1,48 @@ + diff --git a/application/views/monpas/pages/monfin2/bestemmingen.php b/application/views/monpas/pages/monfin2/bestemmingen.php index 10f321e..a5c3c58 100644 --- a/application/views/monpas/pages/monfin2/bestemmingen.php +++ b/application/views/monpas/pages/monfin2/bestemmingen.php @@ -24,95 +24,278 @@
- - - - + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + - + style="width: 150px; max-width: 100%; background-color: #e6ffee" + data-bind="textInput: budgetFormat, + event:{change:$root.fSaveBudget.bind($data, $parent.subsoortID, 'BASIS') } , + enable: ! $root.jaarclosed()" + /> + - - + + + + + + + + + + + + + + + + +
+ + + + + Som + + Percentage + + +
budget + -
+
+ + +
+
+
+ + +
+
uitgaven + + +
+ + +
+
+
+ + +
+
-
-

- Totaal basisondersteuning - + +

+ Basisondersteuning +
+ Uitgaven + -

-

- Budget - +
+ Gebudgeteerd per kostenpost + -

+
+ Totaal budget + + +

+

Extra ondersteuning

- - - - - + + + + + + + + + + + - + + + - + + + + + + + + + - - + - - - - - + + + + + + + + + + + + + + + + + + + +
+ + + + Som + + Percentage + + + +
- - budget + + +
+ + +
+
+
+ + +
+
uitgaven + + + +
+ + +
+
+
+ + +
+
-
-

- Totaal extra ondersteuning - + + +

+ Extra ondersteuning +
+ Uitgaven + -

-

- Budget - +
+ Gebudgeteerd per kostenpost + + +
+ Totaal budget +

diff --git a/application/views/monpas/pages/monfin2/overzicht.php b/application/views/monpas/pages/monfin2/overzicht.php index 8a51fa1..fc72346 100644 --- a/application/views/monpas/pages/monfin2/overzicht.php +++ b/application/views/monpas/pages/monfin2/overzicht.php @@ -69,104 +69,329 @@
- - - - - - - - - - - +
BasisondersteuningSomBudgetVerschil
+ + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - - + + + + + + + + + + + + + + +
Basisondersteuning + + + som + + + % budget + + + % uitgaven + + + Budget + + + + % gebudgett. + + + % budget + + + verschil + + +
Totaal basis
- - - - - - - - - - - - - -
-
Extra ondersteuningSomBudgetVerschil
Totaal extraTotaal basis
- - - - - - - - - - - - - -
-
0,000,00
+ + + + + + + + + +
Extra ondersteuning + + + + + som + + + + % budget + + + + % uitgaven + + + + Budget + + + + + % gebuggett. + + + + % budget + + + + Verschil + + +
+ Totaal extra0,000,00 + +
+ + + + + + + + +
Totaal besteedTotaal besteed 0,000,00 + + + + + + + +

Opmerkingen

@@ -181,4 +406,7 @@
+ + load->view("monpas/modals/findetails_modal"); ?> + \ No newline at end of file diff --git a/application/views/monpas/pages/monfin2/pmsorgs.php b/application/views/monpas/pages/monfin2/pmsorgs.php index c5d0650..af88140 100644 --- a/application/views/monpas/pages/monfin2/pmsorgs.php +++ b/application/views/monpas/pages/monfin2/pmsorgs.php @@ -1,61 +1,175 @@ - + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + + - + - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + +
BasisondersteuningBasisondersteuning Extra ondersteuning
OrganisatiePersoneelMaterieelScholingPersoneelMaterieelScholing
OrganisatiePersoneelMaterieelScholingPersoneelMaterieelScholing
budget
uitgaven + + + +
SubtotaalMaterieelScholingPersoneelMaterieelScholingbudgetMaterieelScholingPersoneelMaterieelScholing
uitgavenMaterieelScholingPersoneelMaterieelScholing
budget
uitgaven +
TotaalPersoneelMaterieelScholingPersoneelMaterieelScholing
TotaalbudgetPersoneelMaterieelScholingPersoneelMaterieelScholing
uitgavenPersoneel + Materieel + Scholing + Personeel + Materieel + Scholing +
diff --git a/public/js/monpas/models/monfin2/bestemmingen.js b/public/js/monpas/models/monfin2/bestemmingen.js index 274ba18..0360d44 100644 --- a/public/js/monpas/models/monfin2/bestemmingen.js +++ b/public/js/monpas/models/monfin2/bestemmingen.js @@ -7,30 +7,80 @@ ls.initBestemmingenModel = function(){ this.naam = p.naam; } - function fAddBasissoort(k){ + function fAddBasissoort(j,k, budget, totbudget, bedrag ){ + + var dit = this; this.soortID = k.soortID this.naam = k.naam this.subsoorten = ko.observableArray([]); if (k.subsoorten){ $.each(k.subsoorten, function(a,b){ - dit.subsoorten.push(new fAddSubsoort(b, k.categorie)); + dit.subsoorten.push(new fAddSubsoort(a, b, budget, totbudget, bedrag, k.categorie)); }); } } - function fAddSubsoort(p,categorie){ - var dit = dit; - this.subsoortID = p.subsoortID; - this.naam = p.naam; + function fAddSubsoort(a,b,gebudget, totbudget, totbedrag, categorie){ + var dit = this; + var bedrag = 0; + var budget = 0; + var uitgaven = 0; + var budgettot = 0; + var bedragtot = 0; + var centbudget = 0; + var budgettot2 = 0; + var centbudget2 = 0; + this.subsoortID = b.subsoortID; + this.naam = b.naam; this.categorie = categorie - this.uitgavetypes = ko.observableArray() - var dit = this; - if (p.uitgavetypes){ - $.each(p.uitgavetypes, function(i,k){ + this.uitgavetypes = ko.observableArray(); + this.totaal = ko.observable(0); + this.formtotaal = ko.observable(''); + this.procent = ko.observable(0); + this.subbudget = ko.observable(0); + this.subbudgetform = ko.observable(''); + this.budgetprocent = ko.observable(0); + this.gebudgetprocent = ko.observable(0); + if (b.uitgavetypes) { + + $.each(b.uitgavetypes, function (i, k) { + bedrag = Number(bedrag) + Number(k.bedrag); + budget = Number(budget) + Number(k.budget); dit.uitgavetypes.push(new fAddUitgavetype(k)); }); + dit.totaal(bedrag); + dit.formtotaal(parseFloat(bedrag) === 0 ? '' : parseFloat(bedrag).format(2, 3, '.', ',')); + dit.subbudget(budget); + dit.subbudgetform(parseFloat(budget) === 0 ? '' : parseFloat(budget).format(2, 3, '.', ',')); + + centbudget = dit.subbudgetform(); + centbudget = centbudget.replace(/[.| ,]/g, ''); + + if (totbudget) { + budgettot = totbudget.replace(/[.| ,]/g, ''); + var budgetpct = ((Number(centbudget) / Number(budgettot)) * 100).toFixed(1) + budgetpct = budgetpct.replace('.', ',') + dit.budgetprocent(budgettot > 0 ? budgetpct + '%' : ''); + } + + if (gebudget) { + budgettot2 = gebudget.replace(/[.| ,]/g, ''); + var budgetpct2 = ((Number(centbudget) / Number(budgettot2)) * 100).toFixed(1) + budgetpct2 = budgetpct2.replace('.', ',') + dit.gebudgetprocent(budgettot2 > 0 ? budgetpct2 + '%' : '') + } + + + if(totbedrag) { + bedragtot = totbedrag.replace(/[.| ,]/g, ''); + uitgaven = dit.formtotaal(); + uitgaven = uitgaven.replace(/[.| ,]/g, ''); + uitgaven = ((Number(uitgaven) / Number(bedragtot)) * 100).toFixed(1) + dit.procent(uitgaven > 0 ? uitgaven + '%' : '') + } } + } function fAddUitgavetype(k){ @@ -39,6 +89,10 @@ ls.initBestemmingenModel = function(){ this.bedrag = ko.observable(k.bedrag); this.formatted = ko.observable(parseFloat(k.bedrag).format(2,3,'.',',')); if (parseFloat(k.bedrag) <= 0) this.formatted(''); + this.budget = ko.observable(k.budget); + this.budgetFormat = ko.observable(parseFloat(k.budget).format(2,3,'.',',')); + if (parseFloat(k.budget) <= 0) this.budgetFormat(''); + this.kleur =ko.observable('#000000'); } @@ -51,9 +105,8 @@ ls.initBestemmingenModel = function(){ kalenderjaren : ko.observableArray([]), selectedKalenderjaar : ko.observable(), jaartoewijzing : ko.observable(), - targetjaar : ko.observable(2017), //het jaar waarin met moet werken + targetjaar : ko.observable(2017), //het jaar waarin met moet werken uitgavetypes : ko.observableArray(), - basissoorten : ko.observableArray(), extrasoorten : ko.observableArray(), @@ -64,7 +117,11 @@ ls.initBestemmingenModel = function(){ extrageopend : ko.observable(false), totaalextra : ko.observable(), - totaalbasis : ko.observable(), + totaalbasis : ko.observable(0), + gebudgetbasis : ko.observable(0), + budgetUnformatted : ko.observable(0), + gebudgetextra : ko. observable(), + initBindings :function(){ var self = ls.BestemmingenModel; @@ -101,57 +158,271 @@ ls.initBestemmingenModel = function(){ fGetBestemmingen: function(){ var self = ls.BestemmingenModel; if (!self.selectedKalenderjaar()) return; + self.basissoorten.removeAll(); + self.extrasoorten.removeAll(); var sd ={jaarnr:self.selectedKalenderjaar().jaarnr} $.post("index.php/monfin2/bestemmingen/getBestemmingen", sd, function(data){ - if (data.jaartoewijzing){ + if (data.jaartoewijzing){ self.jaartoewijzing(data.jaartoewijzing); } else {self.jaartoewijzing(false);} self.jaarclosed(data.jaarclosed); - - self.basissoorten.removeAll(); - if (data.basisbestemmingen){ - $.each(data.basisbestemmingen,function(j,k){ - self.basissoorten.push(new fAddBasissoort(k)); - }); - } - self.extrasoorten.removeAll(); - if (data.extrabestemmingen){ - $.each(data.extrabestemmingen,function(j,k){ - self.extrasoorten.push(new fAddBasissoort(k)); - }); - } - - self.opmerking(data.opmerking); + var budget = 0; + var bedrag = 0; + if (data.basisbestemmingen){ + $.each(data.basisbestemmingen, function(i, b){ + $.each(b.subsoorten, function(x, s){ + $.each(s.uitgavetypes, function(z, t){ + budget += Number(t.budget); + bedrag += Number(t.bedrag); + } ) + } ) + }) + budget = self.fSetTotalValue(budget); + self.gebudgetbasis(budget); + bedrag = self.fSetTotalValue(bedrag); + self.totaalbasis(bedrag); + var totbudget = self.jaartoewijzing().basis; + $.each(data.basisbestemmingen,function(j,k){ + self.basissoorten.push(new fAddBasissoort(j,k, budget, totbudget, bedrag)); + }); + } + budget = 0; + bedrag = 0; + totbudget = 0; + if (data.extrabestemmingen){ + $.each(data.extrabestemmingen, function(i, b){ + $.each(b.subsoorten, function(x, s){ + $.each(s.uitgavetypes, function(z, t){ + budget += Number(t.budget); + bedrag += Number(t.bedrag); + } ) + } ) + }) + budget = self.fSetTotalValue(budget); + self.gebudgetextra(budget); + bedrag = self.fSetTotalValue(bedrag); + self.totaalextra(bedrag); + totbudget = self.jaartoewijzing().extra; + $.each(data.extrabestemmingen,function(j,k){ + self.extrasoorten.push(new fAddBasissoort(j, k, budget, totbudget, bedrag)); + }); + } + + self.opmerking(data.opmerking); + },'json'); }, - fSaveBedrag:function(){ + fSetTotalValue: function(value){ + var self = ls.BestemmingenModel; + var bedrag = value; + bedrag = parseFloat(bedrag).format(2, 3, '.', ','); + + return bedrag; + }, + + + fSaveBedrag:function(subsoortid, soort){ var self = ls.BestemmingenModel; if (self.jaarclosed()) return; - var dit = this; + var dit = this; + var uitgave = 0; + var formuitgave = 0; + var totaaluitgaven = 0; + var totaaluitgavenR = 0; + // if( Number(dit.budget()) <= 0){ + // apprise("Vul eerst een budget in.") + // return; + // } + var invoer = dit.formatted(); + if ( ! invoer) invoer = '0' + invoer = invoer.split('.').join(''); + invoer= invoer.replace(',' , '.'); + if (isNaN( parseFloat(invoer) ) ) { + return; + } + else { + invoer=parseFloat(invoer) + } + + dit.formatted(parseFloat(invoer).format(2,3,'.',',')); + if (invoer <= 0) dit.formatted(''); + dit.bedrag(invoer); + $.each(soort === 'BASIS' ? self.basissoorten() : self.extrasoorten(), function(i, b){ + $.each(b.subsoorten(), function(x, s){ + if (s.uitgavetypes()) { + $.each(s.uitgavetypes(), function (i, k) { + totaaluitgaven = Number(totaaluitgaven) + Number(k.bedrag()); + }); + if(s.subsoortID === subsoortid) { + $.each(s.uitgavetypes(), function (i, k) { + uitgave = Number(uitgave) + Number(k.bedrag()); + }); + s.totaal(uitgave); + s.formtotaal(parseFloat(uitgave) === 0 ? '' : parseFloat(uitgave).format(2, 3, '.', ',')); + + } + + } + }) + }) + totaaluitgaven = totaaluitgaven.format(2, 3, '.', ','); + totaaluitgavenR = totaaluitgaven.replace(/[.| ,]/g, ''); + + $.each(soort === 'BASIS' ? self.basissoorten() : self.extrasoorten(), function(i, b){ + $.each(b.subsoorten(), function(x, s){ + if (s.uitgavetypes()) { + let procent = 0; + formuitgave = s.formtotaal(); + formuitgave = formuitgave.replace(/[.| ,]/g, ''); + if (Number(totaaluitgavenR) > 0) procent = ((Number(formuitgave) / Number(totaaluitgavenR)) * 100).toFixed(1) + else formuitgave = 0; + s.procent(Number(totaaluitgavenR) > 0 && Number(procent) > 0 ? procent + '%' : '') + + } + }) + }) + + soort === 'BASIS' ? self.totaalbasis(totaaluitgaven): self.totaalextra(totaaluitgaven) ; + + invoer = Math.round(invoer * 100) ; + var sd = {'id': dit.finbestemmingID, + 'bedrag' : invoer + } + $.post("index.php/monfin2/bestemmingen/updatebedrag", sd); + }, + + fSaveBudget:function( subsoortid, soort ){ + var self = ls.BestemmingenModel; + if (self.jaarclosed()) return; + var dit = this; + var budgetoud = dit.budget(); + var budgetoudForm = dit.budget() > 0 ? parseFloat(budgetoud).format(2, 3, '.', ',') : ''; + var subbudget = 0; + var subbudgetoud = 0; + var subbudgetForm = ''; + var subbudgetFormoud = ''; + var totaalgebudget = 0; + var totaalgebudgetR = 0; + var totaalgebudgetRoud = 0; + var totaalgebudgetpct = ''; + var totaalgebudgetpctoud = ''; + var subbudgetpct = ''; + var subbudgetpctoud = ''; + + + var totaalbudget = (soort === 'BASIS' ? self.jaartoewijzing().basis.replace(/[.| ,]/g, '') : self.jaartoewijzing().extra.replace(/[.| ,]/g, '')); + + // update budget en budgetformat + var invoer = dit.budgetFormat(); + if ( ! invoer) invoer = '0' + invoer = invoer.split('.').join(''); + invoer= invoer.replace(',' , '.'); + if (isNaN( parseFloat(invoer) ) ) invoer =0; + else invoer = parseFloat(invoer) + + dit.budgetFormat(parseFloat(invoer).format(2, 3, '.', ',')); + if (invoer <= 0){ + dit.budgetFormat(budgetoudForm); + invoer = 0; + return; + } + dit.budget(invoer); + + // update subtotalen + $.each(soort === 'BASIS' ? self.basissoorten(): self.extrasoorten(), function(i, b){ + $.each(b.subsoorten(), function(x, s){ + if (s.uitgavetypes()) { + if (s.subsoortID === subsoortid) { + subbudgetoud = s.subbudget(); + subbudgetFormoud= s.subbudgetform(); + subbudgetpctoud = s.budgetprocent(); + totaalgebudgetpctoud = s.gebudgetprocent(); + $.each(s.uitgavetypes(), function (z, k) { + subbudget = Number(subbudget) + Number(k.budget()); + }); + s.subbudget(subbudget); + if (parseFloat(subbudget) > 0) { + subbudgetForm = parseFloat(subbudget).format(2, 3, '.', ','); + } + s.subbudgetform(Number(subbudget) > 0 ? subbudgetForm : ''); + + if (Number(subbudget) > 0) { + subbudget = subbudgetForm.replace(/[.| ,]/g, ''); + } + + subbudgetpct = (Number(totaalbudget) > 0 ? ((Number(subbudget) / Number(totaalbudget)) * 100).toFixed(1) : 0); + subbudgetpct = subbudgetpct.replace('.', ','); + s.budgetprocent(Number(totaalbudget) > 0 ? subbudgetpct + '%' : '') + + } + $.each(s.uitgavetypes(), function (z, k) { + totaalgebudget = Number(totaalgebudget) + Number(k.budget()); + }); + } + + }) + }) + + if (parseFloat(totaalgebudget) > 0) { + totaalgebudgetR = parseFloat(totaalgebudget).format(2, 3, '.', ','); + totaalgebudgetR = totaalgebudgetR.replace(/[.| ,]/g, ''); + + + + } + totaalgebudgetpct = (Number(totaalgebudgetR) > 0 ? ((Number(subbudget) / Number(totaalgebudgetR)) * 100).toFixed(1) : 0); + totaalgebudgetpct = totaalgebudgetpct.replace('.', ','); + + // update procenten + $.each(soort === 'BASIS' ? self.basissoorten(): self.extrasoorten(), function(i, b){ + $.each(b.subsoorten(), function(x, s){ + if (s.uitgavetypes()) { + if (s.subsoortID === subsoortid) { + s.gebudgetprocent(totaalgebudgetpct + '%' ); + } + } + }) + }) + + if(Number(totaalgebudget) > Number(totaalbudget) ){ + dit.budgetFormat(budgetoudForm); + dit.budget(budgetoud); + $.each(soort === 'BASIS' ? self.basissoorten(): self.extrasoorten(), function(i, b){ + $.each(b.subsoorten(), function(x, s){ + if (s.uitgavetypes()) { + if (s.subsoortID === subsoortid) { + s.subbudget(subbudgetoud); + s.subbudgetform(subbudgetFormoud); + s.budgetprocent(subbudgetpctoud); + s.gebudgetprocent(totaalgebudgetpctoud); + } + } + }) + }) + + + + //hier alle oude waarden invullen + apprise("Het budget overschrijdt het totaalbudget") + return; + } + else { + soort=== 'BASIS' ? self.gebudgetbasis(totaalgebudget): self.gebudgetextra(totaalbudget); + + invoer = Math.round(invoer * 100); + var sd = { + 'id' : dit.finbestemmingID, + 'budget': invoer, - invoer = dit.formatted(); - if (invoer <= '' || ! invoer) invoer = '0' - invoer = invoer.split('.').join(''); - invoer= invoer.replace(',' , '.'); - - if (isNaN( parseFloat(invoer) ) ) { - invoer =0; - } - else { - invoer=parseFloat(invoer) } - dit.formatted(parseFloat(invoer).format(2,3,'.',',')); - if (invoer <= 0) dit.formatted(''); - dit.bedrag(invoer); + $.post("index.php/monfin2/bestemmingen/updatebudget", sd); + } + }, + - invoer = Math.round(invoer * 100) ; - var sd = {id : dit.finbestemmingID, - bedrag : invoer} - $.post("index.php/monfin2/bestemmingen/updatebedrag", sd); - }, fToggle: function(wat){ switch(wat){ @@ -160,6 +431,13 @@ ls.initBestemmingenModel = function(){ };// switch }, + fToelichting: function(){ + + apprise('

In de regel budget geeft het eerste getal de som van het budget weer als percentage van het toaal gebudgetteerde bedrag.

' + + '

Het tweede getal is de som ban het budget als percentage van het totaal toegewezen budget.

' + + '

In de regel uitgave wordt de som van de uitgave weergegeven als percentage van de totale uitgaven.

') + }, + fSaveOpmerking: function(){ var self= ls.BestemmingenModel; if (self.jaarclosed()) return; @@ -175,51 +453,52 @@ ls.initBestemmingenModel = function(){ } } ; // definition van model - ls.BestemmingenModel.totaalbasis = ko.computed(function(){ - var som =0; - var invoer = 0; - if (this.basissoorten()) { - $.each(this.basissoorten(), function(i,p){ - if (p.subsoorten()) { - $.each(p.subsoorten(), function(a,b){ - $.each(b.uitgavetypes(), function(o,s){ - invoer=String(s.bedrag()); - invoer= invoer.replace(',' , ''); - if (! isNaN(invoer) ) { - invoer=parseFloat(invoer) - invoer = Math.round(invoer * 100) / 100; - som = som + invoer; - } - }); // each uitgavetypes - }); // each subsoorten - } // if subsoorten - }) // each soorten - } // if basissoorten - return som.format(2,3,'.',','); - },ls.BestemmingenModel); + // ls.BestemmingenModel.totaalbasis = ko.computed(function(){ + // var som =0; + // var invoer = 0; + // if (this.basissoorten()) { + // $.each(this.basissoorten(), function(i,p){ + // if (p.subsoorten()) { + // $.each(p.subsoorten(), function(a,b){ + // $.each(b.uitgavetypes(), function(o,s){ + // invoer=String(s.bedrag()); + // invoer= invoer.replace(',' , ''); + // if (! isNaN(invoer) ) { + // invoer=parseFloat(invoer) + // invoer = Math.round(invoer * 100) / 100; + // som = som + invoer; + // } + // }); // each uitgavetypes + // + // }); // each subsoorten + // } // if subsoorten + // }) // each soorten + // } // if basissoorten + // return som.format(2,3,'.',','); + // },ls.BestemmingenModel); - ls.BestemmingenModel.totaalextra = ko.computed(function(){ - var som =0; - var invoer = 0; - if (this.extrasoorten()) { - $.each(this.extrasoorten(), function(i,p){ - if (p.subsoorten()) { - $.each(p.subsoorten(), function(a,b){ - $.each(b.uitgavetypes(), function(o,s){ - invoer=String(s.bedrag()); - invoer= invoer.replace(',' , ''); - if (! isNaN(invoer) ) { - invoer=parseFloat(invoer) - invoer = Math.round(invoer * 100) / 100; - som = som + invoer; - } - }); // each uitgavetypes - }); // each subsoorten - } // if subsoorten - }) // each soorten - } // if basissoorten - return som.format(2,3,'.',','); - },ls.BestemmingenModel); + // ls.BestemmingenModel.totaalextra = ko.computed(function(){ + // var som =0; + // var invoer = 0; + // if (this.extrasoorten()) { + // $.each(this.extrasoorten(), function(i,p){ + // if (p.subsoorten()) { + // $.each(p.subsoorten(), function(a,b){ + // $.each(b.uitgavetypes(), function(o,s){ + // invoer=String(s.bedrag()); + // invoer= invoer.replace(',' , ''); + // if (! isNaN(invoer) ) { + // invoer=parseFloat(invoer) + // invoer = Math.round(invoer * 100) / 100; + // som = som + invoer; + // } + // }); // each uitgavetypes + // }); // each subsoorten + // } // if subsoorten + // }) // each soorten + // } // if basissoorten + // return som.format(2,3,'.',','); + // },ls.BestemmingenModel); ls.BestemmingenModel.initBindings(); }; // else diff --git a/public/js/monpas/models/monfin2/monfinoverzicht2.js b/public/js/monpas/models/monfin2/monfinoverzicht2.js index 8e871c8..aecd77d 100644 --- a/public/js/monpas/models/monfin2/monfinoverzicht2.js +++ b/public/js/monpas/models/monfin2/monfinoverzicht2.js @@ -57,21 +57,22 @@ ls.initMonfinOverzicht2Model = function(){ subTot : ko.observable(), grandTot : ko.observable(), //schoolbedragen : ko.observableArray([]), - schooltotaal : ko.observable(''), - kalenderjaren : ko.observableArray(), - selectedKalenderjaar : ko.observable(), - zelfjanee : ko.observable('1'), + 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(), + basis : ko.observableArray(), + extra : ko.observableArray(), sombasisperuitgavetype : ko.observableArray(), - somextraperuitgavetype : ko.observableArray(), + somextraperuitgavetype : ko.observableArray(), totsomperuitgavetype : ko.observableArray(), basisgeopend : ko.observable(false), extrageopend : ko.observable(false), - budgetten : ko.observableArray(), + budgetten : ko.observableArray(), + selectedSubsoort : ko.observable(), initBindings :function(){ var self = ls.MonfinOverzicht2Model; @@ -106,6 +107,7 @@ ls.initMonfinOverzicht2Model = 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, @@ -187,6 +189,31 @@ ls.initMonfinOverzicht2Model = function(){ 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 = 'Uitgaven als percentage van het totale toegewezen budget.'; + break; + case '%UITGAVEN' : message = 'Uitgaven als percentage van de totale uitgaven.'; + break; + case 'BUDGET' : message = 'Budget afgerond op hele euros. Klik op i in de regel voor een uitsplitsing van het budget.'; + break; + case '%GEBUDGET': message ='Budget als percentage van het totaal gebudgetteerde bedrag.'; + break; + case '%BUDGET2' : message='Budget als percentage van het totaal toegewezen budget.'; + break; + case 'VERSCHIL' : message = 'Het verschil tussen het toegewezen budget en de uitgaven afgerond op hele euros.'; + + } + apprise(message); + }, + fToggleOrg :function(){ this.geopend(!this.geopend()); }, @@ -195,6 +222,39 @@ ls.initMonfinOverzicht2Model = function(){ 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.totsomperuitgavetype() + }); + 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 ten opzichte van het toegewezen budget.'); + }, + + } ; // definition van model ls.MonfinOverzicht2Model.initBindings(); }; // elses