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

195 lines
7.5 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Ambities_model januari 2015 */
class Ambities_model extends MY_Model{
protected $tablename = 'tb_ambities';
function __construct(){
parent::__construct();
$models = array('monpas/Ijkpunten_model');
$this->load->model($models);
}
function getambities( $orgid){
$this->sql="SELECT A.id, gem_score AS gemscore, x_ijkpunten AS xijkpunten , z_procent AS zprocent,
orgversie_id, A.organisatie_id, OV.geldigvanaf, OV.geldigtm, OV.periodenummer, OV.actief,
V.naam
FROM tb_ambities A
JOIN tb_orgversies OV ON OV.id = orgversie_id
JOIN tb_versies V ON V.id = OV.versie_id
WHERE A.organisatie_id = {$orgid}";
return $this->get_query_result();
}
function getambitie2($orgversieid, $orgid){
$this->sql="SELECT A.id, gem_score AS gemscore, x_ijkpunten AS xijkpunten , z_procent AS zprocent,
orgversie_id, OV.geldigvanaf, OV.geldigtm, OV.periodenummer, OV.actief,
V.naam
FROM tb_ambities A
JOIN tb_orgversies OV ON OV.id = A.orgversie_id
JOIN tb_versies V ON V.id = OV.versie_id
WHERE A.organisatie_id = {$orgid}
AND A.orgversie_id = {$orgversieid}";
return $this->get_query_row();
}
function getambitie($orgversieid, $orgid){
$this->sql="SELECT A.id, gem_score AS gemscore, x_ijkpunten AS xijkpuntenoud, COUNT(Y.id) AS xijkpunten, z_procent AS zprocent
FROM tb_ambities A
JOIN tb_orgversies OV ON A.orgversie_id = OV.id
JOIN tb_versies V ON OV.versie_id = V.id
JOIN tb_ijkpunten Y ON Y.versie_id = V.id
WHERE A.organisatie_id = {$orgid}
AND A.orgversie_id = {$orgversieid}
AND Y.disabled = 'F'
GROUP BY A.id ";
return $this->get_query_row();
}
function getdefault($aantalY){
// $result = array('id' => null, 'gemscore'=>80, 'xijkpunten'=>9, 'zprocent'=>60);
$result = new stdClass;
$result->id = 'null';
$result->gemscore = 80;
$minijkpunten = $aantalY * 0.8;
$result->xijkpunten = round($minijkpunten);
$result->zprocent= 60;
return $result;
}
function getdefault2($orgversieid ){
$this->sql = "SELECT 0 AS id , 80 AS gemscore, 9 AS xijkpunten , 60 AS zprocent,
OV.id AS orgversie_id,
OV.geldigvanaf, OV.geldigtm, OV.periodenummer, OV.actief,
V.naam
FROM tb_orgversies OV
JOIN tb_versies V ON V.id = OV.versie_id
WHERE OV.id = {$orgversieid}";
return $this->get_query_row();
}
function getOrgAmbities($orgversieid, $targetorgid){
$bgid = null;
$kamerid = null;
$swvid = null;
$organisatie = $this->Organisaties_model->get_record_by_id($targetorgid);
$soort = $organisatie->soort;
if ($soort ==4){
$bgid = $organisatie->valtonder_id;
$organisatie = $this->Organisaties_model->get_record_by_id($bgid);
$kamerid = $organisatie->valtonder_id;
$organisatie = $this->Organisaties_model->get_record_by_id($kamerid);
$swvid = $organisatie->valtonder_id;}
if ($soort== 3){
$bgid = $organisatie->id;
$kamerid = $organisatie->valtonder_id;
$organisatie = $this->Organisaties_model->get_record_by_id($kamerid);
$swvid = $organisatie->valtonder_id;
}
if ($soort ==2){
$kamerid = $organisatie->id;
$swvid = $organisatie->valtonder_id;
}
if ($soort ==1){
$swvid = $organisatie->id;
}
$ambitie = null;
if ($bgid){ $ambitie = $this->getambitie($orgversieid, $bgid);
}
if (!$ambitie && $kamerid){ $ambitie = $this->getambitie($orgversieid, $kamerid);}
if (!$ambitie && $swvid){$ambitie = $this->getambitie($orgversieid, $swvid);}
if (!$ambitie){
$aantalY = $this->Ijkpunten_model->telijkpunten($orgversieid);
$ambitie =$this->getdefault($aantalY);
};
return $ambitie;
}
function mh_get_ambities($moduleid, $ambitieorgs, $orgversieid = FALSE){
$this->sql = " SELECT A.id AS ambitieID,
A.gem_score AS gemscore,
A.x_ijkpunten AS xijkpunten,
A.z_procent AS zprocent,
OV.id AS orgversieID,
DATE_FORMAT( OV.geldigvanaf, '%d-%m-%Y') as geldigvanaf,
DATE_FORMAT( OV.geldigtm, '%d-%m-%Y') as geldigtm,
OV.periodenummer, V.naam,
O.soort AS soort,
concat_ws(' ', O.brin, O.naamkort) AS organisatie,
O.id AS orgID,
O2.naamkort AS versievan,
CASE WHEN O.soort = 1 THEN
'swv'
WHEN O.soort = 2 THEN
'regio'
WHEN O.soort = 3 THEN
'bestuur'
WHEN O.soort = 4 THEN
'school'
END AS ambitievan
FROM tb_orgversies OV
JOIN tb_versies V ON OV.versie_id = V.id
JOIN tb_ambities A ON A.orgversie_id = OV.id
JOIN tb_organisaties O ON A.organisatie_id = O.id
JOIN tb_organisaties O2 ON OV.organisatie_id = O2.id
WHERE A.organisatie_id IN ({$ambitieorgs})
AND V.modulenr = {$moduleid}
AND OV.actief = 1 ";
if($orgversieid) {
$this->sql .= " AND OV.id = {$orgversieid} ";
}
$this->sql.= " ORDER BY O.soort DESC ";
return $this->get_query_result();
}
function mh_get_ambitie_orgversie($orgversieid, $ambitieorgs, $toporgs){
$this->sql = " SELECT A.id AS ambitieID,
A.gem_score AS gemscore,
A.x_ijkpunten AS xijkpunten,
A.z_procent AS zprocent,
O.naamkort AS ambitievan,
OV.id AS orgversieID,
DATE_FORMAT( OV.geldigvanaf, '%d-%m-%Y') as geldigvanaf,
DATE_FORMAT( OV.geldigtm, '%d-%m-%Y') as geldigtm,
OV.periodenummer, V.naam,
O.soort AS soort,
concat_ws(' ', O.brin, O.naamkort) AS organisatie,
O.id AS orgID,
O2.naamkort AS versievan,
CASE WHEN O.soort = 1 THEN
'swv'
WHEN O.soort = 2 THEN
'regio'
WHEN O.soort = 3 THEN
'bestuur'
WHEN O.soort = 4 THEN
'school'
END AS ambitievan
FROM tb_orgversies OV
JOIN tb_versies V ON OV.versie_id = V.id
JOIN tb_ambities A ON A.orgversie_id = OV.id
JOIN tb_organisaties O ON A.organisatie_id = O.id
JOIN tb_organisaties O2 ON OV.organisatie_id = O2.id
WHERE A.organisatie_id IN ({$ambitieorgs})
AND OV.organisatie_id IN ({$toporgs})
AND OV.id = {$orgversieid}
ORDER BY soort DESC
LIMIT 1 ";
return $this->get_query_row();
}
}