Files
monpas/application/models/monpas/Arrangementen_model.php
T
2021-07-13 14:58:26 +02:00

105 lines
4.3 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Arrangementen_model juli 2019 */
class arrangementen_model extends MY_Model{
protected $tablename = 'tb_arrangementen';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function getAantallen($orgid, $schooljaar, $id){
$this->sql = "SELECT APA.aantal as aantal, APA.archief
FROM tb_arrangementen A
JOIN tb_arrangementen_piv_aantal APA ON A.id = APA.arrangement_id
JOIN tb_schooljaren S ON S.schooljaarnr = APA.schooljaarnr
WHERE A.organisatie_id = {$orgid}
AND APA.schooljaarnr = {$schooljaar}
AND A.id = {$id}";
return $this->get_query_row();
}
function getArrangementen($orgid, $schooljaarnr){
$this->sql = "SELECT A.id, A.naam, A.lengte, A.leeftijd
FROM tb_arrangementen A
WHERE A.organisatie_id = {$orgid}
AND A.schooljaarnr <= {$schooljaarnr}
ORDER BY A.naam, A.id ";
return $this->get_query_result();
}
function getArrangementenMetAantallen($orgid, $schooljaarnr){
$this->sql = "SELECT ARR.id, ARR.naam, ARR.lengte, ARR.leeftijd, APA.aantal, APA.archief
FROM tb_arrangementen ARR
JOIN tb_arrangementen_piv_aantal APA ON ARR.id = APA.arrangement_id
JOIN tb_aantalleerlingen A ON ARR.organisatie_id = A.organisatie_id
WHERE A.organisatie_id = {$orgid}
AND APA.schooljaarnr = {$schooljaarnr}
AND A.schooljaarnr = {$schooljaarnr}
AND APA.archief = 'F'
ORDER BY ARR.naam ";
return $this->get_query_result();
}
function getArrangementenMetAantallenSop($orgid, $schooljaarnr){
$this->sql = "SELECT ARR.id, ARR.naam, ARR.lengte, ARR.leeftijd, APA.aantal, APA.archief
FROM tb_arrangementen ARR
JOIN tb_arrangementen_piv_aantal APA ON ARR.id = APA.arrangement_id
JOIN tb_aantalleerlingen A ON ARR.organisatie_id = A.organisatie_id
WHERE A.organisatie_id = {$orgid}
AND APA.schooljaarnr = {$schooljaarnr}
AND A.schooljaarnr = {$schooljaarnr}
ORDER BY APA.aantal DESC ";
return $this->get_query_result();
}
function getArrangementnamenSop($schooljaarnrs, $orgid)
{
$this->sql = "SELECT DISTINCT(ARR.id), ARR.naam
FROM tb_arrangementen_piv_aantal APA
JOIN tb_arrangementen ARR ON APA.arrangement_id = ARR.id
JOIN tb_aantalleerlingen A ON ARR.organisatie_id = A.organisatie_id
WHERE APA.schooljaarnr IN ({$schooljaarnrs})
AND ARR.organisatie_id = {$orgid}
AND A.schooljaarnr IN ({$schooljaarnrs})
AND A.meetellen = 'T'
AND APA.archief = 'F'
";
return $this->get_query_result();
}
function getArrangement($id, $schooljaarnr){
$this->sql = "SELECT A.id, A.naam, A.lengte, A.leeftijd, APA.aantal as aantal, APA.archief
FROM tb_arrangementen A
JOIN tb_arrangementen_piv_aantal APA ON A.id = APA.arrangement_id
WHERE A.id = {$id}
AND APA.schooljaarnr = {$schooljaarnr} ";
return $this->get_query_row();
}
function getAantalLeerlingenMetArrangement($schooljaarnr, $orglist){
$this->sql= "SELECT SUM(APA.aantal) as aantal, COUNT(DISTINCT(ARR.organisatie_id)) AS orgsmetarrs
FROM tb_arrangementen_piv_aantal APA
JOIN tb_arrangementen ARR ON APA.arrangement_id = ARR.id
JOIN tb_aantalleerlingen A ON ARR.organisatie_id = A.organisatie_id
WHERE APA.schooljaarnr = {$schooljaarnr}
AND ARR.organisatie_id IN ({$orglist})
AND A.schooljaarnr = {$schooljaarnr}
AND A.meetellen = 'T'
GROUP BY APA.schooljaarnr ";
return $this->get_query_row();
}
}