From eee1c2091c90653b0020267eecb3bb9db1587fc8 Mon Sep 17 00:00:00 2001 From: Monique Hansma Date: Sat, 14 Feb 2026 12:37:47 +0100 Subject: [PATCH] mogelijkheid verbergen deelbudgetten per jaartal te bepalen in in MonFin in bestemmingen geen deelbudgetten als het is uitgezet en dan uitgaven niet in rode kleur foutmeldingen ivm order by en group by kolommen die niet in select stonden tooltips bij archieveren, activeren en verwijderen onddersteuningsvormen in mondiv --- application/controllers/monpas/Groepen.php | 7 +- .../controllers/monpas/Monfinbeheer.php | 30 +++++ application/core/MY_Controller.php | 4 +- .../models/monpas/Filledversions_model.php | 10 +- application/models/monpas/Ijkpunten_model.php | 2 +- application/models/monpas/Scores_model.php | 6 +- .../models/monpas/Toewijzingen_model.php | 5 +- .../views/monpas/pages/mondiv/groepen.php | 19 ++-- .../views/monpas/pages/monfin2/beheer.php | 52 ++++++--- .../monpas/pages/monfin2/bestemmingen.php | 106 +++++++++++++----- .../js/monpas/models/mondiv/groepenmodel.js | 2 - .../js/monpas/models/monfin2/bestemmingen.js | 15 +-- .../js/monpas/models/monfin2/monfinbeheer2.js | 30 ++++- 13 files changed, 216 insertions(+), 72 deletions(-) diff --git a/application/controllers/monpas/Groepen.php b/application/controllers/monpas/Groepen.php index 032df36..6c2c3fe 100644 --- a/application/controllers/monpas/Groepen.php +++ b/application/controllers/monpas/Groepen.php @@ -40,7 +40,12 @@ class Groepen extends MY_Controller{ if ($groepinfo->ondersteuningsvormen){ foreach($groepinfo->ondersteuningsvormen as $ondersteuningsvorm){ - $ondersteuningsvorm->aantal =0; + $ondersteuningsvorm->aantal = 0; + $ondersteuningsvorm->archief = 'F'; + // Voor nieuwe groep (id = null) moeten we kijken of de ondersteuningsvorm bij andere groepen gebruikt wordt + // We gebruiken 0 omdat de query groep_id <> {$groepid} gebruikt, en een nieuwe groep heeft geen id + $gebruikt = $this->Aantalxondersteuningsvorm_model->aantalGebruikt($orgid, 0, $ondersteuningsvorm->id); + $ondersteuningsvorm->gebruikt = $gebruikt > 0 ? 'T' : 'F'; } } echo json_encode($groepinfo); diff --git a/application/controllers/monpas/Monfinbeheer.php b/application/controllers/monpas/Monfinbeheer.php index c31be7a..170f5a8 100644 --- a/application/controllers/monpas/Monfinbeheer.php +++ b/application/controllers/monpas/Monfinbeheer.php @@ -25,6 +25,36 @@ class Monfinbeheer extends MY_Controller{ if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) <=0) {$bedragen = array('');}; echo json_encode($bedragen); } + + function savedeelbudget(){ + if (!$this->userid) die; + if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) { + $id = $this->clean_input('id'); + $orgID = $this->clean_input('orgid'); + $jaar = $this->clean_input('jaarnr'); + $deelbudgetten = $this->clean_input('deelbudgetten'); + if ($id == null || $id <= 0){ + $data = array( + 'orgid' =>$orgID, + 'kalenderjaarnr'=> $jaar, + 'deelbudgetten' => $deelbudgetten + ); + $newid = $this->Toewijzingen_model->insert_record($data); + } + else{ + $data = array("deelbudgetten" => $deelbudgetten); + $this->Toewijzingen_model->update_record($data, $id); + $newid = $id; + } + + + + } + else {$newid = false;}; // geen schrijfrechten + echo json_encode(intval($newid)); + + } + function legvast(){ if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) { $id = $this->input->post('id'); diff --git a/application/core/MY_Controller.php b/application/core/MY_Controller.php index 05fb10c..46a5333 100644 --- a/application/core/MY_Controller.php +++ b/application/core/MY_Controller.php @@ -102,7 +102,9 @@ class MY_Controller extends CI_Controller{ // public $version = '1.21.01M'; //verbeteringen compact sop // public $version = '1.21.02M '; //monfin, geen rode cijfers // public $version = '1.21.03M '; //mondiv ondersteuningsvorm archiveren per groep - public $version = '1.21.04M '; //mondiv ondersteuningsvorm archiveren per groep foutem hersteld +// public $version = '1.21.04M '; //mondiv ondersteuningsvorm archiveren per groep foutem hersteld + public $version = '1.21.05M '; //mondiv hovertekst, monfin budgetten verbergen + diff --git a/application/models/monpas/Filledversions_model.php b/application/models/monpas/Filledversions_model.php index 1771e36..dc9923c 100644 --- a/application/models/monpas/Filledversions_model.php +++ b/application/models/monpas/Filledversions_model.php @@ -64,7 +64,7 @@ class Filledversions_model extends MY_Model{ function getfilledversionsperorg($orgid, $modulenr){ // om de ingevulde lijsten per school op te halen - $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, V.naam, + $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, OV.periodenummer, OV.actief, versie_id, V.naam, OV.vorm, OV.scoretype, OV.score_omschrijving, DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm, @@ -100,7 +100,7 @@ class Filledversions_model extends MY_Model{ function gettevergelijkenschoolversies($orgids, $modulenr){ // om de ingevulde lijsten per school op te halen - $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving + $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving, OV.periodenummer FROM tb_filledversions FV JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_versies V ON V.id =OV.versie_id @@ -113,7 +113,7 @@ class Filledversions_model extends MY_Model{ function gettevergelijkenschoolversies1school($orgid, $modulenr){ // om de ingevulde lijsten per school op te halen - $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving + $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving, OV.periodenummer FROM tb_filledversions FV JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_versies V ON V.id =OV.versie_id @@ -130,6 +130,7 @@ class Filledversions_model extends MY_Model{ function getversiesperalleorgs($idlijst, $module){ $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, vorm, scoretype, + OV.geldigtm AS geldig, DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm, DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm, @@ -165,6 +166,7 @@ class Filledversions_model extends MY_Model{ $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, vorm, scoretype, + OV.geldigtm AS geldig, DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm, DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm, @@ -204,7 +206,7 @@ class Filledversions_model extends MY_Model{ function checkperiode($fvid, $van, $tm){ - $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id + $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, FROM tb_filledversions FV JOIN tb_orgversies OV ON OV.id = FV.orgversie_id WHERE FV.id ={$fvid} diff --git a/application/models/monpas/Ijkpunten_model.php b/application/models/monpas/Ijkpunten_model.php index 609f14c..2dfe1a3 100644 --- a/application/models/monpas/Ijkpunten_model.php +++ b/application/models/monpas/Ijkpunten_model.php @@ -26,7 +26,7 @@ class Ijkpunten_model extends MY_Model{ JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id JOIN tb_indicatoren I ON Y.id = I.ijkpunt_id WHERE OV.id ={$orgversieid} - GROUP BY Y.nummer + GROUP BY Y.id ORDER BY Y.nummer "; return $this->get_query_result(); } diff --git a/application/models/monpas/Scores_model.php b/application/models/monpas/Scores_model.php index 535810b..23fb2f1 100644 --- a/application/models/monpas/Scores_model.php +++ b/application/models/monpas/Scores_model.php @@ -692,12 +692,12 @@ class Scores_model extends MY_Model{ function getgemscores($orgversieid, $orgids){ $gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids); - if ($gevuldeversies) { + if ($gevuldeversies && $gevuldeversies !== '') { $this->sql = " SELECT Q.omschrijving, Q.toelichting, Q.ijkpunt_id, Q.disabled, Q.scoretype, Q.sumscores/Q.sumgewicht AS gem, Q.nummer, 'F' AS disablenvt FROM ( SELECT Y.omschrijving, Y.toelichting,Y.id as ijkpunt_id, - Y.nummer, Y.disabled, SC.scoretype, + Y.nummer, Y.disabled, MAX(SC.scoretype) AS scoretype, SUM(CASE WHEN Y.disabled = 'T' THEN 0 @@ -770,7 +770,7 @@ class Scores_model extends MY_Model{ function getgemscorestype4($orgversieid, $orgids){ $gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids); - if ($gevuldeversies) { + if ($gevuldeversies && $gevuldeversies !== '') { $this->sql = " SELECT Q.omschrijving, Q.toelichting, Q.ijkpunt_id, diff --git a/application/models/monpas/Toewijzingen_model.php b/application/models/monpas/Toewijzingen_model.php index ce13641..f797b8b 100644 --- a/application/models/monpas/Toewijzingen_model.php +++ b/application/models/monpas/Toewijzingen_model.php @@ -14,7 +14,8 @@ class Toewijzingen_model extends MY_Model{ function gettoewijzingen($orgid){ $this->sql = "SELECT T.id, basis, extra, som, overig, vastgelegd,basisextra, basisextravast, - K.naam, K.jaarnr, IF(T.id >0, T.jaarclosed,'F') as jaarclosed + K.naam, K.jaarnr, IF(T.id >0, T.jaarclosed,'F') as jaarclosed, + COALESCE(T.deelbudgetten, 'T') as deelbudgetten FROM tb_kalenderjaren K LEFT JOIN (SELECT * FROM tb_toewijzingen WHERE orgid = {$orgid}) T ON T.kalenderjaarnr = K.jaarnr @@ -22,7 +23,7 @@ class Toewijzingen_model extends MY_Model{ return $this->get_query_result(); } function gettoewijzingperjaar($orgid, $jaarnr){ - $this->sql = " SELECT id, basis, extra, som, overig, basisextra, jaarclosed + $this->sql = " SELECT id, basis, extra, som, overig, basisextra, jaarclosed, deelbudgetten FROM tb_toewijzingen WHERE orgid = {$orgid} AND kalenderjaarnr = {$jaarnr}"; diff --git a/application/views/monpas/pages/mondiv/groepen.php b/application/views/monpas/pages/mondiv/groepen.php index 2941960..a4a6c94 100644 --- a/application/views/monpas/pages/mondiv/groepen.php +++ b/application/views/monpas/pages/mondiv/groepen.php @@ -27,6 +27,7 @@ @@ -134,10 +135,12 @@ + title="archief" + data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()"> - @@ -209,8 +212,8 @@ - - + + - + @@ -265,8 +268,8 @@ - - + + - + diff --git a/application/views/monpas/pages/monfin2/beheer.php b/application/views/monpas/pages/monfin2/beheer.php index 490579c..a6e0300 100644 --- a/application/views/monpas/pages/monfin2/beheer.php +++ b/application/views/monpas/pages/monfin2/beheer.php @@ -52,46 +52,66 @@

: Budgetten

- +
- - - - + + + + + - - - + - - + - - - - - + + + + + +
KalenderjaarBasis ondersteuningExtra ondersteuningKalenderjaarBasis ondersteuningExtra ondersteuningDeelbudgetten
+ + + met deelbudgetten + + + + zonder deelbudgetten + +
geformatteerd +
geformatteerd - + + + + + + +
diff --git a/application/views/monpas/pages/monfin2/bestemmingen.php b/application/views/monpas/pages/monfin2/bestemmingen.php index 8f7db48..dd0bd57 100644 --- a/application/views/monpas/pages/monfin2/bestemmingen.php +++ b/application/views/monpas/pages/monfin2/bestemmingen.php @@ -21,17 +21,21 @@ Basisondersteuning
- +
- - - - - - - - + + + + + + + + + + + + + - + + @@ -82,11 +89,16 @@ - + - + + @@ -120,37 +132,49 @@ + - + + + @@ -171,12 +195,14 @@
+ Gebudgeteerd per kostenpost
+ Totaalbudget @@ -197,7 +223,9 @@ + + @@ -209,6 +237,7 @@ + + + + @@ -245,9 +277,15 @@ - + + + @@ -279,27 +317,41 @@ + - + + +
@@ -41,6 +45,7 @@ Percentage + data-bind="style: {'borderTop' : code != 'TOTAAL' ? '2px solid #ffffff' : 'none', } " >
budget
+ + + + uitgaven - + + + + + + style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'} ">
- +
Restant Percentage
budget
+ + + + + uitgaven - + + style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'}" > + + + +

+ Gebudgeteerd per kostenpost @@ -333,6 +386,7 @@
+ Totaalbudget diff --git a/public/js/monpas/models/mondiv/groepenmodel.js b/public/js/monpas/models/mondiv/groepenmodel.js index 38945c2..70cc195 100644 --- a/public/js/monpas/models/mondiv/groepenmodel.js +++ b/public/js/monpas/models/mondiv/groepenmodel.js @@ -585,8 +585,6 @@ $(function(){ if(parseInt(dit.aantal(), 10) > 0)waarschuwing = waarschuwing + "
De leerlingen die toegewezen zijn aan deze ondersteuningsvorm worden ingedeeld in de basisondersteuning."; - console.log(dit, 'dit') - console.log(waarschuwing, 'waarschuwing') apprise(waarschuwing, {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){ if (ans){ $.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){ diff --git a/public/js/monpas/models/monfin2/bestemmingen.js b/public/js/monpas/models/monfin2/bestemmingen.js index a327efc..ff83b36 100644 --- a/public/js/monpas/models/monfin2/bestemmingen.js +++ b/public/js/monpas/models/monfin2/bestemmingen.js @@ -106,11 +106,11 @@ ls.initBestemmingenModel = function(){ kalenderjaren : ko.observableArray([]), selectedKalenderjaar : ko.observable(), jaartoewijzing : ko.observable(), - erIsBudget : ko.observable(false), + erIsBudget : ko.observable(false), uitgavetypes : ko.observableArray(), basissoorten : ko.observableArray(), extrasoorten : ko.observableArray(), - + deelbudgetten : ko.observable(true), opmerking : ko.observable(''), jaarclosed : ko.observable(true), bezig : ko.observable(false), @@ -174,13 +174,16 @@ ls.initBestemmingenModel = function(){ var sd ={jaarnr:self.selectedKalenderjaar().jaarnr} $.post("index.php/monfin2/bestemmingen/getBestemmingen ", sd, function(data) { - console.log(data, 'data') if (data.jaartoewijzing) { self.jaartoewijzing(data.jaartoewijzing); + self.deelbudgetten(self.jaartoewijzing().deelbudgetten === 'T'); } + else self.deelbudgetten self.jaarclosed(data.jaarclosed); + + self.fUpdateSubbedragen(function (){self.fGetUpdatedBestemmingen()}, data); },'json') }, @@ -452,9 +455,8 @@ ls.initBestemmingenModel = function(){ 'bedrag': invoer } - console.log(sd, 'bedrag') + $.post("index.php/monfin2/bestemmingen/updatebedrag", sd, function(result){ - console.log(result, '1e keer') if(result) { var sd2 = { 'id': subtotID, @@ -463,7 +465,7 @@ ls.initBestemmingenModel = function(){ } $.post("index.php/monfin2/bestemmingen/updatebedrag", sd2, function (ok) { - console.log(ok, '2e keer') + }); } @@ -535,7 +537,6 @@ ls.initBestemmingenModel = function(){ stuurMelding = false; totaalgebudget = Number(totaalgebudget) + Number(s.uitgavetypes()[0].budget()) - console.log(subbudget , 'subbudget bij wijzigen scholing') } break; diff --git a/public/js/monpas/models/monfin2/monfinbeheer2.js b/public/js/monpas/models/monfin2/monfinbeheer2.js index cc54bee..b0be314 100644 --- a/public/js/monpas/models/monfin2/monfinbeheer2.js +++ b/public/js/monpas/models/monfin2/monfinbeheer2.js @@ -40,11 +40,16 @@ function fAddBedrag(p){ this.extra = ko.observable(p.extra); if (this.extra() >=0) this.extra(p.extra / 100) else this.extra(0); + this.deelbudgetten = ko.observable(p.deelbudgetten === "T"); this.vastgelegd = ko.observable(p.vastgelegd); this.jaarclosed = ko.observable(true); - if (p.jaarclosed == "F"){this.jaarclosed(false); } + + + if (p.jaarclosed == "F"){ + this.jaarclosed(false); + } this.screenbasis = ko.computed(function(){ var ssom = String(this.basis()); @@ -144,6 +149,29 @@ ls.initMonfinBeheer2Model = function(){ } }); }, + + fToggleDeelbudget: function(){ + let vm = ls.MonfinBeheer2Model; + let dit = this; + + dit.deelbudgetten(! dit.deelbudgetten()); + let sd = { + id : dit.id, + orgid : vm.selectedOrg().id, + jaarnr : dit.jaarnr, + deelbudgetten: dit.deelbudgetten() ? "T" : "F", + + } + $.post("index.php/monpas/monfinbeheer/savedeelbudget",sd,function(newid){ + if (newid) dit.id = newid; + + }); + + + + + }, + fMaakSubmitData :function(dit){ var self = ls.MonfinBeheer2Model; var ssom;