125 lines
4.6 KiB
PHP
125 lines
4.6 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->getkalenderjaren();
|
|
|
|
|
|
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");
|
|
$targetjaar = $this->Toewijzingen_model->getNextJaar($this->globorgid);
|
|
$bestemmingjaar = $this->Finbestemmingen_model->get(['id'=>$bestemmingID], 'kalenderjaar', true);
|
|
// if ($targetjaar >= $bestemmingjaar) {
|
|
$this->Finbestemmingen_model->update_record(['budget' => $this->clean_input('budget')], $bestemmingID);
|
|
echo $this->db->last_query();
|
|
// }
|
|
}
|
|
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|