Merge branch 'feature/budgetmonfin' into develop

This commit is contained in:
2023-03-24 15:01:12 +01:00
11 changed files with 1647 additions and 432 deletions
+1 -1
View File
@@ -227,7 +227,7 @@ $config['allow_get_array'] = TRUE;
| your log files will fill up very fast. | your log files will fill up very fast.
| |
*/ */
$config['log_threshold'] = 0; $config['log_threshold'] = 1;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@@ -8,7 +8,6 @@ class Bestemmingen extends MY_Controller{
"monpas/Toewijzingen_model", "monpas/Toewijzingen_model",
"monfin2/Finuitgavetypes_model", "monfin2/Finuitgavetypes_model",
"monfin2/Finbestemmingen_model", "monfin2/Finbestemmingen_model",
"monfin2/Finsoorten_model", "monfin2/Finsoorten_model",
"monfin2/Finsubsoorten_model"); "monfin2/Finsubsoorten_model");
$this->load->model($models); $this->load->model($models);
@@ -52,7 +51,6 @@ class Bestemmingen extends MY_Controller{
function getBestemmingen(){ function getBestemmingen(){
if($this->Autorisaties_model->check_autorisatie($this->userrole, READER) <=0) { if($this->Autorisaties_model->check_autorisatie($this->userrole, READER) <=0) {
$jaartoewijzing =array(); $jaartoewijzing =array();
$bestedingen = array();
$jaarclosed = TRUE; $jaarclosed = TRUE;
} }
else { else {
@@ -72,7 +70,7 @@ class Bestemmingen extends MY_Controller{
} }
$basisbestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"BASIS"); $basisbestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"BASIS");
$extrabestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"EXTRA"); $extrabestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"EXTRA");
$opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $jaarnr); $opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $jaarnr);
}; };
@@ -90,10 +88,19 @@ class Bestemmingen extends MY_Controller{
$targetjaar = $this->Toewijzingen_model->getNextJaar($this->globorgid); $targetjaar = $this->Toewijzingen_model->getNextJaar($this->globorgid);
$bestemmingjaar = $this->Finbestemmingen_model->get(['id'=>$bestemmingID], 'kalenderjaar', true); $bestemmingjaar = $this->Finbestemmingen_model->get(['id'=>$bestemmingID], 'kalenderjaar', true);
if ($targetjaar == $bestemmingjaar){ 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(){ function saveopmerking(){
// TODO check autorisatie // TODO check autorisatie
$orgid = $this->globorgid; $orgid = $this->globorgid;
@@ -22,35 +22,81 @@ class Monfin2overzicht extends MY_Controller{
$kalenderjaarnr = $this->clean_input("jaarnr"); $kalenderjaarnr = $this->clean_input("jaarnr");
$uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes(); $uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
$budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr); $budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr);
$totbudget = 0;
$totbesteed = 0;
$basis = array(); $basis = array();
$extra = array(); $extra = array();
$sompersoort = array();
$schooltot = 0; $schooltot = 0;
$opmerking = ''; $opmerking = '';
if ($budgetten){ if ($budgetten) {
// $totbudget = $budgetten->basis + $budgetten->extra ; $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra) / 100);
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)/100); $budgetten->basis = ROUND($budgetten->basis / 100);
$budgetten->basis = ROUND($budgetten->basis / 100); $budgetten->extra = Round($budgetten->extra / 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"); $basis = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"BASIS");
$extra = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"EXTRA"); $extra = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"EXTRA");
$sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes); $sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes);
$somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes); $somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes);
$totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes); $totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes);
$totbesteed = $this->sommeeralles($totsomperuitgavetype); $totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG');
$basis = $this->get_som_regel($basis); $totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET');
$extra = $this->get_som_regel($extra);
// todo $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 // bereken budget - besteding verschil per basis/extra/overig
$budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' ); $budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' );
$budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' ); $budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' );
$budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som); $budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som);
// todo $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 // zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken
$budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.'); $budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.');
$budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.'); $budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.');
@@ -58,34 +104,44 @@ class Monfin2overzicht extends MY_Controller{
foreach($sombasisperuitgavetype as $sompertype){ foreach($sombasisperuitgavetype as $sompertype){
$sompertype->som = number_format($sompertype->som,0, ',' , '.' ); $sompertype->som = number_format($sompertype->som,0, ',' , '.' );
} $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
}
foreach($somextraperuitgavetype as $sompertype){ foreach($somextraperuitgavetype as $sompertype){
$sompertype->som = number_format($sompertype->som,0, ',' , '.' ); $sompertype->som = number_format($sompertype->som,0, ',' , '.' );
} $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
}
foreach($totsomperuitgavetype as $sompertype){ foreach($totsomperuitgavetype as $sompertype){
$sompertype->som = number_format($sompertype->som,0, ',' , '.' ); $sompertype->som = number_format($sompertype->som,0, ',' , '.' );
} $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
}
$schooltot = array( 'budget' => $budgetten->totaal , $schooltot = array( 'budget' => $budgetten->totaal ,
"bestemd" => number_format($totbesteed, 0, ',' , '.' ), "bestemd" => number_format($totbesteed, 0, ',' , '.' ),
"gebudget" => number_format($totgebudgeteerd, 0, ',' , '.' ),
"verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' )); "verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' ));
$opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr); $opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr);
}; // if budgetten // }; // if budgetten
if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0; if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0;
if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0; if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0;
if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0; if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0;
if (! isset($schooltot)) $schooltot = 0; if (! isset($schooltot)) $schooltot = 0;
echo json_encode(array('uitgavetypes' =>$uitgavetypes, echo json_encode(array('uitgavetypes' =>$uitgavetypes,
'basis' =>$basis, 'basis' =>$basis,
'extra' =>$extra, 'extra' =>$extra,
'sombasisperuitgavetype' =>$sombasisperuitgavetype, 'sombasisperuitgavetype' =>$sombasisperuitgavetype,
'somextraperuitgavetype' =>$somextraperuitgavetype, 'somextraperuitgavetype' =>$somextraperuitgavetype,
'totsomperuitgavetype' =>$totsomperuitgavetype, 'totsomperuitgavetype' =>$totsomperuitgavetype,
'schooltotaal' => $schooltot, 'schooltotaal' => $schooltot,
'budgetten' => $budgetten, 'budgetten' => $budgetten,
'opmerking' => $opmerking)); 'opmerking' => $opmerking));
} }
function getschoolbedragenNieuw(){ function getschoolbedragenNieuw(){
@@ -103,24 +159,24 @@ class Monfin2overzicht extends MY_Controller{
} else { } else {
$budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr); $budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr);
} }
$totbudget = 0;
$totbesteed = 0;
$basis = array(); $basis = array();
$extra = array(); $extra = array();
$sompersoort = array();
$schooltot = 0; $schooltot = 0;
$opmerking = ''; $opmerking = '';
if ($budgetten){ if ($budgetten) {
if ($soortoverzicht == 3){ if ($soortoverzicht == 3) {
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)); $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra));
$budgetten->basis = ROUND($budgetten->basis ); $budgetten->basis = ROUND($budgetten->basis);
$budgetten->extra = ROUND($budgetten->extra); $budgetten->extra = ROUND($budgetten->extra);
} else { } else {
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)/100); $budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra) / 100);
$budgetten->basis = ROUND($budgetten->basis / 100); $budgetten->basis = ROUND($budgetten->basis / 100);
$budgetten->extra = ROUND($budgetten->extra/ 100); $budgetten->extra = ROUND($budgetten->extra / 100);
} }
if ($soortoverzicht == 3){ if ($soortoverzicht == 3){
$basis = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"BASIS"); $basis = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"BASIS");
$extra = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"EXTRA"); $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); $sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes);
$somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes); $somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes);
$totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes); $totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes);
$totbesteed = $this->sommeeralles($totsomperuitgavetype); $totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG');
$basis = $this->get_som_regel($basis); $totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET');
$extra = $this->get_som_regel($extra); $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 // todo
// bereken budget - besteding verschil per basis/extra/overig // bereken budget - besteding verschil per basis/extra/overig
$budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' ); $budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' );
$budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' ); $budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' );
$budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som); $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 // zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken
$budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.'); $budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.');
$budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.'); $budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.');
@@ -148,16 +239,23 @@ class Monfin2overzicht extends MY_Controller{
foreach($sombasisperuitgavetype as $sompertype){ foreach($sombasisperuitgavetype as $sompertype){
$sompertype->som = number_format($sompertype->som,0, ',' , '.' ); $sompertype->som = number_format($sompertype->som,0, ',' , '.' );
} $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
}
foreach($somextraperuitgavetype as $sompertype){ foreach($somextraperuitgavetype as $sompertype){
$sompertype->som = number_format($sompertype->som,0, ',' , '.' ); $sompertype->som = number_format($sompertype->som,0, ',' , '.' );
} $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
}
foreach($totsomperuitgavetype as $sompertype){ foreach($totsomperuitgavetype as $sompertype){
$sompertype->som = number_format($sompertype->som,0, ',' , '.' ); $sompertype->som = number_format($sompertype->som,0, ',' , '.' );
} $sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
}
$schooltot = array( 'budget' => $budgetten->totaal , $schooltot = array( 'budget' => $budgetten->totaal ,
"bestemd" => number_format($totbesteed, 0, ',' , '.' ), "bestemd" => number_format($totbesteed, 0, ',' , '.' ),
"gebudget" => number_format($totgebudgeteerd, 0, ',' , '.' ),
"verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' )); "verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' ));
if ($soortoverzicht == 3){ if ($soortoverzicht == 3){
@@ -166,9 +264,9 @@ class Monfin2overzicht extends MY_Controller{
$opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr); $opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr);
} }
}; // if budgetten }; // if budgetten
if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0; if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = false;
if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0; if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = false;
if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0; if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = false;
if (! isset($schooltot)) $schooltot = 0; if (! isset($schooltot)) $schooltot = 0;
echo json_encode(array('uitgavetypes' =>$uitgavetypes, echo json_encode(array('uitgavetypes' =>$uitgavetypes,
@@ -181,46 +279,87 @@ class Monfin2overzicht extends MY_Controller{
'budgetten' => $budgetten, 'budgetten' => $budgetten,
'opmerking' => $opmerking)); 'opmerking' => $opmerking));
} }
function sommeeralles($totsomperuitgavetype){ function sommeeralles($totsomperuitgavetype, $soort){
$totsom =0; $totsom =0;
if ($totsomperuitgavetype){ if ($totsomperuitgavetype){
foreach($totsomperuitgavetype as $som){ foreach($totsomperuitgavetype as $som){
$waarde = $som->som;
if($soort == 'BUDGET') $waarde = $som->budgetsom;
if ($som->code != "REGELSOM"){ if ($som->code != "REGELSOM"){
$totsom += $som->som; $totsom += $waarde;
} }
} }
} }
return $totsom; return $totsom;
} }
function get_som_regel($soorten){ function get_som_regel($soorten, $bedrag, $gebudget, $budget ){
if ($soorten){ $somgebudgetpct = 0;
foreach($soorten as $soort){ $sombudgetpct = 0;
if ($soort->subsoorten){ $sombedragpct = 0;
foreach ($soort->subsoorten as $subsoort){ $sombedragbudgetpct = 0;
foreach($soorten ? : [] as $soort){
foreach ($soort->subsoorten ? : [] as $subsoort){
$som = 0; $som = 0;
if ($subsoort->uitgavetypes){ $budgetsom = 0;
foreach($subsoort->uitgavetypes as $uitgavetype){ foreach($subsoort->uitgavetypes ? : [] as $uitgavetype){
if ($uitgavetype && $uitgavetype->bedrag){ if ($uitgavetype->bedrag){
$som += $uitgavetype->bedrag; $som += $uitgavetype->bedrag;
$uitgavetype->bedrag = number_format($uitgavetype->bedrag,0,',','.'); $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]= new stdClass; $bedragpct = 0;
$subsoort->uitgavetypes[3]->bedrag =number_format($som,0, ',' , '.'); $bedragbudgetpct = 0;
$subsoort->uitgavetypes[3]->code ='REGELSOM'; $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){ function sommeer_per_uitgavetype($sombasis,$somextra,$uitgavetypes){
$somtot = []; $somtot = [];
$regelsom =0; $regelsom =0;
$regelsom2 = 0;
if ($uitgavetypes){ if ($uitgavetypes){
$index =0; $index =0;
foreach($uitgavetypes as $uitgavetype){ foreach($uitgavetypes as $uitgavetype){
@@ -228,20 +367,29 @@ class Monfin2overzicht extends MY_Controller{
$somtot[$index]->code = $uitgavetype->code; $somtot[$index]->code = $uitgavetype->code;
$somtot[$index]->naam = $uitgavetype->naam; $somtot[$index]->naam = $uitgavetype->naam;
$somtot[$index]->som =0; $somtot[$index]->som =0;
$somtot[$index]->budgetsom =0;
foreach($sombasis as $basis){ 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){ 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; $regelsom += $somtot[$index]->som;
$regelsom2 += $somtot[$index]->budgetsom;
$index += 1; $index += 1;
} }
$somtot[$index] = new stdClass; $somtot[$index] = new stdClass;
$somtot[$index]->code = "REGELSOM"; $somtot[$index]->code = "REGELSOM";
$somtot[$index]->naam = "Som"; $somtot[$index]->naam = "Som";
$somtot[$index]->som = $regelsom; $somtot[$index]->som = $regelsom;
$somtot[$index]->budgetsom = $regelsom2;
} }
return $somtot; return $somtot;
@@ -254,36 +402,38 @@ class Monfin2overzicht extends MY_Controller{
$sombasis[$uitgavetype->code]= new stdClass; $sombasis[$uitgavetype->code]= new stdClass;
$sombasis[$uitgavetype->code]->naam= $uitgavetype->naam; $sombasis[$uitgavetype->code]->naam= $uitgavetype->naam;
$sombasis[$uitgavetype->code]->som=0; $sombasis[$uitgavetype->code]->som=0;
$sombasis[$uitgavetype->code]->budgetsom =0;
} }
if ($basis){
foreach($basis as $soort){ foreach($basis ? $basis : [] as $soort){
if ($soort->subsoorten){ foreach ($soort->subsoorten ? $soort->subsoorten : [] as $subsoort){
foreach ($soort->subsoorten as $subsoort){ foreach($subsoort->uitgavetypes ? $subsoort->uitgavetypes :[] as $uitgavetype) {
if ($subsoort->uitgavetypes){
foreach($subsoort->uitgavetypes as $uitgavetype) {
$sombasis[$uitgavetype->code]->som += $uitgavetype->bedrag; $sombasis[$uitgavetype->code]->som += $uitgavetype->bedrag;
$sombasis[$uitgavetype->code]->budgetsom += $uitgavetype->budget;
} //foreach } //foreach
}// if uitgavetypes
}//foreach subsoort }//foreach subsoort
}//if subsoort
}//foreach basis }//foreach basis
} // if basis
} // if uitgavetypes } // if uitgavetypes
$somasarray=[]; $somasarray=[];
$index = 0; $index = 0;
$regelsom=0; $regelsom=0;
$regelsom2 = 0;
foreach($uitgavetypes as $uitgavetype){ foreach($uitgavetypes as $uitgavetype){
$somasarray[$index ] = new stdClass; $somasarray[$index ] = new stdClass;
$somasarray[$index]->code = $uitgavetype->code; $somasarray[$index]->code = $uitgavetype->code;
$somasarray[$index]->naam = $sombasis[$uitgavetype->code]->naam; $somasarray[$index]->naam = $sombasis[$uitgavetype->code]->naam;
$somasarray[$index ]->som = round($sombasis[$uitgavetype->code]->som,0); $somasarray[$index ]->som = round($sombasis[$uitgavetype->code]->som,0);
$regelsom += $somasarray[$index ]->som; $somasarray[$index ]->budgetsom = round($sombasis[$uitgavetype->code]->budgetsom,0);
$regelsom += $somasarray[$index ]->som;
$regelsom2 += $somasarray[$index ]->budgetsom;
$index += 1; $index += 1;
}; };
$somasarray[$index] = new stdClass; $somasarray[$index] = new stdClass;
$somasarray[$index]->code ="REGELSOM"; $somasarray[$index]->code ="REGELSOM";
$somasarray[$index]->naam = "Som"; $somasarray[$index]->naam = "Som";
$somasarray[$index]->som = $regelsom; $somasarray[$index]->som = $regelsom;
$somasarray[$index]->budgetsom = $regelsom2;
return $somasarray; return $somasarray;
} }
@@ -466,16 +616,18 @@ class Monfin2overzicht extends MY_Controller{
$targetorgid = $this->clean_input('orgid'); $targetorgid = $this->clean_input('orgid');
$kalenderjaarnr = $this->clean_input("jaarnr"); $kalenderjaarnr = $this->clean_input("jaarnr");
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid); $targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
list($targetorg->pms,$otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr); list($targetorg->pms, $targetorg->bud, $targetorg->kleur, $otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr);
$sumother = $this->getsumotherpms($otherorgs); $sumother = $this->getsumotherpms($otherorgs);
$sumtot = $this->getsumtotpms($targetorg, $sumother); $sumtot = $this->getsumtotpms($targetorg, $sumother);
$targetorg->pms = $this->format_all_bedragen($targetorg->pms); $targetorg->pms = $this->format_all_bedragen($targetorg->pms, 5);
$sumother = $this->format_all_bedragen($sumother); $targetorg->bud = $this->format_all_bedragen($targetorg->bud, 5);
$sumtot = $this->format_all_bedragen($sumtot); $sumother = $this->format_all_bedragen($sumother, 11);
$sumtot = $this->format_all_bedragen($sumtot, 11);
if ($otherorgs){ if ($otherorgs){
foreach($otherorgs as $otherorg){ 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, 'sumother' => $sumother,
'sumtot' => $sumtot]); 'sumtot' => $sumtot]);
} }
function format_all_bedragen($pms){ function format_all_bedragen($pms, $lengte){
for ($i = 0 ; $i <=5; $i++){ for ($i = 0 ; $i <=$lengte; $i++){
if ($pms[$i] >0 ) $pms[$i]=number_format($pms[$i], 0, ',' , '.'); if ($pms[$i] >0 ) $pms[$i]=number_format($pms[$i], 0, ',' , '.');
else $pms[$i]=''; else $pms[$i]='';
} }
return $pms; return $pms;
} }
private function get_bestuur_pms($targetorgid, $kalenderjaarnr){ private function get_bestuur_pms($targetorgid, $kalenderjaarnr)
$pms = $this->Finbestemmingen_model->get_pms($targetorgid, $kalenderjaarnr); {
$targetorg->pms[0] = 0; $pms = $this->Finbestemmingen_model->get_pms($targetorgid, $kalenderjaarnr);
$targetorg->pms[1] = 0; $targetorg = new stdClass();
$targetorg->pms[2] = 0; $targetorg->pms[0] = 0;
$targetorg->pms[3] = 0; $targetorg->pms[1] = 0;
$targetorg->pms[4] = 0; $targetorg->pms[2] = 0;
$targetorg->pms[5] = 0; $targetorg->pms[3] = 0;
if ($pms){ $targetorg->pms[4] = 0;
foreach($pms as $uitgave){ $targetorg->pms[5] = 0;
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="PERSONEEL") $targetorg->pms[0] += $uitgave->bedrag;
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="MATERIEEL") $targetorg->pms[1] += $uitgave->bedrag; $targetorg->bud[0] = 0;
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="SCHOLING") $targetorg->pms[2] += $uitgave->bedrag; $targetorg->bud[1] = 0;
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="PERSONEEL") $targetorg->pms[3] += $uitgave->bedrag; $targetorg->bud[2] = 0;
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="MATERIEEL") $targetorg->pms[4] += $uitgave->bedrag; $targetorg->bud[3] = 0;
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="SCHOLING") $targetorg->pms[5] += $uitgave->bedrag; $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 ($organisatie->pms[0] > $organisatie->bud[0]) $organisatie->kleur[0] = 'red';
if (! $org_plus_subs) {$org_plus_subs = $organisatie->orgid;}; if ($organisatie->pms[1] > $organisatie->bud[1]) $organisatie->kleur[1] = 'red';
$pms = $this->Finbestemmingen_model->get_pms($org_plus_subs, $kalenderjaarnr); if ($organisatie->pms[2] > $organisatie->bud[2]) $organisatie->kleur[2] = 'red';
$organisatie->pms[0] = 0; if ($organisatie->pms[3] > $organisatie->bud[3]) $organisatie->kleur[3] = 'red';
$organisatie->pms[1] = 0; if ($organisatie->pms[4] > $organisatie->bud[4]) $organisatie->kleur[4] = 'red';
$organisatie->pms[2] = 0; if ($organisatie->pms[5] > $organisatie->bud[4]) $organisatie->kleur[5] = 'red';
$organisatie->pms[3] = 0;
$organisatie->pms[4] = 0;
$organisatie->pms[5] = 0; }; // if organisaties
if ($pms){
foreach($pms as $uitgave){ return [$targetorg->pms, $targetorg->bud, $targetorg->kleur, $organisaties];
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];
}
function getsumtotpms($targetorg, $sumother){ function getsumtotpms($targetorg, $sumother){
$sumtot = []; $sumtot = [];
@@ -551,6 +787,18 @@ class Monfin2overzicht extends MY_Controller{
$sumtot[3] = $targetorg->pms[3] + $sumother[3]; $sumtot[3] = $targetorg->pms[3] + $sumother[3];
$sumtot[4] = $targetorg->pms[4] + $sumother[4]; $sumtot[4] = $targetorg->pms[4] + $sumother[4];
$sumtot[5] = $targetorg->pms[5] + $sumother[5]; $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; return $sumtot;
} }
@@ -563,16 +811,46 @@ class Monfin2overzicht extends MY_Controller{
$sumother[3] = 0; $sumother[3] = 0;
$sumother[4] = 0; $sumother[4] = 0;
$sumother[5] = 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){ foreach($otherorgs as $org){
if ($org->pms){
$sumother[0] += $org->pms[0]; $sumother[0] += $org->pms[0];
$sumother[1] += $org->pms[1]; $sumother[1] += $org->pms[1];
$sumother[2] += $org->pms[2]; $sumother[2] += $org->pms[2];
$sumother[3] += $org->pms[3]; $sumother[3] += $org->pms[3];
$sumother[4] += $org->pms[4]; $sumother[4] += $org->pms[4];
$sumother[5] += $org->pms[5]; $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; return $sumother;
} }
+2 -1
View File
@@ -80,7 +80,8 @@ class MY_Controller extends CI_Controller{
// public $version = '1.18.08';// kleurenfout // public $version = '1.18.08';// kleurenfout
// public $version = '1.19.00';// ambities per org // public $version = '1.19.00';// ambities per org
// public $version = '1.19.01';// compactdiv met orgid ipv globorg // 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 $partituurid;
public $globProfielVersieID = 1; public $globProfielVersieID = 1;
public $userid; //id of the user that is logged in public $userid; //id of the user that is logged in
@@ -10,7 +10,9 @@ class Finbestemmingen_model extends MY_Model{
function __construct(){ function __construct(){
parent::__construct(); parent::__construct();
$models = array('shared/Organisaties_model', $models = array('shared/Organisaties_model',
"monfin2/Finuitgavetypes_model"); "monfin2/Finuitgavetypes_model"
);
$this->load->model($models); $this->load->model($models);
} }
@@ -61,7 +63,7 @@ class Finbestemmingen_model extends MY_Model{
if ($uitgavetypes){ if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){ foreach($uitgavetypes as $uitgavetype){
$subsoort->uitgavetypes[] = $this->get_bedrag_per_type($orgID, $jaarnr,$subsoort->subsoortID,$uitgavetype->code); $subsoort->uitgavetypes[] = $this->get_bedrag_per_type($orgID, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
} }
} }
} }
}// if subsoorten }// if subsoorten
@@ -87,7 +89,8 @@ class Finbestemmingen_model extends MY_Model{
// haal per uitgavetypes de bedragen op // haal per uitgavetypes de bedragen op
if ($uitgavetypes){ if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){ 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 subsoorten
// } // }
// }// if soorten // }// if soorten
// return $soorten; // return $soorten;
// } // }
function setSomSubsoort($orgid, $jaarnr, $categorie){ function setSomSubsoort($orgid, $jaarnr, $categorie){
@@ -164,6 +167,7 @@ class Finbestemmingen_model extends MY_Model{
function get_bedrag_per_type($orgid, $jaarnr,$subsoortID, $uitgavetype){ function get_bedrag_per_type($orgid, $jaarnr,$subsoortID, $uitgavetype){
$this->sql = "SELECT id, $this->sql = "SELECT id,
FORMAT(bedrag / 100,2) as bedrag, FORMAT(bedrag / 100,2) as bedrag,
FORMAT(budget / 100,2) as budget,
uitgavetype as code uitgavetype as code
FROM finbestemmingen FROM finbestemmingen
WHERE organisatie_id = {$orgid} WHERE organisatie_id = {$orgid}
@@ -176,27 +180,39 @@ class Finbestemmingen_model extends MY_Model{
"kalenderjaar" =>$jaarnr, "kalenderjaar" =>$jaarnr,
"subsoort_id" =>$subsoortID, "subsoort_id" =>$subsoortID,
"uitgavetype" =>$uitgavetype, "uitgavetype" =>$uitgavetype,
"bedrag" =>0]; "bedrag" =>0,
"budget" =>0];
$this->insert_record($data); $this->insert_record($data);
$row = $this->get_query_row(); $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; return $row;
} }
function get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoortID, $uitgavetype){ function get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoortID, $uitgavetype){
$this->sql = "SELECT id, $this->sql = "SELECT id,
FORMAT(sum(bedrag) / 100,2) as bedrag, FORMAT(sum(bedrag) / 100,2) as bedrag,
FORMAT(budget / 100,2) as budget,
uitgavetype as code uitgavetype as code
FROM finbestemmingen FROM finbestemmingen
WHERE organisatie_id in ({$orglist}) WHERE organisatie_id in ({$orglist})
AND kalenderjaar = {$jaarnr } AND kalenderjaar = {$jaarnr }
AND subsoort_id = {$subsoortID} AND subsoort_id = {$subsoortID}
AND uitgavetype = '{$uitgavetype}' "; AND uitgavetype = '{$uitgavetype}' ";
$row= $this->get_query_row(); $row= $this->get_query_row();
if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag); if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag);
if ($row) $row->budget = str_replace(',' , '' , $row->budget);
return $row; return $row;
} }
@@ -245,7 +261,8 @@ class Finbestemmingen_model extends MY_Model{
return $this->get_query_row('bedrag'); return $this->get_query_row('bedrag');
} }
function get_pms($orgids, $kalenderjaarnr){ 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, uitgavetype,
FS.categorie, FS.categorie,
FB.organisatie_id FB.organisatie_id
@@ -0,0 +1,48 @@
<div class="modal fade" id="modFindetails" role="dialog" >
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header" style="background-color: #968026; color:#FFFFFF ">
<h4>Uitsplitsing budget </h4>
</div>
<div class="modal-body">
<div data-bind="with: selectedSubsoort() ? selectedSubsoort() : '' ">
<p style="font-weight: bold" data-bind="text: naam "></p>
<br>
<table style="border 1px solid #ebebeb;"
data-bind=" foreach: uitgavetypes">
<tr>
<td style="text-transform: lowercase; border: 1px solid #ebebeb "
data-bind=" text: code== 'REGELSOM' ? 'som' : code,
style: {borderTop: code == 'REGELSOM' ? '3px solid #ebebeb' : '1px solid #ebebeb' }"
>
</td>
<!-- ko if: $parent.naam != 'Totaal gebudgetteerd' && $parent.naam != 'Basisondersteuning gebudgetteerd' && $parent.naam != 'Extra ondersteuning gebudgetteerd' -->
<td style="border: 1px solid #ebebeb;text-align: right "
data-bind=" text: budget,
style: {borderTop: code == 'REGELSOM' ? '3px solid #ebebeb' : '1px solid #ebebeb' } ">
</td>
<!-- /ko -->
<!-- ko if: $parent.naam == 'Totaal gebudgetteerd' || $parent.naam == 'Basisondersteuning gebudgetteerd' || $parent.naam == 'Extra ondersteuning gebudgetteerd' -->
<td style="border: 1px solid #ebebeb; text-align: right"
data-bind=" text: budgetsom,
style: {borderTop: code == 'REGELSOM' ? '3px solid #ebebeb' : '1px solid #ebebeb' } ">
</td>
<!-- /ko -->
</tr>
</table>
</div>
</div>
<div class="modal-footer">
<button style="width: 80px;"
data-dismiss="modal">sluit
</button>
</div>
</div>
</div>
</div>
@@ -24,95 +24,278 @@
</h4> </h4>
<div data-bind="visible: basisgeopend()"> <div data-bind="visible: basisgeopend()">
<table class="lstable" style="width : 100%; font-size:0.9em"> <table class="lstable" style="width : 100%; font-size:0.9em">
<colgroup> <thead>
<col style="width:40%"> <tr>
<col span='3' style="width: 18%"> <th style="width:25%"></th>
</colgroup> <th style="width:5%"></th>
<th style="width: 14%"></th>
<th style="width: 14%"></th>
<th style="width: 14%"></th>
<th style="width:14%"></th>
<th style="width:14%"></th>
</tr>
</thead>
<tbody data-bind="foreach: basissoorten"> <tbody data-bind="foreach: basissoorten">
<tr class="blokheader" style="text-align:left; padding-left:5px"> <tr class="blokheader" style="; text-align:left; padding-left:5px; ">
<td style="width: 40%" data-bind="text:naam"></td> <td data-bind="text:naam">
<!-- ko foreach: $root.uitgavetypes --> </td>
<td style="text-align:right" data-bind="text:code"> </td> <td></td>
<!-- /ko --> <!-- ko if: $index() ==0-->
<!-- ko foreach: $root.uitgavetypes -->
<td style="text-align:right">
<span data-bind="text: code"></span>
</td>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: $index() != 0-->
<!-- ko foreach: $root.uitgavetypes -->
<td >
</td>
<!-- /ko -->
<!-- /ko -->
<td class="blokheader" style="text-align: right; padding-right: 5px;padding-bottom: 5px; border-radius: 0">
<span data-bind="visible: $index() ==0">Som</span>
</td>
<td class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; border-radius: 0">
<span data-bind="visible: $index() ==0">Percentage</span>
<i class="fa fa-info-circle"
data-bind="click: $parent.fToelichting,
visible: $index() ==0">
</i>
</td>
</tr> </tr>
<!-- ko foreach:subsoorten --> <!-- ko foreach:subsoorten -->
<tr> <tr>
<td data-bind="text: naam"></td> <td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
<!-- ko if (code == $root.uitgavetypes()[$index()].code) --> <!-- ko if (code == $root.uitgavetypes()[$index()].code) -->
<td style="text-align: right"> <td style="text-align: right; ">
<input class="decimal" <input class="decimal"
style="width: 200px;max-width:100%" style="width: 150px; max-width: 100%; background-color: #e6ffee"
data-bind="textInput: formatted,event:{change:$root.fSaveBedrag} , data-bind="textInput: budgetFormat,
enable: $root.targetjaar() == $root.selectedKalenderjaar().jaarnr && ! $root.jaarclosed()" /> event:{change:$root.fSaveBudget.bind($data, $parent.subsoortID, 'BASIS') } ,
</td> enable: ! $root.jaarclosed()"
/>
</td>
<!-- /ko --> <!-- /ko -->
<!-- /ko --> <!-- /ko -->
</tr> <td style="padding: 0; padding-top: 1px; vertical-align: top">
<div style="width:150px; max-width: 100%; height: 24px; background-color: #e6ffee; border-radius: 3px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px; ">
<span data-bind="text: subbudgetform,
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
<td style="padding: 0; padding-top: 1px; vertical-align: top">
<div style="width:150px; max-width: 100%;height: 24px; background-color: #e6ffee; border-radius: 3px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px;">
<span data-bind="text: subbudgetform() != '' ? gebudgetprocent() + ' ('+ budgetprocent() + ')' : '',
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
</tr>
<tr >
<td ></td>
<td style="text-align: left; color:#003e80; ">uitgaven</td>
<!-- ko foreach: uitgavetypes() -->
<!-- ko if (code == $root.uitgavetypes()[$index()].code) -->
<td style="text-align: right; padding-bottom: 10px;">
<input class="decimal"
style="width: 150px; max-width:100%; background-color: #e6f2ff"
data-bind="textInput: formatted,
style: { color : budget() < bedrag() ? '#ff0000' : '#000000'},
event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} ,
enable: ! $root.jaarclosed()" />
</td>
<!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top">
<div style="width:150px; max-width: 100%; height: 24px;background-color: #e6f2ff; border-radius: 2px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; margin: 0; margin-top: 1px;text-align: right; padding-right: 3px; ">
<span data-bind="text: formtotaal,
style: { color : subbudget() < totaal() ? '#ff0000' : '#000000'},
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
<td style="padding: 0; vertical-align: top">
<div style="width:150px; max-width: 100%; height: 24px; background-color: #e6f2ff; border-radius: 3px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; margin: 0; margin-top: 1px; text-align: right; padding-right: 3px;">
<span data-bind="text: procent,
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
</tr>
<!-- /ko --> <!-- /ko -->
</tbody> <!-- FOREACH basissoorten --> </tbody> <!-- FOREACH basissoorten -->
</table> </table>
</div> <!-- visible basisgeopend --> </div> <!-- visible basisgeopend -->
<p style="margin-bottom:0px; background-color:#f8f8f8; padding-left:10px; padding-top:10px;"> <p style="margin-bottom:0; background-color:#f8f8f8; padding-left:10px; padding-top:10px;">
<span style="display:inline-block; width: 200px;" >Totaal basisondersteuning </span> <span style="display:inline-block; width: 250px; font-weight: bold" >Basisondersteuning </span>
<span style="display:inline-block; width: 100px; text-align:right" <br>
data-bind="text: totaalbasis"> <span style="display:inline-block; width: 250px;" >Uitgaven </span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: totaalbasis">
</span> </span>
</p> <br>
<p style="margin-top:0px; background-color:#f8f8f8; padding-left:10px; padding-bottom:10px; border-bottom:3px solid #dddddd"> <span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 200px" >Budget</span> <span style="display:inline-block; width: 100px; text-align:right"
<span style="display:inline-block; width: 100px; text-align:right" data-bind="text: gebudgetbasis ">
data-bind="text: jaartoewijzing() ? jaartoewijzing().basis : '' ">
</span> </span>
</p> <br>
<span style="display:inline-block; width: 250px" >Totaal budget</span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().basis : '' ">
</span>
</p>
<!-- **************** extra ondersteuning *************** --> <!-- **************** extra ondersteuning *************** -->
<h4><button class="openbutton" data-bind="css: {closebutton: extrageopend()}, click: fToggle.bind($data,2)"></button> <h4><button class="openbutton" data-bind="css: {closebutton: extrageopend()}, click: fToggle.bind($data,2)"></button>
Extra ondersteuning Extra ondersteuning
</h4> </h4>
<div data-bind="visible: extrageopend()"> <div data-bind="visible: extrageopend()">
<table class="lstable" style="width : 100%; font-size:0.9em"> <table class="lstable" style="width : 100%; font-size:0.9em">
<colgroup> <thead>
<col style="width:40%"> <tr>
<col span='3' style="width: 18%"> <th style="width:25%"></th>
<th style="width:5%"></th>
</colgroup> <th style="width: 14%"></th>
<th style="width: 14%"></th>
<th style="width: 14%"></th>
<th style="width:14%"></th>
<th style="width:14%"></th>
</tr>
</thead>
<tbody data-bind="foreach: extrasoorten"> <tbody data-bind="foreach: extrasoorten">
<tr class="blokheader" style="text-align:left; padding-left:5px"> <tr class="blokheader" style="text-align:left; padding-left:5px">
<td style="width: 40%" data-bind="text:naam"></td> <td data-bind="text:naam"></td>
<td></td>
<!-- ko if: $index() ==0-->
<!-- ko foreach: $root.uitgavetypes --> <!-- ko foreach: $root.uitgavetypes -->
<td style="text-align:right" data-bind="text:code"> </td> <td style="text-align:right">
<span data-bind="text: code"></span>
</td>
<!-- /ko --> <!-- /ko -->
<!-- /ko -->
<!-- ko if: $index() != 0-->
<!-- ko foreach: $root.uitgavetypes -->
<td >
</td>
<!-- /ko -->
<!-- /ko -->
<td class="blokheader" style="text-align: right; padding-right: 5px;padding-bottom: 5px; border-radius: 0">
<span data-bind="visible: $index() ==0">Som</span>
</td>
<td class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; border-radius: 0">
<span data-bind="visible: $index() ==0">Percentage</span>
<i class="fa fa-info-circle"
data-bind="click: $parent.fToelichting,
visible: $index() ==0">
</i>
</td>
</tr> </tr>
<!-- ko foreach:subsoorten --> <!-- ko foreach:subsoorten -->
<tr >
<tr >
<td data-bind="text: naam"></td> <td data-bind="text: naam"></td>
<!-- ko foreach: uitgavetypes() --> <td style="text-align: left; color: #00802b">budget</td>
<!-- ko if (code == $root.uitgavetypes()[$index()].code) --> <!-- ko foreach: uitgavetypes() -->
<td style="text-align: right"> <!-- ko if (code == $root.uitgavetypes()[$index()].code) -->
<input class="decimal" <td style="text-align: right; ">
style="width: 200px;max-width:100%" <input class="decimal"
data-bind="textInput: formatted, event:{change:$root.fSaveBedrag} , style="width: 150px; max-width: 100%; background-color: #e6ffee"
enable: $root.targetjaar() == $root.selectedKalenderjaar().jaarnr && ! $root.jaarclosed()" /> data-bind="textInput: budgetFormat,
</td> event:{change:$root.fSaveBudget.bind($data, $parent.subsoortID, 'EXTRA') } ,
<!-- /ko --> enable: ! $root.jaarclosed()"
<!-- /ko --> />
</td>
<!-- /ko -->
<!-- /ko -->
<td style="padding: 0; padding-top: 1px; vertical-align: top">
<div style="width:150px; max-width: 100%; height: 24px; background-color: #e6ffee; border-radius: 3px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px; ">
<span data-bind="text: subbudgetform,
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
<td style="padding: 0; padding-top: 1px; vertical-align: top">
<div style="width:150px; max-width: 100%;height: 24px; background-color: #e6ffee; border-radius: 3px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px;">
<span data-bind="text: subbudgetform() != '' ? gebudgetprocent() + ' ('+ budgetprocent() + ')' : '',
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
</tr> </tr>
<tr >
<td ></td>
<td style="text-align: left; color: #003399">uitgaven</td>
<!-- ko foreach: uitgavetypes() -->
<!-- ko if (code == $root.uitgavetypes()[$index()].code) -->
<td style="text-align: right; padding-bottom: 10px; ">
<input class="decimal"
style="width: 150px;max-width:100%; background-color: #e6f2ff"
data-bind="textInput: formatted,
style: { color : budget() < bedrag() ? '#ff0000' : '#000000'},
event:{change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'EXTRA' )} ,
enable: ! $root.jaarclosed()" />
</td>
<!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top">
<div style="width:150px; max-width: 100%; height: 24px;background-color: #e6f2ff; border-radius: 2px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; margin: 0; margin-top: 1px;text-align: right; padding-right: 3px; ">
<span data-bind="text: formtotaal,
style: { color : subbudget() < totaal() ? '#ff0000' : '#000000'},
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
<td style="padding: 0; vertical-align: top">
<div style="width:150px; max-width: 100%; height: 24px; background-color: #e6f2ff; border-radius: 3px;border: 1px solid #a07b8e;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; margin: 0; margin-top: 1px; text-align: right; padding-right: 3px;">
<span data-bind="text: procent,
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
</tr>
<!-- /ko --> <!-- /ko -->
</tbody> <!-- FOREACH extrasoorten --> </tbody> <!-- FOREACH extrasoorten -->
</table> </table>
</div> <!-- visible extrageopend --> </div> <!-- visible extrageopend -->
<p style="margin-bottom:0px; background-color:#f8f8f8; padding-left:10px; padding-top:10px;">
<span style="display:inline-block; width: 200px;" >Totaal extra ondersteuning </span> <p style="margin-bottom:0; background-color:#f8f8f8; padding-left:10px; padding-top:10px;">
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 250px; font-weight: bold" >Extra ondersteuning </span>
data-bind="text: totaalextra"> <br>
<span style="display:inline-block; width: 250px;" >Uitgaven </span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: totaalextra">
</span> </span>
</p> <br>
<p style="margin-top:0px; background-color:#f8f8f8; padding-left:10px; padding-bottom:10px; border-bottom:3px solid #dddddd"> <span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 200px" >Budget</span> <span style="display:inline-block; width: 100px; text-align:right"
<span style="display:inline-block; width: 100px; text-align:right" data-bind="text: gebudgetextra ">
data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' "> </span>
<br>
<span style="display:inline-block; width: 250px" >Totaal budget</span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' ">
</span> </span>
</p> </p>
@@ -69,104 +69,329 @@
<div id="finoverzichtpage"> <div id="finoverzichtpage">
<div data-bind="visible: zelfjanee() == 1 || zelfjanee() == 3 "> <div data-bind="visible: zelfjanee() == 1 || zelfjanee() == 3 ">
<table style="width:100%"> <table style=" font-size: 13px; width:100%">
<tr class="blokheader"> <thead class="blokheader">
<td style="width:23px"></td> <tr class="blokheader">
<td class="naam2" <th style="background-color: #968026; width: 2%;"></th>
style="width: 250px: padding-right:0px; padding-left:3px;text-align:left">Basisondersteuning</td> <th class="naam2"
<!-- ko foreach: uitgavetypes--> style="padding: 3px; width: 22%; vertical-align:bottom; background-color: #968026;">Basisondersteuning</th>
<td style="text-align:right;width:91px;font-size:0.9em" data-bind="text: naam"></td> <!-- ko foreach: uitgavetypes-->
<!-- /ko --> <th style="writing-mode: vertical-rl; padding: 3px; width: 8%; vertical-align:text-top; text-align: right; font-size:0.9em; background-color: #968026;" ><span data-bind="text: naam"></span>
<td style="text-align:right;width:90px">Som</td> <i class="fa fa-info-circle"
<td style="text-align:right;width:90px">Budget</td> data-bind="click: $parent.fToelichting.bind($data, 'KOSTEN')">
<td style="text-align:right;width:90px">Verschil</td> </i>
</tr> </th>
<!-- /ko -->
<th style="writing-mode: vertical-rl; width: 8%; padding: 3px; vertical-align:text-top;text-align:right; background-color: #968026;"><span>som</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'SOM')">
</i>
</th>
<th style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; width:8%; background-color: #968026; font-size: 12px;"><span>% budget</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%BUDGET')">
</i>
</th>
<th style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; width:8%; background-color: #968026; font-size: 12px;"><span>% uitgaven</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%UITGAVEN')">
</i>
</th>
<th style="width: 8%; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top;text-align:right; background-color: #968026;"><span>Budget</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'BUDGET')">
</i>
</th>
<th style="text-align:right; background-color: #968026; width: 2%">
</th>
<th style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; width:8%; background-color: #968026; ; font-size: 12px;"><span>% gebudgett.</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%GEBUDGET')">
</i>
</th>
<th style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; width:8%; background-color: #968026; font-size: 12px;"><span>% budget</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%BUDGET2')">
</i>
</th>
<th style="writing-mode: vertical-rl; padding: 3px; width: 8%; vertical-align:text-top; text-align:right; background-color: #968026;"><span>verschil</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'VERSCHIL')">
</i>
</th>
</tr>
</thead>
<tbody >
<tr style="background-color:#ded0d7"> <tr style="background-color:#ded0d7">
<td class="glyphicon" <td class="glyphicon"
data-bind="css:{'glyphicon-chevron-right': !basisgeopend(), 'glyphicon-chevron-down': basisgeopend()},click: fToggle.bind($data,'BASIS')"> data-bind="css:{'glyphicon-chevron-right': !basisgeopend(), 'glyphicon-chevron-down': basisgeopend()},click: fToggle.bind($data,'BASIS')">
</td> </td>
<td class="naam2" style="text-align:left;width:250px;">Totaal basis</td> <td class="naam2" style="text-align:left;">Totaal basis</td>
<!-- ko foreach: sombasisperuitgavetype--> <!--ko if: sombasisperuitgavetype() -->
<td style="text-align:right" data-bind="text: som"></td> <!-- ko foreach: sombasisperuitgavetype-->
<!-- /ko -->
<td style="text-align:right" data-bind="text : $root.budgetten().basis"></td>
<td style="text-align:right" data-bind="text : $root.budgetten().basisverschil"></td>
</tr>
<tbody data-bind="foreach:basis">
<tr data-bind="visible: $root.basisgeopend()">
<td colspan='8' style="padding-left:0px; padding-right:0px;">
<table style="width:100%">
<tbody data-bind="foreach: subsoorten">
<tr style="border-bottom:1px solid #ebebeb">
<td data-bind="text:naam" class="naam" style="padding:0px; width: 283px" > </td> <!-- -->
<td data-bind="text: isNaN(uitgavetypes[0].bedrag.replace(/\./g,'') ) || uitgavetypes[0].bedrag ==0 ? '' : uitgavetypes[0].bedrag" style="text-align:right;width:98px"> </td>
<td data-bind="text: isNaN(uitgavetypes[1].bedrag.replace(/\./g,'') ) || uitgavetypes[1].bedrag ==0 ? '' : uitgavetypes[1].bedrag" style="text-align:right;width:91px"> </td>
<td data-bind="text: isNaN(uitgavetypes[2].bedrag.replace(/\./g,'') ) || uitgavetypes[2].bedrag ==0 ? '' : uitgavetypes[2].bedrag" style="text-align:right;width:91px"> </td>
<td data-bind="text: isNaN(uitgavetypes[3].bedrag.replace(/\./g,'') ) || uitgavetypes[3].bedrag ==0 ? '' : uitgavetypes[3].bedrag" style="text-align:right;width:91px"> </td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
<tr class="blokheader">
<td></td>
<td style="padding-right:0px; padding-left:3px;text-align:left">Extra ondersteuning</td>
<!-- ko foreach: uitgavetypes-->
<td style="text-align:right ;font-size:0.9em" data-bind="text: naam"></td>
<!-- /ko -->
<td style="text-align:right" >Som</td>
<td style="text-align:right">Budget</td>
<td style="text-align:right">Verschil</td>
</tr>
<tr style="background-color:#ded0d7">
<td class="glyphicon"
data-bind="css:{'glyphicon-chevron-right': !extrageopend(), 'glyphicon-chevron-down': extrageopend()},click: fToggle.bind($data,'EXTRA')"></td>
<td style="text-align:left;width:250px;">Totaal extra</td>
<!-- ko foreach: somextraperuitgavetype-->
<td style="text-align:right" data-bind="text: som"></td> <td style="text-align:right" data-bind="text: som"></td>
<!-- /ko --> <!-- /ko -->
<td style="text-align:right" data-bind="text : $root.budgetten().extra"></td> <!-- /ko -->
<td style="text-align:right" data-bind="text : $root.budgetten().extraverschil"></td>
</tr>
<tbody data-bind="foreach:extra">
<tr data-bind="visible: $root.extrageopend()">
<td colspan='8' style="padding-left:0px; padding-right:0px;"> <!--ko if: ! sombasisperuitgavetype() -->
<table style="width:100%"> <!-- ko foreach: uitgavetypes-->
<tbody data-bind="foreach: subsoorten"> <td style="text-align:right" >0,00</td>
<tr style="border-bottom:1px solid #ebebeb"> <!-- /ko -->
<td data-bind="text:naam" style="padding:0px;width:281px"> </td> <td style="text-align:right" >0,00</td>
<!-- /ko -->
<td style="text-align:right;width:91px" data-bind="text: isNaN(uitgavetypes[0].bedrag.replace(/\./g,'')) || uitgavetypes[0].bedrag ==0 ? '' : uitgavetypes[0].bedrag"> </td>
<td style="text-align:right;width:91px" data-bind="text: isNaN(uitgavetypes[1].bedrag.replace(/\./g,'')) || uitgavetypes[1].bedrag ==0 ? '' : uitgavetypes[1].bedrag"> </td> <td style="text-align:right" data-bind="text: $root.budgetten() ? $root.budgetten().basisbedragbudgetpct : '0,00',
<td style="text-align:right;width:91px" data-bind="text: isNaN(uitgavetypes[2].bedrag.replace(/\./g,'')) || uitgavetypes[2].bedrag ==0 ? '' : uitgavetypes[2].bedrag"> </td> style: {color: $root.budgetten() && $root.budgetten().basisbedragbudgetkaal > 100 ? 'red' : 'black'}"></td>
<td style="text-align:right;width:91px" data-bind="text: isNaN(uitgavetypes[3].bedrag.replace(/\./g,'')) || uitgavetypes[3].bedrag ==0 ? '' : uitgavetypes[3].bedrag"> </td> <td style="text-align:right" data-bind="text : $root.budgetten() ? $root.budgetten().basisbedragpct : '0,00' "></td>
<td style="text-align:right;width:90px"></td>
<td style="text-align:right;width:90px"></td> <td style="text-align:right" data-bind="text : $root.budgetten() ?$root.budgetten().basis : '0,00' "></td>
</tr> <td ><i class="fa fa-info-circle"
</tbody> data-bind="visible: $root.schooltotaal().budget > 0,
</table> click: $root.fOpenDetails.bind($data, 'BASIS') "
</td> ></i></td>
</tr> <td style="text-align:right" data-bind="text : $root.budgetten() ?$root.budgetten().basisgebudgetpct : '0,00' "></td>
<td style="text-align:right" data-bind="text : $root.budgetten() ?$root.budgetten().basisbudgetpct : '0,00' "></td>
<td style="text-align:right" data-bind="text : $root.budgetten() ?$root.budgetten().basisverschil : '0,00',
style : {color: $root.budgetten() && Number($root.budgetten().basisverschil) < 0 ? 'red' : 'black' } "></td>
</tr>
<!-- ko foreach: basis -->
<!-- ko if: $root.basisgeopend() -->
<!-- ko foreach: subsoorten -->
<tr style="border-bottom:1px solid #ebebeb">
<td></td>
<td data-bind="text:naam" class="naam" style="padding:0;" > </td>
<td data-bind="text: isNaN(uitgavetypes[0].bedrag.replace(/\./g,'') ) || uitgavetypes[0].bedrag ==0 ? '' : uitgavetypes[0].bedrag,
style: {color: uitgavetypes[0].budget && Number(uitgavetypes[0].budget) < Number(uitgavetypes[0].bedrag) ? 'red' : 'black' }"
style="text-align:right; width:98px ">
</td>
<td data-bind="text: isNaN(uitgavetypes[1].bedrag.replace(/\./g,'') ) || uitgavetypes[1].bedrag ==0 ? '' : uitgavetypes[1].bedrag,
style: {color: uitgavetypes[1].budget && Number(uitgavetypes[1].budget) < Number(uitgavetypes[1].bedrag) ? 'red' : 'black' }"
style="text-align:right; width:91px ">
</td>
<td data-bind="text: isNaN(uitgavetypes[2].bedrag.replace(/\./g,'') ) || uitgavetypes[2].bedrag ==0 ? '' : uitgavetypes[2].bedrag,
style: {color: uitgavetypes[2].budget && Number(uitgavetypes[2].budget <uitgavetypes[2].bedrag ? 'red' : 'black' }"
style="text-align:right;width:91px">
</td>
<td data-bind="text: isNaN(uitgavetypes[3].bedrag.replace(/\./g,'') ) || uitgavetypes[3].bedrag ==0 ? '' : uitgavetypes[3].bedrag,
style: {color: uitgavetypes[3].budget && Number(uitgavetypes[3].budget) < Number(uitgavetypes[3].bedrag) ? 'red' : 'black' }"
style="text-align:right;width:91px">
</td>
<td style="text-align:right;" data-bind="text: isNaN(uitgavetypes[3].bedrag.replace(/\./g,'') ) || uitgavetypes[3].bedrag ==0 ? '' : uitgavetypes[3].bedragbudgetpct,
style: {color: Number(uitgavetypes[3].bedrag) && Number(uitgavetypes[3].bedragbudgetpct) > 100 ? 'red' : 'black' }">
</td>
<td data-bind="text: uitgavetypes[3].bedrag!= 0 ? uitgavetypes[3].bedragpct : ' ' "
style="text-align:right;">
</td>
<td data-bind="text: isNaN(uitgavetypes[3].budget.replace(/\./g,'') ) || uitgavetypes[3].budget ==0 ? '' : uitgavetypes[3].budget" style="text-align:right;width:91px"></td>
<td ><i class="fa fa-info-circle"
data-bind="visible: Number(uitgavetypes[3].budget)> 0,
click: $root.fOpenDetails.bind($data, 'DETAIL')">
</i>
</td>
<td style="text-align:right;" data-bind="text: uitgavetypes[3].budget !=0 ? uitgavetypes[3].gebudgetpct : ' ' ">
</td>
<td style="text-align:right;" data-bind="text: uitgavetypes[3].budget !=0 ? uitgavetypes[3].budgetpct : '' "></td>
<td data-bind="text: uitgavetypes[0].bedrag !=0 || uitgavetypes[0].budget !=0 ? uitgavetypes[3].verschil : ' ' ,
style: {color: Number(uitgavetypes[3].verschil)< 0 ? 'red': 'black'}"
style="text-align:right; ">
</td>
</tr>
<!--/ko-->
<!--/ko-->
<!--/ko-->
</tbody> </tbody>
<tbody class="blokheader">
<tr class="blokheader">
<td style="background-color: #968026;"></td>
<td class="naam2"
style="padding: 3px; vertical-align:bottom; background-color: #968026;">Extra ondersteuning</td>
<!-- ko foreach: uitgavetypes-->
<td style="writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; text-align: right; background-color: #968026;" >
<span data-bind="text: naam"></span>
<i class="fa fa-info-circle"
data-bind="click: $parent.fToelichting.bind($data, 'KOSTEN')">
</i>
</td>
<!-- /ko -->
<td style="writing-mode: vertical-rl; padding: 3px; vertical-align:text-top;text-align:right; background-color: #968026;">
<span>som</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'SOM')">
</i>
</td>
<td style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; background-color: #968026; font-size: 12px;">
<span>% budget</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%BUDGET')">
</i>
</td>
<td style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; background-color: #968026; font-size: 12px;">
<span>% uitgaven</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%UITGAVEN')">
</i>
</td>
<td style="writing-mode: vertical-rl; padding: 3px; vertical-align:text-top;text-align:right; background-color: #968026;">
<span>Budget</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'BUDGET')">
</i>
</td>
<td style="text-align:right; background-color: #968026;">
</td>
<td style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; background-color: #968026; font-size: 12px;">
<span>% gebuggett.</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, '%GEBUDGET')">
</i>
</td>
<td style="text-align:right; writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; background-color: #968026; font-size: 12px;">
<span>% budget</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'BUDGET')">
</i>
</td>
<td style="writing-mode: vertical-rl; padding: 3px; vertical-align:text-top; text-align:right; background-color: #968026;">
<span>Verschil</span>
<i class="fa fa-info-circle"
data-bind="click: fToelichting.bind($data, 'VERSCHIL')">
</i>
</td>
</tr>
</tbody>
<tbody>
<tr style="background-color:#ded0d7">
<td class="glyphicon"
data-bind="css:{'glyphicon-chevron-right': !extrageopend(), 'glyphicon-chevron-down': extrageopend()},click: fToggle.bind($data,'EXTRA')">
</td>
<td class="naam2" style="text-align:left;">Totaal extra</td>
<!-- ko if: somextraperuitgavetype() -->
<!-- ko foreach: somextraperuitgavetype-->
<td style="text-align:right" data-bind="text: som"></td>
<!-- /ko -->
<!-- /ko -->
<!-- ko if : ! somextraperuitgavetype() -->
<!-- ko foreach: uitgavetypes -->
<td style="text-align:right" >0,00</td>
<!-- /ko -->
<td style="text-align:right" >0,00</td>
<!-- /ko -->
<td style="text-align:right" data-bind="text: $root.budgetten() ? $root.budgetten().extrabedragbudgetpct : '0,00',
style: {color: $root.budgetten() && $root.budgetten().extrabedragbudgetkaal > 100 ? 'red' : 'black'}">
</td>
<td style="text-align:right" data-bind="text : $root.budgetten() ? $root.budgetten().extrabedragpct : '0,00' "></td>
<td style="text-align:right" data-bind="text : $root.budgetten() ? $root.budgetten().extra : '0,00' "></td>
<td
><i class="fa fa-info-circle"
data-bind="visible: $root.schooltotaal().budget > 0,
click: $root.fOpenDetails.bind($data, 'EXTRA') "
></i></td>
<td style="text-align:right" data-bind="text : $root.budgetten() ? $root.budgetten().extragebudgetpct : '0,00' "></td>
<td style="text-align:right" data-bind="text: $root.budgetten() ? $root.budgetten().extrabudgetpct : '0,00' "></td>
<td style="text-align:right" data-bind="text : $root.budgetten() ? $root.budgetten().extraverschil : '0,00',
style : {color: $root.budgetten() && $root.budgetten().extraverschil < 0 ? 'red' : 'black' }">
</td>
</tr>
<!-- ko foreach: extra -->
<!-- ko if: $root.extrageopend() -->
<!-- ko foreach: subsoorten -->
<tr style="border-bottom:1px solid #ebebeb">
<td></td>
<td data-bind="text:naam" class="naam" style="padding:0;" > </td>
<td data-bind="text: isNaN(uitgavetypes[0].bedrag.replace(/\./g,'') ) || uitgavetypes[0].bedrag ==0 ? '' : uitgavetypes[0].bedrag,
style: {color: uitgavetypes[0].budget && Number(uitgavetypes[0].budget) < Number(uitgavetypes[0].bedrag) ? 'red' : 'black' }"
style="text-align:right;width:98px">
</td>
<td data-bind="text: isNaN(uitgavetypes[1].bedrag.replace(/\./g,'') ) || uitgavetypes[1].bedrag ==0 ? '' : uitgavetypes[1].bedrag,
style: {color: uitgavetypes[1].budget && Number(uitgavetypes[1].budget) < Number(uitgavetypes[1].bedrag) ? 'red' : 'black' }"
style="text-align:right;width:91px">
</td>
<td data-bind="text: isNaN(uitgavetypes[2].bedrag.replace(/\./g,'') ) || uitgavetypes[2].bedrag ==0 ? '' : uitgavetypes[2].bedrag,
style: {color: uitgavetypes[2].budget && Number(uitgavetypes[2].budget < Number(uitgavetypes[2].bedrag) ? 'red' : 'black' }"
style="text-align:right;width:91px">
</td>
<td data-bind="text: isNaN(uitgavetypes[3].bedrag.replace(/\./g,'') ) || uitgavetypes[3].bedrag ==0 ? '' : uitgavetypes[3].bedrag,
style: {color: uitgavetypes[3].budget && Number(uitgavetypes[0].budget) < Number(uitgavetypes[3].bedrag) ? 'red' : 'black' }"
style="text-align:right;width:91px">
</td>
<td></td>
<td data-bind="text: uitgavetypes[3].bedrag!= 0 ? uitgavetypes[3].bedragpct : ' ' ,
style: {color: uitgavetypes[3].bedrag && Number(uitgavetypes[0].bedragpct) > 100 ? 'red' : 'black' }" style="text-align:right;width:91px">
</td>
<td data-bind="text: color: #00802b ) || uitgavetypes[3].budget ==0 ? '' : uitgavetypes[3].budget" style="text-align:right;width:91px"></td>
<td ><i class="fa fa-info-circle"
data-bind="visible: Number(uitgavetypes[3].budget) > 0 ,
click: $root.fOpenDetails.bind($data, 'DETAIL')">
</i>
</td>
<td style="text-align:right;" data-bind="text: uitgavetypes[3].budget !=0 ? uitgavetypes[3].gebudgetpct : ' ' ">
</td>
<td style="text-align:right;" data-bind="text: uitgavetypes[3].budget !=0 ? uitgavetypes[3].budgetpct : '' "></td>
<td data-bind="text: uitgavetypes[0].bedrag !=0 || uitgavetypes[0].budget !=0 ? uitgavetypes[3].verschil : ' ',
style: {color: uitgavetypes[3].verschil< 0 ? 'red': 'black'}"
style="text-align:right; ">
</td>
</tr>
<!--/ko-->
<!--/ko-->
<!--/ko-->
</tbody>
<tbody>
<tr style="background-color:#f8f8f8"> <tr style="background-color:#f8f8f8">
<td></td> <td></td>
<td style="text-align:left">Totaal besteed</td> <td style="text-align:left">Totaal besteed</td>
<!-- ko if: totsomperuitgavetype() -->
<!-- ko foreach: totsomperuitgavetype--> <!-- ko foreach: totsomperuitgavetype-->
<td style="text-align:right" data-bind="text: som"></td> <td style="text-align:right" data-bind="text: som"></td>
<!-- /ko --> <!-- /ko -->
<td style="text-align:right" data-bind="text: $root.schooltotaal().budget"></td> <!-- /ko -->
<td style="text-align:right" data-bind="text: $root.schooltotaal().verschil"></td> <!-- ko if: ! totsomperuitgavetype() -->
<!-- ko foreach: uitgavetypes-->
<td style="text-align:right" >0,00</td>
<!-- /ko -->
<td style="text-align:right" >0,00</td>
<!-- /ko -->
<td style="text-align:right"
data-bind="text: $root.budgetten() &&parseFloat($root.budgetten().totbedragbudgetkaal) > 0 ? $root.budgetten().totbedragbudgetpct : '0,00' ,
style: {color: parseFloat($root.budgetten().totbedragbudgetkaal) > 100 ? 'red' : 'black'}" >
</td>
<td style="text-align: right" data-bind="text: $root.budgetten() ? $root.budgetten().totbedragpct: '0,00' ">
</td>
<td style="text-align:right" data-bind="text: $root.budgetten() ? $root.schooltotaal().budget : '0,00'">
</td>
<td ><i class="fa fa-info-circle"
data-bind="visible: $root.schooltotaal().budget > 0,
click: $root.fOpenDetails.bind($data, 'TOTAAL') ">
</i>
</td>
<td style="text-align:right"
data-bind="text: $root.budgetten() ? $root.budgetten().totgebudgetpct: '0,00' ">
</td>
<td style="text-align:right"
data-bind="text: $root.budgetten() ? $root.budgetten().totbudgetpct: '0,00' ">
</td>
<td style="text-align:right"
data-bind="text: $root.schooltotaal() && $root.schooltotaal().verschil ? $root.schooltotaal().verschil : '0,00',
style : {color: $root.schooltotaal() && Number($root.schooltotaal().verschil) < 0 ? 'red' : 'black' }">
</td>
</tr> </tr>
</tbody>
</table> </table>
<div data-bind="visible: opmerking()" style="margin-top: 20px"> <div data-bind="visible: opmerking()" style="margin-top: 20px">
<p>Opmerkingen</p> <p>Opmerkingen</p>
@@ -181,4 +406,7 @@
</div> </div>
</div> <!-- holder voor pdf --> </div> <!-- holder voor pdf -->
</div> <!-- col sm 9 --> </div> <!-- col sm 9 -->
<?php $this->load->view("monpas/modals/findetails_modal"); ?>
</div> </div>
@@ -1,61 +1,175 @@
<table style="width:100%"> <table style="width:100%">
<thead> <thead>
<tr>
<th style="width:25%"></th>
<th style="width:9%;"></th>
<th style="width:11%;" ></th>
<th style="width:11%; "></th>
<th style="width:11%; "></th>
<th style="width:11%; "></th>
<th style="width:11%; "></th>
<th style="width:11%; "></th>
</tr>
</thead>
<thead>
<tr class="blokheader"> <tr class="blokheader">
<td></td> <td></td>
<td colspan='3' style="text-align:center; padding-right:4px">Basisondersteuning</td> <td colspan='4' style="text-align:center; padding-right:4px">Basisondersteuning</td>
<td colspan='3' style="text-align: center; border-left:1px solid #888888">Extra ondersteuning</td> <td colspan='3' style="text-align: center; border-left:1px solid #888888">Extra ondersteuning</td>
</tr> </tr>
</thead> </thead>
<thead> <thead>
<tr> <tr style="background-color: #d6be5c">
<th style="width:22%">Organisatie</th> <th style="background-color: #d6be5c">Organisatie</th>
<th style="width:13%; text-align:right">Personeel</th> <th style="background-color: #d6be5c"></th>
<th style="width:13%; text-align:right">Materieel</th> <th style="background-color: #d6be5c; text-align:right">Personeel</th>
<th style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px">Scholing</th> <th style="background-color: #d6be5c; text-align:right">Materieel</th>
<th style="width:13%; text-align:right">Personeel</th> <th style="background-color: #d6be5c; text-align:right; border-right:1px solid #888888; padding-right:4px">Scholing</th>
<th style="width:13%; text-align:right">Materieel</th> <th style=" background-color: #d6be5c; text-align:right">Personeel</th>
<th style="width:13%; text-align:right">Scholing</th> <th style="background-color: #d6be5c; text-align:right">Materieel</th>
<th style="background-color: #d6be5c; text-align:right">Scholing</th>
</tr> </tr>
</thead> </thead>
<tbody data-bind="foreach: otherPMSOrgs"> <tbody data-bind="foreach: otherPMSOrgs">
<tr style="border-bottom: 1px dotted #999999"> <tr >
<td data-bind="text: fullname"></td> <td data-bind="text: fullname"></td>
<td style="text-align:right" data-bind="text: pms[0]"></td> <td style="color: #00802b;">budget</td>
<td style="text-align:right" data-bind="text: pms[1]"></td> <td style="background-color: #f5fff8;text-align:right" data-bind="text: bud[0]"></td>
<td style="text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: pms[2]"></td> <td style="background-color: #f5fff8;text-align:right" data-bind="text: bud[1]"></td>
<td style="text-align:right;" data-bind="text: pms[3]"></td> <td style="background-color: #f5fff8;text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: bud[2]"></td>
<td style="text-align:right;" data-bind="text: pms[4]"></td> <td style="background-color: #f5fff8;text-align:right;" data-bind="text: bud[3]"></td>
<td style="text-align:right" data-bind="text: pms[5]"></td> <td style="background-color: #f5fff8;text-align:right;" data-bind="text: bud[4]"></td>
<td style="background-color: #f5fff8;text-align:right" data-bind="text: bud[5]"></td>
</tr> </tr>
<tr style="border-bottom: 1px dotted #999999">
<td></td>
<td style="color: #003399">uitgaven</td>
<td style="background-color: #f5faff; text-align:right"
data-bind="text: pms[0],
style: {color: kleur[0]}"></td>
<td style="background-color: #f5faff; text-align:right"
data-bind="text: pms[1],
style: {color: kleur[1] }"></td>
<td style="background-color: #f5faff; text-align:right; border-right:1px solid #888888; padding-right:4px"
data-bind="text: pms[2],
style: {color: kleur[2] }">
</td>
<td style="background-color: #f5faff; text-align:right;"
data-bind="text: pms[3],
style: {color: kleur[3] }">
</td>
<td style="background-color: #f5faff; text-align:right;"
data-bind="text: pms[4],
style: {color: kleur[4] }">
</td>
<td style="background-color: #f5faff; text-align:right"
data-bind="text: pms[5],
style: {color: kleur[5] }">
</td>
</tr>
</tbody> </tbody>
<tr style="background-color: #e7e2e5; font-style: italic"> <tr style="background-color: #e6ffee; ">
<td style="width:22%">Subtotaal</td> <td style="width:22%">Subtotaal</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[0]"></td> <td style="color: #00802b;">budget</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[1]">Materieel</td> <td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[6] == 0 ? ' ' : sumotherPMS()[6] "></td>
<td style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: sumotherPMS()[2]">Scholing</td> <td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[7]== 0 ? ' ' : sumotherPMS()[7] ">Materieel</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[3]">Personeel</td> <td style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px"
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[4]">Materieel</td> data-bind="text: sumotherPMS()[8]== 0 ? '' : sumotherPMS()[8]">Scholing</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[5]">Scholing</td> <td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[9] == 0 ? ' ' : sumotherPMS()[9] ">Personeel</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[10]== 0 ? ' ' : sumotherPMS()[10]">Materieel</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[11] == 0 ? ' ' : sumotherPMS()[11]">Scholing</td>
</tr> </tr>
<tr style="background-color: #e6f2ff; ">
<td ></td>
<td style="color: #003399">uitgaven</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[0] == 0 ? ' ' : sumotherPMS()[0] ,
style: {color: sumotherPMS()[12]}"></td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[1] == 0 ? ' ' : sumotherPMS()[1],
style: {color: sumotherPMS()[13]}">Materieel</td>
<td style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: sumotherPMS()[2] == 0 ? ' ' : sumotherPMS()[2],
style: {color: sumotherPMS()[14]}">Scholing</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[3] == 0 ? ' ' : sumotherPMS()[3],
style: {color: sumotherPMS()[15]}">Personeel</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[4] == 0 ? ' ' : sumotherPMS()[4],
style: {color: sumotherPMS()[16]}">Materieel</td>
<td style="width:13%; text-align:right" data-bind="text: sumotherPMS()[5] == 0 ? ' ' : sumotherPMS()[5],
style: {color: sumotherPMS()[17]}">Scholing</td>
</tr>
<tr data-bind="with: pmsTargetOrg"> <tr data-bind="with: pmsTargetOrg">
<td data-bind="text: naamkort"></td> <td data-bind="text: naamkort"></td>
<td style="text-align:right" data-bind="text: pms[0]"></td> <td style="color: #00802b;">budget</td>
<td style="text-align:right" data-bind="text: pms[1]"></td> <td style="text-align:right; background-color: #f5fff8" data-bind="text: bud[0]"></td>
<td style="text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: pms[2]"></td> <td style="text-align:right; background-color: #f5fff8" data-bind="text: bud[1]"></td>
<td style="text-align:right;" data-bind="text: pms[3]"></td> <td style="text-align:right; background-color: #f5fff8; border-right:1px solid #888888; padding-right:4px" data-bind="text: bud[2]"></td>
<td style="text-align:right;" data-bind="text: pms[4]"></td> <td style="text-align:right;background-color: #f5fff8" data-bind="text: bud[3]"></td>
<td style="text-align:right" data-bind="text: pms[5]"></td> <td style="text-align:right; background-color: #f5fff8" data-bind="text: bud[4]"></td>
<td style="text-align:right; background-color: #f5fff8" data-bind="text: bud[5]"></td>
</tr> </tr>
<tr data-bind="with: pmsTargetOrg">
<td ></td>
<td style="color: #003399">uitgaven</td>
<td style="text-align:right; background-color: #f5faff;"
data-bind="text: pms[0],
style: {color: kleur[0]} "></td>
<td style="text-align:right; background-color: #f5faff;"
data-bind="text: pms[1],
style: {color: kleur[1]}"></td>
<td style="text-align:right; background-color: #f5faff; border-right:1px solid #888888; padding-right:4px"
data-bind="text: pms[2],
style: {color: kleur[2]}"></td>
<td style="text-align:right; background-color: #f5faff;"
data-bind="text: pms[3],
style: {color: kleur[3]}"></td>
<td style="text-align:right; background-color: #f5faff;"
data-bind="text: pms[4],
style: {color: kleur[4]}">
</td>
<td style="text-align:right; background-color: #f5faff;"
data-bind="text: pms[5],
style: {color: kleur[5]}"></td>
</tr>
<tr style="background-color: #e7e2e5; font-weight:bold"> <tr style="background-color: #ccffdc; font-weight:bold">
<th style="width:22%">Totaal</th> <td style="width:22%">Totaal</td>
<th style="width:13%; text-align:right" data-bind="text: sumtotPMS()[0]">Personeel</th> <td style="color: #00802b;">budget</td>
<th style="width:13%; text-align:right" data-bind="text: sumtotPMS()[1]">Materieel</th> <td style="width:13%; text-align:right" data-bind="text: sumtotPMS()[6]">Personeel</td>
<th style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: sumtotPMS()[2]">Scholing</th> <td style="width:13%; text-align:right" data-bind="text: sumtotPMS()[7]">Materieel</td>
<th style="width:13%; text-align:right" data-bind="text: sumtotPMS()[3]">Personeel</th> <td style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px" data-bind="text: sumtotPMS()[8]">Scholing</td>
<th style="width:13%; text-align:right" data-bind="text: sumtotPMS()[4]">Materieel</th> <td style="width:13%; text-align:right" data-bind="text: sumtotPMS()[9]">Personeel</td>
<th style="width:13%; text-align:right" data-bind="text: sumtotPMS()[5]">Scholing</th> <td style="width:13%; text-align:right" data-bind="text: sumtotPMS()[10]">Materieel</td>
<td style="width:13%; text-align:right" data-bind="text: sumtotPMS()[11]">Scholing</td>
</tr> </tr>
<tr style="background-color: #cce6ff; font-weight:bold">
<td style="width:22%"></td>
<td style="color: #003399">uitgaven</td>
<td style="width:13%; text-align:right"
data-bind="text: sumtotPMS()[0],
style: {color: sumtotPMS()[12]} ">Personeel
</td>
<td style="width:13%; text-align:right"
data-bind="text: sumtotPMS()[1],
style: {color: sumtotPMS()[13]}">Materieel
</td>
<td style="width:13%; text-align:right; border-right:1px solid #888888; padding-right:4px"
data-bind="text: sumtotPMS()[2],
style: {color: sumtotPMS()[14]}">Scholing
</td>
<td style="width:13%; text-align:right"
data-bind="text: sumtotPMS()[3],
style: {color: sumtotPMS()[15]}">Personeel
</td>
<td style="width:13%; text-align:right"
data-bind="text: sumtotPMS()[4],
style: {color: sumtotPMS()[16]}">Materieel
</td>
<td style="width:13%; text-align:right"
data-bind="text: sumtotPMS()[5],
style: {color: sumtotPMS()[17]}">Scholing
</td>
</tr>
</table> </table>
+372 -93
View File
@@ -7,30 +7,80 @@ ls.initBestemmingenModel = function(){
this.naam = p.naam; this.naam = p.naam;
} }
function fAddBasissoort(k){ function fAddBasissoort(j,k, budget, totbudget, bedrag ){
var dit = this; var dit = this;
this.soortID = k.soortID this.soortID = k.soortID
this.naam = k.naam this.naam = k.naam
this.subsoorten = ko.observableArray([]); this.subsoorten = ko.observableArray([]);
if (k.subsoorten){ if (k.subsoorten){
$.each(k.subsoorten, function(a,b){ $.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){ function fAddSubsoort(a,b,gebudget, totbudget, totbedrag, categorie){
var dit = dit; var dit = this;
this.subsoortID = p.subsoortID; var bedrag = 0;
this.naam = p.naam; 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.categorie = categorie
this.uitgavetypes = ko.observableArray() this.uitgavetypes = ko.observableArray();
var dit = this; this.totaal = ko.observable(0);
if (p.uitgavetypes){ this.formtotaal = ko.observable('');
$.each(p.uitgavetypes, function(i,k){ 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.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){ function fAddUitgavetype(k){
@@ -39,6 +89,10 @@ ls.initBestemmingenModel = function(){
this.bedrag = ko.observable(k.bedrag); this.bedrag = ko.observable(k.bedrag);
this.formatted = ko.observable(parseFloat(k.bedrag).format(2,3,'.',',')); this.formatted = ko.observable(parseFloat(k.bedrag).format(2,3,'.',','));
if (parseFloat(k.bedrag) <= 0) this.formatted(''); 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([]), kalenderjaren : ko.observableArray([]),
selectedKalenderjaar : ko.observable(), selectedKalenderjaar : ko.observable(),
jaartoewijzing : 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(), uitgavetypes : ko.observableArray(),
basissoorten : ko.observableArray(), basissoorten : ko.observableArray(),
extrasoorten : ko.observableArray(), extrasoorten : ko.observableArray(),
@@ -64,7 +117,11 @@ ls.initBestemmingenModel = function(){
extrageopend : ko.observable(false), extrageopend : ko.observable(false),
totaalextra : ko.observable(), totaalextra : ko.observable(),
totaalbasis : ko.observable(), totaalbasis : ko.observable(0),
gebudgetbasis : ko.observable(0),
budgetUnformatted : ko.observable(0),
gebudgetextra : ko. observable(),
initBindings :function(){ initBindings :function(){
var self = ls.BestemmingenModel; var self = ls.BestemmingenModel;
@@ -101,57 +158,271 @@ ls.initBestemmingenModel = function(){
fGetBestemmingen: function(){ fGetBestemmingen: function(){
var self = ls.BestemmingenModel; var self = ls.BestemmingenModel;
if (!self.selectedKalenderjaar()) return; if (!self.selectedKalenderjaar()) return;
self.basissoorten.removeAll();
self.extrasoorten.removeAll();
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr} var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/bestemmingen/getBestemmingen", sd, function(data){ $.post("index.php/monfin2/bestemmingen/getBestemmingen", sd, function(data){
if (data.jaartoewijzing){ if (data.jaartoewijzing){
self.jaartoewijzing(data.jaartoewijzing); self.jaartoewijzing(data.jaartoewijzing);
} }
else {self.jaartoewijzing(false);} else {self.jaartoewijzing(false);}
self.jaarclosed(data.jaarclosed); self.jaarclosed(data.jaarclosed);
var budget = 0;
self.basissoorten.removeAll(); var bedrag = 0;
if (data.basisbestemmingen){ if (data.basisbestemmingen){
$.each(data.basisbestemmingen,function(j,k){ $.each(data.basisbestemmingen, function(i, b){
self.basissoorten.push(new fAddBasissoort(k)); $.each(b.subsoorten, function(x, s){
}); $.each(s.uitgavetypes, function(z, t){
} budget += Number(t.budget);
self.extrasoorten.removeAll(); bedrag += Number(t.bedrag);
if (data.extrabestemmingen){ } )
$.each(data.extrabestemmingen,function(j,k){ } )
self.extrasoorten.push(new fAddBasissoort(k)); })
}); budget = self.fSetTotalValue(budget);
} self.gebudgetbasis(budget);
bedrag = self.fSetTotalValue(bedrag);
self.opmerking(data.opmerking); 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'); },'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; var self = ls.BestemmingenModel;
if (self.jaarclosed()) return; 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,'.',',')); $.post("index.php/monfin2/bestemmingen/updatebudget", sd);
if (invoer <= 0) dit.formatted(''); }
dit.bedrag(invoer); },
invoer = Math.round(invoer * 100) ;
var sd = {id : dit.finbestemmingID,
bedrag : invoer}
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd);
},
fToggle: function(wat){ fToggle: function(wat){
switch(wat){ switch(wat){
@@ -160,6 +431,13 @@ ls.initBestemmingenModel = function(){
};// switch };// switch
}, },
fToelichting: function(){
apprise('<p>In de regel <span style="font-style:italic; ">budget</span> geeft het eerste getal de som van het budget weer als percentage van het toaal gebudgetteerde bedrag.</p>' +
'<p>Het tweede getal is de som ban het budget als percentage van het totaal toegewezen budget.</p>' +
'<p>In de regel <span style="font-style:italic; ">uitgave</span> wordt de som van de uitgave weergegeven als percentage van de totale uitgaven.</p>')
},
fSaveOpmerking: function(){ fSaveOpmerking: function(){
var self= ls.BestemmingenModel; var self= ls.BestemmingenModel;
if (self.jaarclosed()) return; if (self.jaarclosed()) return;
@@ -175,51 +453,52 @@ ls.initBestemmingenModel = function(){
} }
} ; // definition van model } ; // definition van model
ls.BestemmingenModel.totaalbasis = ko.computed(function(){ // ls.BestemmingenModel.totaalbasis = ko.computed(function(){
var som =0; // var som =0;
var invoer = 0; // var invoer = 0;
if (this.basissoorten()) { // if (this.basissoorten()) {
$.each(this.basissoorten(), function(i,p){ // $.each(this.basissoorten(), function(i,p){
if (p.subsoorten()) { // if (p.subsoorten()) {
$.each(p.subsoorten(), function(a,b){ // $.each(p.subsoorten(), function(a,b){
$.each(b.uitgavetypes(), function(o,s){ // $.each(b.uitgavetypes(), function(o,s){
invoer=String(s.bedrag()); // invoer=String(s.bedrag());
invoer= invoer.replace(',' , ''); // invoer= invoer.replace(',' , '');
if (! isNaN(invoer) ) { // if (! isNaN(invoer) ) {
invoer=parseFloat(invoer) // invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100; // invoer = Math.round(invoer * 100) / 100;
som = som + invoer; // som = som + invoer;
} // }
}); // each uitgavetypes // }); // each uitgavetypes
}); // each subsoorten //
} // if subsoorten // }); // each subsoorten
}) // each soorten // } // if subsoorten
} // if basissoorten // }) // each soorten
return som.format(2,3,'.',','); // } // if basissoorten
},ls.BestemmingenModel); // return som.format(2,3,'.',',');
// },ls.BestemmingenModel);
ls.BestemmingenModel.totaalextra = ko.computed(function(){ // ls.BestemmingenModel.totaalextra = ko.computed(function(){
var som =0; // var som =0;
var invoer = 0; // var invoer = 0;
if (this.extrasoorten()) { // if (this.extrasoorten()) {
$.each(this.extrasoorten(), function(i,p){ // $.each(this.extrasoorten(), function(i,p){
if (p.subsoorten()) { // if (p.subsoorten()) {
$.each(p.subsoorten(), function(a,b){ // $.each(p.subsoorten(), function(a,b){
$.each(b.uitgavetypes(), function(o,s){ // $.each(b.uitgavetypes(), function(o,s){
invoer=String(s.bedrag()); // invoer=String(s.bedrag());
invoer= invoer.replace(',' , ''); // invoer= invoer.replace(',' , '');
if (! isNaN(invoer) ) { // if (! isNaN(invoer) ) {
invoer=parseFloat(invoer) // invoer=parseFloat(invoer)
invoer = Math.round(invoer * 100) / 100; // invoer = Math.round(invoer * 100) / 100;
som = som + invoer; // som = som + invoer;
} // }
}); // each uitgavetypes // }); // each uitgavetypes
}); // each subsoorten // }); // each subsoorten
} // if subsoorten // } // if subsoorten
}) // each soorten // }) // each soorten
} // if basissoorten // } // if basissoorten
return som.format(2,3,'.',','); // return som.format(2,3,'.',',');
},ls.BestemmingenModel); // },ls.BestemmingenModel);
ls.BestemmingenModel.initBindings(); ls.BestemmingenModel.initBindings();
}; // else }; // else
@@ -57,21 +57,22 @@ 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'),
opmerking : ko.observable(), opmerking : ko.observable(),
uitgavetypes : ko.observableArray(), uitgavetypes : ko.observableArray(),
basis : ko.observableArray(), basis : ko.observableArray(),
extra : ko.observableArray(), extra : ko.observableArray(),
sombasisperuitgavetype : ko.observableArray(), sombasisperuitgavetype : ko.observableArray(),
somextraperuitgavetype : ko.observableArray(), somextraperuitgavetype : ko.observableArray(),
totsomperuitgavetype : ko.observableArray(), totsomperuitgavetype : ko.observableArray(),
basisgeopend : ko.observable(false), basisgeopend : ko.observable(false),
extrageopend : ko.observable(false), extrageopend : ko.observable(false),
budgetten : ko.observableArray(), budgetten : ko.observableArray(),
selectedSubsoort : ko.observable(),
initBindings :function(){ initBindings :function(){
var self = ls.MonfinOverzicht2Model; var self = ls.MonfinOverzicht2Model;
@@ -106,6 +107,7 @@ ls.initMonfinOverzicht2Model = function(){
var self = ls.MonfinOverzicht2Model; var self = ls.MonfinOverzicht2Model;
if (!self.selectedOrg() || !self.selectedKalenderjaar()) return; if (!self.selectedOrg() || !self.selectedKalenderjaar()) return;
if (self.selectedOrg().soort == 4) { self.zelfjanee('1');}; if (self.selectedOrg().soort == 4) { self.zelfjanee('1');};
if (self.zelfjanee()==1 || self.selectedOrg().soort==4){ if (self.zelfjanee()==1 || self.selectedOrg().soort==4){
var sd={orgid : self.selectedOrg().id, var sd={orgid : self.selectedOrg().id,
@@ -187,6 +189,31 @@ ls.initMonfinOverzicht2Model = function(){
case "EXTRA" : self.extrageopend(! self.extrageopend()); 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 = '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(){ fToggleOrg :function(){
this.geopend(!this.geopend()); this.geopend(!this.geopend());
}, },
@@ -195,6 +222,39 @@ ls.initMonfinOverzicht2Model = function(){
self.selectedOrg(this); self.selectedOrg(this);
self.fGetBedragen() 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 } ; // definition van model
ls.MonfinOverzicht2Model.initBindings(); ls.MonfinOverzicht2Model.initBindings();
}; // elses }; // elses