Files
monpas/application/models/monpas/Groepen_model.php
T
2026-03-10 16:11:52 +01:00

195 lines
8.5 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Groepen_model mei 2015 */
class Groepen_model extends MY_Model{
protected $tablename = 'tb_groepen';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getgroep($groepid){
$this->sql = "SELECT GR.id,
GR.naam,
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.id = {$groepid}
GROUP BY GR.id";
return $this->get_query_row();
}
function getgroepenlist($orgid, $schooljaarnr, $module){
$this->sql = "SELECT id, naam, ondersteuning
FROM tb_groepen
WHERE organisatie_id ={$orgid}
AND schooljaarnr = {$schooljaarnr}
AND module = {$module}
ORDER BY niveau, naam, id";
return $this->get_query_result();
}
function get_AantalGroepen($schooljaarnr, $orgid, $module){
$this->sql = " SELECT COUNT(id) as aantal
FROM tb_groepen
WHERE organisatie_id = {$orgid}
AND schooljaarnr = {$schooljaarnr}
AND module = {$module} ";
return $this->get_query_row('aantal');
}
function getversiesmetleerlingengoedeversie($orgid, $schooljaarnr, $schooltype, $module){
$this->sql="SELECT SUM(totaantal) AS aantallln
FROM tb_groepen
WHERE organisatie_id ={$orgid}
AND schooljaarnr = {$schooljaarnr}
AND schooltype = '{$schooltype}'
AND module = {$module} ";
return $this->get_query_row("aantallln");
}
function getversiesmetleerlingen($orgid, $schooljaarnr, $schooltype, $module){
$this->sql="SELECT totaantal, niveau, schooljaarnr
FROM tb_groepen
WHERE organisatie_id ={$orgid}
AND schooljaarnr = {$schooljaarnr}
AND schooltype = '{$schooltype}'
AND module = {$module} ";
return $this->get_query_result();
}
function countleerlingen($orgid, $schooljaarnr, $schooltype, $module){
$this->sql="SELECT SUM(totaantal) AS aantallln
FROM tb_groepen
WHERE organisatie_id ={$orgid}
AND schooljaarnr = {$schooljaarnr}
AND schooltype = '{$schooltype}'
AND module = {$module} ";
return $this->get_query_row('aantallln');
}
function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
GR.ondersteuning,
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, GR.naam, GR.niveau, GR.totaantal, GR.ondersteuning
ORDER BY niveau, naam, GR.id ";
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, GR.naam, GR.niveau, GR.totaantal
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
}
function getGroepenSboSo($orgid, $schooljaarnr){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
GR.ondersteuning,
SUM(IF( nivo = 5, AX.aantal, 0)) AS som5,
SUM(IF( nivo = 6, AX.aantal, 0)) AS som6,
SUM(IF( nivo = 7, AX.aantal, 0)) AS som7,
SUM(IF( nivo = 8, AX.aantal, 0)) AS som8
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 = 'SBO'
GROUP BY GR.id
ORDER BY GR.niveau, GR.naam, GR.id";
return $this->get_query_result();
}
function getgroepdetails($groepid){
$this->sql=" SELECT id,naam,organisatie_id as orgid,schooljaarnr AS schooljaar,
niveau,totaantal,notitie
FROM tb_groepen G
WHERE G.id = {$groepid}";
return $this->get_query_row();
}
function getgroepsids($orgid, $schooljaarnr, $module){
$this->sql=" SELECT id
FROM tb_groepen
WHERE schooljaarnr = {$schooljaarnr}
AND organisatie_id = {$orgid}
AND module = {$module} ";
return $this->get_query_result();
}
}