budgetteren in monfin
This commit is contained in:
@@ -22,35 +22,81 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$kalenderjaarnr = $this->clean_input("jaarnr");
|
||||
$uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
|
||||
$budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr);
|
||||
$totbudget = 0;
|
||||
$totbesteed = 0;
|
||||
$basis = array();
|
||||
$extra = array();
|
||||
$sompersoort = array();
|
||||
|
||||
$schooltot = 0;
|
||||
$opmerking = '';
|
||||
|
||||
if ($budgetten){
|
||||
// $totbudget = $budgetten->basis + $budgetten->extra ;
|
||||
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)/100);
|
||||
$budgetten->basis = ROUND($budgetten->basis / 100);
|
||||
$budgetten->extra = Round($budgetten->extra/ 100);
|
||||
if ($budgetten) {
|
||||
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra) / 100);
|
||||
$budgetten->basis = ROUND($budgetten->basis / 100);
|
||||
$budgetten->extra = Round($budgetten->extra / 100);
|
||||
}
|
||||
else{
|
||||
$budgetten = new stdClass();
|
||||
$budgetten->totaal = 0;
|
||||
$budgetten->basis = 0;
|
||||
$budgetten->extra = 0;
|
||||
|
||||
|
||||
}
|
||||
$basis = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"BASIS");
|
||||
$extra = $this->Finbestemmingen_model->get_bestemmingen($orgid, $kalenderjaarnr,"EXTRA");
|
||||
|
||||
$sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes);
|
||||
$somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes);
|
||||
$totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes);
|
||||
$totbesteed = $this->sommeeralles($totsomperuitgavetype);
|
||||
$basis = $this->get_som_regel($basis);
|
||||
$extra = $this->get_som_regel($extra);
|
||||
// todo
|
||||
$totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG');
|
||||
$totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET');
|
||||
|
||||
$subbedragbasis = $sombasisperuitgavetype[3]->som;
|
||||
$subbudgetbasis = $sombasisperuitgavetype[3]->budgetsom;
|
||||
$sommen = $this->get_som_regel($basis, $subbedragbasis, $subbudgetbasis, $budgetten->basis);
|
||||
$basis = $sommen['soorten'];
|
||||
$somgebudgetpct = $sommen['somgebudgetpct'];
|
||||
$sombudgetpct = $sommen['sombudgetpct'];
|
||||
$sombedragpct = $sommen['sombedragpct'];
|
||||
$sombedragbudgetpct = $sommen['sombedragbudgetpct'];
|
||||
$subbedragextra = $somextraperuitgavetype[3]->som;
|
||||
$subbudgetextra = $somextraperuitgavetype[3]->budgetsom;
|
||||
|
||||
$sommenex = $this->get_som_regel($extra, $subbedragextra, $subbudgetextra, $budgetten->extra);
|
||||
$extra = $sommenex['soorten'];
|
||||
$somgebudgetpctex = $sommenex['somgebudgetpct'];
|
||||
$sombudgetpctex = $sommenex['sombudgetpct'];
|
||||
$sombedragpctex = $sommenex['sombedragpct'];
|
||||
$sombedragbudgetpctex = $sommenex['sombedragbudgetpct'];
|
||||
// todo
|
||||
// bereken budget - besteding verschil per basis/extra/overig
|
||||
$budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som);
|
||||
// todo
|
||||
$budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som);
|
||||
$budgetten->basisverschilgeb = number_format($sombasisperuitgavetype[3]->budgetsom - $sombasisperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->extraverschilgeb = number_format($somextraperuitgavetype[3]->budgetsom - $somextraperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->totaalverschilgeb = $totgebudgeteerd - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som);
|
||||
|
||||
$budgetten->basisbudgetpct = number_format($sombudgetpct, 2,',', '.');
|
||||
$budgetten->basisgebudgetpct = number_format($somgebudgetpct, 2,',', '.');
|
||||
$budgetten->basisbedragpct = number_format($sombedragpct, 2,',', '.');
|
||||
$budgetten->basisbedragbudgetkaal = $sombedragbudgetpct;
|
||||
$budgetten->basisbedragbudgetpct = number_format($sombedragbudgetpct, 2,',', '.');
|
||||
|
||||
$budgetten->extrabudgetpct = number_format($sombudgetpctex, 2,',', '.');
|
||||
$budgetten->extragebudgetpct = number_format($somgebudgetpctex, 2,',', '.');
|
||||
$budgetten->extrabedragpct = number_format($sombedragpctex, 2,',', '.');
|
||||
$budgetten->extrabedragbudgetkaal = $sombedragpctex;
|
||||
$budgetten->extrabedragbudgetpct = number_format($sombedragbudgetpctex, 2,',', '.');
|
||||
|
||||
|
||||
$bedrag = $budgetten->totaal > 0 ? ($totbesteed/$budgetten->totaal) *100: 0;
|
||||
$budgetten->totbedragbudgetkaal = $bedrag;
|
||||
$budgetten->totbedragbudgetpct = number_format($bedrag, 2, ',', '.');
|
||||
$budgetten->totbedragpct = $totbesteed > 0 ? '100,00': 0;
|
||||
$bedrag2 = $budgetten->totaal > 0 ?($totgebudgeteerd/$budgetten->totaal)*100 : 0;
|
||||
$budgetten->totbudgetpct = number_format($bedrag2, 2, ',', '.');
|
||||
$budgetten->totgebudgetpct= $totgebudgeteerd > 0 ? '100,00': 0;
|
||||
// todo
|
||||
// zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken
|
||||
$budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.');
|
||||
$budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.');
|
||||
@@ -58,34 +104,44 @@ class Monfin2overzicht extends MY_Controller{
|
||||
|
||||
foreach($sombasisperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
$sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
|
||||
|
||||
|
||||
}
|
||||
foreach($somextraperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
$sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
|
||||
|
||||
|
||||
}
|
||||
foreach($totsomperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
$sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
|
||||
|
||||
|
||||
}
|
||||
|
||||
$schooltot = array( 'budget' => $budgetten->totaal ,
|
||||
"bestemd" => number_format($totbesteed, 0, ',' , '.' ),
|
||||
"gebudget" => number_format($totgebudgeteerd, 0, ',' , '.' ),
|
||||
"verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' ));
|
||||
|
||||
$opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr);
|
||||
}; // if budgetten
|
||||
// }; // if budgetten
|
||||
if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0;
|
||||
if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0;
|
||||
if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0;
|
||||
if (! isset($schooltot)) $schooltot = 0;
|
||||
|
||||
echo json_encode(array('uitgavetypes' =>$uitgavetypes,
|
||||
'basis' =>$basis,
|
||||
'extra' =>$extra,
|
||||
'sombasisperuitgavetype' =>$sombasisperuitgavetype,
|
||||
'somextraperuitgavetype' =>$somextraperuitgavetype,
|
||||
'totsomperuitgavetype' =>$totsomperuitgavetype,
|
||||
'schooltotaal' => $schooltot,
|
||||
'budgetten' => $budgetten,
|
||||
'opmerking' => $opmerking));
|
||||
'basis' =>$basis,
|
||||
'extra' =>$extra,
|
||||
'sombasisperuitgavetype' =>$sombasisperuitgavetype,
|
||||
'somextraperuitgavetype' =>$somextraperuitgavetype,
|
||||
'totsomperuitgavetype' =>$totsomperuitgavetype,
|
||||
'schooltotaal' => $schooltot,
|
||||
'budgetten' => $budgetten,
|
||||
'opmerking' => $opmerking));
|
||||
}
|
||||
|
||||
function getschoolbedragenNieuw(){
|
||||
@@ -103,24 +159,24 @@ class Monfin2overzicht extends MY_Controller{
|
||||
} else {
|
||||
$budgetten = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr);
|
||||
}
|
||||
$totbudget = 0;
|
||||
$totbesteed = 0;
|
||||
|
||||
$basis = array();
|
||||
$extra = array();
|
||||
$sompersoort = array();
|
||||
|
||||
$schooltot = 0;
|
||||
$opmerking = '';
|
||||
|
||||
if ($budgetten){
|
||||
if ($soortoverzicht == 3){
|
||||
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra));
|
||||
$budgetten->basis = ROUND($budgetten->basis );
|
||||
$budgetten->extra = ROUND($budgetten->extra);
|
||||
} else {
|
||||
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra)/100);
|
||||
$budgetten->basis = ROUND($budgetten->basis / 100);
|
||||
$budgetten->extra = ROUND($budgetten->extra/ 100);
|
||||
}
|
||||
if ($budgetten) {
|
||||
if ($soortoverzicht == 3) {
|
||||
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra));
|
||||
$budgetten->basis = ROUND($budgetten->basis);
|
||||
$budgetten->extra = ROUND($budgetten->extra);
|
||||
} else {
|
||||
$budgetten->totaal = ROUND(($budgetten->basis + $budgetten->extra) / 100);
|
||||
$budgetten->basis = ROUND($budgetten->basis / 100);
|
||||
$budgetten->extra = ROUND($budgetten->extra / 100);
|
||||
}
|
||||
|
||||
if ($soortoverzicht == 3){
|
||||
$basis = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"BASIS");
|
||||
$extra = $this->Finbestemmingen_model->get_bestemmingen_over_orgs($orgid, $suborgslist, $kalenderjaarnr,"EXTRA");
|
||||
@@ -132,15 +188,50 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$sombasisperuitgavetype = $this->get_som_per_uitgavetype($basis, $uitgavetypes);
|
||||
$somextraperuitgavetype = $this->get_som_per_uitgavetype($extra, $uitgavetypes);
|
||||
$totsomperuitgavetype = $this->sommeer_per_uitgavetype($sombasisperuitgavetype,$somextraperuitgavetype, $uitgavetypes);
|
||||
$totbesteed = $this->sommeeralles($totsomperuitgavetype);
|
||||
$basis = $this->get_som_regel($basis);
|
||||
$extra = $this->get_som_regel($extra);
|
||||
$totbesteed = $this->sommeeralles($totsomperuitgavetype, 'BEDRAG');
|
||||
$totgebudgeteerd = $this->sommeeralles($totsomperuitgavetype, 'BUDGET');
|
||||
$subbedragbasis = $sombasisperuitgavetype[3]->som;
|
||||
$subbudgetbasis = $sombasisperuitgavetype[3]->budgetsom;
|
||||
$sommen = $this->get_som_regel($basis, $subbedragbasis, $subbudgetbasis, $budgetten->basis);
|
||||
$basis = $sommen['soorten'];
|
||||
$somgebudgetpct = $sommen['somgebudgetpct'];
|
||||
$sombudgetpct = $sommen['sombudgetpct'];
|
||||
$sombedragpct = $sommen['sombedragpct'];
|
||||
$sombedragbudgetpct = $sommen['sombedragbudgetpct'];
|
||||
$subbedragextra = $somextraperuitgavetype[3]->som;
|
||||
$subbudgetextra = $somextraperuitgavetype[3]->budgetsom;
|
||||
|
||||
$sommenex = $this->get_som_regel($extra,$subbedragextra, $subbudgetextra, $budgetten->extra );
|
||||
$extra = $sommenex['soorten'];
|
||||
$somgebudgetpctex = $sommenex['somgebudgetpct'];
|
||||
$sombudgetpctex = $sommenex['sombudgetpct'];
|
||||
$sombedragpctex = $sommenex['sombedragpct'];
|
||||
$sombedragbudgetpctex = $sommen['sombedragbudgetpct'];
|
||||
// todo
|
||||
// bereken budget - besteding verschil per basis/extra/overig
|
||||
$budgetten->basisverschil = number_format($budgetten->basis - $sombasisperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->extraverschil = number_format($budgetten->extra - $somextraperuitgavetype[3]->som, 0, ',' , '.' );
|
||||
$budgetten->totaalverschil = $budgetten->totaal - ($sombasisperuitgavetype[3]->som +$somextraperuitgavetype[3]->som);
|
||||
// todo
|
||||
$budgetten->basisbudgetpct = number_format($sombudgetpct, 2,',', '.');
|
||||
$budgetten->basisgebudgetpct = number_format($somgebudgetpct, 2,',', '.');
|
||||
$budgetten->basisbedragpct = number_format($sombedragpct, 2,',', '.');
|
||||
$budgetten->basisbedragbudgetpct = number_format($sombedragbudgetpct, 2,',', '.');
|
||||
|
||||
$budgetten->extrabudgetpct = number_format($sombudgetpctex, 2,',', '.');
|
||||
$budgetten->extragebudgetpct = number_format($somgebudgetpctex, 2,',', '.');
|
||||
$budgetten->extrabedragpct = number_format($sombedragpctex, 2,',', '.');
|
||||
$budgetten->extrabedragbudgetpct = number_format($sombedragbudgetpctex, 2,',', '.');
|
||||
|
||||
$bedrag = $budgetten->totaal > 0 ? ($totbesteed/$budgetten->totaal) *100: 0;
|
||||
$budgetten->totbedragbudgetkaal = $bedrag;
|
||||
$budgetten->totbedragbudgetpct = number_format($bedrag, 2, ',', '.');
|
||||
$budgetten->totbedragpct = $totbesteed > 0 ? '100,00': 0;
|
||||
$bedrag2 = $budgetten->totaal > 0 ?($totgebudgeteerd/$budgetten->totaal)*100 : 0;
|
||||
$budgetten->totbudgetpct = number_format($bedrag2, 2, ',', '.');
|
||||
$budgetten->totgebudgetpct= $totgebudgeteerd > 0 ? '100,00': 0;
|
||||
|
||||
|
||||
// todo
|
||||
// zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken
|
||||
$budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.');
|
||||
$budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.');
|
||||
@@ -148,16 +239,23 @@ class Monfin2overzicht extends MY_Controller{
|
||||
|
||||
foreach($sombasisperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
$sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
|
||||
|
||||
}
|
||||
foreach($somextraperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
$sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
|
||||
|
||||
}
|
||||
foreach($totsomperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
$sompertype->budgetsom = number_format($sompertype->budgetsom,0, ',' , '.' );
|
||||
|
||||
}
|
||||
|
||||
$schooltot = array( 'budget' => $budgetten->totaal ,
|
||||
"bestemd" => number_format($totbesteed, 0, ',' , '.' ),
|
||||
"gebudget" => number_format($totgebudgeteerd, 0, ',' , '.' ),
|
||||
"verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' ));
|
||||
|
||||
if ($soortoverzicht == 3){
|
||||
@@ -166,9 +264,9 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $kalenderjaarnr);
|
||||
}
|
||||
}; // if budgetten
|
||||
if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = 0;
|
||||
if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = 0;
|
||||
if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = 0;
|
||||
if (! isset($sombasisperuitgavetype)) $sombasisperuitgavetype = false;
|
||||
if (! isset($somextraperuitgavetype)) $somextraperuitgavetype = false;
|
||||
if (! isset($totsomperuitgavetype)) $totsomperuitgavetype = false;
|
||||
if (! isset($schooltot)) $schooltot = 0;
|
||||
|
||||
echo json_encode(array('uitgavetypes' =>$uitgavetypes,
|
||||
@@ -181,46 +279,87 @@ class Monfin2overzicht extends MY_Controller{
|
||||
'budgetten' => $budgetten,
|
||||
'opmerking' => $opmerking));
|
||||
}
|
||||
function sommeeralles($totsomperuitgavetype){
|
||||
function sommeeralles($totsomperuitgavetype, $soort){
|
||||
|
||||
$totsom =0;
|
||||
if ($totsomperuitgavetype){
|
||||
foreach($totsomperuitgavetype as $som){
|
||||
$waarde = $som->som;
|
||||
if($soort == 'BUDGET') $waarde = $som->budgetsom;
|
||||
if ($som->code != "REGELSOM"){
|
||||
$totsom += $som->som;
|
||||
$totsom += $waarde;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $totsom;
|
||||
}
|
||||
|
||||
function get_som_regel($soorten){
|
||||
if ($soorten){
|
||||
foreach($soorten as $soort){
|
||||
if ($soort->subsoorten){
|
||||
foreach ($soort->subsoorten as $subsoort){
|
||||
function get_som_regel($soorten, $bedrag, $gebudget, $budget ){
|
||||
$somgebudgetpct = 0;
|
||||
$sombudgetpct = 0;
|
||||
$sombedragpct = 0;
|
||||
$sombedragbudgetpct = 0;
|
||||
foreach($soorten ? : [] as $soort){
|
||||
foreach ($soort->subsoorten ? : [] as $subsoort){
|
||||
$som = 0;
|
||||
if ($subsoort->uitgavetypes){
|
||||
foreach($subsoort->uitgavetypes as $uitgavetype){
|
||||
if ($uitgavetype && $uitgavetype->bedrag){
|
||||
$budgetsom = 0;
|
||||
foreach($subsoort->uitgavetypes ? : [] as $uitgavetype){
|
||||
if ($uitgavetype->bedrag){
|
||||
$som += $uitgavetype->bedrag;
|
||||
$uitgavetype->bedrag = number_format($uitgavetype->bedrag,0,',','.');
|
||||
}
|
||||
}
|
||||
if ($uitgavetype->budget){
|
||||
$budgetsom += $uitgavetype->budget;
|
||||
$uitgavetype->budget = number_format($uitgavetype->budget,0,',','.');
|
||||
}
|
||||
}
|
||||
}
|
||||
$subsoort->uitgavetypes[3]= new stdClass;
|
||||
$subsoort->uitgavetypes[3]->bedrag =number_format($som,0, ',' , '.');
|
||||
$subsoort->uitgavetypes[3]->code ='REGELSOM';
|
||||
$subsoort->uitgavetypes[3]= new stdClass;
|
||||
$bedragpct = 0;
|
||||
$bedragbudgetpct = 0;
|
||||
$gebudgetpct = 0;
|
||||
$budgetpct = 0;
|
||||
|
||||
$subsoort->uitgavetypes[3]->bedrag =number_format($som,0, ',' , '.');
|
||||
$subsoort->uitgavetypes[3]->budget =number_format($budgetsom,0, ',' , '.');
|
||||
|
||||
if($budget > 0) $bedragbudgetpct = ($som/$budget)*100;
|
||||
$subsoort->uitgavetypes[3]->bedragbudgetpct= number_format($bedragbudgetpct,2, ',' , '.');
|
||||
|
||||
if($subsoort->uitgavetypes[3]->bedrag> 0 && $bedrag > 0) $bedragpct = ($som/$bedrag) * 100;
|
||||
$subsoort->uitgavetypes[3]->bedragpct= number_format($bedragpct,2, ',' , '.');
|
||||
|
||||
|
||||
if($subsoort->uitgavetypes[3]->budget> 0 &&$gebudget > 0) $gebudgetpct = ($budgetsom/$gebudget) * 100;
|
||||
$subsoort->uitgavetypes[3]->gebudgetpct =number_format($gebudgetpct,2, ',' , '.');
|
||||
|
||||
if($subsoort->uitgavetypes[3]->budget> 0 && $budget > 0) $budgetpct =($budgetsom/$budget) * 100;
|
||||
$subsoort->uitgavetypes[3]->budgetpct =number_format($budgetpct,2, ',' , '.');
|
||||
|
||||
$subsoort->uitgavetypes[3]->verschil = number_format(($budgetsom - $som), 0,',', '.');
|
||||
|
||||
$subsoort->uitgavetypes[3]->code ='REGELSOM';
|
||||
$sombudgetpct =$sombudgetpct + $budgetpct;
|
||||
$somgebudgetpct = $somgebudgetpct +$gebudgetpct;
|
||||
$sombedragpct = $sombedragpct +$bedragpct;
|
||||
$sombedragbudgetpct = $sombedragbudgetpct + $bedragbudgetpct;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
return $soorten;
|
||||
|
||||
return [
|
||||
'soorten' =>$soorten,
|
||||
'sombudgetpct' => $sombudgetpct,
|
||||
'somgebudgetpct' => $somgebudgetpct,
|
||||
'sombedragpct' => $sombedragpct,
|
||||
'sombedragbudgetpct' => $sombedragbudgetpct,
|
||||
];
|
||||
}
|
||||
|
||||
function sommeer_per_uitgavetype($sombasis,$somextra,$uitgavetypes){
|
||||
$somtot = [];
|
||||
$regelsom =0;
|
||||
$regelsom2 = 0;
|
||||
if ($uitgavetypes){
|
||||
$index =0;
|
||||
foreach($uitgavetypes as $uitgavetype){
|
||||
@@ -228,20 +367,29 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$somtot[$index]->code = $uitgavetype->code;
|
||||
$somtot[$index]->naam = $uitgavetype->naam;
|
||||
$somtot[$index]->som =0;
|
||||
$somtot[$index]->budgetsom =0;
|
||||
foreach($sombasis as $basis){
|
||||
if ($basis->code == $somtot[$index]->code) $somtot[$index]->som += $basis->som;
|
||||
if ($basis->code == $somtot[$index]->code) {
|
||||
$somtot[$index]->som += $basis->som;
|
||||
$somtot[$index]->budgetsom += $basis->budgetsom;
|
||||
}
|
||||
}
|
||||
foreach($somextra as $basis){
|
||||
if ($basis->code == $somtot[$index]->code) $somtot[$index]->som += $basis->som;
|
||||
if ($basis->code == $somtot[$index]->code) {
|
||||
$somtot[$index]->som += $basis->som;
|
||||
$somtot[$index]->budgetsom += $basis->budgetsom;
|
||||
}
|
||||
}
|
||||
|
||||
$regelsom += $somtot[$index]->som;
|
||||
$regelsom2 += $somtot[$index]->budgetsom;
|
||||
$index += 1;
|
||||
}
|
||||
$somtot[$index] = new stdClass;
|
||||
$somtot[$index]->code = "REGELSOM";
|
||||
$somtot[$index]->naam = "Som";
|
||||
$somtot[$index]->som = $regelsom;
|
||||
$somtot[$index]->budgetsom = $regelsom2;
|
||||
}
|
||||
|
||||
return $somtot;
|
||||
@@ -254,36 +402,38 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$sombasis[$uitgavetype->code]= new stdClass;
|
||||
$sombasis[$uitgavetype->code]->naam= $uitgavetype->naam;
|
||||
$sombasis[$uitgavetype->code]->som=0;
|
||||
$sombasis[$uitgavetype->code]->budgetsom =0;
|
||||
|
||||
}
|
||||
if ($basis){
|
||||
foreach($basis as $soort){
|
||||
if ($soort->subsoorten){
|
||||
foreach ($soort->subsoorten as $subsoort){
|
||||
if ($subsoort->uitgavetypes){
|
||||
foreach($subsoort->uitgavetypes as $uitgavetype) {
|
||||
|
||||
foreach($basis ? $basis : [] as $soort){
|
||||
foreach ($soort->subsoorten ? $soort->subsoorten : [] as $subsoort){
|
||||
foreach($subsoort->uitgavetypes ? $subsoort->uitgavetypes :[] as $uitgavetype) {
|
||||
$sombasis[$uitgavetype->code]->som += $uitgavetype->bedrag;
|
||||
$sombasis[$uitgavetype->code]->budgetsom += $uitgavetype->budget;
|
||||
} //foreach
|
||||
}// if uitgavetypes
|
||||
}//foreach subsoort
|
||||
}//if subsoort
|
||||
}//foreach basis
|
||||
} // if basis
|
||||
} // if uitgavetypes
|
||||
$somasarray=[];
|
||||
$index = 0;
|
||||
$regelsom=0;
|
||||
$regelsom2 = 0;
|
||||
foreach($uitgavetypes as $uitgavetype){
|
||||
$somasarray[$index ] = new stdClass;
|
||||
$somasarray[$index]->code = $uitgavetype->code;
|
||||
$somasarray[$index]->naam = $sombasis[$uitgavetype->code]->naam;
|
||||
$somasarray[$index ]->som = round($sombasis[$uitgavetype->code]->som,0);
|
||||
$regelsom += $somasarray[$index ]->som;
|
||||
$somasarray[$index ]->som = round($sombasis[$uitgavetype->code]->som,0);
|
||||
$somasarray[$index ]->budgetsom = round($sombasis[$uitgavetype->code]->budgetsom,0);
|
||||
$regelsom += $somasarray[$index ]->som;
|
||||
$regelsom2 += $somasarray[$index ]->budgetsom;
|
||||
$index += 1;
|
||||
};
|
||||
$somasarray[$index] = new stdClass;
|
||||
$somasarray[$index]->code ="REGELSOM";
|
||||
$somasarray[$index]->naam = "Som";
|
||||
$somasarray[$index]->som = $regelsom;
|
||||
$somasarray[$index]->budgetsom = $regelsom2;
|
||||
|
||||
return $somasarray;
|
||||
}
|
||||
@@ -466,16 +616,18 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$targetorgid = $this->clean_input('orgid');
|
||||
$kalenderjaarnr = $this->clean_input("jaarnr");
|
||||
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
|
||||
list($targetorg->pms,$otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr);
|
||||
$sumother = $this->getsumotherpms($otherorgs);
|
||||
$sumtot = $this->getsumtotpms($targetorg, $sumother);
|
||||
list($targetorg->pms, $targetorg->bud, $targetorg->kleur, $otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr);
|
||||
$sumother = $this->getsumotherpms($otherorgs);
|
||||
$sumtot = $this->getsumtotpms($targetorg, $sumother);
|
||||
|
||||
$targetorg->pms = $this->format_all_bedragen($targetorg->pms);
|
||||
$sumother = $this->format_all_bedragen($sumother);
|
||||
$sumtot = $this->format_all_bedragen($sumtot);
|
||||
$targetorg->pms = $this->format_all_bedragen($targetorg->pms, 5);
|
||||
$targetorg->bud = $this->format_all_bedragen($targetorg->bud, 5);
|
||||
$sumother = $this->format_all_bedragen($sumother, 11);
|
||||
$sumtot = $this->format_all_bedragen($sumtot, 11);
|
||||
if ($otherorgs){
|
||||
foreach($otherorgs as $otherorg){
|
||||
$otherorg->pms = $this->format_all_bedragen($otherorg->pms);
|
||||
$otherorg->pms = $this->format_all_bedragen($otherorg->pms, 5);
|
||||
$otherorg->bud = $this->format_all_bedragen($otherorg->bud, 5);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -484,63 +636,147 @@ class Monfin2overzicht extends MY_Controller{
|
||||
'sumother' => $sumother,
|
||||
'sumtot' => $sumtot]);
|
||||
}
|
||||
function format_all_bedragen($pms){
|
||||
|
||||
for ($i = 0 ; $i <=5; $i++){
|
||||
function format_all_bedragen($pms, $lengte){
|
||||
|
||||
for ($i = 0 ; $i <=$lengte; $i++){
|
||||
if ($pms[$i] >0 ) $pms[$i]=number_format($pms[$i], 0, ',' , '.');
|
||||
else $pms[$i]='';
|
||||
}
|
||||
return $pms;
|
||||
}
|
||||
|
||||
private function get_bestuur_pms($targetorgid, $kalenderjaarnr){
|
||||
$pms = $this->Finbestemmingen_model->get_pms($targetorgid, $kalenderjaarnr);
|
||||
$targetorg->pms[0] = 0;
|
||||
$targetorg->pms[1] = 0;
|
||||
$targetorg->pms[2] = 0;
|
||||
$targetorg->pms[3] = 0;
|
||||
$targetorg->pms[4] = 0;
|
||||
$targetorg->pms[5] = 0;
|
||||
if ($pms){
|
||||
foreach($pms as $uitgave){
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="PERSONEEL") $targetorg->pms[0] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="MATERIEEL") $targetorg->pms[1] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="SCHOLING") $targetorg->pms[2] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="PERSONEEL") $targetorg->pms[3] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="MATERIEEL") $targetorg->pms[4] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="SCHOLING") $targetorg->pms[5] += $uitgave->bedrag;
|
||||
}
|
||||
}
|
||||
private function get_bestuur_pms($targetorgid, $kalenderjaarnr)
|
||||
{
|
||||
$pms = $this->Finbestemmingen_model->get_pms($targetorgid, $kalenderjaarnr);
|
||||
$targetorg = new stdClass();
|
||||
$targetorg->pms[0] = 0;
|
||||
$targetorg->pms[1] = 0;
|
||||
$targetorg->pms[2] = 0;
|
||||
$targetorg->pms[3] = 0;
|
||||
$targetorg->pms[4] = 0;
|
||||
$targetorg->pms[5] = 0;
|
||||
|
||||
$targetorg->bud[0] = 0;
|
||||
$targetorg->bud[1] = 0;
|
||||
$targetorg->bud[2] = 0;
|
||||
$targetorg->bud[3] = 0;
|
||||
$targetorg->bud[4] = 0;
|
||||
$targetorg->bud[5] = 0;
|
||||
|
||||
$targetorg->kleur[0] = 'black';
|
||||
$targetorg->kleur[1] = 'black';
|
||||
$targetorg->kleur[2] = 'black';;
|
||||
$targetorg->kleur[3] = 'black';
|
||||
$targetorg->kleur[4] = 'black';
|
||||
$targetorg->kleur[5] = 'black';
|
||||
|
||||
if ($pms) {
|
||||
foreach ($pms as $uitgave) {
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "PERSONEEL") {
|
||||
$targetorg->pms[0] += $uitgave->bedrag;
|
||||
$targetorg->bud[0] += $uitgave->budget;
|
||||
$targetorg->pms[0] > $targetorg->bud[0] ? $targetorg->kleur[0] = 'red' : 'black';
|
||||
}
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "MATERIEEL") {
|
||||
$targetorg->pms[1] += $uitgave->bedrag;
|
||||
$targetorg->bud[1] += $uitgave->budget;
|
||||
$targetorg->pms[1] > $targetorg->bud[1] ? $targetorg->kleur[1] = 'red' : 'black';
|
||||
}
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "SCHOLING") {
|
||||
$targetorg->pms[2] += $uitgave->bedrag;
|
||||
$targetorg->bud[2] += $uitgave->budget;
|
||||
$targetorg->pms[2] > $targetorg->bud[2] ? $targetorg->kleur[2] = 'red' : 'black';
|
||||
}
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "PERSONEEL") {
|
||||
$targetorg->pms[3] += $uitgave->bedrag;
|
||||
$targetorg->bud[3] += $uitgave->budget;
|
||||
$targetorg->pms[3] > $targetorg->bud[3] ? $targetorg->kleur[3] = 'red' : 'black';
|
||||
}
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "MATERIEEL") {
|
||||
$targetorg->pms[4] += $uitgave->bedrag;
|
||||
$targetorg->bud[4] += $uitgave->budget;
|
||||
$targetorg->pms[4] > $targetorg->bud[4] ? $targetorg->kleur[4] = 'red' : 'black';
|
||||
}
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "SCHOLING") {
|
||||
$targetorg->pms[5] += $uitgave->bedrag;
|
||||
$targetorg->bud[5] += $uitgave->budget;
|
||||
$targetorg->pms[5] > $targetorg->bud[5] ? $targetorg->kleur[5] = 'red' : 'black';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$organisaties = $this->Organisaties_model->getorgs2($targetorgid);
|
||||
|
||||
$organisaties = $this->Organisaties_model->getorgs2($targetorgid);
|
||||
if ($organisaties) {
|
||||
foreach ($organisaties as $organisatie) {
|
||||
$org_plus_subs = $this->getorgids($organisatie->orgid);
|
||||
if (!$org_plus_subs) {
|
||||
$org_plus_subs = $organisatie->orgid;
|
||||
};
|
||||
$pms = $this->Finbestemmingen_model->get_pms($org_plus_subs, $kalenderjaarnr);
|
||||
$organisatie->pms[0] = 0;
|
||||
$organisatie->pms[1] = 0;
|
||||
$organisatie->pms[2] = 0;
|
||||
$organisatie->pms[3] = 0;
|
||||
$organisatie->pms[4] = 0;
|
||||
$organisatie->pms[5] = 0;
|
||||
$organisatie->bud[0] = 0;
|
||||
$organisatie->bud[1] = 0;
|
||||
$organisatie->bud[2] = 0;
|
||||
$organisatie->bud[3] = 0;
|
||||
$organisatie->bud[4] = 0;
|
||||
$organisatie->bud[5] = 0;
|
||||
$organisatie->kleur[0] = 'black';
|
||||
$organisatie->kleur[1] = 'black';
|
||||
$organisatie->kleur[2] = 'black';
|
||||
$organisatie->kleur[3] = 'black';
|
||||
$organisatie->kleur[4] = 'black';
|
||||
$organisatie->kleur[5] = 'black';
|
||||
if ($pms) {
|
||||
foreach ($pms as $uitgave) {
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "PERSONEEL") {
|
||||
$organisatie->pms[0] += $uitgave->bedrag;
|
||||
$organisatie->bud[0] += $uitgave->budget;
|
||||
}
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "MATERIEEL") {
|
||||
$organisatie->pms[1] += $uitgave->bedrag;
|
||||
$organisatie->bud[1] += $uitgave->budget;
|
||||
}
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype == "SCHOLING") {
|
||||
$organisatie->pms[2] += $uitgave->bedrag;
|
||||
$organisatie->bud[2] += $uitgave->budget;
|
||||
}
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "PERSONEEL") {
|
||||
$organisatie->pms[3] += $uitgave->bedrag;
|
||||
$organisatie->bud[3] += $uitgave->budget;
|
||||
}
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "MATERIEEL") {
|
||||
$organisatie->pms[4] += $uitgave->bedrag;
|
||||
$organisatie->bud[4] += $uitgave->budget;
|
||||
}
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype == "SCHOLING") {
|
||||
$organisatie->pms[5] += $uitgave->bedrag;
|
||||
$organisatie->bud[5] += $uitgave->budget;
|
||||
}
|
||||
}
|
||||
|
||||
if ($organisaties){
|
||||
foreach($organisaties as $organisatie){
|
||||
$org_plus_subs = $this->getorgids($organisatie->orgid);
|
||||
if (! $org_plus_subs) {$org_plus_subs = $organisatie->orgid;};
|
||||
$pms = $this->Finbestemmingen_model->get_pms($org_plus_subs, $kalenderjaarnr);
|
||||
$organisatie->pms[0] = 0;
|
||||
$organisatie->pms[1] = 0;
|
||||
$organisatie->pms[2] = 0;
|
||||
$organisatie->pms[3] = 0;
|
||||
$organisatie->pms[4] = 0;
|
||||
$organisatie->pms[5] = 0;
|
||||
if ($pms){
|
||||
foreach($pms as $uitgave){
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="PERSONEEL") $organisatie->pms[0] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="MATERIEEL") $organisatie->pms[1] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "BASIS" && $uitgave->uitgavetype=="SCHOLING") $organisatie->pms[2] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="PERSONEEL") $organisatie->pms[3] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="MATERIEEL") $organisatie->pms[4] += $uitgave->bedrag;
|
||||
if ($uitgave->categorie == "EXTRA" && $uitgave->uitgavetype=="SCHOLING") $organisatie->pms[5] += $uitgave->bedrag;
|
||||
}
|
||||
}
|
||||
}
|
||||
}; // if organisaties
|
||||
return [$targetorg->pms , $organisaties];
|
||||
}
|
||||
|
||||
}
|
||||
if ($organisatie->pms[0] > $organisatie->bud[0]) $organisatie->kleur[0] = 'red';
|
||||
if ($organisatie->pms[1] > $organisatie->bud[1]) $organisatie->kleur[1] = 'red';
|
||||
if ($organisatie->pms[2] > $organisatie->bud[2]) $organisatie->kleur[2] = 'red';
|
||||
if ($organisatie->pms[3] > $organisatie->bud[3]) $organisatie->kleur[3] = 'red';
|
||||
if ($organisatie->pms[4] > $organisatie->bud[4]) $organisatie->kleur[4] = 'red';
|
||||
if ($organisatie->pms[5] > $organisatie->bud[4]) $organisatie->kleur[5] = 'red';
|
||||
|
||||
|
||||
}; // if organisaties
|
||||
|
||||
return [$targetorg->pms, $targetorg->bud, $targetorg->kleur, $organisaties];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getsumtotpms($targetorg, $sumother){
|
||||
$sumtot = [];
|
||||
@@ -551,6 +787,18 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$sumtot[3] = $targetorg->pms[3] + $sumother[3];
|
||||
$sumtot[4] = $targetorg->pms[4] + $sumother[4];
|
||||
$sumtot[5] = $targetorg->pms[5] + $sumother[5];
|
||||
$sumtot[6] = $targetorg->bud[0] + $sumother[6];
|
||||
$sumtot[7] = $targetorg->bud[1] + $sumother[7];
|
||||
$sumtot[8] = $targetorg->bud[2] + $sumother[8];
|
||||
$sumtot[9] = $targetorg->bud[3] + $sumother[9];
|
||||
$sumtot[10] = $targetorg->bud[4] + $sumother[10];
|
||||
$sumtot[11] = $targetorg->bud[5] + $sumother[11];
|
||||
$sumtot[12] = $sumtot[0] > $sumtot[6] ? 'red' : 'black';
|
||||
$sumtot[13] = $sumtot[1] > $sumtot[7] ? 'red' : 'black';
|
||||
$sumtot[14] = $sumtot[2] > $sumtot[8] ? 'red' : 'black';
|
||||
$sumtot[15] = $sumtot[3] > $sumtot[9] ? 'red' : 'black';
|
||||
$sumtot[16] = $sumtot[4] > $sumtot[10] ? 'red' : 'black';
|
||||
$sumtot[17] = $sumtot[5] > $sumtot[11] ? 'red' : 'black';
|
||||
return $sumtot;
|
||||
}
|
||||
|
||||
@@ -563,16 +811,46 @@ class Monfin2overzicht extends MY_Controller{
|
||||
$sumother[3] = 0;
|
||||
$sumother[4] = 0;
|
||||
$sumother[5] = 0;
|
||||
$sumother[6] = 0;
|
||||
$sumother[7] = 0;
|
||||
$sumother[8] = 0;
|
||||
$sumother[9] = 0;
|
||||
$sumother[10] = 0;
|
||||
$sumother[11] = 0;
|
||||
$sumother[12] = 'black';
|
||||
$sumother[13] = 'black';
|
||||
$sumother[14] = 'black';
|
||||
$sumother[15] = 'black';
|
||||
$sumother[16] = 'black';
|
||||
$sumother[17] = 'black';
|
||||
foreach($otherorgs as $org){
|
||||
if ($org->pms){
|
||||
$sumother[0] += $org->pms[0];
|
||||
$sumother[1] += $org->pms[1];
|
||||
$sumother[2] += $org->pms[2];
|
||||
$sumother[3] += $org->pms[3];
|
||||
$sumother[4] += $org->pms[4];
|
||||
$sumother[5] += $org->pms[5];
|
||||
}
|
||||
$sumother[6] += $org->bud[0];
|
||||
$sumother[7] += $org->bud[1];
|
||||
$sumother[8] += $org->bud[2];
|
||||
$sumother[9] += $org->bud[3];
|
||||
$sumother[10] += $org->bud[4];
|
||||
$sumother[11] += $org->bud[5];
|
||||
|
||||
}
|
||||
|
||||
foreach($otherorgs as $org){
|
||||
if ($org->pms){
|
||||
if( $sumother[0] > $sumother[6]) $sumother[12] = 'red';
|
||||
if( $sumother[1] > $sumother[7]) $sumother[13] = 'red';
|
||||
if( $sumother[2] > $sumother[8]) $sumother[14] = 'red';
|
||||
if( $sumother[3] > $sumother[9]) $sumother[15] = 'red';
|
||||
if( $sumother[4] > $sumother[10]) $sumother[16] = 'red';
|
||||
if( $sumother[5] > $sumother[11]) $sumother[17] = 'red';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $sumother;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user