Files
monpas/application/models/monpas/Filledversions_model.php
T

510 lines
22 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**filledversions_model april 2015 */
class Filledversions_model extends MY_Model{
protected $tablename = 'tb_filledversions';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getuserversions($userid){
$this->sql= "SELECT FV.id, FV.orgversie_id , FV.versie_id,
DATE_FORMAT(geopend,'%d-%m-%Y') AS geopend,
DATE_FORMAT(gesloten,'%d-%m-%Y') AS gesloten,
naam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id = OV.versie_id
WHERE user_id = {$userid}";
return $this->get_query_result();
}
function getfilledversion($orgversieid, $orgid, $fillerid, $wat){
$this->sql= "SELECT FV.id, FV.orgversie_id,FV.user_id, FV.notitie, FV.meetellen
FROM tb_filledversions FV
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id = {$orgid} ";
if ($wat == 2) {$this->sql .= " AND FV.user_id = {$fillerid} ";}
return $this->get_query_row();
}
function getfilledversionbyid($id){
$this->sql= "SELECT FV.id, FV.orgversie_id,FV.user_id, FV.notitie, FV.meetellen
FROM tb_filledversions FV
WHERE id= {$id}" ;
return $this->get_query_row();
}
function getlks($orgid, $orgversieid){
$this->sql="SELECT FV.id as filledversionid,concat_ws(' ',U.voornaam, U.tussenvoegsel, U.achternaam) AS fullname, $orgid as orgid, FV.user_id
FROM tb_filledversions FV
JOIN tb_users U ON U.id = FV.user_id
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id = {$orgid}
AND U.actief = 1
ORDER BY U.achternaam";
return $this->get_query_result();
}
function countlkrtn($orgid, $orgversieid){
$this->sql="SELECT COUNT(FV.user_id) AS aantal
FROM tb_filledversions FV
JOIN tb_users U ON U.id = FV.user_id
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id = {$orgid}
AND U.actief = 1";
return $this->get_query_row('aantal');
}
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,
OV.vorm, OV.scoretype, OV.score_omschrijving,
DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm, '%d-%m-%Y') AS invullentm,
V.naam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
WHERE FV.organisatie_id = {$orgid}
AND V.modulenr = {$modulenr}
ORDER BY OV.actief DESC, OV.periodenummer DESC ";
return $this->get_query_result();
}
function getfilledversions_bij_orglist($orglist, $modulenr){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, 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,
DATE_FORMAT(invullentm, '%d-%m-%Y') AS invullentm,
V.naam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
WHERE FV.organisatie_id IN ({$orglist})
AND V.modulenr = {$modulenr}
ORDER BY OV.actief DESC, OV.periodenummer DESC ";
return $this->get_query_result();
}
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
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
JOIN tb_antwoordtypes A ON A.sysnr = OV.scoretype
WHERE FV.organisatie_id IN ({$orgids})
AND V.modulenr = {$modulenr}
ORDER BY OV.periodenummer DESC";
return $this->get_query_result();
}
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
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
JOIN tb_antwoordtypes A ON A.sysnr = OV.scoretype
WHERE FV.organisatie_id ={$orgid}
AND V.modulenr = {$modulenr}
ORDER BY OV.periodenummer DESC";
return $this->get_query_result();
}
function getversiesperalleorgs($idlijst, $module){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
V.naam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
WHERE FV.organisatie_id IN ($idlijst)
AND V.modulenr = {$module}
AND FV.meetellen = 1
ORDER BY OV.geldigtm DESC";
return $this->get_query_result();
}
function getversiesperalleorgs2($idlijst, $module){
$this->sql = "SELECT FV.orgversie_id as id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
V.naam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
WHERE FV.organisatie_id IN ($idlijst)
AND V.modulenr = {$module}
GROUP BY scoretype
ORDER BY OV.actief DESC, OV.periodenummer DESC";
return $this->get_query_result();
}
function getversiesperorgperperiode($orgid, $module, $van, $tm){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id,
OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
V.naam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id
WHERE FV.organisatie_id ={$orgid}
AND V.modulenr = {$module}
AND OV.geldigvanaf >= '{$van}'
AND OV.geldigtm <= '{$tm}'
ORDER BY OV.actief DESC, periodenummer DESC";
return $this->get_query_result();
}
// function getEerdereVergelijkbareVersies($orgid, $module, $orgversie){
// $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id,
// OV.organisatie_id, periodenummer, OV.actief, versie_id,
// vorm, scoretype,
// DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
// DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
// DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
// V.naam
// FROM tb_filledversions FV
// JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
// JOIN tb_versies V ON V.id =OV.versie_id
// WHERE FV.organisatie_id = {$orgid}
// AND V.modulenr = {$module}
// AND OV.id <> {$orgversie->id}
// AND V.id = {$orgversie->versie_id}
// AND OV.periodenummer < {$orgversie->periodenummer}
// AND OV.scoretype = {$orgversie->scoretype}
// ORDER BY OV.actief DESC, periodenummer DESC";
// return $this->get_query_result();
// }
function checkperiode($fvid, $van, $tm){
$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}
AND OV.geldigvanaf >= '{$van}'
AND OV.geldigtm <= '{$tm}' ";
return $this->get_query_result();
}
function getlijsten($orgid, $module){
$this->sql = "SELECT FV.id AS fvid, periodenummer,
OV.vorm, OV.geldigvanaf, OV.geldigtm, V.naam,
CONCAT_WS(' ' , U.voornaam, U.tussenvoegsel, U.achternaam) AS usernaam
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id = OV.versie_id
LEFT JOIN tb_users U ON U.id = FV.user_id
WHERE FV.organisatie_id = {$orgid}
AND V.modulenr = {$module}
ORDER BY periodenummer desc";
return $this->get_query_result();
}
function getVersieInfoVanOrg($orgversieid, $orgid){
$this->sql = "SELECT FV.id, FV.user_id, FV.organisatie_id, OV.id, OV.id, OV.vorm, OV.scoretype
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
WHERE FV.organisatie_id = {$orgid}
AND OV.id = {$orgversieid} ";
return $this->get_query_result();
}
function getVergelijkbareVersies4($orgversieid, $orgid){
$this->sql = "SELECT FIL.id as filledid, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.organisatie_id = ORGV.organisatie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
WHERE FV.organisatie_id = {$orgid}
AND FIL.organisatie_id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.versie_id = ORGV.versie_id
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm >= ORGV.geldigtm
ORDER BY ORGV.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getVergelijkbareVersiesSchoolGemiddelde($orgversieid, $orgid){
$this->sql = "SELECT FIL.id as filledid, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.organisatie_id = ORGV.organisatie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
WHERE FV.organisatie_id = {$orgid}
AND FIL.organisatie_id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.versie_id = ORGV.versie_id
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm >= ORGV.geldigtm
GROUP BY ORGV.id
ORDER BY ORGV.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getVergelijkbareVersies4Ind($orgversieid, $orgid){
$this->sql = "SELECT FIL.id as filledid, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.organisatie_id = ORGV.organisatie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
WHERE FV.organisatie_id = {$orgid}
AND FIL.organisatie_id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.versie_id = ORGV.versie_id
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND FV.user_id = FIL.user_id
AND OV.geldigtm >= ORGV.geldigtm
ORDER BY ORGV.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getVergelijkbareVersies3($orgversieid, $orgid){
$this->sql = "SELECT FIL.id as filledid, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype, SCHOOL.valtonder_id, SCHOOL.id as schoolid,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.versie_id = ORGV.versie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
JOIN tb_organisaties BG ON SCHOOL.valtonder_id = BG.id
WHERE BG.id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm >= ORGV.geldigtm
GROUP BY ORGV.id
ORDER BY ORGV.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getVergelijkbareVersies2($orgversieid, $orgid){
$this->sql = "SELECT FIL.id as filledid, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype, SCHOOL.valtonder_id, SCHOOL.id as schoolid,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.versie_id = ORGV.versie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
JOIN tb_organisaties BG ON SCHOOL.valtonder_id = BG.id
JOIN tb_organisaties KAMER ON BG.valtonder_id = KAMER.id
WHERE KAMER.id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm >= ORGV.geldigtm
GROUP BY ORGV.id
ORDER BY ORGV.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getVergelijkbareVersies1($orgversieid, $orgid){
$this->sql = "SELECT FIL.id as filledid, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype, SCHOOL.valtonder_id, SCHOOL.id as schoolid,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.versie_id = ORGV.versie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
JOIN tb_organisaties BG ON SCHOOL.valtonder_id = BG.id
JOIN tb_organisaties KAMER ON BG.valtonder_id = KAMER.id
JOIN tb_organisaties SWV ON KAMER.valtonder_id = SWV.id
WHERE SWV.id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm >= ORGV.geldigtm
GROUP BY ORGV.id
ORDER BY ORGV.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getVergelijkbareVersiesInd($orgversieid, $orgid, $userid){
$this->sql = "SELECT FIL.id as filledid, FIL.user_id, ORGV.id, ORGV.versie_id, ORGV.vorm, ORGV.scoretype,
DATE_FORMAT(ORGV.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(ORGV.geldigtm,'%d-%m-%Y') AS geldig,
DATE_FORMAT(ORGV.invullentm,'%d-%m-%Y') AS invullentm,
ORGV.organisatie_id, FIL.organisatie_id as invuller
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.organisatie_id = ORGV.organisatie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
WHERE FIL.user_id = {$userid}
AND FV.user_id = {$userid}
AND FIL.organisatie_id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.versie_id = ORGV.versie_id
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm >= ORGV.geldigtm
GROUP BY ORGV.id
ORDER BY ORGV.geldigtm DESC
LIMIT 2";
return $this->get_query_result();
}
function telVergelijkbareVersies3($orgversieid, $orgid){
$this->sql = "SELECT count(DISTINCT FIL.id) AS meting
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.versie_id = ORGV.versie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
JOIN tb_organisaties BG ON SCHOOL.valtonder_id = BG.id
WHERE BG.id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm = ORGV.geldigtm ";
return $this->get_query_row('meting');
}
function telVergelijkbareVersies2($orgversieid, $orgid){
$this->sql = "SELECT count(DISTINCT FIL.id) AS meting
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.versie_id = ORGV.versie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
JOIN tb_organisaties BG ON SCHOOL.valtonder_id = BG.id
JOIN tb_organisaties KAMER ON BG.valtonder_id = KAMER.id
WHERE KAMER.id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm = ORGV.geldigtm ";
return $this->get_query_row('meting');
}
function telVergelijkbareVersies1($orgversieid, $orgid){
$this->sql = "SELECT count(DISTINCT FIL.id) AS meting
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_orgversies ORGV ON OV.versie_id = ORGV.versie_id
JOIN tb_filledversions FIL ON ORGV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
JOIN tb_organisaties BG ON SCHOOL.valtonder_id = BG.id
JOIN tb_organisaties KAMER ON BG.valtonder_id = KAMER.id
JOIN tb_organisaties SWV ON KAMER.valtonder_id = SWV.id
WHERE SWV.id = {$orgid}
AND OV.id = {$orgversieid}
AND OV.scoretype = ORGV.scoretype
AND OV.vorm = ORGV.vorm
AND OV.geldigtm = ORGV.geldigtm ";
return $this->get_query_row('meting');
}
function telVergelijkbareVersies4Ind($orgversieid, $orgid){
$this->sql = "SELECT count(DISTINCT FIL.id) AS meting
FROM tb_filledversions FV
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
JOIN tb_filledversions FIL ON OV.id = FIL.orgversie_id
JOIN tb_organisaties SCHOOL ON FIL.organisatie_id = SCHOOL.id
WHERE SCHOOL.id = {$orgid}
AND OV.id = {$orgversieid}
";
return $this->get_query_row('meting');
}
function getMeetellen($orgversie, $orgid, $userid = FALSE){
$this->sql = " SELECT CASE WHEN meetellen = 1 THEN 'meetellen'
ELSE '(nog) niet meetellen'
END AS meetellen
FROM tb_filledversions
WHERE organisatie_id = {$orgid}
AND orgversie_id = {$orgversie} ";
if($userid){
$this->sql .= "AND user_id = {$userid}";
}
return $this->get_query_row('meetellen');
}
}