Author SHA1 Message Date
Monique eee1c2091c 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
2026-02-14 12:37:47 +01:00
Monique 48f3a9a7ff sommen parseInt, groepen filteren op schooljaar 2026-02-05 18:52:58 +01:00
Monique e265e257b8 nieuwe onderst. vorm ook opslaan als aantal 0 is 2026-02-03 18:40:55 +01:00
Monique c35552cc66 optie om ondersteuningsvorm per groep te archiveren
+ dearchiveren
2026-02-03 14:33:32 +01:00
Monique 6e6d1af59b Merge branch 'mon-fin-rodekleurverw' 2025-03-11 13:06:27 +01:00
Monique c526c48446 overzicht mon fin 2025-03-11 13:04:54 +01:00
Monique c8fb85e2d1 verise 2025-03-10 16:22:16 +01:00
18 changed files with 749 additions and 218 deletions
@@ -148,7 +148,7 @@ class Monfin2overzicht extends MY_Controller{
$personeel = empty($subsoort->uitgavetypes[1]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[1]->bedrag); $personeel = empty($subsoort->uitgavetypes[1]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[1]->bedrag);
$materieel = empty($subsoort->uitgavetypes[2]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[2]->bedrag); $materieel = empty($subsoort->uitgavetypes[2]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[2]->bedrag);
$scholing = empty($subsoort->uitgavetypes[3]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[3]->bedrag); $scholing = empty($subsoort->uitgavetypes[3]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[3]->bedrag);
$totaal = empty($subsoort->uitgavetypes[0]->bedrag) || floatval($subsoort->uitgavetypes[0]->bedrag) == 0 ? $personeel + $materieel + $scholing : floatval($subsoort->uitgavetypes[0]->bedrag); $totaal = $personeel + $materieel + $scholing;
$subsoort->uitgavetypes[0]->bedragform = $totaal == 0 ? '': number_format($totaal, 0, ',', '.'); $subsoort->uitgavetypes[0]->bedragform = $totaal == 0 ? '': number_format($totaal, 0, ',', '.');
$subsoort->uitgavetypes[0]->bedrag = $totaal == 0 ? '': number_format($totaal, 2, '.', ''); $subsoort->uitgavetypes[0]->bedrag = $totaal == 0 ? '': number_format($totaal, 2, '.', '');
$subsoort->uitgavetypes[1]->bedragform = $personeel == 0 ? '': number_format($personeel, 0, ',', '.'); $subsoort->uitgavetypes[1]->bedragform = $personeel == 0 ? '': number_format($personeel, 0, ',', '.');
+148 -31
View File
@@ -40,7 +40,12 @@ class Groepen extends MY_Controller{
if ($groepinfo->ondersteuningsvormen){ if ($groepinfo->ondersteuningsvormen){
foreach($groepinfo->ondersteuningsvormen as $ondersteuningsvorm){ 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); echo json_encode($groepinfo);
@@ -63,10 +68,19 @@ class Groepen extends MY_Controller{
$groep->ondersteuningsvormen = $this->Ondersteuningsvormen_model->getvormen($orgid, $minnivo, $maxnivo); $groep->ondersteuningsvormen = $this->Ondersteuningsvormen_model->getvormen($orgid, $minnivo, $maxnivo);
if ($groep->ondersteuningsvormen){ if ($groep->ondersteuningsvormen){
foreach($groep->ondersteuningsvormen as $ondersteuningsvorm){ foreach($groep->ondersteuningsvormen as $ondersteuningsvorm){
// hier get aantal $aantal = 0;
$ax = $this->Aantalxondersteuningsvorm_model->getaantal($groepid, $ondersteuningsvorm->id); $archief = 'F';
if ($ax){ $ondersteuningsvorm->aantal = $ax->aantal; } $details = $this->Aantalxondersteuningsvorm_model->getdetails($groepid, $ondersteuningsvorm->id);
else{ $ondersteuningsvorm->aantal =0; }; if($details) {
if ($details->aantal) $aantal = $details->aantal;
if ($details->archief) $archief = $details->archief;
}
$ondersteuningsvorm->aantal = $aantal;
$ondersteuningsvorm->archief = $archief;
$gebruikt = $this->Aantalxondersteuningsvorm_model->aantalGebruikt($orgid, $groepid, $ondersteuningsvorm->id);
$ondersteuningsvorm->gebruikt = $gebruikt > 0 ? 'T' : 'F';
} }
} }
echo json_encode($groep); echo json_encode($groep);
@@ -126,53 +140,122 @@ class Groepen extends MY_Controller{
echo json_encode($groep); echo json_encode($groep);
} }
function insertorupdateOS(){ function insertorupdateOS(){
//TODO clean input //TODO clean input
if(!$this->userid) die; if(!$this->userid) die;
$osid = $this->clean_input('id');
$orgid = $this->clean_input("orgid"); $osid = $this->clean_input('id');
$aantal = $this->clean_input('aantal'); $orgid = $this->clean_input("orgid");
if (($osid == 0 || $osid == null) &&($aantal > 0)) { $aantal = $this->clean_input('aantal');
$data=array("organisatie_id" => $orgid, $archief = $this->clean_input('archief');
"naam" => $this->clean_input("naam"),
"nivo" => $this->clean_input('nivo') if ($archief !== 'T') $archief = 'F';
// && ($aantal > 0)
if (($osid == 0 || $osid == null) ) {
$data = array(
"organisatie_id" => $orgid,
"naam" => $this->clean_input("naam"),
"nivo" => $this->clean_input('nivo')
); );
$osid = $this->Ondersteuningsvormen_model->insert_record($data); $osid = $this->Ondersteuningsvormen_model->insert_record($data);
} }
else { else {
if ($orgid > 0){ if ($orgid > 0){
$data=array("naam" => $this->clean_input('naam')); $data = array("naam" => $this->clean_input('naam'));
$this->Ondersteuningsvormen_model->update_record($data, $osid); $this->Ondersteuningsvormen_model->update_record($data, $osid);
} }
// update name // update name
} }
$data2= array("organisatie_id" => $orgid,
"groep_id" => $this->clean_input('groepid'), $data2 = array(
"ondersteuningsvorm_id" => $osid); "organisatie_id" => $orgid,
$aos =$this->Aantalxondersteuningsvorm_model->get_records_where($data2, TRUE); "groep_id" => $this->clean_input('groepid'),
"ondersteuningsvorm_id" => $osid
);
$aos = $this->Aantalxondersteuningsvorm_model->get_records_where($data2, TRUE);
if($aos){ if($aos){
if ($this->clean_input('aantal') == 0) { // if ($aantal == 0 && $archief !== 'T') {
//delete de regel // // delete alleen als het niet gearchiveerd is
$this->Aantalxondersteuningsvorm_model->delete_record($aos->id); // $this->Aantalxondersteuningsvorm_model->delete_record($aos->id);
} // }
else {
// update de regel
$data=array( "aantal" => $this->clean_input('aantal') ); // update de regel (ook archief opslaan)
$data = array(
"aantal" => $aantal,
"archief" => $archief
);
$this->Aantalxondersteuningsvorm_model->update_record($data, $aos->id); $this->Aantalxondersteuningsvorm_model->update_record($data, $aos->id);
}
} }
else{ else{
if ($this->clean_input('aantal') > 0){ // record bestaat nog niet: maak hem aan als er aantal > 0 is OF als het archief is
$data = array( "organisatie_id" => $orgid, // if ($aantal > 0 || $archief === 'T'){
"groep_id" => $this->clean_input('groepid'), $data = array(
"ondersteuningsvorm_id" => $osid, "organisatie_id" => $orgid,
"aantal" => $this->clean_input('aantal')); "groep_id" => $this->clean_input('groepid'),
"ondersteuningsvorm_id" => $osid,
"aantal" => $aantal,
"archief" => $archief
);
$aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data); $aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
} // }
} }
echo json_encode($osid); echo json_encode($osid);
} }
// function insertorupdateOS(){
// //TODO clean input
// if(!$this->userid) die;
// $osid = $this->clean_input('id');
// $orgid = $this->clean_input("orgid");
// $aantal = $this->clean_input('aantal');
// if (($osid == 0 || $osid == null) &&($aantal > 0)) {
// $data=array("organisatie_id" => $orgid,
// "naam" => $this->clean_input("naam"),
// "nivo" => $this->clean_input('nivo')
// );
// $osid = $this->Ondersteuningsvormen_model->insert_record($data);
// }
// else {
// if ($orgid > 0){
// $data=array("naam" => $this->clean_input('naam'));
// $this->Ondersteuningsvormen_model->update_record($data, $osid);
// }
// // update name
// }
// $data2= array("organisatie_id" => $orgid,
// "groep_id" => $this->clean_input('groepid'),
// "ondersteuningsvorm_id" => $osid);
// $aos =$this->Aantalxondersteuningsvorm_model->get_records_where($data2, TRUE);
// if($aos){
// if ($this->clean_input('aantal') == 0) {
// //delete de regel
// $this->Aantalxondersteuningsvorm_model->delete_record($aos->id);
// }
// else {
// // update de regel
// $data=array( "aantal" => $this->clean_input('aantal') );
// $this->Aantalxondersteuningsvorm_model->update_record($data, $aos->id);
// }
// }
// else{
// if ($this->clean_input('aantal') > 0){
// $data = array( "organisatie_id" => $orgid,
// "groep_id" => $this->clean_input('groepid'),
// "ondersteuningsvorm_id" => $osid,
// "aantal" => $this->clean_input('aantal'));
// $aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
// }
// }
// echo json_encode($osid);
// }
function getgroepen(){ function getgroepen(){
if (!$this->userid) die; if (!$this->userid) die;
$orgid = $this->clean_input('schoolID'); $orgid = $this->clean_input('schoolID');
@@ -240,6 +323,40 @@ class Groepen extends MY_Controller{
$this->Aantalxondersteuningsvorm_model->delete_record_where(array("ondersteuningsvorm_id" => $osid)); $this->Aantalxondersteuningsvorm_model->delete_record_where(array("ondersteuningsvorm_id" => $osid));
$this->Ondersteuningsvormen_model->delete_record($osid); $this->Ondersteuningsvormen_model->delete_record($osid);
} }
function archiveerOS(){
if (!$this->userid) die;
if (!$this->writer) return;
$vormID = $this->clean_input('vormID');
$groepID = $this->clean_input('groepID');
$orgID = $this->clean_input('orgID');
$axovID =$this->Aantalxondersteuningsvorm_model->get_fieldvalue(["ondersteuningsvorm_id"=> $vormID, "groep_id" => $groepID], "id");
if ($axovID) $this->Aantalxondersteuningsvorm_model->update_record(["archief"=> 'T', "aantal"=> 0], $axovID);
else $data = [ 'organisatie_id' => $orgID,
'groep_id' => $groepID,
'ondersteuningsvorm_id' => $vormID,
'archief' => 'T',
'aantal' => 0];
$newid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
function activeerOS(){
if (!$this->userid) die;
if (!$this->writer) return;
$vormID = $this->clean_input('vormID');
$groepID = $this->clean_input('groepID');
$orgID = $this->clean_input('orgID');
$axovID =$this->Aantalxondersteuningsvorm_model->get_fieldvalue(["ondersteuningsvorm_id"=> $vormID, "groep_id" => $groepID], "id");
if ($axovID) $this->Aantalxondersteuningsvorm_model->update_record(["archief"=> 'F'], $axovID);
else $data = [ 'organisatie_id' => $orgID,
'groep_id' => $groepID,
'ondersteuningsvorm_id' => $vormID,
'archief' => 'T',
'aantal' => 0];
$newid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
function getwriter(){ function getwriter(){
$writer = false; $writer = false;
if ($this->Autorisaties_model->check_autorisatie($this->userrole, 259) > 0){$writer = true;}; if ($this->Autorisaties_model->check_autorisatie($this->userrole, 259) > 0){$writer = true;};
@@ -25,6 +25,36 @@ class Monfinbeheer extends MY_Controller{
if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) <=0) {$bedragen = array('');}; if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) <=0) {$bedragen = array('');};
echo json_encode($bedragen); 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(){ function legvast(){
if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) { if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) {
$id = $this->input->post('id'); $id = $this->input->post('id');
+7 -1
View File
@@ -99,7 +99,13 @@ class MY_Controller extends CI_Controller{
// public $version = '1.20.27';//dingen // public $version = '1.20.27';//dingen
// public $version = '1.21.00';//2factor // public $version = '1.21.00';//2factor
// public $version = '1.21.00L'; //2factor -twee // public $version = '1.21.00L'; //2factor -twee
public $version = '1.21.01M'; //verbeteringen compact sop // 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.05M '; //mondiv hovertekst, monfin budgetten verbergen
@@ -19,14 +19,32 @@ class Aantalxondersteuningsvorm_model extends MY_Model{
AND ondersteuningsvorm_id = {$ondersteuningsvorm}"; AND ondersteuningsvorm_id = {$ondersteuningsvorm}";
return $this->get_query_row(); return $this->get_query_row();
} }
function getaantallen($vormid, $orgid,$schooljaarnr, $groepids){
function getdetails($groepid, $ondersteuningsvorm){
$this->sql = " SELECT *
FROM tb_aantalxondersteuningsvorm
WHERE groep_id = {$groepid}
AND ondersteuningsvorm_id = {$ondersteuningsvorm}";
return $this->get_query_row();
}
function aantalGebruikt($orgid, $groepid, $ondersteuningsvorm){
$this->sql = " SELECT SUM(aantal) AS aantal
FROM tb_aantalxondersteuningsvorm
WHERE organisatie_id = {$orgid}
AND ondersteuningsvorm_id = {$ondersteuningsvorm}
AND groep_id <> {$groepid}";
return $this->get_query_row('aantal');
}
function getaantallen($vormid, $orgid, $schooljaarnr, $groepsids){
$this->sql ="SELECT G.id, G.naam, IF(AOS.id,aantal,0) AS aantal $this->sql ="SELECT G.id, G.naam, IF(AOS.id,aantal,0) AS aantal
FROM tb_groepen G FROM tb_groepen G
LEFT JOIN tb_aantalxondersteuningsvorm AOS ON ( G.id = AOS.groep_id LEFT JOIN tb_aantalxondersteuningsvorm AOS ON ( G.id = AOS.groep_id
AND AOS.ondersteuningsvorm_id = {$vormid}) AND AOS.ondersteuningsvorm_id = {$vormid})
WHERE G.organisatie_id = {$orgid} WHERE G.organisatie_id = {$orgid}
AND G.schooljaarnr= {$schooljaarnr} AND G.schooljaarnr = {$schooljaarnr}
AND G.id IN ({$groepids}) AND G.id IN ({$groepsids})
ORDER BY G.niveau, G.naam, G.id"; ORDER BY G.niveau, G.naam, G.id";
return $this->get_query_result(); return $this->get_query_result();
} }
@@ -64,7 +64,7 @@ class Filledversions_model extends MY_Model{
function getfilledversionsperorg($orgid, $modulenr){ function getfilledversionsperorg($orgid, $modulenr){
// om de ingevulde lijsten per school op te halen // 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, OV.vorm, OV.scoretype, OV.score_omschrijving,
DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm, DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm,
@@ -100,7 +100,7 @@ class Filledversions_model extends MY_Model{
function gettevergelijkenschoolversies($orgids, $modulenr){ function gettevergelijkenschoolversies($orgids, $modulenr){
// om de ingevulde lijsten per school op te halen // 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 FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_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){ function gettevergelijkenschoolversies1school($orgid, $modulenr){
// om de ingevulde lijsten per school op te halen // 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 FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_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){ function getversiesperalleorgs($idlijst, $module){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype, vorm, scoretype,
OV.geldigtm AS geldig,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm, DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm, 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, $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id,
OV.organisatie_id, periodenummer, OV.actief, versie_id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype, vorm, scoretype,
OV.geldigtm AS geldig,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm, DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm, DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
@@ -204,7 +206,7 @@ class Filledversions_model extends MY_Model{
function checkperiode($fvid, $van, $tm){ 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 FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
WHERE FV.id ={$fvid} WHERE FV.id ={$fvid}
+84 -63
View File
@@ -13,23 +13,32 @@ class Groepen_model extends MY_Model{
$this->load->model($models); $this->load->model($models);
} }
function getgroep($groepid){ function getgroep($groepid){
$this->sql = "SELECT GR.id, $this->sql = "SELECT GR.id,
GR.naam, GR.naam,
GR.totaantal, GR.totaantal,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3, COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som2,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4, COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som3,
(totaantal - SUM(AX.aantal) ) AS som1 COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som4,
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX ( GR.totaantal - (
ON GR.id = AX.groep_id COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
LEFT JOIN tb_ondersteuningsvormen OV COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
ON OV.id = AX.ondersteuningsvorm_id COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0)
WHERE GR.id = {$groepid} )
GROUP BY GR.id"; ) AS som1
return $this->get_query_row(); FROM tb_groepen GR
} LEFT JOIN tb_aantalxondersteuningsvorm AX
ON GR.id = AX.groep_id
LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.id = {$groepid}
GROUP BY GR.id";
return $this->get_query_row();
}
function getgroepenlist($orgid, $schooljaarnr, $module){ function getgroepenlist($orgid, $schooljaarnr, $module){
$this->sql = "SELECT id, naam, ondersteuning $this->sql = "SELECT id, naam, ondersteuning
FROM tb_groepen FROM tb_groepen
@@ -81,55 +90,67 @@ class Groepen_model extends MY_Model{
return $this->get_query_row('aantallln'); return $this->get_query_row('aantallln');
} }
function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
GR.ondersteuning,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4,
(GR.totaantal - IF(SUM(AX.aantal) , SUM(AX.aantal),0) ) AS som1
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX
ON GR.id = AX.groep_id
LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.organisatie_id = {$orgid}
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
}
function getgekopieerdegroepen($orgid, $schooljaarnr, $module){ function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id, $this->sql = "SELECT GR.id,
GR.naam, GR.naam,
GR.niveau, GR.niveau,
GR.totaantal, GR.totaantal,
GR.ondersteuning,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3, COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som2,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4, COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som3,
(GR.totaantal - IF(SUM(AX.aantal) , SUM(AX.aantal),0) ) AS som1 COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som4,
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX ( GR.totaantal - (
ON GR.id = AX.groep_id COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
LEFT JOIN tb_ondersteuningsvormen OV COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
ON OV.id = AX.ondersteuningsvorm_id COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0)
WHERE GR.organisatie_id = {$orgid} )
AND GR.schooljaarnr = {$schooljaarnr} ) AS som1
AND GR.schooltype = 'R' FROM tb_groepen GR
AND GR.module = {$module} LEFT JOIN tb_aantalxondersteuningsvorm AX
GROUP BY GR.id ON GR.id = AX.groep_id
ORDER BY niveau, naam, GR.id "; LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.organisatie_id = {$orgid}
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result(); return $this->get_query_result();
} }
function getgekopieerdegroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som2,
COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som3,
COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som4,
( GR.totaantal - (
COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0)
)
) AS som1
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX
ON GR.id = AX.groep_id
LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.organisatie_id = {$orgid}
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
}
function getGroepenSboSo($orgid, $schooljaarnr){ function getGroepenSboSo($orgid, $schooljaarnr){
$this->sql = "SELECT GR.id, $this->sql = "SELECT GR.id,
@@ -26,7 +26,7 @@ class Ijkpunten_model extends MY_Model{
JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id
JOIN tb_indicatoren I ON Y.id = I.ijkpunt_id JOIN tb_indicatoren I ON Y.id = I.ijkpunt_id
WHERE OV.id ={$orgversieid} WHERE OV.id ={$orgversieid}
GROUP BY Y.nummer GROUP BY Y.id
ORDER BY Y.nummer "; ORDER BY Y.nummer ";
return $this->get_query_result(); return $this->get_query_result();
} }
+3 -3
View File
@@ -692,12 +692,12 @@ class Scores_model extends MY_Model{
function getgemscores($orgversieid, $orgids){ function getgemscores($orgversieid, $orgids){
$gevuldeversies = $this->fGetGevuldeVersies($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, $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 Q.sumscores/Q.sumgewicht AS gem, Q.nummer, 'F' AS disablenvt
FROM ( FROM (
SELECT Y.omschrijving, Y.toelichting,Y.id as ijkpunt_id, 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 SUM(CASE WHEN Y.disabled = 'T' THEN 0
@@ -770,7 +770,7 @@ class Scores_model extends MY_Model{
function getgemscorestype4($orgversieid, $orgids){ function getgemscorestype4($orgversieid, $orgids){
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids); $gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids);
if ($gevuldeversies) { if ($gevuldeversies && $gevuldeversies !== '') {
$this->sql = " SELECT Q.omschrijving, $this->sql = " SELECT Q.omschrijving,
Q.toelichting, Q.toelichting,
Q.ijkpunt_id, Q.ijkpunt_id,
@@ -14,7 +14,8 @@ class Toewijzingen_model extends MY_Model{
function gettoewijzingen($orgid){ function gettoewijzingen($orgid){
$this->sql = "SELECT T.id, basis, extra, som, overig, vastgelegd,basisextra, basisextravast, $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 FROM tb_kalenderjaren K
LEFT JOIN (SELECT * FROM tb_toewijzingen WHERE orgid = {$orgid}) T LEFT JOIN (SELECT * FROM tb_toewijzingen WHERE orgid = {$orgid}) T
ON T.kalenderjaarnr = K.jaarnr ON T.kalenderjaarnr = K.jaarnr
@@ -22,7 +23,7 @@ class Toewijzingen_model extends MY_Model{
return $this->get_query_result(); return $this->get_query_result();
} }
function gettoewijzingperjaar($orgid, $jaarnr){ 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 FROM tb_toewijzingen
WHERE orgid = {$orgid} WHERE orgid = {$orgid}
AND kalenderjaarnr = {$jaarnr}"; AND kalenderjaarnr = {$jaarnr}";
+120 -20
View File
@@ -27,13 +27,14 @@
<tr style="border-bottom: 1px solid #efefef"> <tr style="border-bottom: 1px solid #efefef">
<td class="vat"> <td class="vat">
<button class="delete" <button class="delete"
title="verwijder"
data-bind="click: $parent.fDeleteGroep, visible: $parent.writer()"></button></td> data-bind="click: $parent.fDeleteGroep, visible: $parent.writer()"></button></td>
<td class="vat" data-bind="text: naam"></td> <td class="vat" data-bind="text: naam"></td>
<td class="vat" style="text-align:right" data-bind="text: totaantal"></td> <td class="vat" style="text-align:right" data-bind="text: totaantal"></td>
<td class="vat" style="text-align:right" data-bind="text: som1() > 0 ? som1 : '' "></td> <td class="vat" style="text-align:right" data-bind="text: som1() > 0 ? som1() : '' "></td>
<td class="vat" style="text-align:right" data-bind="text: som2() > 0 ? som2 : '' " ></td> <td class="vat" style="text-align:right" data-bind="text: som2() > 0 ? som2() : '' " ></td>
<td class="vat" style="text-align:right" data-bind="text: som3() > 0 ? som3 : ''" ></td> <td class="vat" style="text-align:right" data-bind="text: som3() > 0 ? som3() : ''" ></td>
<td class="vat" style="text-align:right" data-bind="text: som4() > 0 ? som4 : '' " ></td> <td class="vat" style="text-align:right" data-bind="text: som4() > 0 ? som4() : '' " ></td>
<td class="vat" style="padding-left:15px"> <td class="vat" style="padding-left:15px">
<!-- ko foreach: leerkrachten--> <!-- ko foreach: leerkrachten-->
<span data-bind="text:fullname"></span><br /> <span data-bind="text:fullname"></span><br />
@@ -83,7 +84,7 @@
<td style="vertical-align:top"> <td style="vertical-align:top">
<!-- ko foreach: $parent.leerkrachten --> <!-- ko foreach: $parent.leerkrachten -->
<p style="margin:0px" data-bind="text: fullname, visible: selected()"></p> <p style="margin:0" data-bind="text: fullname, visible: selected()"></p>
<!-- /ko --> <!-- /ko -->
<div data-bind="visible: toonLK" <div data-bind="visible: toonLK"
@@ -131,8 +132,17 @@
<td style="width: 45px" class="integer" data-bind="text: totplus"></td> <td style="width: 45px" class="integer" data-bind="text: totplus"></td>
</tr> </tr>
<!-- ko foreach: ondersteuningsvormen --> <!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend2() && nivo==2" > <tr data-bind="visible: !$parent.geopend2() && nivo==2 && !archief()" >
<td ><button class="delete" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && $root.writer()"></button></td> <td >
<button class="delete"
title="verwijder"
data-bind="click: $root.fDeleteOS, visible: orgid > 0 && !gebruikt && $root.writer()">
</button>
<i class="fa fa-archive"
title="archief"
data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()">
</i>
</td>
<td ><input style="width:100%" <td ><input style="width:100%"
data-bind="textInput: naam, data-bind="textInput: naam,
enable: orgid > 0 && $root.writer(), enable: orgid > 0 && $root.writer(),
@@ -140,9 +150,9 @@
</td> </td>
<td><input class = "integer" <td><input class = "integer"
data-bind="textInput: aantal, data-bind="textInput: aantal,
attr:{'id' : 'aantal2-' + $index()}, attr:{'id' : 'aantal2-' + $index()},
event:{input: $root.fCheckinput.bind($data, 'aantal2-'+$index() )}, event:{input: $root.fCheckinput.bind($data, 'aantal2-'+$index() )},
enable: $root.writer() && !$root.bezig()" /></td> enable: $root.writer() && !$root.bezig()" /></td>
</tr> </tr>
@@ -150,9 +160,44 @@
<tr data-bind="visible: !geopend2()"> <tr data-bind="visible: !geopend2()">
<td></td> <td></td>
<td colspan=2> <button data-bind="click: $parent.fNewOndersteuning.bind($data,2), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td> <td colspan=2 style="padding-top: 2px; padding-bottom: 5px;">
<button class="btn-subtle"
data-bind="click: $parent.fNewOndersteuning.bind($data,2), visible: $root.writer()">voeg ondersteuningsvorm toe
</button>
</td>
</tr> </tr>
<tr data-bind="visible: !geopend2()">
<!-- ko if:archiefplus() -->
<tr data-bind="visible: !geopend2() && !archief2() ">
<td></td>
<td colspan=2 style="padding-top: 2px;">
<button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,2), visible: $root.writer()">toon archief
</button></td>
</tr>
<tr data-bind="visible: !geopend2() && archief2() ">
<td colspan=3 style="background-color: lightgrey;"> Gearchiveerde ondersteuningsvormen
</td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !$parent.geopend2() && $parent.archief2() && nivo==2 && orgid > 0 && archief() && $root.writer()">
<td >
<button class="activeer" title="activeer" data-bind="click: $root.fActivateOS, ">
</button>
</td>
<td colspan=2 data-bind="text: naam"></td>
</tr>
<!-- /ko -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !geopend2() && archief2() ">
<td colspan=2 ></td>
<td style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,2), visible: $root.writer()">sluit</button></td>
</tr>
<!--/ko-->
<tr data-bind="visible: !geopend2() ">
<td colspan=3> <hr/></td> <td colspan=3> <hr/></td>
</tr> </tr>
@@ -165,8 +210,11 @@
</tr> </tr>
<!-- ko foreach: ondersteuningsvormen --> <!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend3() && nivo==3" > <tr data-bind="visible: !$parent.geopend3() && nivo==3 && !archief() " >
<td></td> <td >
<button class="delete" title="verwijder" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && !gebruikt && $root.writer()"></button>
<i class="fa fa-archive" title="archief" data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()"></i>
</td>
<td ><input style="width:100%" <td ><input style="width:100%"
data-bind="textInput: naam, data-bind="textInput: naam,
enable: orgid > 0, enable: orgid > 0,
@@ -178,10 +226,35 @@
enable: $root.writer() && !$root.bezig()" /></td> enable: $root.writer() && !$root.bezig()" /></td>
</tr> </tr>
<!-- /ko --> <!-- /ko -->
<tr data-bind="visible: !geopend3()"> <tr data-bind="visible: !geopend3() " style="padding-bottom: 5px;">
<td></td> <td></td>
<td colspan=2> <button data-bind="click: $parent.fNewOndersteuning.bind($data,3), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td> <td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fNewOndersteuning.bind($data,3), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td>
</tr> </tr>
<!-- ko if:archiefextra() -->
<tr data-bind="visible: !geopend3() && !archief3()">
<td></td>
<td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,3), visible: $root.writer()">toon archief</button></td>
</tr>
<tr data-bind="visible: !geopend3() && archief3() ">
<td colspan=3 style="background-color: lightgrey;"> Gearchiveerde ondersteuningsvormen</td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !$parent.geopend3() && $parent.archief3() && nivo==3 && orgid > 0 && archief() && $root.writer()">
<td >
<button class="activeer" title="activeer" data-bind="click: $root.fActivateOS "></button>
</td>
<td colspan=2 data-bind="text: naam"></td>
</tr>
<!-- /ko -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !geopend3() && archief3()">
<td colspan=2></td>
<td style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,3), visible: $root.writer()">sluit</button></td>
</tr>
<!-- /ko -->
<tr data-bind="visible: !geopend3()"> <tr data-bind="visible: !geopend3()">
<td colspan=3> <hr/></td> <td colspan=3> <hr/></td>
</tr> </tr>
@@ -193,8 +266,11 @@
<td style="width: 45px" class= "integer" data-bind="text: totextraplus"></td> <td style="width: 45px" class= "integer" data-bind="text: totextraplus"></td>
</tr> </tr>
<!-- ko foreach: ondersteuningsvormen --> <!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend4() && nivo==4"> <tr data-bind="visible: !$parent.geopend4() && nivo==4 && !archief()">
<td></td> <td >
<button class="delete" title="verwijder" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && !gebruikt && $root.writer()"></button>
<i class="fa fa-archive" title="archief" data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()"></i>
</td>
<td ><input style="width:100%" <td ><input style="width:100%"
data-bind="textInput: naam, data-bind="textInput: naam,
enable: orgid > 0, enable: orgid > 0,
@@ -206,13 +282,37 @@
enable: $root.writer() && !$root.bezig()" /></td> enable: $root.writer() && !$root.bezig()" /></td>
</tr> </tr>
<!-- /ko --> <!-- /ko -->
<tr data-bind="visible: !geopend4()"> <tr data-bind="visible: !geopend4()" style="padding-bottom: 5px;">
<td></td> <td></td>
<td colspan=2> <button data-bind="click: $parent.fNewOndersteuning.bind($data,4), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td> <td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fNewOndersteuning.bind($data,4), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td>
</tr>
<!-- ko if: archiefextraplus() -->
<tr data-bind="visible: !geopend4() && !archief4()">
<td></td>
<td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" style="background-color: #f1f1f1; " data-bind="click: $parent.fToggleArchief.bind($data,4), visible: $root.writer()">toon archief</button></td>
</tr>
<tr data-bind="visible: !geopend4() && archief4() ">
<td colspan=3 style="background-color: lightgrey;"> Gearchiveerde ondersteuningsvormen</td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !$parent.geopend4() && $parent.archief4() && nivo==4 && orgid > 0 && archief() && $root.writer()">
<td >
<button class="activeer" title="activeer" data-bind="click: $root.fActivateOS "></button>
</td>
<td colspan=2 data-bind="text: naam"></td>
</tr>
<!-- /ko -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !geopend4() && archief4()">
<td colspan=2></td>
<td style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,4), visible: $root.writer()">sluit</button></td>
</tr> </tr>
<tr data-bind="visible: !geopend4()"> <tr data-bind="visible: !geopend4()">
<td colspan=3> <hr/></td> <td colspan=3> <hr/></td>
</tr> </tr>
<!-- /ko -->
</table> </table>
<div> <div>
<p>Notitie</p> <p>Notitie</p>
@@ -52,46 +52,66 @@
<div style="width: 100%" <div style="width: 100%"
data-bind="visible: selectedOrg(), with: selectedOrg"> data-bind="visible: selectedOrg(), with: selectedOrg">
<h4 style="margin-top:0px"><span data-bind="text: fnaam"></span> : Budgetten</h4> <h4 style="margin-top:0px"><span data-bind="text: fnaam"></span> : Budgetten</h4>
<table class="lstable" style="width:100%; font-size: 0.8em"> <table class="lstable" style="width:100%; font-size: 0.8em; vertical-align: text-top">
<thead> <thead>
<tr> <tr>
<th style="width:12%; text-align:center">Kalenderjaar</th> <th style="text-align:center">Kalenderjaar</th>
<th style="width:30%; text-align:center">Basis ondersteuning</th> <th style="text-align:center">Basis ondersteuning</th>
<th style="width:30%; text-align:center">Extra ondersteuning</th> <th style="text-align:center">Extra ondersteuning</th>
<th style="width:10%; text-align:center"></th> <th style="text-align:center"></th>
<th >Deelbudgetten</th>
</tr> </tr>
</thead> </thead>
<tbody data-bind= "foreach: $parent.bedragen"> <tbody data-bind= "foreach: $parent.bedragen">
<tr> <tr >
<td data-bind="text: kalenderjaar"></td> <td style="vertical-align: text-top; height: 23px" data-bind="text: kalenderjaar"></td>
<td><input class="decimal" <td style="height: 23px"><input class="decimal"
style="max-width: 100%;width:100%" style="max-width: 100%;width:100%"
data-bind="textInput: basis, data-bind="textInput: basis,
event:{change: $root.fUpdatebedrag.bind($data,1)}, event:{change: $root.fUpdatebedrag.bind($data,1)},
visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ), visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ),
enable:$root.magwijzig()" /></td> enable:$root.magwijzig()" /></td>
<td><input class="decimal" <td style="height: 23px"><input class="decimal"
style="max-width: 100%;width:100%" style="max-width: 100%;width:100%"
data-bind="textInput: extra, data-bind="textInput: extra,
event:{change: $root.fUpdatebedrag.bind($data,2)}, event:{change: $root.fUpdatebedrag.bind($data,2)},
visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ), visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ),
enable:$root.magwijzig()" /></td> enable:$root.magwijzig()" /></td>
<td ><button data-bind="click: $root.fLegVast, <td style="height: 23px"><button style="vertical-align: text-top; " data-bind="click: $root.fLegVast,
visible: (vastgelegd() == 0 || vastgelegd() == null) && !jaarclosed() visible: (vastgelegd() == 0 || vastgelegd() == null) && !jaarclosed()
&& $root.magwijzig()">leg vast</button> && $root.magwijzig()">leg vast</button>
</td> </td>
<td style="height: 23px">
<!-- ko if: deelbudgetten()-->
<span >met deelbudgetten</span>
<!--/ko-->
<!-- ko if: ! deelbudgetten() -->
<span >zonder deelbudgetten </span>
<!--/ko-->
</td>
</tr> </tr>
<tr style="border-bottom:1px solid #dbdbdb"> <tr style="border-bottom:1px solid #dbdbdb; ">
<td>geformatteerd</td> <td style="height: 23px">geformatteerd</td>
<td style="text-align: right" data-bind="text: screenbasis"></td> <td style="text-align: right; height: 23px" data-bind="text: screenbasis"></td>
<td style="text-align: right" data-bind="text: screenextra"></td> <td style="text-align: right; height: 23px" data-bind="text: screenextra"></td>
<td colspan =2> <td style="height: 23px">
<button style="width: 100%; margin-top: 5px; margin-bottom: 5px;" <button style="width: 100%; margin-top: 5px; margin-bottom: 5px;"
data-bind="click: $root.fJaarAfsluiten, visible: ! jaarclosed() && $root.selectedOrg().soort ==1 && $root.magwijzig()"> data-bind="click: $root.fJaarAfsluiten, visible: ! jaarclosed() && $root.selectedOrg().soort ==1 && $root.magwijzig()">
jaar afsluiten jaar afsluiten
</button> </button>
</td> </td>
<td style="height: 23px">
<!-- ko if: deelbudgetten()-->
<button style=" vertical-align: text-top; padding-top: 0; " data-bind="click: $root.fToggleDeelbudget">verberg
</button>
<!--/ko-->
<!-- ko if: ! deelbudgetten() -->
<button style=" vertical-align: text-top; padding-top: 0; " data-bind="click: $root.fToggleDeelbudget " >voeg toe
</button>
<!--/ko-->
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -21,17 +21,21 @@
Basisondersteuning Basisondersteuning
</h4> </h4>
<div data-bind="visible: basisgeopend()"> <div data-bind="visible: basisgeopend()">
<table class="lstable" style="width : 100%; font-size:0.9em; position: relative"> <table class="lstable" style="width : 100%; font-size:0.9em;border-top: none; position: relative">
<thead style="position: sticky; top: 0" > <thead style="position: sticky; top: 0" >
<tr> <tr>
<th style="width:29%"></th> <th style="width:30%"></th>
<th style="width:5%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width:11%"></th>
<th style="width:11%"></th>
<!-- ko if: deelbudgetten()-->
<th ></th>
<!--/ko-->
<th ></th>
</tr> </tr>
<tr class="blokheader" > <tr class="blokheader" >
<th colspan="2" style="background-color: #968026; border: none; " > <th colspan="2" style="background-color: #968026; border: none; " >
@@ -41,6 +45,7 @@
<span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span> <span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: deelbudgetten()-->
<th class="blokheader" <th class="blokheader"
style="text-align: right; style="text-align: right;
padding-right: 5px; padding-right: 5px;
@@ -51,6 +56,7 @@
<span >Restant <span >Restant
</span> </span>
</th> </th>
<!--/ko-->
<th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026;"> <th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026;">
<span>Percentage</span> <span>Percentage</span>
<i class="fa fa-info-circle" <i class="fa fa-info-circle"
@@ -65,14 +71,15 @@
<!-- ko foreach: $root.uitgavetypes --> <!-- ko foreach: $root.uitgavetypes -->
<th style="text-align:right; border-right: 2px solid #ffffff; background-color: #968026;padding-right: 5px;" <th style="text-align:right; border-right: 2px solid #ffffff; background-color: #968026;padding-right: 5px;"
data-bind="style: {'borderTop' : code != 'TOTAAL' ? '2px solid #ffffff' : 'none', }"> data-bind="style: {'borderTop' : code != 'TOTAAL' ? '2px solid #ffffff' : 'none', } " >
<span data-bind="text: code != 'TOTAAL' ? code : ' ' "> <span data-bind="text: code != 'TOTAAL' ? code : ' ' ">
</span> </span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: deelbudgetten()-->
<th class="blokheader2" style="border-right: 2px solid #ffffff; border-top: none; background-color: #968026;"> <th class="blokheader2" style="border-right: 2px solid #ffffff; border-top: none; background-color: #968026;">
</th> </th>
<!--/ko-->
<th class="blokheader2" style="background-color: #968026; border-top: none;"> <th class="blokheader2" style="background-color: #968026; border-top: none;">
</th> </th>
</tr> </tr>
@@ -82,11 +89,16 @@
<tbody data-bind="foreach: basissoorten"> <tbody data-bind="foreach: basissoorten">
<tr class="blokheader"> <tr class="blokheader">
<td class="blokheader" colspan="8" data-bind="text: naam" style="text-align: left; border: 2px solid #ffffff"></td> <td class="blokheader"
data-bind="text: naam,
attr: {colspan: $parent.deelbudgetten() ? 8 : 7 },
"
style="text-align: left; border: 2px solid #ffffff"></td>
</tr> </tr>
<!-- ko foreach:subsoorten --> <!-- ko foreach:subsoorten -->
<tr> <!-- ko if: $root.deelbudgetten() -->
<tr >
<td data-bind="text: naam"></td> <td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td> <td style="text-align: left; color: #008028 ">budget</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
@@ -120,37 +132,49 @@
</div> </div>
</td> </td>
</tr> </tr>
<!--/ko-->
<tr > <tr >
<td ></td> <td >
<!-- ko if: !$root.deelbudgetten() -->
<span data-bind="text: naam "></span>
<!--/ko-->
</td>
<td style="text-align: left; color:#003e80; ">uitgaven</td> <td style="text-align: left; color:#003e80; ">uitgaven</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
<!-- ko if: $root.deelbudgetten() || code != 'RESTANT'-->
<td style="text-align: right; padding-bottom: 10px;"> <td style="text-align: right; padding-bottom: 10px;">
<!-- ko if: code != 'RESTANT' && code != 'TOTAAL'--> <!-- ko if: code != 'RESTANT' && code != 'TOTAAL'-->
<input class="decimal" <input class="decimal"
style="width: 145px; max-width:98%; background-color: #e6f2ff" style="width: 145px; max-width:98%; background-color: #e6f2ff"
data-bind="textInput: bedragFormat, data-bind="textInput: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000' }, style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000' },
event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} , event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} ,
enable: ! $root.jaarclosed()" /> enable: ! $root.jaarclosed()" />
<!-- /ko --> <!-- /ko -->
<!-- ko if: code == 'RESTANT' || code == 'TOTAAL'--> <!-- ko if: code == 'RESTANT' -->
<span class="decimal"
style="width: 145px; max-width:98%; "
data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'} ">
</span>
<!-- /ko -->
<!-- ko if: code == 'TOTAAL'-->
<span class="decimal" <span class="decimal"
style="width: 145px; max-width:98%" style="width: 145px; max-width:98%"
data-bind="text: bedragFormat, data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000', style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'} ">
fontSize : code == 'TOTAAL' ? 'small' : 'normal' },
">
</span> </span>
<!-- /ko --> <!-- /ko -->
</td> </td>
<!-- /ko --> <!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top"> <td style="padding: 0; vertical-align: top">
<div style="width: 98%;height: 24px; color:#003e80; <div style="width: 98%;height: 24px; color:#003e80;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px; font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px;"> padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px;">
<span data-bind="text: bedragpctFormat, <span data-bind="text: bedragpctFormat,
visible: ! $root.jaarclosed()"> visible: ! $root.jaarclosed()">
</span> </span>
</div> </div>
</td> </td>
@@ -171,12 +195,14 @@
<span data-bind="text: totbasispct() == '0,0' ? '' : '(' + totbasispct() + '% van het totaalbudget)' "> <span data-bind="text: totbasispct() == '0,0' ? '' : '(' + totbasispct() + '% van het totaalbudget)' ">
</span> </span>
<br> <br>
<!-- ko if: deelbudgetten() -->
<span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span> <span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: gebudgetbasis "> data-bind="text: gebudgetbasis ">
</span> </span>
<span data-bind= "text: gebudgetbasispct()== '0,0' ? '' : '(' + gebudgetbasispct() + '% van het totaalbudget)' "></span> <span data-bind= "text: gebudgetbasispct()== '0,0' ? '' : '(' + gebudgetbasispct() + '% van het totaalbudget)' "></span>
<br> <br>
<!--/ko -->
<span style="display:inline-block; width: 250px" >Totaalbudget</span> <span style="display:inline-block; width: 250px" >Totaalbudget</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().basis : '' "> data-bind="text: jaartoewijzing() ? jaartoewijzing().basis : '' ">
@@ -197,7 +223,9 @@
<th style="width: 11%"></th> <th style="width: 11%"></th>
<th style="width: 11%"></th> <th style="width: 11%"></th>
<th style="width:11%"></th> <th style="width:11%"></th>
<!-- ko if: $root.deelbudgetten()-->
<th style="width:11%"></th> <th style="width:11%"></th>
<!--/ko-->
<th style="width:11%"></th> <th style="width:11%"></th>
</tr> </tr>
<tr class="blokheader" style=" text-align:left; padding-left:5px; "> <tr class="blokheader" style=" text-align:left; padding-left:5px; ">
@@ -209,6 +237,7 @@
<span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span> <span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: $root.deelbudgetten()-->
<th class="blokheader" <th class="blokheader"
style="text-align: right; style="text-align: right;
padding-right: 5px; padding-right: 5px;
@@ -218,6 +247,7 @@
border-right: 2px solid #ffffff;"> border-right: 2px solid #ffffff;">
Restant Restant
</th> </th>
<!-- /ko -->
<th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026"> <th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026">
<span >Percentage</span> <span >Percentage</span>
<i class="fa fa-info-circle" <i class="fa fa-info-circle"
@@ -235,8 +265,10 @@
<span data-bind="text: code != 'TOTAAL' ? code : ' ' "></span> <span data-bind="text: code != 'TOTAAL' ? code : ' ' "></span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: $root.deelbudgetten()-->
<th class="blokheader2" style="border-right: 2px solid #ffffff; background-color: background-color: #968026; border-top: none;"> <th class="blokheader2" style="border-right: 2px solid #ffffff; background-color: background-color: #968026; border-top: none;">
</th> </th>
<!-- /ko -->
<th class="blokheader2" style="background-color: background-color: #968026; border-top: none;"> <th class="blokheader2" style="background-color: background-color: #968026; border-top: none;">
</th> </th>
</tr> </tr>
@@ -245,9 +277,15 @@
<tbody data-bind="foreach: extrasoorten"> <tbody data-bind="foreach: extrasoorten">
<tr class="blokheader"> <tr class="blokheader">
<td class="blokheader" colspan="8" data-bind="text: naam" style="text-align: left; border: 2px solid #ffffff"></td> <td class="blokheader"
data-bind="text: naam,
attr: {colspan: $parent.deelbudgetten() ? 8 : 7 },"
style="text-align: left; border: 2px solid #ffffff"></td>
</tr> </tr>
<!-- ko foreach:subsoorten --> <!-- ko foreach:subsoorten -->
<!--ko if: $root.deelbudgetten()-->
<tr> <tr>
<td data-bind="text: naam"></td> <td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td> <td style="text-align: left; color: #008028 ">budget</td>
@@ -279,27 +317,41 @@
</div> </div>
</td> </td>
</tr> </tr>
<!--/ko-->
<tr > <tr >
<td ></td> <td >
<!-- ko if: !$root.deelbudgetten() -->
<span data-bind="text: naam "></span>
<!--/ko-->
</td>
<td style="text-align: left; color:#003e80; ">uitgaven</td> <td style="text-align: left; color:#003e80; ">uitgaven</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
<!-- ko if: $root.deelbudgetten() || code != 'RESTANT'-->
<td style="text-align: right; padding-top: 1px; vertical-align: top "> <td style="text-align: right; padding-top: 1px; vertical-align: top ">
<!-- ko if: code != 'RESTANT' && code != 'TOTAAL'--> <!-- ko if: code != 'RESTANT' && code != 'TOTAAL'-->
<input class="decimal" <input class="decimal"
style="width: 145px; max-width:98%; background-color: #e6f2ff" style="width: 145px; max-width:98%; background-color: #e6f2ff"
data-bind="textInput: bedragFormat, data-bind="textInput: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000'}, style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'},
event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} , event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} ,
enable: ! $root.jaarclosed()" /> enable: ! $root.jaarclosed()" />
<!-- /ko --> <!-- /ko -->
<!-- ko if: code == 'RESTANT' || code == 'TOTAAL'--> <!-- ko if: code == 'RESTANT' -->
<span class="decimal" <span class="decimal"
data-bind="text: bedragFormat, data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000'}" > style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'}" >
</span>
<!-- /ko -->
<!-- ko if: code == 'TOTAAL'-->
<span class="decimal"
data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'}" >
</span> </span>
<!-- /ko --> <!-- /ko -->
</td> </td>
<!-- /ko --> <!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top"> <td style="padding: 0; vertical-align: top">
<div style="width: 98%;height: 24px; <div style="width: 98%;height: 24px;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px; font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
@@ -326,6 +378,7 @@
</span> </span>
<span data-bind="text: totextrapct() =='0,0' ? '' : '(' + totextrapct() + '% van het totaalbudget)'"></span> <span data-bind="text: totextrapct() =='0,0' ? '' : '(' + totextrapct() + '% van het totaalbudget)'"></span>
<br> <br>
<!-- ko if: deelbudgetten() -->
<span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span> <span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: gebudgetextra() "> data-bind="text: gebudgetextra() ">
@@ -333,6 +386,7 @@
<span data-bind="text: gebudgetextrapct() =='0,0' ? '' : '(' + gebudgetextrapct() + '% van het totaalbudget)' "></span> <span data-bind="text: gebudgetextrapct() =='0,0' ? '' : '(' + gebudgetextrapct() + '% van het totaalbudget)' "></span>
<br> <br>
<!-- /ko -->
<span style="display:inline-block; width: 250px" >Totaalbudget</span> <span style="display:inline-block; width: 250px" >Totaalbudget</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' "> data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' ">
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M560.3 301.2C570.7 313 588.6 315.6 602.1 306.7C616.8 296.9 620.8 277 611 262.3L563 190.3C560.2 186.1 556.4 182.6 551.9 180.1L351.4 68.7C332.1 58 308.6 58 289.2 68.7L88.8 180C83.4 183 79.1 187.4 76.2 192.8L27.7 282.7C15.1 306.1 23.9 335.2 47.3 347.8L80.3 365.5L80.3 418.8C80.3 441.8 92.7 463.1 112.7 474.5L288.7 574.2C308.3 585.3 332.2 585.3 351.8 574.2L527.8 474.5C547.9 463.1 560.2 441.9 560.2 418.8L560.2 301.3zM320.3 291.4L170.2 208L320.3 124.6L470.4 208L320.3 291.4zM278.8 341.6L257.5 387.8L91.7 299L117.1 251.8L278.8 341.6z"/></svg>

After

Width:  |  Height:  |  Size: 759 B

+27
View File
@@ -202,6 +202,33 @@ button.delete{
cursor: pointer; cursor: pointer;
box-shadow:none; box-shadow:none;
} }
button.activeer{
background-image: url('/css/images/box-open.svg');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 15px 20px;
background-position:center;
width: 20px;
height: 20px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
button.btn-subtle{
border-color: #bdbdbd;
background-color: #f1f1f1;
box-shadow: 1px 1px 2px #9b9b9b;
}
button.btn-subtle:hover{
box-shadow: 1px 1px 2px #7f7f7f;
}
button.btn-subtle:focus{
outline: none;
box-shadow: 0 0 0 2px #d0d0d0;
}
.printer{ .printer{
background-image: url('/css/images/print.png'); background-image: url('/css/images/print.png');
margin-right: 1px; margin-right: 1px;
+130 -34
View File
@@ -6,12 +6,12 @@ $(function(){
this.id = p.id; this.id = p.id;
this.naam = p.naam this.naam = p.naam
this.niveau = p.niveau; this.niveau = p.niveau;
this.totaantal = ko.observable(p.totaantal); this.totaantal = ko.observable(parseInt(p.totaantal, 10)|| 0);
this.aantal2 = ko.observable(p.totaantal); this.aantal2 = ko.observable(parseInt(p.totaantal, 10) || 0);
this.som1 = ko.observable(p.som1); this.som1 = ko.observable(parseInt(p.som1, 10)|| 0);
this.som2 = ko.observable(p.som2); this.som2 = ko.observable(parseInt(p.som2, 10)|| 0);
this.som3 = ko.observable(p.som3); this.som3 = ko.observable(parseInt(p.som3, 10)|| 0);
this.som4 = ko.observable(p.som4); this.som4 = ko.observable(parseInt(p.som4, 10)|| 0);
this.leerkrachten = ko.observableArray([]); this.leerkrachten = ko.observableArray([]);
var dit = this; var dit = this;
if (p.leerkrachten){ if (p.leerkrachten){
@@ -28,11 +28,14 @@ $(function(){
} }
function fAddEditGroep(p){ function fAddEditGroep(p){
var dit = this; var dit= this;
this.id = p.id; this.id = p.id;
this.naam = ko.observable(p.naam); this.naam = ko.observable(p.naam);
this.orgid = p.orgid; this.orgid = p.orgid;
this.schooljaar = p.schooljaar; this.schooljaar = p.schooljaar;
this.archief2 = ko.observable(false);
this.archief3 = ko.observable(false);
this.archief4 = ko.observable(false);
this.niveau = ko.observableArray([]); this.niveau = ko.observableArray([]);
if (p.niveau){ if (p.niveau){
@@ -88,6 +91,44 @@ $(function(){
this.basis = ko.computed(function(){ this.basis = ko.computed(function(){
return parseInt(dit.totaantal()) - (parseInt(dit.totplus()) + dit.totextra()+dit.totextraplus()); return parseInt(dit.totaantal()) - (parseInt(dit.totplus()) + dit.totextra()+dit.totextraplus());
}) })
this.archiefplus = ko.computed(function(){
let toon = false;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (parseInt(y.nivo )=== 2 ){
if(y.archief() && y.orgid > 0)
toon = true;
}
});
}
return toon;
});
this.archiefextra = ko.computed(function(){
var toon = false
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (parseInt(y.nivo) === 3 && y.archief()){
toon = true;
}
});
}
return toon;
});
this.archiefextraplus = ko.computed(function(){
var toon = false;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (parseInt(y.nivo) === 4 && y.archief()){
toon = true;
}
});
}
return toon;
});
this.geopend1 = ko.observable(false); this.geopend1 = ko.observable(false);
this.geopend2 = ko.observable(false); this.geopend2 = ko.observable(false);
this.geopend3 = ko.observable(false); this.geopend3 = ko.observable(false);
@@ -99,11 +140,13 @@ $(function(){
function fAddOndersteuningsvorm(k){ function fAddOndersteuningsvorm(k){
var dit = this; var dit = this;
this.id = k.id; this.id = k.id;
this.orgid = k.organisatie_id; this.orgid = k.organisatie_id;
this.naam = ko.observable(k.naam); this.naam = ko.observable(k.naam);
this.nivo = k.nivo; this.nivo = k.nivo;
this.aantal = ko.observable(k.aantal); this.aantal = ko.observable(k.aantal);
this.gebruikt = k.gebruikt==='T';
this.archief = ko.observable(false);
if (k.archief==='T') dit.archief(true);
} }
@@ -292,14 +335,15 @@ $(function(){
} }
}); });
}) // delete groepxuser }) // delete groepxuser
self.selectedGroep().totaantal(self.editGroep().totaantal()); self.selectedGroep().totaantal(parseInt(self.editGroep().totaantal(), 10));
// hier alle regels en/of aantallen opslaan // hier alle regels en/of aantallen opslaan
self.selectedGroep().som1(self.selectedGroep().totaantal()); self.selectedGroep().som1(parseInt(self.editGroep().basis(), 10) || 0);
self.selectedGroep().som2(0); self.selectedGroep().som2(parseInt(self.editGroep().totplus(), 10) || 0);
self.selectedGroep().som3(0); self.selectedGroep().som3(parseInt(self.editGroep().totextra(), 10) || 0);
self.selectedGroep().som4(0); self.selectedGroep().som4(parseInt(self.editGroep().totextraplus(), 10) || 0);
if (self.editGroep().ondersteuningsvormen()){ if (self.editGroep().ondersteuningsvormen()){
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){ $.each(self.editGroep().ondersteuningsvormen(), function(i,p){
@@ -309,25 +353,16 @@ $(function(){
groepid : self.editGroep().id, groepid : self.editGroep().id,
nivo : p.nivo, nivo : p.nivo,
naam : p.naam(), naam : p.naam(),
aantal : p.aantal() }; aantal : p.aantal(),
archief : p.archief() ? 'T': 'F'}
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){ $.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){
if (result){ if (result){
if (p.id == null || p.id == 0) p.id = result; if (p.id == null || p.id == 0) p.id = result;
} }
},'json'); },'json');
// HIER NOG OPTELLEN VAN LEERLINGEN PER ONDERSTEUNINGSVORM VOOR SELECTED GROEP
if (p.aantal()) {
self.selectedGroep().som1(self.selectedGroep().som1() - parseInt(p.aantal()));
switch (p.nivo){
case '2': self.selectedGroep().som2( self.selectedGroep().som2() + parseInt(p.aantal()));
break;
case '3': self.selectedGroep().som3( self.selectedGroep().som3() + parseInt(p.aantal()));
break;
case '4': self.selectedGroep().som4(self.selectedGroep().som4() + parseInt(p.aantal()));
break;
}
} ; // if p.aantal
}); // each }); // each
}// if }// if
@@ -396,10 +431,23 @@ $(function(){
orgid:self.schoolid(), orgid:self.schoolid(),
naam: ko.observable(''), naam: ko.observable(''),
nivo: wat, nivo: wat,
aantal: ko.observable(0)} aantal: ko.observable(0),
gebruikt: false,
archief: ko.observable(false)
}
self. editGroep().ondersteuningsvormen.push( newos); self. editGroep().ondersteuningsvormen.push( newos);
}, },
fToggleArchief: function(wat){
var self = ls.GroepenModel;
if (!self.editGroep()) return;
if (wat === 2) self.editGroep().archief2(! self.editGroep().archief2());
if (wat === 3) self.editGroep().archief3(! self.editGroep().archief3());
if (wat === 4) self.editGroep().archief4(! self.editGroep().archief4());
},
fCheckinput: function(data,elid){ fCheckinput: function(data,elid){
var self =ls.GroepenModel; var self =ls.GroepenModel;
var dit = this; var dit = this;
@@ -484,17 +532,65 @@ $(function(){
} }
},'json'); },'json');
}, },
fArchiveOS : function(){
var self = ls.GroepenModel;
var dit = this;
let waarschuwing ="Weet u zeker dat u " + dit.naam() + " wilt archiveren?";
if(parseInt(dit.aantal()) > 0) waarschuwing = waarschuwing + "<br/>De leerlingen in deze groep die toegewezen zijn aan deze" +
" ondersteuningsvorm worden ingedeeld in de basisondersteuning."
let sd ={
vormID : dit.id,
groepID: self.editGroep().id,
orgID: self.schoolid()
}
apprise(waarschuwing , {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/archiveerOS", sd, function(){
dit.archief(true);
dit.aantal(0);
});
};// if ans
});//apprise
},
fActivateOS : function(){
var self = ls.GroepenModel;
var dit = this;
let waarschuwing ="Weet u zeker dat u " + dit.naam() + " actief wilt maken?";
let sd ={
vormID : dit.id,
groepID: self.editGroep().id,
orgID: self.schoolid()
}
apprise(waarschuwing , {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/activeerOS", sd, function(){
dit.archief(false);
});
};// if ans
});//apprise
},
fDeleteOS : function(){ fDeleteOS : function(){
var self = ls.GroepenModel; var self = ls.GroepenModel;
var dit = this; var dit = this;
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen? </br/> Alle leerlingen (in alle groepen) die toegewezen zijn aan deze" + let waarschuwing ="Weet u zeker dat u " + dit.naam() + " wilt verwijderen?";
" ondersteuningsvorm worden ingedeeld in de basisondersteuning.", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if(parseInt(dit.aantal(), 10) > 0)waarschuwing = waarschuwing + "</br/> De leerlingen die toegewezen zijn aan deze ondersteuningsvorm worden ingedeeld in de basisondersteuning.";
apprise(waarschuwing, {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){ if (ans){
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){ $.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
self.editGroep().ondersteuningsvormen.remove(dit); self.editGroep().ondersteuningsvormen.remove(dit);
}); });
};// if ans }// if ans
});//apprise });//apprise
}, },
fWijzigLeerkrachten : function(){ fWijzigLeerkrachten : function(){
+22 -12
View File
@@ -106,11 +106,11 @@ ls.initBestemmingenModel = function(){
kalenderjaren : ko.observableArray([]), kalenderjaren : ko.observableArray([]),
selectedKalenderjaar : ko.observable(), selectedKalenderjaar : ko.observable(),
jaartoewijzing : ko.observable(), jaartoewijzing : ko.observable(),
erIsBudget : ko.observable(false), erIsBudget : ko.observable(false),
uitgavetypes : ko.observableArray(), uitgavetypes : ko.observableArray(),
basissoorten : ko.observableArray(), basissoorten : ko.observableArray(),
extrasoorten : ko.observableArray(), extrasoorten : ko.observableArray(),
deelbudgetten : ko.observable(true),
opmerking : ko.observable(''), opmerking : ko.observable(''),
jaarclosed : ko.observable(true), jaarclosed : ko.observable(true),
bezig : ko.observable(false), bezig : ko.observable(false),
@@ -174,13 +174,16 @@ ls.initBestemmingenModel = function(){
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr} var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/bestemmingen/getBestemmingen ", sd, function(data) { $.post("index.php/monfin2/bestemmingen/getBestemmingen ", sd, function(data) {
console.log(data, 'data')
if (data.jaartoewijzing) { if (data.jaartoewijzing) {
self.jaartoewijzing(data.jaartoewijzing); self.jaartoewijzing(data.jaartoewijzing);
self.deelbudgetten(self.jaartoewijzing().deelbudgetten === 'T');
} }
else self.deelbudgetten
self.jaarclosed(data.jaarclosed); self.jaarclosed(data.jaarclosed);
self.fUpdateSubbedragen(function (){self.fGetUpdatedBestemmingen()}, data); self.fUpdateSubbedragen(function (){self.fGetUpdatedBestemmingen()}, data);
},'json') },'json')
}, },
@@ -452,16 +455,24 @@ ls.initBestemmingenModel = function(){
'bedrag': invoer 'bedrag': invoer
} }
console.log(sd, 'bedrag')
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd);
var sd2 = { $.post("index.php/monfin2/bestemmingen/updatebedrag", sd, function(result){
'id' : subtotID, if(result) {
'bedrag': subtotaal var sd2 = {
'id': subtotID,
'bedrag': subtotaal
}
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd2, function (ok) {
});
}
},'json',);
}
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd2);
console.log(sd, 'regeltotaal')
}, },
@@ -526,7 +537,6 @@ ls.initBestemmingenModel = function(){
stuurMelding = false; stuurMelding = false;
totaalgebudget = Number(totaalgebudget) + Number(s.uitgavetypes()[0].budget()) totaalgebudget = Number(totaalgebudget) + Number(s.uitgavetypes()[0].budget())
console.log(subbudget , 'subbudget bij wijzigen scholing')
} }
break; break;
@@ -40,11 +40,16 @@ function fAddBedrag(p){
this.extra = ko.observable(p.extra); this.extra = ko.observable(p.extra);
if (this.extra() >=0) this.extra(p.extra / 100) if (this.extra() >=0) this.extra(p.extra / 100)
else this.extra(0); else this.extra(0);
this.deelbudgetten = ko.observable(p.deelbudgetten === "T");
this.vastgelegd = ko.observable(p.vastgelegd); this.vastgelegd = ko.observable(p.vastgelegd);
this.jaarclosed = ko.observable(true); this.jaarclosed = ko.observable(true);
if (p.jaarclosed == "F"){this.jaarclosed(false); }
if (p.jaarclosed == "F"){
this.jaarclosed(false);
}
this.screenbasis = ko.computed(function(){ this.screenbasis = ko.computed(function(){
var ssom = String(this.basis()); 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){ fMaakSubmitData :function(dit){
var self = ls.MonfinBeheer2Model; var self = ls.MonfinBeheer2Model;
var ssom; var ssom;