Merge branch 'feature/budgetmonfin' into feature/labels

This commit is contained in:
2023-07-03 12:16:41 +02:00
15 changed files with 2482 additions and 639 deletions
@@ -10,7 +10,9 @@ class Finbestemmingen_model extends MY_Model{
function __construct(){
parent::__construct();
$models = array('shared/Organisaties_model',
"monfin2/Finuitgavetypes_model");
"monfin2/Finuitgavetypes_model"
);
$this->load->model($models);
}
@@ -33,6 +35,9 @@ class Finbestemmingen_model extends MY_Model{
WHERE finsoort_id = {$soortID}";
return $this->get_query_result();
}
function get_overig_subsoorten($soortID,$orgID){
$this->sql = "SELECT id as subsoortID,
omschrijving as naam
@@ -56,13 +61,36 @@ class Finbestemmingen_model extends MY_Model{
foreach($soorten as $soort){
$soort->subsoorten = $this->get_subsoorten($soort->soortID);
if ($soort->subsoorten){
foreach($soort->subsoorten as $subsoort){
// haal per uitgavetypes de bedragen op
if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){
$subsoort->uitgavetypes[] = $this->get_bedrag_per_type($orgID, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
}
}
foreach($soort->subsoorten as $index =>$subsoort){
// haal per uitgavetypes de bedragen op
if ($uitgavetypes) {
$restantbudget = 0;
foreach ($uitgavetypes as $uitgavetype) {
$subsoort->uitgavetypes[] = $this->get_bedrag_per_type($orgID, $jaarnr, $subsoort->subsoortID, $uitgavetype->code);
}
if (count($subsoort->uitgavetypes) > 0) {
$restantbudget = floatval(str_replace(',' , '' , $subsoort->uitgavetypes[0]->budget)) -
floatval(str_replace(',' , '' , $subsoort->uitgavetypes[1]->budget)) -
floatval(str_replace(',' , '' , $subsoort->uitgavetypes[2]->budget)) -
floatval(str_replace(',' , '' , $subsoort->uitgavetypes[3]->budget));
$restantbudget = number_format($restantbudget, 2);
}
$restant = new stdClass();
$restant->id = '0';
$restant->bedrag = '0.00';
$restant->budget = $restantbudget;
$restant->code = 'RESTANT';
$subsoort->uitgavetypes[] = $restant;
}
}
}// if subsoorten
}
@@ -87,7 +115,8 @@ class Finbestemmingen_model extends MY_Model{
// haal per uitgavetypes de bedragen op
if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){
$subsoort->uitgavetypes[] = $this->get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
$result = $this->get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
$subsoort->uitgavetypes[] = $result;
}
}
}
@@ -121,19 +150,10 @@ class Finbestemmingen_model extends MY_Model{
// }// if subsoorten
// }
// }// if soorten
// return $soorten;
// return $soorten;
// }
function setSomSubsoort($orgid, $jaarnr, $categorie){
$this->sql = "SELECT FORMAT(SUM(bedrag) / 100,2) as totaal
FROM finbestemmingen B
JOIN finsubsoorten SUB ON B.subsoort_id = SUB.id
JOIN finsoorten S ON SUB.finsoort_id = S.id
WHERE B.organisatie_id = {$orgid}
AND B.kalenderjaar = {$jaarnr}
AND S.categorie = '{$categorie}' ";
return $this->get_query_row('totaal');
}
function getUitgavenPerSubsoortSchool($orgid, $jaarnr){
@@ -164,6 +184,7 @@ class Finbestemmingen_model extends MY_Model{
function get_bedrag_per_type($orgid, $jaarnr,$subsoortID, $uitgavetype){
$this->sql = "SELECT id,
FORMAT(bedrag / 100,2) as bedrag,
FORMAT(budget / 100,2) as budget,
uitgavetype as code
FROM finbestemmingen
WHERE organisatie_id = {$orgid}
@@ -176,27 +197,39 @@ class Finbestemmingen_model extends MY_Model{
"kalenderjaar" =>$jaarnr,
"subsoort_id" =>$subsoortID,
"uitgavetype" =>$uitgavetype,
"bedrag" =>0];
"bedrag" =>0,
"budget" =>0];
$this->insert_record($data);
$row = $this->get_query_row();
}
if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag);
if ($row) {
$row->bedrag = str_replace(',' , '' , $row->bedrag);
$row->budget = str_replace(',' , '' , $row->budget);
}
return $row;
}
function get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoortID, $uitgavetype){
$this->sql = "SELECT id,
FORMAT(sum(bedrag) / 100,2) as bedrag,
FORMAT(sum(budget) / 100,2) as budget,
uitgavetype as code
FROM finbestemmingen
WHERE organisatie_id in ({$orglist})
AND kalenderjaar = {$jaarnr }
AND subsoort_id = {$subsoortID}
AND uitgavetype = '{$uitgavetype}' ";
$row= $this->get_query_row();
$row= $this->get_query_row();
if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag);
if ($row) $row->budget = str_replace(',' , '' , $row->budget);
return $row;
}
@@ -245,7 +278,8 @@ class Finbestemmingen_model extends MY_Model{
return $this->get_query_row('bedrag');
}
function get_pms($orgids, $kalenderjaarnr){
$this->sql = " SELECT round(sum(bedrag/100) ) AS bedrag,
$this->sql = " SELECT round(sum(FB.bedrag/100) ) AS bedrag,
round(sum(FB.budget/100)) AS budget,
uitgavetype,
FS.categorie,
FB.organisatie_id
@@ -48,7 +48,7 @@ class Licenties_model extends MY_Model{
JOIN tb_cluster C on C.id = M.cluster_id
WHERE O.id = {$orgid}
AND actief = 1
GROUP BY C.naam ";
GROUP BY C.id ";
return $this->get_query_result();
}