Files
monpas/application/models/monpas/Ambities_model.php
T
2021-11-19 10:31:31 +01:00

106 lines
3.7 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;
}
}