Files
monpas/application/controllers/monfin2/Bestemmingen.php
T
2023-06-09 15:50:11 +02:00

121 lines
4.4 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Bestemmingen extends MY_Controller{
function __construct(){
parent::__construct();
$models = array("shared/Kalenderjaren_model",
"monpas/Bestedingopmerkingen_model",
"monpas/Toewijzingen_model",
"monfin2/Finuitgavetypes_model",
"monfin2/Finbestemmingen_model",
"monfin2/Finsoorten_model",
"monfin2/Finsubsoorten_model");
$this->load->model($models);
if ( ! $this->check_online_status() ) {
echo json_encode( array('offline' => TRUE) );
die;
};// if
if (! $this->userid) exit;
}
function getconstants(){
$org = $this->Organisaties_model->get_record_by_id($this->globorgid);
$targetjaar = $this->Toewijzingen_model->getNextJaar($this->globorgid);
$kalenderjaren = $this->Kalenderjaren_model->getkalenderjarenMetMax($targetjaar);
if ($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) > 0 ) {$writer = true;}
else {$writer = false;} ;
echo json_encode(array('writer' =>$writer,
'kalenderjaren' =>$kalenderjaren,
'targetjaar' =>$targetjaar));
}
function getUitgavetypes(){
$uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
echo json_encode($uitgavetypes);
}
function getallsoorten(){
$jaarnr = $this->clean_input('jaarnr');
$soorten = $this->Finsoorten_model->get_all_soorten( $jaarnr, $this->globorgid);
if ($soorten){
foreach($soorten as $soort){
$soort->subsoorten = $this->Finsubsoorten_model->get_all_subsoorten($soort->id);
}
}
echo json_encode($soorten);
}
function getBestemmingen(){
if($this->Autorisaties_model->check_autorisatie($this->userrole, READER) <=0) {
$jaartoewijzing =array();
$jaarclosed = TRUE;
}
else {
$orgid = $this->globorgid;
$jaarnr = $this->clean_input('jaarnr');
$jaarclosed = FALSE;
$jaartoewijzing = $this->Toewijzingen_model->gettoewijzingperjaar($orgid, $jaarnr);
if ($jaartoewijzing){
$jaartoewijzing->basis=number_format($jaartoewijzing->basis/100,2,',','.');
$jaartoewijzing->extra=number_format($jaartoewijzing->extra/100,2,',','.');
$jaartoewijzing->som=number_format($jaartoewijzing->som/100,2,',','.');
$jaartoewijzing->overig=number_format($jaartoewijzing->overig/100,2,',','.');
if ($jaartoewijzing->jaarclosed == "F") {$jaarclosed = FALSE;}
else { $jaarclosed = TRUE;};
}
$basisbestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"BASIS");
$extrabestemmingen = $this->Finbestemmingen_model->get_bestemmingen($orgid,$jaarnr,"EXTRA");
$opmerking = $this->Bestedingopmerkingen_model->getopmerking($orgid, $jaarnr);
};
echo json_encode(array('jaartoewijzing' => $jaartoewijzing,
'basisbestemmingen' => $basisbestemmingen,
'extrabestemmingen' => $extrabestemmingen,
'opmerking' => $opmerking,
'jaarclosed' => $jaarclosed));
}
function updatebedrag(){
// TODO check autorisatie
$bestemmingID = $this->clean_input("id");
$targetjaar = $this->Toewijzingen_model->getNextJaar($this->globorgid);
$bestemmingjaar = $this->Finbestemmingen_model->get(['id'=>$bestemmingID], 'kalenderjaar', true);
if ($targetjaar == $bestemmingjaar){
$this->Finbestemmingen_model->update_record(['bedrag'=>$this->clean_input('bedrag')], $bestemmingID);
}
$record = $this->Finbestemmingen_model->get_record_by_id($bestemmingID);
json_encode(['record'=>$record]);
}
function updatebudget(){
// TODO check autorisatie
$bestemmingID = $this->clean_input("id");
$this->Finbestemmingen_model->update_record(['budget'=>$this->clean_input('budget')], $bestemmingID);
}
function saveopmerking(){
// TODO check autorisatie
$orgid = $this->globorgid;
$jaarnr = $this->clean_input("jaarnr");
$opmerking = $this->clean_input("opmerking");
$where = array("organisatie_id"=>$orgid, "kalenderjaarnr"=>$jaarnr);
$opmerkingrecord = $this->Bestedingopmerkingen_model->get_records_where($where,true);
if (!$opmerkingrecord){
$this->Bestedingopmerkingen_model->insert_record(array("organisatie_id" =>$orgid, "kalenderjaarnr"=>$jaarnr, 'opmerking'=>$opmerking));
}
else {
$this->Bestedingopmerkingen_model->update_record(array('opmerking'=>$opmerking),$opmerkingrecord->id);
}
}
}