initial commit
This commit is contained in:
@@ -0,0 +1,599 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Monfin2overzicht extends MY_Controller{
|
||||
|
||||
function __construct(){
|
||||
parent::__construct();
|
||||
$models = array("monfin2/Finbestemmingen_model",
|
||||
"monfin2/Finuitgavetypes_model",
|
||||
"monpas/Bestedingopmerkingen_model",
|
||||
"monpas/Toewijzingen_model",
|
||||
"shared/Kalenderjaren_model",
|
||||
|
||||
"Phantom_model" );
|
||||
$this->load->model($models);
|
||||
if ( ! $this->check_online_status() ) {
|
||||
echo json_encode( array('offline' => TRUE) );
|
||||
die;
|
||||
};// if
|
||||
}
|
||||
function getschoolbedragen(){
|
||||
$orgid = $this->clean_input("orgid");
|
||||
$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);
|
||||
|
||||
$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
|
||||
// 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
|
||||
// zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken
|
||||
$budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.');
|
||||
$budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.');
|
||||
$budgetten->extra = number_format($budgetten->extra, 0 , ',' , '.');
|
||||
|
||||
foreach($sombasisperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
foreach($somextraperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
foreach($totsomperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
|
||||
$schooltot = array( 'budget' => $budgetten->totaal ,
|
||||
"bestemd" => number_format($totbesteed, 0, ',' , '.' ),
|
||||
"verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' ));
|
||||
|
||||
$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($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));
|
||||
}
|
||||
|
||||
function getschoolbedragenNieuw(){
|
||||
$orgid = $this->clean_input("orgid");
|
||||
$kalenderjaarnr = $this->clean_input("jaarnr");
|
||||
$soortoverzicht = $this->clean_input('zelfjanee');
|
||||
|
||||
$suborgs = $this->Organisaties_model->getlistrecursief( $orgid, []);
|
||||
array_splice($suborgs, 0,1);
|
||||
$suborgslist= implode(',', $suborgs);
|
||||
|
||||
$uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
|
||||
if ($soortoverzicht == 3){
|
||||
$budgetten = $this->Toewijzingen_model->gettoewijzingenperjaaroverorgs($suborgslist, $kalenderjaarnr);
|
||||
} 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 ($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");
|
||||
|
||||
} else {
|
||||
$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
|
||||
// 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
|
||||
// zorg dat alle getallen geformateerd zijn met een duizendtalscheidingsteken
|
||||
$budgetten->totaal = number_format($budgetten->totaal, 0 , ',' , '.');
|
||||
$budgetten->basis = number_format($budgetten->basis , 0 , ',' , '.');
|
||||
$budgetten->extra = number_format($budgetten->extra, 0 , ',' , '.');
|
||||
|
||||
foreach($sombasisperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
foreach($somextraperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
foreach($totsomperuitgavetype as $sompertype){
|
||||
$sompertype->som = number_format($sompertype->som,0, ',' , '.' );
|
||||
}
|
||||
|
||||
$schooltot = array( 'budget' => $budgetten->totaal ,
|
||||
"bestemd" => number_format($totbesteed, 0, ',' , '.' ),
|
||||
"verschil" => number_format($budgetten->totaalverschil, 0, ',' , '.' ));
|
||||
|
||||
if ($soortoverzicht == 3){
|
||||
$opmerking = '';
|
||||
} else {
|
||||
$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($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));
|
||||
}
|
||||
function sommeeralles($totsomperuitgavetype){
|
||||
$totsom =0;
|
||||
if ($totsomperuitgavetype){
|
||||
foreach($totsomperuitgavetype as $som){
|
||||
if ($som->code != "REGELSOM"){
|
||||
$totsom += $som->som;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $totsom;
|
||||
}
|
||||
|
||||
function get_som_regel($soorten){
|
||||
if ($soorten){
|
||||
foreach($soorten as $soort){
|
||||
if ($soort->subsoorten){
|
||||
foreach ($soort->subsoorten as $subsoort){
|
||||
$som = 0;
|
||||
if ($subsoort->uitgavetypes){
|
||||
foreach($subsoort->uitgavetypes as $uitgavetype){
|
||||
if ($uitgavetype && $uitgavetype->bedrag){
|
||||
$som += $uitgavetype->bedrag;
|
||||
$uitgavetype->bedrag = number_format($uitgavetype->bedrag,0,',','.');
|
||||
}
|
||||
}
|
||||
}
|
||||
$subsoort->uitgavetypes[3]= new stdClass;
|
||||
$subsoort->uitgavetypes[3]->bedrag =number_format($som,0, ',' , '.');
|
||||
$subsoort->uitgavetypes[3]->code ='REGELSOM';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return $soorten;
|
||||
}
|
||||
|
||||
function sommeer_per_uitgavetype($sombasis,$somextra,$uitgavetypes){
|
||||
$somtot = [];
|
||||
$regelsom =0;
|
||||
if ($uitgavetypes){
|
||||
$index =0;
|
||||
foreach($uitgavetypes as $uitgavetype){
|
||||
$somtot[$index] = new stdClass;
|
||||
$somtot[$index]->code = $uitgavetype->code;
|
||||
$somtot[$index]->naam = $uitgavetype->naam;
|
||||
$somtot[$index]->som =0;
|
||||
foreach($sombasis as $basis){
|
||||
if ($basis->code == $somtot[$index]->code) $somtot[$index]->som += $basis->som;
|
||||
}
|
||||
foreach($somextra as $basis){
|
||||
if ($basis->code == $somtot[$index]->code) $somtot[$index]->som += $basis->som;
|
||||
}
|
||||
|
||||
$regelsom += $somtot[$index]->som;
|
||||
$index += 1;
|
||||
}
|
||||
$somtot[$index] = new stdClass;
|
||||
$somtot[$index]->code = "REGELSOM";
|
||||
$somtot[$index]->naam = "Som";
|
||||
$somtot[$index]->som = $regelsom;
|
||||
}
|
||||
|
||||
return $somtot;
|
||||
}
|
||||
|
||||
function get_som_per_uitgavetype($basis,$uitgavetypes){
|
||||
$sombasis = [];
|
||||
if ($uitgavetypes){
|
||||
foreach($uitgavetypes as $uitgavetype){
|
||||
$sombasis[$uitgavetype->code]= new stdClass;
|
||||
$sombasis[$uitgavetype->code]->naam= $uitgavetype->naam;
|
||||
$sombasis[$uitgavetype->code]->som=0;
|
||||
}
|
||||
if ($basis){
|
||||
foreach($basis as $soort){
|
||||
if ($soort->subsoorten){
|
||||
foreach ($soort->subsoorten as $subsoort){
|
||||
if ($subsoort->uitgavetypes){
|
||||
foreach($subsoort->uitgavetypes as $uitgavetype) {
|
||||
$sombasis[$uitgavetype->code]->som += $uitgavetype->bedrag;
|
||||
} //foreach
|
||||
}// if uitgavetypes
|
||||
}//foreach subsoort
|
||||
}//if subsoort
|
||||
}//foreach basis
|
||||
} // if basis
|
||||
} // if uitgavetypes
|
||||
$somasarray=[];
|
||||
$index = 0;
|
||||
$regelsom=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;
|
||||
$index += 1;
|
||||
};
|
||||
$somasarray[$index] = new stdClass;
|
||||
$somasarray[$index]->code ="REGELSOM";
|
||||
$somasarray[$index]->naam = "Som";
|
||||
$somasarray[$index]->som = $regelsom;
|
||||
|
||||
return $somasarray;
|
||||
}
|
||||
|
||||
function getbestuursbedragen(){
|
||||
$targetorgid = $this->clean_input('orgid');
|
||||
$kalenderjaarnr= $this->clean_input("jaarnr");
|
||||
|
||||
$subtot = new stdClass;
|
||||
$subtot->basis =0;
|
||||
$subtot->extra =0;
|
||||
$subtot->som =0;
|
||||
$subtot->budget =0;
|
||||
$subtot->verschil =0;
|
||||
|
||||
$grandtot = new stdClass;
|
||||
$grandtot->basis =0;
|
||||
$grandtot->extra =0;
|
||||
$grandtot->som =0;
|
||||
$grandtot->budget =0;
|
||||
$grandtot->verschil =0;
|
||||
|
||||
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
|
||||
$targetorg->bestemmingen = $this->get_bestuur_bestemmingen($targetorgid, $kalenderjaarnr);
|
||||
$targetorg->budgetten = $this->getbudgetten($targetorgid, $kalenderjaarnr,$targetorg->bestemmingen['som']);
|
||||
|
||||
$grandtot->basis = $targetorg->bestemmingen['basis'];
|
||||
$grandtot->extra = $targetorg->bestemmingen['extra'];
|
||||
$grandtot->som = $targetorg->bestemmingen['som'];
|
||||
$grandtot->budget = $targetorg->budgetten->totaal;
|
||||
$grandtot->verschil = $targetorg->budgetten->verschil;
|
||||
|
||||
//get de som van de uitgaven van de onderliggende organisaties
|
||||
$soort = $targetorg->soort +1;
|
||||
$organisaties = $this->Organisaties_model->getorgs($soort, $targetorgid, true);
|
||||
$others =[];
|
||||
if ($organisaties){
|
||||
$index = 0;
|
||||
foreach ($organisaties as $organisatie){
|
||||
$orgids = $this->getorgids( $organisatie->id);
|
||||
$others[$index] = new stdClass;
|
||||
$others[$index]->naam = $organisatie->brin.'-'.$organisatie->naamkort;
|
||||
$others[$index]->id = $organisatie->id;
|
||||
$others[$index]->budget = $this->get_budgetten_inclusief($orgids, $kalenderjaarnr);
|
||||
$others[$index]->bestemmingen = $this->get_bestemmingen_inclusief($orgids, $kalenderjaarnr);
|
||||
$others[$index]->verschil = $others[$index]->budget->totaal - $others[$index]->bestemmingen->som;
|
||||
$others[$index]->formVerschil = number_format($others[$index]->verschil, 0 ,',' , '.' );
|
||||
$subtot->basis += $others[$index]->bestemmingen->basis;
|
||||
$subtot->extra += $others[$index]->bestemmingen->extra;
|
||||
$subtot->som += $others[$index]->bestemmingen->som;
|
||||
$subtot->budget += $others[$index]->budget->totaal;
|
||||
$subtot->verschil += $others[$index]->verschil;
|
||||
$grandtot->basis += $others[$index]->bestemmingen->basis;
|
||||
$grandtot->extra += $others[$index]->bestemmingen->extra;
|
||||
$grandtot->som += $others[$index]->bestemmingen->som;
|
||||
$grandtot->budget += $others[$index]->budget->totaal;
|
||||
$grandtot->verschil += $others[$index]->verschil;
|
||||
$index += 1;
|
||||
}
|
||||
}
|
||||
$targetorg->budgetten->basis = number_format($targetorg->budgetten->basis, 0, ',' , '.');
|
||||
$targetorg->budgetten->extra = number_format($targetorg->budgetten->extra, 0, ',' , '.');
|
||||
$targetorg->budgetten->totaal = number_format($targetorg->budgetten->totaal, 0, ',' , '.');
|
||||
$targetorg->budgetten->verschil = number_format($targetorg->budgetten->verschil,0, ',' , '.');
|
||||
|
||||
$subtot->basis = number_format($subtot->basis,0 , ',' , '.');
|
||||
$subtot->extra = number_format($subtot->extra,0 , ',' , '.');
|
||||
$subtot->som = number_format($subtot->som,0 , ',' , '.');
|
||||
$subtot->budget = number_format($subtot->budget,0 , ',' , '.');
|
||||
$subtot->verschil = number_format($subtot->verschil,0 , ',' , '.');
|
||||
|
||||
$grandtot->basis = number_format($grandtot->basis,0 , ',' , '.');
|
||||
$grandtot->extra = number_format($grandtot->extra,0 , ',' , '.');
|
||||
$grandtot->som = number_format($grandtot->som,0 , ',' , '.');
|
||||
$grandtot->budget = number_format($grandtot->budget,0 , ',' , '.');
|
||||
$grandtot->verschil = number_format($grandtot->verschil,0 , ',' , '.');
|
||||
// $result = $this->get_orgs_bestemmingen($orgids, $kalenderjaarnr);
|
||||
|
||||
echo json_encode(['targetorg' =>$targetorg,
|
||||
'others' =>$others,
|
||||
'subtot' =>$subtot,
|
||||
'grandtot' =>$grandtot
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
function get_bestemmingen_inclusief($orgids, $jaarnr){
|
||||
$bestemmingen = new stdClass;
|
||||
$bestemmingen->basis = $this->Finbestemmingen_model->getsompersoortoverorgsSummed($orgids, $jaarnr, 'BASIS');
|
||||
$bestemmingen->formBasis = number_format($bestemmingen->basis,0, ',' , '.' );
|
||||
$bestemmingen->extra = $this->Finbestemmingen_model->getsompersoortoverorgsSummed($orgids, $jaarnr, 'EXTRA');
|
||||
$bestemmingen->formExtra = number_format($bestemmingen->extra,0, ',' , '.' );
|
||||
$bestemmingen->som = $bestemmingen->basis + $bestemmingen->extra;
|
||||
$bestemmingen->formSom = number_format($bestemmingen->som,0, ',' , '.' );
|
||||
return $bestemmingen;
|
||||
}
|
||||
|
||||
function get_budgetten_inclusief($orgids,$jaarnr){
|
||||
$budgetten = $this->Toewijzingen_model->gettoewijzingenperjaaroverorgs($orgids, $jaarnr);
|
||||
if ( ! $budgetten){
|
||||
$budgetten = new stdClass;
|
||||
$budgetten->basis = 0;
|
||||
$budgetten->extra = 0;
|
||||
$budgetten->totaal = 0;
|
||||
}
|
||||
$budgetten->formTotaal = number_format($budgetten->totaal, 0 , ',' , '.' );
|
||||
return $budgetten;
|
||||
}
|
||||
|
||||
private function getorgids($orgid){
|
||||
$organisaties = array();
|
||||
$level2 = array();
|
||||
$level3 = array();
|
||||
$idarray = array();
|
||||
$idarray[] =$orgid;
|
||||
$organisaties = $this->Organisaties_model->getorgsonder($orgid);
|
||||
if ($organisaties){
|
||||
foreach($organisaties as $organisatie){
|
||||
$level2= $this->Organisaties_model->getorgsonder($organisatie->id);
|
||||
if ($level2){
|
||||
foreach($level2 as $l2){
|
||||
$level3 = $this->Organisaties_model->getorgsonder($l2->id);
|
||||
if($level3){
|
||||
foreach($level3 as $l3){
|
||||
$idarray[]=$l3->id;
|
||||
};
|
||||
}; // if level3
|
||||
$idarray[]=$l2->id;
|
||||
}
|
||||
}; // if level2
|
||||
$idarray[] = $organisatie->id;
|
||||
}
|
||||
}; // if organisaties
|
||||
return implode(',', $idarray);
|
||||
}
|
||||
|
||||
private function get_bestuur_bestemmingen($orgid, $kalenderjaarnr){
|
||||
|
||||
$orgbestedingen = array();
|
||||
$orgbestedingen['basis'] =0;
|
||||
$orgbestedingen['formBasis'] ='' ;
|
||||
$orgbestedingen['extra'] =0;
|
||||
$orgbestedingen['formExtra'] = '';
|
||||
$orgbestedingen['som'] =0;
|
||||
$orgbestedingen['formSom'] = '';
|
||||
|
||||
$bestemmingenOrgZelf = $this->Finbestemmingen_model->getsompersoortoverorgs($orgid, $kalenderjaarnr);
|
||||
|
||||
if ($bestemmingenOrgZelf){
|
||||
foreach($bestemmingenOrgZelf as $besteding){
|
||||
switch ($besteding->categorie){
|
||||
case "BASIS": $orgbestedingen['basis'] = $besteding->bedrag;
|
||||
$orgbestedingen['formBasis'] = number_format($besteding->bedrag,0, ',' , '.' );
|
||||
break;
|
||||
case "EXTRA": $orgbestedingen['extra'] = $besteding->bedrag;
|
||||
$orgbestedingen['formExtra'] = number_format($besteding->bedrag,0, ',' , '.' );
|
||||
break;
|
||||
};// switch
|
||||
$orgbestedingen['som'] += $besteding->bedrag;
|
||||
}; // foreach bestedingen
|
||||
} ; // if bestedingen
|
||||
$orgbestedingen['formSom']=number_format($orgbestedingen['som'] ,0, ',' , '.' );
|
||||
return $orgbestedingen;
|
||||
}
|
||||
|
||||
private function getbudgetten($orgid, $kalenderjaarnr, $som){
|
||||
$budgetten =$this->Toewijzingen_model->gettoewijzingperjaar($orgid, $kalenderjaarnr);
|
||||
if (!$budgetten){
|
||||
$budgetten=new stdClass;
|
||||
$budgetten->basis = 0;
|
||||
$budgetten->extra = 0;
|
||||
}
|
||||
$budgetten->basis = $budgetten->basis / 100;
|
||||
$budgetten->extra = $budgetten->extra / 100;
|
||||
$budgetten->totaal =$budgetten->basis + $budgetten->extra;
|
||||
$budgetten->verschil = $budgetten->basis + $budgetten->extra - $som;
|
||||
return $budgetten;
|
||||
}
|
||||
function getbestuurperuitgavetype(){
|
||||
$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);
|
||||
|
||||
$targetorg->pms = $this->format_all_bedragen($targetorg->pms);
|
||||
$sumother = $this->format_all_bedragen($sumother);
|
||||
$sumtot = $this->format_all_bedragen($sumtot);
|
||||
if ($otherorgs){
|
||||
foreach($otherorgs as $otherorg){
|
||||
$otherorg->pms = $this->format_all_bedragen($otherorg->pms);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(['targetorg' => $targetorg,
|
||||
'otherorgs' => $otherorgs,
|
||||
'sumother' => $sumother,
|
||||
'sumtot' => $sumtot]);
|
||||
}
|
||||
function format_all_bedragen($pms){
|
||||
|
||||
for ($i = 0 ; $i <=5; $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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$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;
|
||||
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];
|
||||
}
|
||||
|
||||
function getsumtotpms($targetorg, $sumother){
|
||||
$sumtot = [];
|
||||
if (! $sumother || ! $targetorg) return $sumtot;
|
||||
$sumtot[0] = $targetorg->pms[0] + $sumother[0];
|
||||
$sumtot[1] = $targetorg->pms[1] + $sumother[1];
|
||||
$sumtot[2] = $targetorg->pms[2] + $sumother[2];
|
||||
$sumtot[3] = $targetorg->pms[3] + $sumother[3];
|
||||
$sumtot[4] = $targetorg->pms[4] + $sumother[4];
|
||||
$sumtot[5] = $targetorg->pms[5] + $sumother[5];
|
||||
return $sumtot;
|
||||
}
|
||||
|
||||
function getsumotherpms($otherorgs){
|
||||
$sumother =[];
|
||||
if (! $otherorgs) return $sumother;
|
||||
$sumother[0] = 0;
|
||||
$sumother[1] = 0;
|
||||
$sumother[2] = 0;
|
||||
$sumother[3] = 0;
|
||||
$sumother[4] = 0;
|
||||
$sumother[5] = 0;
|
||||
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];
|
||||
}
|
||||
}
|
||||
return $sumother;
|
||||
}
|
||||
|
||||
function PdfFinancien(){
|
||||
$input = json_decode($this->input->post('data'));
|
||||
|
||||
$soort = $input->soort;
|
||||
switch ($soort){
|
||||
case 0 : $titel = "Gesommeerde bestedingen onderliggende organisaties"; break;
|
||||
case 1 : $titel = "Details eigen organisatie"; break;
|
||||
case 2 : $titel = "Gesommeerde uitgaven personeel, materieel en scholing"; break;
|
||||
case 3 : $titel = "Details onderliggende organisaties" ; break;
|
||||
default: $titel = "Rapport";
|
||||
}
|
||||
$data = ['inhoud' =>$input->html,
|
||||
'jaar' => $input->jaar,
|
||||
'org' => $input->org,
|
||||
'titel' => $titel];
|
||||
$html = $this->load->view("monpas/reports/financien", $data, true);
|
||||
$filenaam ="financien";
|
||||
$this->Phantom_model->create_pdf($html, $filenaam, FALSE, TRUE, [50,50,100, 70], 'LANDSCAPE');
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user