initial commit

This commit is contained in:
2021-07-10 16:25:16 +02:00
parent bff57cbf45
commit 20fb7267a8
2426 changed files with 792090 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Docx_model extends MY_Model {
protected $service_url = 'http://office.pensare.nl';
function create_word_document($html, $filename){
// echo $html;
// die;
$data = $this->get_file_contents($html);
$this->download_file_contents($filename.'.docx', $data);
}
private function download_file_contents($filename, $data){
$this->load->helper('download');
force_download($filename, $data);
}
private function get_file_contents($html){
$curl = curl_init();
// Haalt een string op (file_get_contents)
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $this->service_url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
'html' => $html
)
));
// Uitvoeren van het request, respons is een string
$response = curl_exec($curl);
// sluiten van het request
curl_close($curl);
return $response;
}
}
+177
View File
@@ -0,0 +1,177 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Phantom2_model
*
* @author Theo Weijmer
* @date juni 28, 2013 1:41 PM
*
*
*
*/
class Phantom2_model extends CI_Model{
protected $rootpath ;
protected $phantomPath;
protected $pagesize = 'A4';//'A3, A4, A5, Legal, Letter, Tabloid'
protected $margins = array("1.5cm", "1.5cm", "1.0cm", "1.0cm");
protected $orientation = 'portrait'; // 'portrait, landscape'
protected $pdffolder = '/pdf/';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
$this->rootpath = $_SERVER['DOCUMENT_ROOT'];
$this->phantomPath = FCPATH.'js_lib/phantom/pdfPrint.js';
}
function get_pdf($data){
$data = $this->set_variables($data);
$filename = $data['filename'];
$data['filename'] = $this->get_filename($data['filename'], $data['timestamp']);
$data['header'] = '';//$this->get_header($data['header']);
$data['pagesize'] = $this->get_page_size($data['pagesize']);
$data['margins'] = $this->get_margins($data['margins']);
$data['orientation']= $this->get_orientation($data['orientation']);
$this->make_pdf($data);
$this->download_pdf($data['filename'], $filename);
}
private function set_variables($vars){
$data = array('url'=>$vars['url'], 'filename'=>$vars['filename']);
if(!isset($vars['timestamp'])) $vars['timestamp'] = TRUE;
if(!isset($vars['header'])) $vars['header'] = TRUE;
if(!isset($vars['pagesize'])) $vars['pagesize'] = FALSE;
if(!isset($vars['margins'])) $vars['margins'] = FALSE;
if(!isset($vars['orientation'])) $vars['orientation']= FALSE;
$data['timestamp'] = $vars['timestamp'] ;
$data['header'] = $vars['header'] ;
$data['pagesize'] = $vars['pagesize'] ;
$data['margins'] = $vars['margins'] ;
$data['orientation']= $vars['orientation'];
return $data;
}
private function make_pdf($data){
// $strexec = $this->config->item('phantompath').'phantomjs '.$this->rootpath.$this->phantomPath.' ';
$strexec = 'phantomjs --ssl-protocol=any '.$this->phantomPath.' ';
// var_dump('strexec', $strexec);
// die;
// echo json_encode($data);
$strexec.= "'".json_encode($data)."'";
// echo $strexec;
// exit;
exec($strexec);
}
private function download_pdf($filename, $downloadname){
$this->load->helper('download');
$data = file_get_contents($filename); // Read the file's contents
force_download($downloadname, $data);
chmod($filename, 0777);
//var_dump('file name na download is ' , $filename);
unlink($filename);
}
private function get_filename($filename, $timestamp){
if(strtoupper(substr($filename, -4))=='.PDF'){
$filename = substr($filename, 0, (strlen($filename)-4));
}
if($timestamp){
date_default_timezone_set("UTC");
$date = new DateTime();
$filename.='_'.$date->format('U');
}else{
$filename;
}
return MYROOTPATH.$this->pdffolder.$filename.'.pdf';
}
private function get_header($header){
if(!$header){
return FALSE;
}elseif(strlen($header)<=1){
return $this->load->view('ijkpartituur/reports/default_header', '', TRUE);
}else{
return $header;
}
}
private function get_footer($header){
if(!$header){
return FALSE;
}elseif(strlen($header)<=1){
return $this->load->view('reports/default_footer', '', TRUE);
}else{
return $header;
}
}
private function get_page_size($pagesize){
if(!$pagesize){
return $this->pagesize;
}elseif(!in_array($pagesize, array('A3', 'A4', 'A5', 'Legal', 'Letter', 'Tabloid'))){
return $this->pagesize;
}else{
return $pagesize;
}
}
private function get_margins($margins){
$add='';
if(!$margins){
return $this->margins;
}elseif(!is_array($margins)){
$margins = str_replace('cm', $margins);
if(!is_numeric($margins)) return $this->margins;
return array($margins.'cm',$margins.'cm',$margins.'cm',$margins.'cm');
}elseif(count($margins)==2){
$margin1 = str_replace('cm', $margins[0]);
$margin2 = str_replace('cm', $margins[1]);
if(!is_numeric($margin1) && !is_numeric($margins2)) return $this->margins;
if(!is_numeric($margin1)){
return array($this->margins[0].'cm', $margins2.'cm', $this->margins[2].'cm', $margins2.'cm');
}elseif(!is_numeric($margin1)){
return array($margins1.'cm', $this->margins[1].'cm', $margins1.'cm', $this->margins[3].'cm');
}else{
return array($margins1.'cm', $margins2.'cm', $margins1.'cm', $margins2.'cm');
}
}elseif(count($margins)==4){
for($i=0; $i<=3; $i++){
if(is_numeric(str_replace('cm', '',$margins[$i]))){
$newmargins[$i] = str_replace('cm', '',$margins[$i]). 'cm';
}else{
$newmargins[$i] = str_replace('cm', '',$this->margins[$i]). 'cm';
}
}
return $newmargins;
}else{
return $this->margins;
}
}
private function get_orientation($orientation){
if(in_array($orientation, array('portrait', 'landscape'))){
return $orientation;
}else{
return $this->orientation;
}
}
}
+133
View File
@@ -0,0 +1,133 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Phantom_model
*
* @author Theo Weijmer
* @date juni 28, 2013 1:41 PM
*
*
*
*/
class Phantom_model extends CI_Model{
public function create_pdf($html, $file, $header=FALSE, $footer=FALSE, $margins=array(),$orientatie="PORTRAIT"){
if( ! is_array($margins) ) $margins = array();
$curl = curl_init();
$data = array('html'=>$html, 'file'=>$file, 'app'=>'MONPAS');
if( $header ) $data['header'] = $header;
if( $footer ) $data['footer'] = $footer;
if( $margins ) $data['margins'] = serialize($margins);
$data['orientation']=$orientatie;
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://print.pensare-services.nl/print',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data
));
$pdf = curl_exec($curl);
curl_close($curl);
// echo($pdf);
// die;
$date = new DateTime();
$file.= '_'.$date->format('U').'.pdf';
// CodeIgniter SPECIFIEK
$this->load->helper('download');
force_download($file, $pdf);
}
public function create_img($html, $file, $header=FALSE, $footer=FALSE, $margins=array()){
if( ! is_array($margins) ) $margins = array();
$curl = curl_init();
$data = array('html'=>$html, 'file'=>$file, 'app'=>'MONPAS');
if( $header ) $data['header'] = $header;
if( $footer ) $data['footer'] = $footer;
if( $margins ) $data['margins'] = serialize($margins);
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://print.pensare-services.nl/test/1',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data
));
$img= curl_exec($curl);
//file_put_contents( 'test.png', $img);
curl_close($curl);
// return $img;
return base64_encode($img);
// $date = new DateTime();
// $file = '~/Sites/monpas/public/img/'.$file.'_'.$date->format('U').'.png';
// // CodeIgniter SPECIFIEK
// $this->load->helper('download');
// force_download($file, $img);
}
function create_pdf_with_save($html, $file, $header = FALSE, $footer = FALSE, $margins = array(), $orientation='portrait', $path=FALSE)
{
$this->load->helper( 'file' );
$pdf = $this->create_and_get_pdf( $html, $file, $header, $footer, $margins, $orientation );
$date = new DateTime();
if ($path ) {
$file = $file;
$filePath = $path.$file;
}
else {
$file = $file . '_' . $date->format( 'U' );
$filePath = $this->compactsoppath . $file . '.pdf';
}
write_file( $filePath, $pdf );
return $file;
}
function create_and_get_pdf($html, $file, $header = FALSE, $footer = FALSE, $margins = array(), $orientation, $footerFirstpage=TRUE, $headerFirstpage=TRUE)
{
//margins [left, right, top, bottom, height header]
if ( ! is_array( $margins ) ) $margins = array();
$curl = curl_init();
$data = array('html' => $html, 'file' => $file, 'app' => 'Monpas');
if ( $header ) $data['header'] = $header;
if ( $footer ) $data['footer'] = $footer;
if ( $margins ) $data['margins'] = serialize( $margins );
$data['footerFirstpage'] = $footerFirstpage;
$data['headerFirstpage'] = $headerFirstpage;
$data['orientation'] = $orientation;
curl_setopt_array( $curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://print.pensare-services.nl/print',
// CURLOPT_URL => 'http://pdf.pensare-services.nl/index.php/pdfcreate',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data
) );
$pdf = curl_exec( $curl );
curl_close( $curl );
return $pdf;
}
}
@@ -0,0 +1,79 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Autorisatie_model
*
* @author Theo Weijmer
* @date april 26, 2013 2:21 PM
*
*
*
*/
class Autorisaties_model extends MY_Model{
protected $tablename = 'tb_autorisaties';
function __construct(){
parent::__construct();
$models = array('Autorisatietypes_model');
$this->load->model($models);
}
function check_autorisatie($role, $level){
$this->sql = " SELECT {$role} & {$level} AS level";
$check = $this->get_query_row('level');
return $check;
}
function get_autorisaties($level){
$autotypes = $this->Autorisatietypes_model->get_records_where();
if(!$autotypes) return FALSE;
foreach($autotypes as $autotype){
if($this->check_autorisatie($autotype->autorisatietype_level, $level)){
$autorisaties[] = $autotype->autorisatietype_naam;
}
}
if(!isset($autorisaties)) $autorisaties = FALSE;
return $autorisaties;
}
function check_partituur_access($partituurid, $type){
$read = TRUE;
$write= TRUE;
if(!$this->admin){
$partorgid = $this->Partituurs_model->get_record_by_id($partituurid, 'partituur_organisatie_id');
if($this->globorgid!=$partorgid){
$read = FALSE;
$write= FALSE;
}else{
// aangepast van $this->role naar $this->userrole
if(!$this->check_autorisatie(WRITE, $this->userrole)){
$write = FALSE;
}
}
}
if($type==1){
return $read;
}else{
return $write;
}
}
function get_autorisaties_per_gebruiker($min,$max){
$this->sql = "SELECT id, autorisatietype_level as level, autorisatietype_naam as omschrijving
FROM tb_autorisatietypes
WHERE autorisatietype_level >= {$min}
AND autorisatietype_level <= {$max} ";
return $this->get_query_result();
}
}
@@ -0,0 +1,70 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Autorisatietypes_model
*
* @author Theo Weijmer
* @date juli 19, 2013 3:19 PM
*
*
*
*/
class Autorisatietypes_model extends MY_Model{
protected $tablename = 'tb_autorisatietypes';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,70 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Challanges_model
*
* @author Theo Weijmer
* @date mei 11, 2013 12:33 PM
*
*
*
*/
class Challanges_model extends MY_Model{
protected $tablename = 'tb_challanges';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details(){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,106 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Doctags_model
*
* @author Theo Weijmer
* @date juli 17, 2013 10:57 AM
*
*
*
*/
class Doctags_model extends MY_Model{
protected $tablename = 'tb_doctags';
function __construct(){
parent::__construct();
$models = array('ijkpartituur/Documents_model');
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$tag = $this->Tags_model->get_single_detail(array('id'=>$record->id));
$details->tagname = $tag->tagname;
$details->tagid = $tag->id;
return $details;
}
function get_selected_tags($documentid){
$this->db->order_by('tag_name');
$this->db->from($this->tablename);
$this->db->join('tb_tags', 'tb_tags.id = doctag_tag_id');
$this->db->where(array('doctag_document_id'=>$documentid));
$records = $this->get_ar_query();
$details = $this->get_records_details($records);
return $details;
}
function get_non_selected_tags($documentid){
$this->sql = "
SELECT T.*
FROM tb_tags T
LEFT JOIN (
SELECT *
FROM tb_doctags D
WHERE doctag_document_id = {$documentid}
) Q1
ON T.id = Q1.doctag_tag_id
WHERE Q1.id IS NULL
ORDER BY tag_name";
$records = $this->get_query_result();
$details = $this->get_records_details($records);
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,76 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Doctypes_model
*
* @author Theo Weijmer
* @date juni 11, 2013 8:57 PM
*
*
*
*/
class Doctypes_model extends MY_Model{
protected $tablename = 'tb_doctypes';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
if($record){
$details = $this->get_record_details($record);
}else{
$details = FALSE;
}
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->name = $record->doctype_name;
$details->icon = $record->doctype_icon;
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,77 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Files_model
*
* @author Theo Weijmer
* @date juni 11, 2013 4:13 PM
*
*
*
*/
class Documents_model extends MY_Model{
protected $tablename = 'tb_documents';
function __construct(){
parent::__construct();
$models = array('ijkpartituur/Doctypes_model');
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->original = $record->document_original;
$details->name = $record->document_name;
$details->extension = $record->document_extension;
$details->size = $record->document_size;
$details->doctypeid = $record->document_doctype_id;
$details->doctype = $this->Doctypes_model->get_single_detail(array('id'=>$record->document_doctype_id));
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,72 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Eigenpijlers_model
*
* @author Theo Weijmer
* @date mei 8, 2013 4:21 PM
*
*
*
*/
class Eigenpijlers_model extends MY_Model{
protected $tablename = 'tb_eigenpijlers';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_pijlers_not_in_partituur($orgid, $partID){
$this->sql ="SELECT id, eigenpijler_naam as naam
FROM tb_eigenpijlers ep
WHERE ep.orgID = {$orgid}
AND ep.id not in (SELECT eigenpijlerID FROM tb_parteigenpijlers pep where pep.partituurID = {$partID})";
return $this->get_query_result();
}
function get_details($where){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->naam = $record->eigenpijler_naam;
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,10 @@
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
@@ -0,0 +1,71 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Mailadresses_model
*
* @author Theo Weijmer
* @date juli 22, 2013 11:48 AM
*
*
*
*/
class Mailadresses_model extends MY_Model{
protected $tablename = 'tb_mailadresses';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->adress = $record->mailadress_adress;
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,76 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Mails_model
*
* @author Theo Weijmer
* @date juli 22, 2013 11:28 AM
*
*
*
*/
class Mails_model extends MY_Model{
protected $tablename = 'tb_mails';
function __construct(){
parent::__construct();
$models = array('ijkpartituur/Mailadresses_model');
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->naam = $record->mail_name;
$details->template = $record->mail_template;
$details->uitleg = $record->uitleg;
$data = array('mailadress_mail_id'=>$record->id, 'mailadress_organisatie_id'=>$this->globorgid);
$details->adresses = $this->Mailadresses_model->get_details($data);
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,45 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten x doelgroepen model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModActDoel extends MY_Model{
protected $tablename = 'tbActxDoelgroep';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function doelgroepen_per_activiteit($actID){
$this->sql="SELECT d.id, d.omschrijving
FROM tbActxDoelgroep a, tbDoelgroepen d
WHERE a.activiteitID = {$actID}
AND d.id = a.doelgroepID";
return $this->get_query_result();
}
function doelgroepen_niet_in_activiteit($actID){
$this->sql = "SELECT d.id, d.omschrijving
FROM tbDoelgroepen d
WHERE d.id NOT IN (SELECT doelgroepID FROM tbActxDoelgroep WHERE activiteitID = {$actID} )";
return $this->get_query_result();
}
function delete_link($actID, $hulpID){
$this->sql = "DELETE FROM tbActxDoelgroep
WHERE activiteitID = {$actID}
AND doelgroepID = {$hulpID}";
$this->db->query($this->sql);
}
function get_doelgroepen_per_act ($actID){
$this->sql = "SELECT d.id, d.omschrijving, a.id as padID
FROM tbActxDoelgroep a, tbDoelgroepen d
WHERE a.activiteitID ={$actID}
AND d.id = a.doelgroepID";
return $this->get_query_result();
}
}
@@ -0,0 +1,56 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModActHulp extends MY_Model{
protected $tablename = 'tbActxHulpmiddel';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function middelen_per_activiteit($actID){
$this->sql = "SELECT h.id, h.omschrijving , h.filenaam
FROM tbHulpmiddelen h , tbActxHulpmiddel a
WHERE a.actID = {$actID}
AND h.ID=a.hulpID ";
return $this->get_query_result();
}
function middelen_niet_in_activiteit($actID,$pijlerID){
$this->sql = "SELECT h.id, h.omschrijving , h.filenaam
FROM tbHulpmiddelen h
WHERE h.id NOT IN (SELECT hulpID FROM tbActxHulpmiddel WHERE actID = {$actID} )
AND pijlerID = {$pijlerID}";
return $this->get_query_result();
}
function delete_link($actID, $hulpID){
$this->sql = "DELETE FROM tbActxHulpmiddel
WHERE actID = {$actID}
AND hulpID = {$hulpID}";
$this->db->query($this->sql);
}
function get_act_per_middel($middelID){
$this->sql= "SELECT a.id, p.naam as pijler, a.naam,
f.naam as fase,
o.naamkort as bron
FROM tbActxHulpmiddel h, tbPijlers p , tbActiviteiten a
LEFT JOIN tb_organisaties o
ON o.id = a.bronID
LEFT JOIN tbFases f
ON f.id = a.faseID
WHERE h.hulpID = {$middelID}
AND a.id = h.actID
AND p.id = a.pijlerID";
return $this->get_query_result();
}
}
@@ -0,0 +1,130 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modactiviteiten extends MY_Model{
protected $tablename = 'tbActiviteiten';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_activiteiten_per_pijler($pijler, $bronID=false,$zoekstring=false){
$this->sql = "SELECT a.id, a.naam, a.pijlerID,
a.inclusiviteitsniveau,
a.omschrijving,
n.omschrijving as niveau,
a.omschrijving,
a.duur,
a.resultaatomschrijving,
a.email_dagen,
a.email_pleider,
a.email_verantwoordelijke,
o.naamkort as bron,
f.naam as fase
FROM tbActiviteiten a
LEFT JOIN tbNiveaus n
ON a.inclusiviteitsniveau = n.id
LEFT JOIN tbFases f
ON f.id = a.faseID
LEFT JOIN tb_organisaties o
ON o.id = a.bronID
WHERE pijlerID = {$pijler}";
if ($bronID > 0) { $this->sql .= " AND a.bronID = {$bronID}" ;}
if ($zoekstring !== 'undefined') {$this->sql .= " AND a.naam LIKE '%{$zoekstring}%' ";}
$this->sql .= " ORDER BY faseID, a.naam";
return $this->get_query_result();
}
function getAinfo ($activiteitID){
$this->sql = "SELECT a.id,
a.naam,
a.inclusiviteitsniveau,
a.pijlerID,
a.faseID,
f.naam as fasenaam,
a.resultaatomschrijving,
n.omschrijving as niveau,
a.omschrijving, a.duur,
a.email_dagen, a.email_pleider, a.email_verantwoordelijke,
a.bronID as bronID, o.naamkort as bron,
p.naam as pijlernaam
FROM tbActiviteiten a
LEFT JOIN tb_organisaties o
ON o.id= a.bronID
LEFT JOIN tbPijlers p
ON p.id = a.pijlerID
LEFT JOIN tbFases f
ON f.id = a.faseID
LEFT JOIN tbNiveaus n
ON n.id = a.inclusiviteitsniveau
WHERE a.id = {$activiteitID}
";
return $this->get_query_result();
}
function get_partituur_activiteiten_per_pijler($partID,$pijler){
// get alle activiteiten bij een pijler, die nog niet izjn opgenoemen in de partituur
// inclusief eigen activiteiten
$this->sql = "SELECT a.id, a.naam, a.inclusiviteitsniveau,
n.omschrijving as niveau,
a.omschrijving, a.duur,
a.faseID,
f.naam as fase,
o.naamkort as bron,
p.naam as pijlernaam, p.omschrijving
FROM tbActiviteiten a
LEFT JOIN tb_organisaties o
ON a.bronID = o.id
LEFT JOIN tbNiveaus n
ON a.inclusiviteitsniveau = n.id
LEFT JOIN tbFases f
ON f.id = a.faseID
LEFT JOIN tbPijlers p
ON p.id = a.pijlerID
WHERE (pijlerID = {$pijler} OR (pijlerID = 0 and bronID =$this->globorgid))
ORDER BY a.bronID, f.volgorde , a.naam";
return $this->get_query_result();
}
function get_kosten_per_activiteit($actID){
$this->sql = "SELECT id, omschrijving, kosten as bedrag, activiteitID as actID
FROM tbActKosten
WHERE activiteitID = $actID" ;
$results = $this->get_query_result();
if ($results) {
foreach ($results as $result) {
$result->bedrag = mysql2bedrag($result->bedrag);
};
};
return $results;
}
function get_kosten_per_kost($kostID){
$this->sql = "SELECT id, omschrijving, kosten as bedrag, activiteitID as actID
FROM tbActKosten
WHERE id = $kostID" ;
$results = $this->get_query_result();
foreach ($results as $result) {
$result->bedrag = mysql2bedrag($result->bedrag);
};
return $results;
}
function get_doelgroepen_per_activiteit ($actID){
$this->sql = "SELECT d.id, d.omschrijving
FROM tbActxDoelgroep a, tbDoelgroepen d
WHERE a.activiteitID ={$actID}
AND d.id = a.doelgroepID";
return $this->get_query_result();
}
function get_hulpmiddelen_per_activiteit($actID){
$this->sql = "SELECT h.id, h.omschrijving
FROM tbHulpmiddelen h, tbActxHulpmiddel ah
WHERE ah.actID = {$actID}
AND h.id = ah.hulpID";
return $this->get_query_result();
}
}
@@ -0,0 +1,130 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modactiviteiten extends MY_Model{
protected $tablename = 'tbActiviteiten';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_activiteiten_per_pijler($pijler, $bronID=false,$zoekstring=false){
$this->sql = "SELECT a.id, a.naam, a.pijlerID,
a.inclusiviteitsniveau,
a.omschrijving,
n.omschrijving as niveau,
a.omschrijving,
a.duur,
a.resultaatomschrijving,
a.email_dagen,
a.email_pleider,
a.email_verantwoordelijke,
o.naamkort as bron,
f.naam as fase
FROM tbActiviteiten a
LEFT JOIN tbNiveaus n
ON a.inclusiviteitsniveau = n.id
LEFT JOIN tbFases f
ON f.id = a.faseID
LEFT JOIN tb_organisaties o
ON o.id = a.bronID
WHERE pijlerID = {$pijler}";
if ($bronID > 0) { $this->sql .= " AND a.bronID = {$bronID}" ;}
if ($zoekstring !== 'undefined') {$this->sql .= " AND a.naam LIKE '%{$zoekstring}%' ";}
$this->sql .= " ORDER BY faseID, a.naam";
return $this->get_query_result();
}
function getAinfo ($activiteitID){
$this->sql = "SELECT a.id,
a.naam,
a.inclusiviteitsniveau,
a.pijlerID,
a.faseID,
f.naam as fasenaam,
a.resultaatomschrijving,
n.omschrijving as niveau,
a.omschrijving, a.duur,
a.email_dagen, a.email_pleider, a.email_verantwoordelijke,
a.bronID as bronID, o.naamkort as bron,
p.naam as pijlernaam
FROM tbActiviteiten a
LEFT JOIN tb_organisaties o
ON o.id= a.bronID
LEFT JOIN tbPijlers p
ON p.id = a.pijlerID
LEFT JOIN tbFases f
ON f.id = a.faseID
LEFT JOIN tbNiveaus n
ON n.id = a.inclusiviteitsniveau
WHERE a.id = {$activiteitID}
";
return $this->get_query_result();
}
function get_partituur_activiteiten_per_pijler($partID,$pijler){
// get alle activiteiten bij een pijler, die nog niet izjn opgenoemen in de partituur
// inclusief eigen activiteiten
$this->sql = "SELECT a.id, a.naam, a.inclusiviteitsniveau,
n.omschrijving as niveau,
a.omschrijving, a.duur,
a.faseID,
f.naam as fase,
o.naamkort as bron,
p.naam as pijlernaam, p.omschrijving
FROM tbActiviteiten a
LEFT JOIN tb_organisaties o
ON a.bronID = o.id
LEFT JOIN tbNiveaus n
ON a.inclusiviteitsniveau = n.id
LEFT JOIN tbFases f
ON f.id = a.faseID
LEFT JOIN tbPijlers p
ON p.id = a.pijlerID
WHERE (pijlerID = {$pijler} OR (pijlerID = 0 and bronID =$this->globorgid))
ORDER BY a.bronID, f.volgorde , a.naam";
return $this->get_query_result();
}
function get_kosten_per_activiteit($actID){
$this->sql = "SELECT id, omschrijving, kosten as bedrag, activiteitID as actID
FROM tbActKosten
WHERE activiteitID = $actID" ;
$results = $this->get_query_result();
if ($results) {
foreach ($results as $result) {
$result->bedrag = mysql2bedrag($result->bedrag);
};
};
return $results;
}
function get_kosten_per_kost($kostID){
$this->sql = "SELECT id, omschrijving, kosten as bedrag, activiteitID as actID
FROM tbActKosten
WHERE id = $kostID" ;
$results = $this->get_query_result();
foreach ($results as $result) {
$result->bedrag = mysql2bedrag($result->bedrag);
};
return $results;
}
function get_doelgroepen_per_activiteit ($actID){
$this->sql = "SELECT d.id, d.omschrijving
FROM tbActxDoelgroep a, tbDoelgroepen d
WHERE a.activiteitID ={$actID}
AND d.id = a.doelgroepID";
return $this->get_query_result();
}
function get_hulpmiddelen_per_activiteit($actID){
$this->sql = "SELECT h.id, h.omschrijving
FROM tbHulpmiddelen h, tbActxHulpmiddel ah
WHERE ah.actID = {$actID}
AND h.id = ah.hulpID";
return $this->get_query_result();
}
}
@@ -0,0 +1,85 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Agendamodel
*
* @author Liesbeth
* @date april 25 2013
*/
class ModAgenda extends MY_Model{
protected $tablename = 'tbAgenda';
function __construct(){
parent::__construct();
// $models = array('Pijlers_model');
// $this->load->model($models);
}
function get_items($pijlerID, $activiteitID, $maand, $jaar){
$this->sql="SELECT a.id, a.owner, a.toegang, a.wijzig,
IF ((a.owner = {$this->userid}
OR (SELECT a.wijzig & $this->userrole)!=0), true, false) as schrijf,
a.pijlerID, a.activiteitID,
COALESCE(pa.naam,'geen') as actNaam,
colorcode ,
dag, maand, jaar,
startUur, startMinuut, eindUur, eindMinuut,
titel, a.opmerking
FROM tbAgenda a
LEFT JOIN tbPartActiviteiten pa
ON pa.id =a.activiteitID
WHERE maand = {$maand}
AND jaar = {$jaar}";
if ($pijlerID > 0) {
$this->sql.= " AND a.pijlerID = {$pijlerID} ";
};
if ($activiteitID> 0) {
$this->sql .= " AND a.activiteitID = {$activiteitID}" ;
};
$this->sql .= " AND (owner = {$this->userid}
OR (SELECT toegang & $this->userrole)!=0
)
AND orgid = {$this->globorgid}
ORDER BY a.jaar, a.maand,a.dag,a.startUur , a.startMinuut" ;
return $this->get_query_result();
}
function get_all_items( $activiteitID,$uid,$ulevel,$orgid){
$this->sql="SELECT dag, maand, jaar,
startUur, startMinuut, eindUur, eindMinuut,
titel, a.opmerking
FROM tbAgenda a
WHERE a.activiteitID = {$activiteitID}
AND (owner = {$uid}
OR (SELECT toegang & $ulevel)!=0
)
AND orgid = {$orgid}
ORDER BY a.jaar, a.maand,a.dag,a.startUur , a.startMinuut" ;
return $this->get_query_result();
}
function find_min_dag($pijlerID){
$this->sql="SELECT MIN(STR_TO_DATE(concat(dag,',',maand,',',jaar),'%d,%m,%Y')) as mindag
FROM tbAgenda
WHERE pijlerID = {$pijlerID} ";
return $this->get_query_result();
}
function find_max_dag($pijlerID){
$this->sql="SELECT MAX(STR_TO_DATE(concat(dag,',',maand,',',jaar),'%d,%m,%Y')) as maxdag
FROM tbAgenda
WHERE pijlerID = {$pijlerID} ";
return $this->get_query_result();
}
function find_minmax_dag($pijlerID,$actID=FALSE){
$this->sql="SELECT MIN(STR_TO_DATE(concat(dag,',',maand,',',jaar),'%d,%m,%Y')) as mindag,
MAX(STR_TO_DATE(concat(dag,',',maand,',',jaar),'%d,%m,%Y')) as maxdag
FROM tbAgenda
WHERE pijlerID = {$pijlerID}";
if ($actID) { $this->sql .= " AND activiteitID = {$actID} "; };
return $this->get_query_result();
}
} // einde class ModAgenda
@@ -0,0 +1,24 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten x doelgroepen model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modbronnen extends MY_Model{
protected $tablename = 'tbBronnen';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_bronnen(){
$this->sql="SELECT id, naam
FROM tbBronnen";
return $this->get_query_result();
}
}
@@ -0,0 +1,34 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Doelgroepen model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModDoelgroepen extends MY_Model{
protected $tablename = 'tbdoelgroepen';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function getAll(){
$this->sql = "SELECT id, omschrijving
FROM tbDoelgroepen";
return $this->get_query_result();
}
function findNoUse($doelgroepID){
$this->sql = "SELECT count(*) as aantal
FROM tbActxDoelgroep a, tbPartActxDoelgroep p
WHERE a.doelgroepID = {$doelgroepID}
OR p.doelgroepID = {$doelgroepID}";
$count = $this->db->query($this->sql)->row()->aantal;
if ($count > 0) {return false;}
else {return true;};
}
}
@@ -0,0 +1,35 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of fasesmodel
*
* @author Liesbeth
* @date 3 juni 2013
*/
class Modfases extends MY_Model{
protected $tablename = 'tbFases';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_fases(){
$this->sql="SELECT id, naam
FROM tbFases
ORDER BY volgorde";
return $this->get_query_result();
}
function get_kleuren(){
$this->sql =" SELECT naam, kleur
FROM tbFases
ORDER BY volgorde";
$res = $this->get_query_result();
$onb = (object) array("naam"=>"onbekend", "kleur"=>"#989898");
array_unshift($res,$onb );
return $res;
}
}
@@ -0,0 +1,26 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of helpdesk model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modhelpdesk extends MY_Model{
protected $tablename = 'tbHelpdesk';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_helpdesk(){
$this->sql="SELECT email, telefoon,handleiding
FROM tbHelpdesk
WHERE id = 1";
return $this->get_query_row();
}
}
@@ -0,0 +1,92 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modhulpmiddelen extends MY_Model{
protected $tablename = 'tbHulpmiddelen';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_lijst($pijlerID,$filterType,$filternaam){
$this->sql = " SELECT h.id, h.omschrijving, h.pijlerID
FROM tbHulpmiddelen h
WHERE pijlerID={$pijlerID}";
if ($filternaam){
$this->sql.= " AND omschrijving LIKE '%{$filternaam}%' ";
}
$this->sql .=" AND organisatieniveau ={$filterType}
ORDER BY omschrijving";
return $this->get_query_result();
}
function get_alle_hulpmiddelen(){
$this->sql = " SELECT h.id, h.omschrijving, h.pijlerID,p.naam as pijlernaam
FROM tbHulpmiddelen h
LEFT JOIN tbPijlers p
ON p.id = h.pijlerID
WHERE p.fw_versie = {$this->globVersieID}
ORDER BY p.volgorde, h.omschrijving ";
return $this->get_query_result();
}
function get_selected_hulpmiddelen($pijlerid, $ReedsIncluded){
$this->sql = " SELECT h.id, h.omschrijving, h.pijlerID
FROM tbHulpmiddelen h
WHERE (h.pijlerID = {$pijlerid} OR h.pijlerID = 0)";
if ($ReedsIncluded){
$this->sql .=" AND NOT(h.id IN ($ReedsIncluded)) ";
}
$this->sql .=" ORDER BY pijlerID DESC, h.omschrijving ";
return $this->get_query_result();
}
function get_hulpmiddelen_per_pijler($pijlerID){
$this->sql = "SELECT h.id,
o.naamkort as naamkort,
omschrijving,
opmerkingen,
organisatieniveau
FROM tbHulpmiddelen h
LEFT JOIN tb_organisaties o
ON o.id = h.bronID
WHERE pijlerID={$pijlerID}
ORDER BY omschrijving" ;
return $this->get_query_result();
}
function get_nieuwe_middel($newID){
$this->sql = " SELECT id, omschrijving, filenaam
FROM tbHulpmiddelen
WHERE id={$newID}
ORDER BY omschrijving";
return $this->get_query_result();
}
function get_middel($middelID){
$this->sql = "SELECT h.id, h.omschrijving, h.opmerkingen,h.filenaam, h.bronID, h.organisatieniveau as soort,
p.naam as pijlernaam,
o.naamkort as bron
FROM tbHulpmiddelen h
LEFT JOIN tb_organisaties o
ON o.id = h.bronID
LEFT JOIN tbPijlers p
ON p.id = h.pijlerID
WHERE h.id ={$middelID}";
return $this->get_query_result();
}
function get_hulpmiddelenlijst_per_activiteit($actID, $hulpID = false){
$this->sql="SELECT a.id as hID, h.omschrijving , h.id as hulpID
FROM tbActxHulpmiddel a, tbHulpmiddelen h
WHERE a.actID = {$actID}";
if ($hulpID) {$this->sql .= " AND a.hulpID = {$hulpID}";} ;
$this->sql .= " AND h.id = a.hulpID";
return $this->get_query_result();
}
}
@@ -0,0 +1,32 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten x doelgroepen model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModKosten extends MY_Model{
protected $tablename = 'tbActKosten';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_kosten_per_activiteit($actID){
$this->sql = "SELECT id, omschrijving, kosten, activiteitID as actID
FROM tbActKosten
WHERE activiteitID = $actID" ;
$results = $this->get_query_result();
if (! empty($results)) {
foreach ($results as $result) {
$result->kosten = mysql2bedrag($result->kosten);
};
};
return $results;
}
}
@@ -0,0 +1,373 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modpartactiviteiten extends MY_Model{
protected $tablename = 'tbPartActiviteiten';
protected $matrix;
protected $matrixusers;
function __construct(){
parent::__construct();
$models = array('ijkpartituur/Modfases',
'ijkpartituur/Modpartactxorgusers',
'shared/Users_model');
$this->load->model($models);
}
function get_details($where=FALSE, $matrix=FALSE){
$this->matrixusers = $this->set_matrixusers();
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records=FALSE){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->naam = $record->naam;
$details->omschrijving = $record->omschrijving;
$details->start = mysql2date($record->start);
$details->eind = mysql2date($record->eind);
$details->fase = $this->Modfases->get_record_by_id($record->fase, 'naam');
$details->matrix = $this->set_matrix($details->id);
return $details;
}
/**
* [set_matrix description maakt een object per activiteit van gebruikers die een activiteit hebben]
*
* @param $activiteitid integer
*/
function set_matrix($activiteitid){
if($this->matrixusers){
$i=0;
foreach($this->matrixusers as $matrixuser){
$data = array('activiteitID'=>$activiteitid, 'orguserID'=>$matrixuser->id);
$details[$i]['id'] = $matrixuser->id;
$details[$i]['actief'] = $this->Modpartactxorgusers->check_for_record($data);
$data = array('id'=>$activiteitid, 'verantwoordelijke'=>$matrixuser->id);
$details[$i]['verant'] = $this->Modpartactiviteiten->check_for_record($data);
$i++;
}
}else{
$details = FALSE;
}
return $details;
}
/**
* [set_matrixusers description haalt alle gebruikers (orgusers) op
* die een activiteit hebben binnen de partituur (actief)]
*
* @return : array met de actieve gebruikers
*/
function set_matrixusers(){
$this->sql = " SELECT DISTINCT B.id, B.user_id
FROM tb_orgusers B
JOIN tb_users U
ON U.id = B.user_id
WHERE B.organisatie_id = {$this->globorgid}
ORDER BY U.achternaam, U.voornaam";
$actusers = $this->get_query_result();
if($actusers){
foreach($actusers as $actuser){
$actuser->fullname = $this->Users_model->get_fullname($actuser->user_id);
}
}
return $actusers;
}
function get_kortelijst($pijlerID){
$this->sql = " SELECT pa.id,
pa.naam,
pa.verantwoordelijke
FROM tbPartActiviteiten pa
WHERE pa.pijlerID={$pijlerID}
ORDER BY pa.sequence";
return $this->get_query_result();
}
function get_taaklijst($pijlerID,$dag=FALSE,$maand=FALSE,$jaar=FALSE){
// dit vervangt get_activiteiten_per_partituur
if ($dag) {$datestring = $jaar.'-'.$maand.'-'.$dag ;} ;
$this->sql = " SELECT pa.id,
pa.pijlerID,
pa.sequence as sequence,
pa.gereed as perc,
pa.naam as naam,
pa.omschrijving as omschrijving,
pa.start,
pa.eind ,
pa.duur as duur,
pa.niveau,
o.naamkort as bron
FROM tbPartActiviteiten pa
LEFT JOIN tb_orgusers ou
ON pa.verantwoordelijke = ou.id
LEFT JOIN tb_users u
ON u.id = ou.user_id
LEFT JOIN tb_organisaties o
ON o.id = pa.bronID
WHERE pa.pijlerID={$pijlerID} ";
if ($dag) {
$this->sql.=" AND pa.start <= '{$datestring}'
AND pa.eind >= '{$datestring}' ";
};
$this->sql .= " ORDER BY pa.sequence";
return $this->get_query_result();
}
function get_id_lijst ($partID,$pijlerID){
$this->sql = " SELECT id
FROM tbPartActiviteiten
WHERE partituurID = {$partID}
AND pijlerID = {$pijlerID}
ORDER BY sequence";
return $this->get_query_result();
}
function get_activiteiten_per_pijler($pijlerID){
$this->sql = "SELECT pa.id,
pa.naam,
pa.omschrijving,
CONCAT_WS(' ', u.voornaam, u.tussenvoegsel, u.achternaam) as verantwoordelijke,
pa.start,
pa.eind,
greatest(pa.duur,0) as duur,
pa.email_dagen,
pa.email_naar_pl,
pa.email_naar_vw,
pa.email_adres,
pa.gereed,
pa.opmerkingen,
f.naam as fase,
f.kleur,
o.naamkort as bron
FROM tbPartActiviteiten pa
LEFT JOIN tb_organisaties o
ON o.id = pa.bronID
LEFT JOIN tb_orgusers ou
ON ou.id = pa.verantwoordelijke
LEFT JOIN tb_users u
ON u.id = ou.user_id
LEFT JOIN tbFases f
ON f.id = pa.fase
WHERE pa.pijlerID= {$pijlerID}
ORDER BY f.volgorde, pa.naam";
return $this->get_query_result();
}
function get_activiteiten_per_partituur($partID, $pijlerID){
$this->sql = " SELECT pa.id,
pa.pijlerID,
pa.sequence as nr,
pa.gereed as perc,
pa.naam as name,
pa.omschrijving as omschrijving,
'fw' as code,
'1' as level,
pa.start,
pa.eind as end,
pa.duur as duration,
pa.niveau,
o.organistie_naamkort as bron,
p.naam as pijlernaam,
p.omschrijving
FROM tbPartPijlers pp, tbPartActiviteiten pa
LEFT JOIN tbPijlers p
ON p.id = pp.pijlerID
LEFT JOIN tb_orgusers o
ON pa.verantwoordelijke = o.id
LEFT JOIN tb_users u
ON u.id = o.user_id
LEFT JOIN tb_organisaties o
ON pa.bronID =o.id
WHERE pa.partituurID = {$partID}
AND pa.pijlerID={$pijlerID}
ORDER BY pa.sequence";
return $this->get_query_result();
}
function get_kosten_per_partituur_activiteit($actID){
$this->sql = "SELECT id, omschrijving, kosten
FROM tbPartActKosten
WHERE activiteitID = $actID" ;
return $this->get_query_result();
}
function get_doelgroepen_per_partituur_activiteit ($actID){
$this->sql = "SELECT d.id, d.omschrijving
FROM tbPartActxDoelgroep a, tbDoelgroepen d
WHERE a.activiteitID ={$actID}
AND d.id = a.doelgroepID";
return $this->get_query_result();
}
function get_hulpmiddelen_per_partituur_activiteit($actID){
$this->sql = "SELECT h.id, h.omschrijving
FROM tbPartActXHulpmiddel a, tbHulpmiddelen h
WHERE a.activiteitID = {$actID}
AND h.id = a.hulpmiddelID";
return $this->get_query_result();
}
function get_taak_info($taakID){
$this->sql = "SELECT pa.id as ID,
pa.partituurID,
pa.activiteitID,
pa.pijlerID as pijlerID,
p.naam as pijlernaam,
pa.naam as taaknaam,
pa.omschrijving as omschrijving,
pa.opmerkingen,
pa.bronID as soortTaak,
o.naam as bronOmschrijving,
pa.start, pa.eind,
greatest(pa.duur,0) as duur,
pa.afhankelijkvanID,
pa.verantwoordelijke ,
pa.gereed,
r.omschrijving as resOmschrijving,
r.resultaat ,
pa.fase,
pa.email_dagen as eSpanne,
pa.email_naar_pl as mailPleider,
pa.email_naar_vw as mailVerantwoordelijke,
pa.email_adres as mailNaarMail
FROM tbPijlers p,
tbPartPijlers pap,
tbPartActiviteiten pa
LEFT JOIN tbPartActResultaten r
ON pa.id = r.activiteitID
LEFT JOIN tb_organisaties o
ON o.id = pa.bronID
WHERE pa.id = {$taakID}
AND pap.id = pa.pijlerID
AND p.id = pap.pijlerID
";
$outcome = $this->get_query_row();
if ($outcome){
$outcome->start = mysql2date($outcome->start);
$outcome->eind = mysql2date($outcome->eind);
}
return $outcome;
}
function get_overige_taken_in_partituur ($partID, $taakID){
$this->sql = " SELECT id, naam
FROM tbPartActiviteiten pa
WHERE pa.partituurID={$partID}
AND pa.id <> $taakID";
return $this->get_query_result();
}
function get_uitvoerenden_per_activiteit($taakid){
$this->sql ="SELECT ou.id,
CONCAT_WS(' ' ,u.voornaam, u.tussenvoegsel, u.achternaam) as fullname
FROM tbPartActxOrgusers po, tb_orgusers ou, tb_users u
WHERE po.activiteitID = {$taakid}
AND ou.id = po.orguserID
AND u.id = ou.user_id";
return $this->get_query_result();
}
function get_overige_users_per_activiteit($taakid, $orgid){
$this->sql ="SELECT ou.id,
CONCAT_WS(' ' ,u.voornaam, u.tussenvoegsel, u.achternaam) as fullname
FROM tb_orgusers ou, tb_users u
WHERE ou.organisatie_id={$orgid}
AND NOT EXISTS (
SELECT orguserID
FROM tbPartActxOrgusers
WHERE activiteitID = {$taakid}
AND orguserID = ou.id)
AND u.id = ou.user_id";
// AND orguser_level != 0 ";
return $this->get_query_result();
}
function get_sum_kosten($partID){
$this->sql = " SELECT sum(k.kosten) as kosten
FROM tbPartActiviteiten pa
JOIN tbPartActKosten k
ON k.activiteitid = pa.id
WHERE pa.partituurID={$partID}";
$result= $this->db->query($this->sql);
return $result->row()->kosten;
}
function get_gem_gereed($partituurid){
$this->sql ="SELECT sum(gereed) as som, count(*) as aantal
FROM tbPartActiviteiten pa
WHERE pa.partituurID={$partituurid} ";
$result=$this->db->query($this->sql);
$tot = $result->row()->som;
$aantal = $result->row()->aantal;
if ($aantal == 0) {return 0;}
else {return $tot / $aantal;};
}
function get_partituur_gereed($partID){
// $this->db->join('tbPartActiviteiten', 'tbPartActiviteiten.id = '.$this->tablename.'.ActiviteitID');
$this->sql=" SELECT AVG(gereed) as gemgereed
FROM tbPartActiviteiten
WHERE partituurID = {$partID}
GROUP BY partituurID";
$gemgereed = $this->get_query_row();
if ($gemgereed) {
return round($gemgereed->gemgereed,0);
}
else { return 0 ; } ;
}
function get_activiteiten_per_user($orguserid, $partID = FALSE){
$this->sql = "SELECT pa.id, pa.naam, pa.start,pa.eind, pa.duur,pa.gereed,
f.naam as fase,
p.naam as pijler,
pa.pijlerid
FROM tbPartActiviteiten pa
LEFT JOIN tbFases f
ON f.id = pa.fase
LEFT JOIN tbPartPijlers pp
ON pp.id = pa.pijlerid
LEFT JOIN tbPijlers p
ON p.id = pp.pijlerID
WHERE pa.verantwoordelijke = $orguserid";
if ($partID) {$this->sql .= " AND pa.partituurID = {$partID}"; }
else {$this->sql .= " AND pa.partituurID = {$this->partituurid}"; };
return $this->get_query_result();
}
function get_minmax_activiteiten ($pijlerID){
$this->sql="SELECT MIN(start) as minStart,
MAX(start) as maxStart,
MIN(eind) as minEind,
MAX(eind) as maxEind
FROM tbPartActiviteiten
WHERE pijlerID = {$pijlerID} ";
return $this->get_query_row();
}
}
@@ -0,0 +1,40 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPartActKosten extends MY_Model{
protected $tablename = 'tbPartActKosten';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_kosten_per_activiteit($actID){
$this->sql = "SELECT id, omschrijving, kosten, activiteitID as actID
FROM tbPartActKosten
WHERE activiteitID = $actID" ;
$results = $this->get_query_result();
if (! empty($results)) {
foreach ($results as $result) {
$result->kosten = mysql2bedrag($result->kosten);
};
};
return $results;
}
function get_kosten_per_regel($kostID){
$this->sql = "SELECT id, omschrijving, kosten , activiteitID as actID
FROM tbPartActKosten
WHERE id = $kostID" ;
$results = $this->get_query_row();
$results->kosten = mysql2bedrag($results->kosten);
return $results;
}
}
@@ -0,0 +1,26 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPartActResultaten extends MY_Model{
protected $tablename = 'tbPartActResultaten';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_info($actID){
$this->sql = "SELECT omschrijving, resultaat
FROM tbPartActResultaten
WHERE activiteitID ={$actID}";
return $this->get_query_row();
}
}
@@ -0,0 +1,40 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPartActxDoelgroep extends MY_Model{
protected $tablename = 'tbPartActxDoelgroep';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_doelgroepen_per_act ($actID){
$this->sql = "SELECT d.id, d.omschrijving, a.id as padID
FROM tbPartActxDoelgroep a, tbDoelgroepen d
WHERE a.activiteitID ={$actID}
AND d.id = a.doelgroepID";
return $this->get_query_result();
}
function get_doelgroep($newID){
$this->sql = "SELECT d.id, d.omschrijving, a.id as padID
FROM tbPartActxDoelgroep a, tbDoelgroepen d
WHERE a.id ={$newID}
AND d.id = a.doelgroepID";
return $this->get_query_row();
}
function get_other_doelgroepen($actID){
$this->sql = "SELECT d.id, omschrijving
FROM tbDoelgroepen d
WHERE d.id not in (SELECT doelgroepID FROM tbPartActxDoelgroep a WHERE a.activiteitID = {$actID})";
return $this->get_query_result();
}
}
@@ -0,0 +1,42 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of partituur activiteiten x hulpmiddelen model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPartActxHulpmiddel extends MY_Model{
protected $tablename = 'tbPartActxHulpmiddel';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_hulpmiddelenlijst_per_activiteit($actID, $hulpID = false){
$this->sql="SELECT a.id as hID, h.omschrijving , h.id as hulpID
FROM tbPartActxHulpmiddel a, tbHulpmiddelen h
WHERE a.actID = {$actID}";
if ($hulpID) {$this->sql .= " AND a.hulpID = {$hulpID}";} ;
$this->sql .= " AND h.id = a.hulpID";
return $this->get_query_result();
}
function get_id_string($partactid){
$this->sql = "SELECT hulpID
FROM tbPartActxHulpmiddel
WHERE actID = {$partactid}";
$results = $this->get_query_result();
$strResult='';
if ($results){
foreach ($results as $result){
if (strlen($strResult) > 0) {$strResult .=',' ;};
$strResult .=$result->hulpID;
};
};
return $strResult;
}
}
@@ -0,0 +1,48 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of model
*
* @author Liesbeth
* @date april 25 2013
*/
class Modpartactxorgusers extends MY_Model{
protected $tablename = 'tbPartActxOrgusers';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_uitvoerenden ($actID){
$this->sql = " SELECT CONCAT_WS(' ' , voornaam,tussenvoegsel,achternaam) as naam
FROM tbPartActxOrgusers p
LEFT JOIN tb_orgusers o
on o.id = p.orguserID
LEFT JOIN tb_users u
ON u.id = o.user_id
WHERE p.activiteitID = {$actID}";
return $this->get_query_result();
}
function get_activiteiten_per_user($orguserid, $partID=FALSE){
$this->sql = "SELECT pa.id, pa.naam, pa.start,pa.eind, pa.duur,pa.gereed,
f.naam as fase,
p.naam as pijler,
pa.pijlerid
FROM tbPartActxOrgusers po, tbPartActiviteiten pa
LEFT JOIN tbFases f
ON f.id = pa.fase
LEFT JOIN tbPartPijlers pp
ON pp.id = pa.pijlerid
LEFT JOIN tbPijlers p
ON p.id = pp.pijlerID
WHERE po.orguserID = $orguserid
AND pa.id = po.activiteitID ";
if ($partID) { $this->sql .= " AND pa.partituurID = {$partID}" ;}
else { $this->sql .=" AND pa.partituurID = {$this->partituurid}"; };
return $this->get_query_result();
}
}
@@ -0,0 +1,19 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of part eigen activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPartEigenActiviteiten extends MY_Model{
protected $tablename = 'tbPartEigenActiviteiten';
function __construct(){
// parent::__construct();
//$models = array();
//$this->load->model($models);
}
}
@@ -0,0 +1,127 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Pijlers model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPartPijlers extends MY_Model{
protected $tablename = 'tbPartPijlers';
function __construct(){
parent::__construct('Modpartactiviteiten');
$models = array('ijkpartituur/Pijlers_model');
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
if($records){
foreach($records as $record){
if( $record->huidigniveau < $record->gewenstniveau) {
$details[] = $this->get_record_details($record);
}
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_record_details($record){
$details = new stdClass();
$details->id = $record->id;
$details->pijlernaam = $this->Pijlers_model->get_record_by_id($record->pijlerID, 'naam');
$details->pijlerid = $record->pijlerID;
$details->gewenst = $record->gewenstniveau;
$details->huidig = $record->huidigniveau;
$details->start = mysql2date($record->start);
$details->eind = mysql2date($record->eind);
$details->activiteiten = $this->Modpartactiviteiten->get_details(array('pijlerID'=>$record->id));
return $details;
}
function get_joined_details($partID){
$this->sql=" select pa.id,
pa.partituurID,
pa.pijlerID,
p.volgorde,
p.naam,
p.omschrijving,
pa.huidigniveau as huidig,
pa.gewenstniveau as gewenst,
pa.start,
pa.eind
from tbPartPijlers pa
join tbPijlers p
on pa.pijlerID = p.id
where pa.partituurID = {$partID}
order by p.volgorde";
return $this->get_query_result();
}
function get_pijlers_per_partituur($partID){
$this->sql = "SELECT pp.id ,
pp.pijlerID as pijlerID ,
p.omschrijving ,
p.naam as pijlerNaam,
'school' as code,
'0' as level,
pp.start,
pp.eind as eind,
'0' as perc,
'0' as duration
FROM tbPartPijlers pp, tbPijlers p
WHERE pp.partituurID = {$partID}
AND p.id = pp.pijlerID
AND pp.huidigniveau < pp.gewenstniveau";
return $this->get_query_result();
}
function get_part_pijler_info($pijlerID){
$this->sql="SELECT pp.id, p.naam as naam,
pp.start,
pp.eind
FROM tbPartPijlers pp
LEFT JOIN tbPijlers p
ON p.id = pp.pijlerID
WHERE pp.id = {$pijlerID}" ;
return $this->get_query_row();
}
function pijlers_in_periode($partID,$van,$tm) {
$this->sql = " SELECT pa.id, p.naam, pa.start, pa.eind
FROM tbPartPijlers pa
LEFT JOIN tbPijlers p
ON p.id= pa.pijlerID
WHERE partituurID = {$partID}
AND pa.huidigniveau < pa.gewenstniveau";
return $this->get_query_result();
}
function get_pijlernaam($partpijlerid){
$this->sql = "SELECT p.naam as naam
FROM tbPartPijlers pa
LEFT JOIN tbPijlers p
ON p.id = pa.pijlerID
WHERE pa.id = {$partpijlerid}";
$res = $this->get_query_row();
return $res->naam;
}
function get_minmax_dag($partID){
$this->sql="SELECT MIN(start) as mindag,
MAX(eind) as maxdag
FROM tbPartPijlers
WHERE partituurID = {$partID} ";
return $this->get_query_result();
}
}
@@ -0,0 +1,29 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Pijlers model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPijlers extends MY_Model{
protected $tablename = 'tbPijlers';
function __construct(){
parent::__construct();
// $models = array('Pijlers_model');
// $this->load->model($models);
}
function get_pijlers($globVersieID){
$this->sql="SELECT id ,
volgorde,
naam
FROM tbPijlers
WHERE fw_versie=$globVersieID
ORDER BY volgorde";
return $this->get_query_result();
}
}
@@ -0,0 +1,26 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of portfolio model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModPortfolio extends MY_Model{
protected $tablename = 'tbPortfolio';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_notes($actid){
$this->sql="SELECT id, toonnaam, partactID
FROM tbPortfolio
WHERE partactID = {$actid}
ORDER BY toonnaam";
return $this->get_query_result();
}
} // class definitie
@@ -0,0 +1,32 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Activiteiten model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModReferenties extends MY_Model{
protected $tablename = 'tbReferenties';
function __construct(){
parent::__construct();
//$models = array();
//$this->load->model($models);
}
function get_refs ($type=false,$zoek=false){
$this->sql = "SELECT id, naam, link, opmerking,soort,srtlink, docnaam
FROM tbReferenties";
if ($type) {$this->sql .=" WHERE soort = {$type} ";}
else { $this->sql .= " WHERE true " ; } ;
if ($zoek) {
$zoektekst = '%'.strtolower($zoek).'%';
$this ->sql .=" AND (LOWER(naam) LIKE '{$zoektekst}'
OR LOWER(link) LIKE '{$zoektekst}' )" ;} ;
$this->sql .= " ORDER BY naam";
return $this->get_query_result();
}
} // einde class modreferenties
@@ -0,0 +1,39 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Ruwe Scores model
*
* @author Liesbeth
* @date april 25 2013
*/
class ModRuweScores extends MY_Model{
protected $tablename = 'tbRuweScores';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_scores($partituurID){
$this->sql ="SELECT r.pijlerID,
r.score
FROM tbRuweScores r
LEFT JOIN tbPijlers p
ON p.id = r.pijlerID
WHERE r.partituurId={$partituurID}
ORDER BY r.pijlerID";
return $this->get_query_result();
}
function get_partituurID($van, $tm, $orgid) {
$this->sql = " SELECT MAX(partituurID) as partituurID
FROM tbRuweScores r
WHERE r.orgID ={$orgid}
AND STR_TO_DATE('{$van}' ,'%Y-%m-%d') <= r.creation_date
AND STR_TO_DATE('{$tm}' ,'%Y-%m-%d') >= r.creation_date ";
return $this->get_query_row("partituurID");
}
}
@@ -0,0 +1,257 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Mutatieslog_model
*
* @author Theo Weijmer
* @date februari 4, 2013 11:57 AM
*
*
*
*/
class Mutatielog_model extends MY_Model{
protected $tablename = 'tb_mutatielog';
function __construct(){
parent::__construct();
$models = array('shared/Orgusers_model', 'shared/Users_model', 'shared/Organisaties_model');
$this->load->model($models);
}
function check_if_busy($type){
$this->db->where_in('mutatielog_result_'.$type, array(1,2));
$check = $this->Mutatielog_model->get_records_where();
return $check;
}
function get_mutaties($type, $limit){
$this->db->order_by('mutatielog_crud_'.$type.', id');
$this->db->limit($limit);
$data = array('mutatielog_result_'.$type=>1);
$where= array('mutatielog_result_'.$type=>0);
$this->Mutatielog_model->update_record_where($data, $where);
$mutaties = $this->Mutatielog_model->get_records_where(array('mutatielog_result_'.$type=>1));
return $mutaties;
}
function get_mutatie($mutatie){
$this->sql = "
SELECT *
FROM ".$mutatie->mutatielog_database.".".$mutatie->mutatielog_tablename."
WHERE ".$mutatie->mutatielog_tableid_name." = ".$mutatie->mutatielog_id;
return $this->get_query_row();
}
function mutatie_get(){
$this->load->model('Mutaties_model');
$counted = $this->Mutaties_model->get_instances();
$waiting = $this->Mutaties_model->get_waiting();
$faulted = $this->Mutaties_model->get_faulted();
$data = array('counted'=>$counted, 'waiting'=>$waiting, 'faulted'=>$faulted);
$this->response($data);
}
function faulted_get(){
$this->load->model('Mutaties_model');
$database = $this->get('db');
$tablename= $this->get('tb');
$instances = $this->Mutaties_model->get_faulted_instances($database, $tablename);
$this->response(array('instances'=>$instances));
}
function faulted_post(){
$this->load->model('Mutatielog_model');
$instanceid = $this->post('instanceid');
$this->Mutatielog_model->update_record(array('mutatielog_result'=>9), $instanceid);
}
function faulted_put(){
$this->load->model('Mutatielog_model');
$instanceid = $this->post('instanceid');
$this->Mutatielog_model->update_record(array('mutatielog_result'=>0, 'mutatielog_retry'=>0), $instanceid);
}
/**
* Insert een record
* checkt eerst of het record al bestaat (return excist)
*
* @param array $mutatie bevat alle data van de mutatie
* @return string resultaat van de insert
*/
function mutatie_insert($mutatie){
$record = $this->make_record($mutatie);
if($this->check_for_record($mutatie)){
$status = 'excist';
}else{
$this->db->set($record);
$this->db->insert($mutatie->mutatielog_tablename);
if($mutatie->mutatielog_tablename=='tb_orgusers'){
$newid = $this->db->insert_id();
$status = $this->set_orgusers($newid);
}elseif($mutatie->mutatielog_tablename=='tb_organisaties'){
$newid = $this->db->insert_id();
$status = $this->set_organisatie($newid);
}else{
$status = 'success';
}
}
return $status;
}
/**
* Functie update het user_id en organsiatie_id in de tabel orgusers
* het user_id en organsiatie_id zijn niet noodzakelijkerwijs identiek
* in source en target
*
* @param int $orguserid id van het record dat moet worden gewijzigd
* @return string resultaat van de update
*/
function set_orgusers($orguserid){
$result = 'orguser';
$orguser = $this->Orgusers_model->get_record_by_id($orguserid);
if($orguser){
$data = array('portal_id'=>$orguser->user_id);
$user = $this->Users_model->get_records_where($data, TRUE);
$data = array('portal_id'=>$orguser->organisatie_id);
$org = $this->Organisaties_model->get_records_where($data, TRUE);
// var_dump($user);
// var_dump($org);
if($user && $org){
$data = array( 'user_id' => $user->id ,
'organisatie_id'=> $org->id );
$this->Orgusers_model->update_record($data, $orguserid);
$result = 'success';
}
}
return $result;
}
function set_organisatie($orgid){
//haalt het zojuist geinserte record op
$org = $this->Organisaties_model->get_record_by_id($orgid);
if($org->id == $org->valtonder_id){
//als het een nieuw= bestuur is organisatieid gelijk aan het nieuw ingevoerde id
$bestuurid = $orgid;
}else{
//haalt het record op van het bestuur (organisatie_id staat nog op het portal id)
$bestuurid = $this->Organisaties_model->get_records_where(array('portal_id'=>$org->valtonder_id), TRUE)->id;
}
$this->Organisaties_model->update_record(array('valtonder_id'=>$bestuurid), $orgid);
return 'success';
}
function mutatie_update($mutatie){
$record = $this->make_record($mutatie);
if(!$this->check_for_record($mutatie)){
$status= 'no-record';
}else{
if($mutatie->mutatielog_tablename=='tb_orgusers'){
unset($record['user_id']);
unset($record['organisatie_id']);
}elseif($mutatie->mutatielog_tablename=='tb_organisaties'){
unset($record['valtonder_id']);
}
$this->db->where($mutatie->mutatielog_tableid_name, $mutatie->mutatielog_id);
$this->db->update($mutatie->mutatielog_tablename, $record);
$status = 'success';
}
return $status;
}
function mutatie_delete($mutatie){
$this->db->where($mutatie->mutatielog_tableid_name, $mutatie->mutatielog_id);
$this->db->delete($mutatie->mutatielog_tablename);
return 'success';
}
function store_mutatie($mutatie){
$sql = "
INSERT INTO replicatie.replicatielog (replicatie_data, creation_date, created_by, last_update_date, last_updated_by)
VALUES('".mysql_real_escape_string(serialize($mutatie))."', NOW(), 'cron', NOW(), 'cron')";
$this->db->query($sql);
}
function check_for_record($mutatie){
$this->sql = "
SELECT *
FROM ".$mutatie->mutatielog_tablename."
WHERE ".$mutatie->mutatielog_tableid_name." = ".$mutatie->mutatielog_id;
return $this->get_query_result();
}
function make_record($mutatie){
if($mutatie->mutatielog_tablename=='tb_users') $mapping = $this->map_usertable();
if($mutatie->mutatielog_tablename=='tb_orgusers') $mapping = $this->map_orguserstable();
if($mutatie->mutatielog_tablename=='tb_organisaties') $mapping = $this->map_organisatietable();
foreach($mapping as $source => $target){
$record[$target] = $mutatie->record->$source;
}
return $record;
}
function map_usertable(){
$mapping = array(
'id' => 'portal_id' ,
'user_name' => 'gnaam' ,
'user_voornaam' => 'voornaam' ,
'user_tussenvoegsel'=> 'tussenvoegsel' ,
'user_achternaam' => 'achternaam' ,
'user_email' => 'email' ,
'user_password' => 'wachtwoord' ,
'user_salt' => 'zout' );
return $mapping;
}
function map_orguserstable(){
$mapping = array(
'id' => 'portal_id' ,
'organisatie_id'=> 'organisatie_id' ,
'user_id' => 'user_id'
// ,
// 'orguser_levelpartituur'=> 'orguser_level'
);
return $mapping;
}
function map_organisatietable(){
$mapping = array(
'id' => 'portal_id' ,
'organisatie_id' => 'valtonder_id' ,
'organisatie_naam' => 'naam' ,
'organisatie_naamkort' => 'onaamkort' ,
'organisatie_brin' => 'brin' ,
'organisatie_straat' => 'adres' ,
// 'organisatie_postcode' => 'organisatie_postcode' ,
'organisatie_plaats' => 'plaats' ,
// 'organisatie_mail' => 'organisatie_email' ,
// 'organisatie_telefoon' => 'organisatie_telefoon' ,
'organisatie_partituur' => 'partituur' ,
'organisatie_partituurdatum'=> 'partituurdatum' );
return $mapping;
}
}
@@ -0,0 +1,68 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of niveaus_model
*
* @author Theo Weijmer
* @date april 26, 2013 12:00 PM
*
*/
class Niveaus_model extends MY_Model{
protected $tablename = 'tbNiveaus';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_record_details($record){
$details = new stdClass();
$details->id = $record->id;
$details->nummer = $record->nummer;
$details->omschrijving = $record->omschrijving;
$details->tekst = $record->tekst;
return $details;
}
function get_last_niveaus ($lastVersieID){
$this->sql= "SELECT id,nummer, omschrijving,tekst
FROM tbNiveaus
WHERE fw_versie = {$lastVersieID}
AND actief = 1 ";
return $this->get_query_result();
}
function get_niveaus(){
$this->sql= "SELECT id, omschrijving
FROM tbNiveaus
WHERE fw_versie = {$this->globProfielVersieID}
ORDER BY nummer";
return $this->get_query_result();
}
function get_niveau($id) {
$this->sql = "SELECT nummer,
omschrijving as header,
tekst
FROM tbNiveaus
WHERE id= {$id}";
return $this->get_query_row();
}
}
@@ -0,0 +1,53 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Orgusers_model
*
* @author Theo Weijmer
* @date april 26, 2013 12:00 PM
*
*/
class Nivoprofielen_model extends MY_Model{
protected $tablename = 'tbNivoProfielen';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_profielen_niveaus($versieID){
$this->sql ="SELECT *
FROM tbNiveaus
WHERE fw_versie = {$versieID}
ORDER BY nummer";
return $this->get_query_result();
}
function get_profielen_profiel ($niveauID){
$this->sql = "SELECT pro.niveauID,
pro.waarde,
pro.id as profielID,
p.id as pijlerID,
p.naam
FROM tbPijlers p
LEFT OUTER JOIN tbNivoProfielen pro
ON p.id = pro.pijlerID
WHERE pro.niveauID = {$niveauID}
ORDER BY p.volgorde";
return $this->get_query_result();
}
function get_last_profielen($pijlerID){
$this->sql="SELECT niveauID, waarde
FROM tbNivoProfielen
WHERE pijlerID = {$pijlerID}";
return $this->get_query_result();
}
function update_niveau($oudID, $nieuwID,$minPijlerID){
$this->sql = "UPDATE tbNivoProfielen
SET niveauID = {$nieuwID}
WHERE niveauID={$oudID}
AND pijlerID >= {$minPijlerID}";
$this->db->query($this->sql);
}
} // einde class definitie
@@ -0,0 +1,280 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Organisaties_model
*
* @author Theo Weijmer
* @date april 26, 2013 4:09 PM
*
*
*
*/
class Organisaties_model extends MY_Model{
protected $tablename = 'tb_organisaties';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where=FALSE, $like=FALSE){
if($like){
$records = $this->get_searchbgs($like);
}else{
$records = $this->get_records_where($where);
}
if($records){
foreach($records as $record){
$details[] = $this->get_organisatie_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_organisatie_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->orgnaam = $record->naam;
$details->orgkort = $record->naamkort;
$details->brin = $record->organisatie_brin;
$details->vestiging = $record->organisatie_vestiging;
$details->adres = $record->organisatie_adres;
$details->postcode = $record->organisatie_postcode;
$details->plaats = $record->organisatie_plaats;
$details->email = $record->organisatie_email;
$details->telefoon = $record->organisatie_telefoon;
if($record->id==$record->organisatie_id){
$data = array('organisatie_id'=>$record->id, 'id !=' =>$record->organisatie_id, 'partituur' => 'T');
$details->scholen = $this->get_details($data);
$details->bg = TRUE;
}else{
$details->scholen = FALSE;
$details->bg = FALSE;
}
return $details;
}
function get_partituur_bgs($isbg){
$this->sql = "
SELECT *
FROM tb_organisaties O
JOIN ( SELECT DISTINCT organisatie_id
FROM tb_organisaties
WHERE partituur='T'
) Q1
ON Q1.organisatie_id = O.id ";
if(!$this->admin){
if($isbg){
$this->sql .="
WHERE O.organisatie_id = {$this->orgid} ";
}else{
$orgs =$this->get_orgs_by_orguserID($this->userid);
if(!$orgs){
return FALSE;
}else{
$wherein = array();
foreach($orgs as $org){
array_push($wherein, $org->id);
}
$this->sql .="
WHERE O.id IN() {$wherein} ";
}
}
}
$records = $this->get_query_result();
if($records){
foreach($records as $record){
$details[] = $this->get_organisatie_details($record);
}
}
return $details;
}
function check_isbg($orgid){
$org = $this->Organisaties_model->get_record_by_id($orgid);
if($org->id == $org->organisatie_id){
return TRUE;
}else{
return FALSE;
}
}
function get_orgs($orgid = false, $row = false){
$this->sql="SELECT id, organisatie_naamkort as naamkort,
COALESCE(organisatie_plaats,'onbekend') as plaats
FROM tb_organisaties";
if ($orgid > 0){
$this->sql .=" WHERE organisatie_id = {$orgid} ";
} ;
$this->sql .=" ORDER BY organisatie_id, organisatie_naamkort ";
if ($row) {return $this->get_query_row() ;}
else {return $this->get_query_result();};
}
function get_org_by_id($orgid = false){
$this->sql="SELECT id, organisatie_naamkort as naamkort,
COALESCE(organisatie_plaats,'onbekend') as plaats
FROM tb_organisaties
WHERE id = {$orgid} ";
return $this->get_query_row() ;
}
function get_bgs(){
$this->sql="SELECT id, organisatie_naamkort as naamkort,
COALESCE(organisatie_plaats,'onbekend') as plaats
FROM tb_organisaties
WHERE id = organisatie_id ";
return $this->get_query_result() ;
}
function get_BG_by_id($BGid){
$this->sql="SELECT organisatie_naam,
organisatie_naamkort as naamkort,
organisatie_brin,
organisatie_adres,
organisatie_postcode,
organisatie_plaats,
organisatie_email,
organisatie_telefoon
FROM tb_organisaties
WHERE id = {$BGid}";
return $this->get_query_row() ;
}
function get_orgs_per_bg($BGid){
$this->sql= " SELECT organisatie_naam,
organisatie_naamkort as naamkort,
organisatie_brin,
organisatie_adres,
organisatie_postcode,
organisatie_plaats,
organisatie_email,
organisatie_telefoon
FROM tb_organisaties
WHERE organisatie_id = {$BGid}
AND id <> {$BGid}";
return $this->get_query_result();
}
function get_orgs_by_orguserid ($userID){
$this->sql = "SELECT o.*
FROM tb_organisaties o
INNER JOIN tb_orgusers ou
ON o.id = ou.orguser_organisatie_id
WHERE ou.orguser_user_id = {$userID}
ORDER BY o.organisatie_id, o.id, o.organisatie_naam";
$res = $this->get_query_result();
if($res){
foreach($res as $record){
$details[] = $this->get_organisatie_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function table_def(){
$this->sql = "
";
}
function getorgsfororguser($userid){
$this->sql= "SELECT O.id
FROM tb_organisaties O
JOIN tb_orgusers OU ON (OU.orguser_user_id = 838 AND OU.orguser_organisatie_id = O.id)";
return $this->get_query_result();
}
function getallorgs($targetorgs,$system){
$this->sql = " SELECT id, organisatie_naam, concat_ws('-',organisatie_naamkort,organisatie_plaats, organisatie_brin) AS orgnaam
FROM tb_organisaties
WHERE id in ({$targetorgs}) OR
(organisatie_id IN ({$targetorgs}) AND id != organisatie_id) OR
$system
ORDER BY organisatie_naamkort";
return $this->get_query_result();
}
function getorglist($orgid){
// get een lijst van id's van alle organisaties die onder hetzelfde swv vallen als $orgid.
// $orgid kan een organisatie op alle niveaus betreffen, dus dat moet wel eerst opgezocht worden
$toporg =$this->getswvrecursief($orgid);
$orglist = array();
if ($toporg) $orglist = $this->getlistrecursief($toporg->id, $orglist);
return $orglist;
}
function getlistrecursief($orgid,$lijst){
$lijst = array_merge($lijst, array($orgid));
$this->sql = "select id
from tb_organisaties
where organisatie_id = {$orgid}
and id <> {$orgid}";
$newlijst = $this->get_query_result();
if ($newlijst){
foreach($newlijst as $newid){
$lijst= $this->getlistrecursief($newid->id, $lijst);
}
}
return $lijst;
}
function getswvrecursief($orgid){
$organisatie = $this->get_record_by_id($orgid);
if ($organisatie ){
$this->sql = "SELECT id, soort, organisatie_id, organisatie_naam
FROM tb_organisaties
WHERE id = {$organisatie->organisatie_id}
AND id != {$organisatie->id}";
$org = $this->get_query_row();
if ($org) {
$organisatie = $this->getswvrecursief($org->id);
}
}
return $organisatie;
}
function getorgs($type, $orgid=FALSE){
$this->sql = "SELECT id, soort, organisatie_naam AS naam,
organisatie_brin AS brin,
organisatie_vestiging AS vestiging,
organisatie_plaats AS plaats
FROM tb_organisaties
WHERE soort = {$type}";
if ($orgid) {
$this->sql .= " AND organisatie_id = {$orgid} ";
}
$this->sql .= " ORDER BY organisatie_naamkort";
return $this->get_query_result();
}
function searchorgs($orgnaam){
$this->sql="SELECT id, concat_ws('-', organisatie_brin, organisatie_vestiging) AS brin,
organisatie_naamkort AS naam, organisatie_plaats AS plaats
FROM tb_organisaties
WHERE UPPER(organisatie_naam) LIKE '%{$orgnaam}%'
OR UPPER(organisatie_naamkort) LIKE '%{$orgnaam}%'
ORDER BY organisatie_naamkort
LIMIT 200";
return $this->get_query_result();
}
}
@@ -0,0 +1,110 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Orgusers_model
*
* @author Theo Weijmer
* @date april 26, 2013 12:00 PM
*
*
*
*/
class Orgusers_model extends MY_Model{
protected $tablename = 'tb_orgusers';
function __construct(){
parent::__construct();
$models = array('shared/Organisaties_model',
'shared/Autorisaties_model');
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
if($records){
foreach($records as $record){
$details[] = $this->get_orguser_details($record);
}
}
if ($details )
{ return $details;}
else {return false;};
}
function get_orguser_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->level = $record->orguser_level;
$details->orgid = $record->orguser_organisatie_id;
$details->orgnaam = $this->Organisaties_model->get_record_by_id($record->orguser_organisatie_id, 'organisatie_naamkort');
$details->userid = $record->orguser_user_id;
$details->autorisaties = $this->Autorisaties_model->get_autorisaties($record->orguser_level);
return $details;
}
function table_def(){
$this->sql = "
";
}
function get_org_users($orgid){
$this->sql="
SELECT ou.id,
CONCAT_WS(' ', u.voornaam,u.tussenvoegsel,u.achternaam) as fullname
FROM tb_orgusers ou, tb_users u
WHERE ou.orguser_organisatie_id = {$orgid}
AND u.id = ou.orguser_user_id";
// AND orguser_level != 0 ";
return $this->get_query_result();
}
function get_org_user($userid){
$this->sql="SELECT ou.id,
CONCAT_WS(' ', u.voornaam,u.tussenvoegsel,u.achternaam) as fullname
FROM tb_orgusers ou, tb_users u
WHERE ou.id= {$userid}
AND u.id = ou.orguser_user_id";
return $this->get_query_row();
}
function get_orguser_from_user($userid, $orgid){
$this->sql = "SELECT *
FROM tb_orgusers
WHERE orguser_user_id={$userid}
AND orguser_organisatie_id ={$orgid}";
return $this->get_query_row();
}
function get_full_users($orgid, $admin=false){
$this->sql= " SELECT ou.id,
CONCAT_WS(' ', u.voornaam,u.tussenvoegsel,u.achternaam) as fullname,
u.user_email, ";
if ($admin){
$this->sql.="gnaam as user_name ,";
}else{
$this->sql.="'*' as user_name ,";
}
$this->sql.=" ou.orguser_level as level
FROM tb_orgusers ou, tb_users u
WHERE ou.organisatie_id = {$orgid}
AND u.id = ou.user_id";
return $this->get_query_result();
}
function get_single_orguser($userid){
$this->sql = " SELECT id, orguser_organisatie_id as organisatie_id
FROM tb_orgusers
WHERE orguser_user_id = $userid
LIMIT 1";
return $this->get_query_row();
}
}
@@ -0,0 +1,100 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Pages_model
*
* @author Theo Weijmer
* @date april 26, 2013 7:14 PM
*
*
*
*/
class Pages_model extends MY_Model{
protected $tablename = 'tb_pages';
protected $level;
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_usermenu_ls($level, $partnodig){
$this->sql = "SELECT id , page_name as naam, page_url as url,
page_initmodel as komodel, always
FROM tb_pages
WHERE (SELECT page_level & {$level} ) != 0
AND page_id = id
AND page_partnodig <= {$partnodig}
ORDER BY page_order";
$pages= $this->get_query_result();
if ($pages){
foreach($pages as $page){
$this->sql = "SELECT id , page_name as naam, page_url as url,
page_initmodel as komodel, always
FROM tb_pages
WHERE (SELECT page_level & {$level} ) != 0
AND page_id != id
AND page_id = {$page->id}
AND page_partnodig <= {$partnodig}
ORDER BY page_order";
$page->submenu = $this->get_query_result();
}
}
return $pages;
}
function get_details($where=FALSE ){
$this->db->order_by('page_order');
$records = $this->get_records_where($where);
if($records){
foreach($records as $record){
$details[] = $this->get_page_details($record);
}
}
return $details;
}
function get_usermenu($level,$partnodig){
$this->level = $level;
$this->db->where("(SELECT page_level & {$this->level} ) != 0 ");
$this->db->where('page_id = id');
$this->db->where("page_partnodig <= {$partnodig}");
$pages = $this->get_details();
return $pages;
}
function get_page_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->naam = $record->page_name;
$details->url = $record->page_url;
$details->komodel = $record->page_initmodel;
$details->always = $record->always;
if($record->id==$record->page_id){
$data = array( 'page_id' => $record->page_id ,
'id !=' => $record->page_id ,
"(SELECT page_level & {$this->level} ) !=" => 0 );
$details->submenu = $this->get_details($data);
}
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,29 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of PartEigenpijlers_model
*
* @author Theo Weijmer
* @date mei 8, 2013 4:21 PM
*
*/
class part_eigenpijlers_model extends MY_Model{
protected $tablename = 'tb_parteigenpijlers';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_pijlers($partID){
$this->sql="SELECT pep.id,
ep.eigenpijler_naam as naam
FROM tb_parteigenpijlers pep
JOIN tb_eigenpijlers ep
ON pep.eigenpijlerID = ep.id
WHERE pep.partituurID = $partID" ;
return $this->get_query_result();
}
}
@@ -0,0 +1,77 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of partactkosten_model
*
* @author Theo Weijmer
* @date mei 8, 2013 4:41 PM
*
*
*
*/
class Partactkosten_model extends MY_Model{
protected $tablename = 'tbPartActKosten';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details(){
if($records){
foreach($records as $record){
$this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_record_details($record){
$details = new stdClass;
return $details;
}
function get_partituur_kosten($where){
$this->db->from($this->tablename);
$this->db->join( 'tbPartActiviteiten', 'tbPartActiviteiten.id = '.$this->tablename.'.ActiviteitID');
$query = $this->db->get();
$actkosten = $query->result();
$kosten = 0;
if($actkosten){
foreach($actkosten as $actkost){
$kosten = $kosten + $actkost->Kosten;
}
}
return $kosten;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,88 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Partituurs_model
*
* @author Theo Weijmer
* @date mei 8, 2013 3:42 PM
*
*
*
*/
class Partituurs_model extends MY_Model{
protected $tablename = 'tb_partituurs';
function __construct(){
parent::__construct();
$models = array('ijkpartituur/Partactkosten_model','ijkpartituur/Modpartactiviteiten');
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_details($where){
$record = $this->get_records_where($where, TRUE);
if($record){
$details = $this->get_record_details($record);
}else{
$details = FALSE;
}
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->naam = $record->partituur_naam;
$details->actief = $record->partituur_actief;
$details->projectleider = $this->Users_model->get_user_detail_by_id($record->partituur_projectleider_id);
if (!$record->partituur_projectleider_id){
$details->projectleider = new stdClass;
$details->projectleider->fullname = '';
$details->projectleider->fullname="onbekend";};
$details->email = $record->partituur_email;
$details->profielid = $record->partituur_profiel_id;
$details->startdatum = mysql2date($record->partituur_start);
$details->einddatum = mysql2date($record->partituur_eind);
$details->kosten = $this->Partactkosten_model->get_partituur_kosten(array('partituurID'=>$record->id));
$details->gereed = $this->Modpartactiviteiten->get_partituur_gereed($record->id);
return $details;
}
function getPartituren($orgid){
$this->sql="SELECT id, partituur_naam as naam, partituur_actief as actief
FROM tb_partituurs
WHERE partituur_organisatie_id = $orgid";
return $this->get_query_result() ;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,176 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Phantom_model
*
* @author Theo Weijmer
* @date juni 28, 2013 1:41 PM
*
*
*
*/
class Phantom_model extends CI_Model{
protected $rootpath ;
protected $phantomPath ='/jslibrary/phantom/pdfPrint.js';
protected $pagesize = 'A4';//'A3, A4, A5, Legal, Letter, Tabloid'
protected $margins = array("1.5cm", "1.5cm", "1.0cm", "1.0cm");
protected $orientation = 'portrait'; // 'portrait, landscape'
protected $pdffolder = '/pdf/';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
$this->rootpath = $_SERVER['DOCUMENT_ROOT'];
// $this->rootpath = '/Users/liesbeth2/Sites/frameworkpdfs';
}
function get_pdf($data){
$data = $this->set_variables($data);
$filename = $data['filename'];
$data['filename'] = $this->get_filename($data['filename'], $data['timestamp']);
$data['header'] = $this->get_header($data['header']);
$data['pagesize'] = $this->get_page_size($data['pagesize']);
$data['margins'] = $this->get_margins($data['margins']);
$data['orientation']= $this->get_orientation($data['orientation']);
$this->make_pdf($data);
$this->download_pdf($data['filename'], $filename);
}
private function set_variables($vars){
$data = array('url'=>$vars['url'], 'filename'=>$vars['filename']);
if(!isset($vars['timestamp'])) $vars['timestamp'] = TRUE;
if(!isset($vars['header'])) $vars['header'] = TRUE;
if(!isset($vars['pagesize'])) $vars['pagesize'] = FALSE;
if(!isset($vars['margins'])) $vars['margins'] = FALSE;
if(!isset($vars['orientation'])) $vars['orientation']= FALSE;
$data['timestamp'] = $vars['timestamp'] ;
$data['header'] = $vars['header'] ;
$data['pagesize'] = $vars['pagesize'] ;
$data['margins'] = $vars['margins'] ;
$data['orientation']= $vars['orientation'];
return $data;
}
private function make_pdf($data){
$strexec = $this->config->item('phantompath').'phantomjs '.$this->rootpath.$this->phantomPath.' ';
// echo var_dump($data);
$strexec.= "'".json_encode($data)."'";
// echo $strexec;
exec($strexec);
}
private function download_pdf($filename, $downloadname){
$this->load->helper('download');
$data = file_get_contents($filename); // Read the file's contents
force_download($downloadname, $data);
chmod($filename, 0777);
unlink($filename);
}
private function get_filename($filename, $timestamp){
if(strtoupper(substr($filename, -4))=='.PDF'){
$filename = substr($filename, 0, (strlen($filename)-4));
}
if($timestamp){
date_default_timezone_set("UTC");
$date = new DateTime();
$filename.='_'.$date->format('U');
}else{
$filename;
}
return $this->rootpath.$this->pdffolder.$filename.'.pdf';
}
private function get_header($header){
if(!$header){
return FALSE;
}elseif(strlen($header)<=1){
return $this->load->view('reports/default_header', '', TRUE);
}else{
return $header;
}
}
private function get_footer($header){
if(!$header){
return FALSE;
}elseif(strlen($header)<=1){
return $this->load->view('reports/default_footer', '', TRUE);
}else{
return $header;
}
}
private function get_page_size($pagesize){
if(!$pagesize){
return $this->pagesize;
}elseif(!in_array($pagesize, array('A3', 'A4', 'A5', 'Legal', 'Letter', 'Tabloid'))){
return $this->pagesize;
}else{
return $pagesize;
}
}
private function get_margins($margins){
$add='';
if(!$margins){
return $this->margins;
}elseif(!is_array($margins)){
$margins = str_replace('cm', $margins);
if(!is_numeric($margins)) return $this->margins;
return array($margins.'cm',$margins.'cm',$margins.'cm',$margins.'cm');
}elseif(count($margins)==2){
$margin1 = str_replace('cm', $margins[0]);
$margin2 = str_replace('cm', $margins[1]);
if(!is_numeric($margin1) && !is_numeric($margins2)) return $this->margins;
if(!is_numeric($margin1)){
return array($this->margins[0].'cm', $margins2.'cm', $this->margins[2].'cm', $margins2.'cm');
}elseif(!is_numeric($margin1)){
return array($margins1.'cm', $this->margins[1].'cm', $margins1.'cm', $this->margins[3].'cm');
}else{
return array($margins1.'cm', $margins2.'cm', $margins1.'cm', $margins2.'cm');
}
}elseif(count($margins)==4){
for($i=0; $i<=3; $i++){
if(is_numeric(str_replace('cm', '',$margins[$i]))){
$newmargins[$i] = str_replace('cm', '',$margins[$i]). 'cm';
}else{
$newmargins[$i] = str_replace('cm', '',$this->margins[$i]). 'cm';
}
}
return $newmargins;
}else{
return $this->margins;
}
}
private function get_orientation($orientation){
if(in_array($orientation, array('portrait', 'landscape'))){
return $orientation;
}else{
return $this->orientation;
}
}
}
@@ -0,0 +1,33 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of pijlers_model
*
* @author Theo Weijmer
* @date april 26, 2013 12:00 PM
*
*/
class Pijlers_model extends MY_Model{
protected $tablename = 'tbPijlers';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_pijlers($globVersie){
$this->sql="SELECT id, volgorde, naam , omschrijving
FROM tbPijlers
WHERE fw_versie = {$globVersie}
ORDER BY volgorde";
return $this->get_query_result();
}
function get_last_pijlers ($lastVersieID){
$this->sql = "SELECT id,volgorde, naam, omschrijving
FROM tbPijlers
WHERE fw_versie = {$lastVersieID}";
return $this->get_query_result();
}
}
@@ -0,0 +1,82 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Reports_model
*
* @author Theo Weijmer
* @date juni 29, 2013 2:06 PM
*
*
*
*/
class Reports_model extends MY_Model{
protected $tablename = 'tb_reports';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->name = $record->report_name;
$details->level = $record->report_level;
$details->functie = $record->report_function;
return $details;
}
function get_reports_by_level(){
$this->sql = "
SELECT id, report_name as name, report_level as level, report_function as functie
FROM tb_reports R
WHERE (SELECT {$this->userrole} & report_level)!=0
ORDER BY volgorde";
$records = $this->get_query_result();
// return $this->get_records_details($records);
return $records;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,67 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Session_model
*
* @author Theo Weijmer
* @date juni 30, 2013 7:32 PM
*
*
*
*/
class Session_model extends MY_Model{
function __construct(){
parent::__construct();
$models = array( 'shared/Orgusers_model',
'shared/Autorisaties_model');
$this->load->model($models);
}
function set_session($user){
$orguser = $this->Orgusers_model->get_records_where(array('user_id'=>$user->id), TRUE);
$write = $this->Autorisaties_model->check_autorisatie((WRITE + ADMIN), $orguser->orguser_level);
if($orguser){
$data = array( 'userid' => $user->id ,
'username' => $user->user_name ,
'orgid' => $orguser->orguser_organisatie_id ,
'globorgid' => $orguser->orguser_organisatie_id ,
'role' => $orguser->orguser_level ,
'write' => $write );
}
$this->session->set_userdata($data);
}
function set_userid($userid){
$this->session->set_userdata('userid', $userid);
}
function set_globorgid($orgid){
$this->session->set_userdata('globorgid', $orgid);
}
function set_orgid($orgid){
$this->session->set_userdata('orgid', $orgid);
}
function set_role($role){
$this->session->set_userdata('role', $role);
}
function set_tmpuserid($userid){
$this->session->set_userdata('tmpuserid', $userid);
}
function set_logged(){
$this->session->set_userdata('logged', TRUE);
}
function unset_logged(){
$this->session->unset_userdata('logged');
$this->session->sess_destroy();
}
function set_write($userrole){
$write = $this->Autorisaties_model->check_autorisatie((WRITE + ADMIN), $userrole);
$this->session->set_userdata('write', $write);
}
}
@@ -0,0 +1,71 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Tags_model
*
* @author Theo Weijmer
* @date juli 17, 2013 11:47 AM
*
*
*
*/
class Tags_model extends MY_Model{
protected $tablename = 'tb_tags';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
$details = $this->get_records_details($records);
return $details;
}
function get_records_details($records){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_single_detail($where){
$record = $this->get_records_where($where, TRUE);
$details = $this->get_record_details($record);
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->tagname = $record->tag_name;
return $details;
}
function table_def(){
$this->sql = "
";
}
}
@@ -0,0 +1,172 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Users_model
*
* @author Theo Weijmer
* @date april 26, 2013 9:56 AM
*
*
*
*/
class Users_model extends MY_Model{
protected $tablename = 'tb_users';
function __construct(){
parent::__construct();
$models = array('shared/Orgusers_model');
$this->load->model($models);
}
function get_details($where=FALSE){
$records = $this->get_records_where($where);
if($records){
$details = $this->get_records_details($records);
}else{
$details = FALSE;
}
return $details;
}
function get_records_details($records ){
if($records){
foreach($records as $record){
$details[] = $this->get_record_details($record);
}
}
if(!isset($details)) $details = FALSE;
return $details;
}
function get_record_details($record){
$details = new stdClass;
$details->id = $record->id;
$details->username = $record->user_name;
$details->fullname = $this->get_fullname($record->id);
$details->orgusers = $this->Orgusers_model->get_details(array('orguser_user_id'=>$record->id), TRUE);
return $details;
}
function get_user_detail_by_id($userid){
$user = $this->get_record_by_id($userid);
if($user){
$details = $this->get_record_details($user);
}else{
$details = FALSE;
}
return $details;
}
function get_users_by_organisatie($organisatieid){
$this->db->join('tb_orgusers', 'tb_users.id = orguser_user_id');
$this->db->order_by('user_lastname', 'user_firstname');
$this->db->select('tb_users.*');
$where = array('orguser_organisatie_id'=>$organisatieid);
$records= $this->get_query($where);
if($records){
$details= $this->get_records_details($records);
}else{
$details = FALSE;
}
return $details;
}
function get_users_by_bg($bgID){
$this->sql="SELECT u.*
FROM tb_users u, tb_orgusers ou, tb_organisaties o
WHERE o.id = o.organisatie_id
AND ou.orguser_organisatie_id = o.id
AND u.id= ou.orguser_user_id";
$records = $this->get_query_result();
if($records){
$details = $this ->get_records_details($records);
}else{
$details = FALSE;
}
return $details;
}
function get_user_by_name($username){
$where = array('UCASE(user_name)' => strtoupper($username));
$user = $this->get_records_where($where, TRUE);
return $user;
}
function get_fullname($userid){
$user = $this->get_record_by_id($userid);
$fullname = $user->user_firstname;
if(strlen($user->user_midlename)!=0) $fullname.=" ".$user->user_midlename;
$fullname.= " ".$user->user_lastname;
return $fullname;
}
function getgebruikers($orgid){
$this->sql = "SELECT O.id, user_name,user_firstname AS voornaam,
user_midlename AS tussenvoegsel,
user_lastname AS achternaam,
user_email AS email,
A.level AS level,
AT.autorisatietype_naam as autorisatie
FROM tb_users O
JOIN tb_orgusers OU ON OU.orguser_user_id = O.id
left JOIN tb_autorisaties A ON A.orguser_id = OU.id
left JOIN tb_autorisatietypes AT on AT.autorisatietype_level = A.level
WHERE OU.orguser_organisatie_id = {$orgid}
AND actief = 1
ORDER BY user_lastname";
return $this->get_query_result();
}
function getgebruiker($userid){
$this->sql = "SELECT O.id, user_name,user_firstname AS voornaam,
user_midlename AS tussenvoegsel,
user_lastname AS achternaam,
user_email AS email,
A.level AS level,
AT.autorisatietype_naam as autorisatie
FROM tb_users O
JOIN tb_orgusers OU ON OU.orguser_user_id = O.id
left JOIN tb_autorisaties A ON A.orguser_id = OU.id
left JOIN tb_autorisatietypes AT on AT.autorisatietype_level = A.level
WHERE O.id = {$userid}";
return $this->get_query_row();
}
function checkusername ($userid, $gnaam){
$testuser = $this->Users_model->get_records_where(array("user_name" =>$gnaam), TRUE);
if ($userid == null && $testuser) { return false; }
elseif ($testuser && $testuser->id != $userid) { return false;}
else {return true;};
}
function getotherusers($orgid, $orglist, $role,$zoekstring){
$this->sql = "SELECT U.id, concat_ws(' ', user_firstname, user_midlename, user_lastname, concat('-', ORG.organisatie_naamkort)) AS naam FROM tb_users U
left JOIN tb_orgusers OU ON OU.orguser_user_id = U.id
AND (OU.orguser_organisatie_id IN (5, 4, 3, 2, 11) or ($role=1 OR $role =2))
AND OU.orguser_organisatie_id <> {$orgid}
left JOIN tb_organisaties ORG on ORG.id = OU.orguser_organisatie_id ";
if ($zoekstring){
$this->sql .=" WHERE UPPER(user_firstname) LIKE '%{$zoekstring}%' OR
UPPER(user_lastname) LIKE '%{$zoekstring}%' ";
}
$this->sql .= " ORDER BY user_lastname
LIMIT 200";
return $this->get_query_result();
}
}
@@ -0,0 +1,33 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Orgusers_model
*
* @author LS
* @date april 26, 2013 12:00 PM
*
*/
class Versies_model extends MY_Model{
protected $tablename = 'tbVersies';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_versies(){
$this->sql="SELECT id, omschrijving, datum,vastgelegd
FROM tbVersies
ORDER BY id desc";
return $this->get_query_result();
}
function get_laatste_record(){
$this->sql="SELECT max(ID) as maxID
FROM tbVersies
WHERE vastgelegd = 1";
$rij = $this->db->query($this->sql);
return $rij->row('maxID');
}
}
+10
View File
@@ -0,0 +1,10 @@
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>
@@ -0,0 +1,262 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Finbestemmingen_model februari 2017 */
class Finbestemmingen_model extends MY_Model{
protected $tablename = 'finbestemmingen';
function __construct(){
parent::__construct();
$models = array('shared/Organisaties_model',
"monfin2/Finuitgavetypes_model");
$this->load->model($models);
}
function get_soorten($swvID, $jaarnr, $categorie){
$this->sql =" SELECT id as soortID,
naam ,
categorie
FROM finsoorten
WHERE categorie = '{$categorie}'
AND swv_id = {$swvID}
AND kalenderjaar = {$jaarnr}";
return $this->get_query_result();
}
function get_subsoorten($soortID){
$this->sql = "SELECT id as subsoortID,
subsoortcat,
naam
FROM finsubsoorten
WHERE finsoort_id = {$soortID}";
return $this->get_query_result();
}
function get_overig_subsoorten($soortID,$orgID){
$this->sql = "SELECT id as subsoortID,
omschrijving as naam
FROM finoverig
WHERE soort_id = {$soortID}
AND organisatie_id = {$orgID}";
return $this->get_query_result();
}
function get_bestemmingen($orgID, $jaarnr,$categorie){
$swvID = $this->Organisaties_model->get_swvid($orgID);
$uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
// get soort per swv en kalender jaar. als swv id of kalender jaar niet bekend is,
// haal dan algemene soorten op;
$soorten = $this->get_soorten($swvID, $jaarnr, $categorie);
if (! $soorten) { $soorten = $this->get_soorten($swvID, 0, $categorie); };
if (! $soorten) {$soorten = $this->get_soorten(0,0, $categorie); };
if ($soorten){
foreach($soorten as $soort){
$soort->subsoorten = $this->get_subsoorten($soort->soortID);
if ($soort->subsoorten){
foreach($soort->subsoorten as $subsoort){
// haal per uitgavetypes de bedragen op
if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){
$subsoort->uitgavetypes[] = $this->get_bedrag_per_type($orgID, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
}
}
}
}// if subsoorten
}
}// if soorten
return $soorten;
}
function get_bestemmingen_over_orgs($targetorg, $orglist, $jaarnr,$categorie){
$swvID = $this->Organisaties_model->get_swvid($targetorg);
$uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
// get soort per swv en kalender jaar. als swv id of kalender jaar niet bekend is,
// haal dan algemene soorten op;
$soorten = $this->get_soorten($swvID, $jaarnr, $categorie);
if (! $soorten) { $soorten = $this->get_soorten($swvID, 0, $categorie); };
if (! $soorten) {$soorten = $this->get_soorten(0,0, $categorie); };
if ($soorten){
foreach($soorten as $soort){
$soort->subsoorten = $this->get_subsoorten($soort->soortID);
if ($soort->subsoorten){
foreach($soort->subsoorten as $subsoort){
// haal per uitgavetypes de bedragen op
if ($uitgavetypes){
foreach($uitgavetypes as $uitgavetype){
$subsoort->uitgavetypes[] = $this->get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
}
}
}
}// if subsoorten
}
}// if soorten
return $soorten;
}
// function get_overig_bestemmingen($orgID, $jaarnr){
// $swvID = $this->Organisaties_model->get_swvid($orgID);
// $uitgavetypes = $this->Finuitgavetypes_model->get_uitgavetypes();
// // get soort per swv en kalender jaar. als swv id of kalender jaar niet bekend is,
// // haal dan algemene soorten op;
// $soorten = $this->get_soorten($swvID, $jaarnr,"OVERIG");
// if (! $soorten) { $soorten = $this->get_soorten($swvID, 0,"OVERIG"); };
// if (! $soorten) {$soorten = $this->get_soorten(0,0, "OVERIG"); };
// if ($soorten){
// foreach($soorten as $soort){
// $soort->subsoorten = $this->get_overig_subsoorten($soort->soortID, $orgID);
// if ($soort->subsoorten){
// foreach($soort->subsoorten as $subsoort){
// // haal per uitgavetypes de bedragen op
// if ($uitgavetypes){
// foreach($uitgavetypes as $uitgavetype){
// $subsoort->uitgavetypes[] = $this->overig_get_bedrag_per_type($subsoort->subsoortID, $jaarnr,$subsoort->subsoortID,$uitgavetype->code);
// }
// }
// }
// }// if subsoorten
// }
// }// if soorten
// return $soorten;
// }
function setSomSubsoort($orgid, $jaarnr, $categorie){
$this->sql = "SELECT FORMAT(SUM(bedrag) / 100,2) as totaal
FROM finbestemmingen B
JOIN finsubsoorten SUB ON B.subsoort_id = SUB.id
JOIN finsoorten S ON SUB.finsoort_id = S.id
WHERE B.organisatie_id = {$orgid}
AND B.kalenderjaar = {$jaarnr}
AND S.categorie = '{$categorie}' ";
return $this->get_query_row('totaal');
}
function getUitgavenPerSubsoortSchool($orgid, $jaarnr){
$this->sql = "SELECT B.id, SUM(B.bedrag) AS bedrag, FORMAT(SUM(B.bedrag) / 100,0) as format, SUB.naam AS subsoort, S.naam AS soort, S.categorie
FROM finbestemmingen B
JOIN finsubsoorten SUB ON SUB.id = B.subsoort_id
JOIN finsoorten S ON S.id = SUB.finsoort_id
WHERE B.organisatie_id = {$orgid}
AND B.kalenderjaar = {$jaarnr}
GROUP BY SUB.id
ORDER BY S.categorie, S.naam, SUB.naam ";
return $this->get_query_result();
}
function getUitgavenPerType($orgid, $jaarnr){
$this->sql = "SELECT B.id, B.uitgavetype, SUM(B.bedrag) AS bedrag, FORMAT(SUM(B.bedrag)/100,2) AS format
FROM finbestemmingen B
JOIN finsubsoorten SUB ON SUB.id = B.subsoort_id
JOIN finsoorten S ON S.id = SUB.finsoort_id
WHERE B.organisatie_id = {$orgid}
AND B.kalenderjaar = {$jaarnr}
GROUP BY B.uitgavetype";
return $this->get_query_result();
}
function get_bedrag_per_type($orgid, $jaarnr,$subsoortID, $uitgavetype){
$this->sql = "SELECT id,
FORMAT(bedrag / 100,2) as bedrag,
uitgavetype as code
FROM finbestemmingen
WHERE organisatie_id = {$orgid}
AND kalenderjaar = {$jaarnr }
AND subsoort_id = {$subsoortID}
AND uitgavetype = '{$uitgavetype}' ";
$row= $this->get_query_row();
if (! $row){
$data=["organisatie_id" =>$orgid,
"kalenderjaar" =>$jaarnr,
"subsoort_id" =>$subsoortID,
"uitgavetype" =>$uitgavetype,
"bedrag" =>0];
$this->insert_record($data);
$row = $this->get_query_row();
}
if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag);
return $row;
}
function get_bedrag_per_type_over_orgs($orglist, $jaarnr,$subsoortID, $uitgavetype){
$this->sql = "SELECT id,
FORMAT(sum(bedrag) / 100,2) as bedrag,
uitgavetype as code
FROM finbestemmingen
WHERE organisatie_id in ({$orglist})
AND kalenderjaar = {$jaarnr }
AND subsoort_id = {$subsoortID}
AND uitgavetype = '{$uitgavetype}' ";
$row= $this->get_query_row();
if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag);
return $row;
}
function getTotaalSchoolBestedingen($orgid, $jaarnr){
$this->sql = "SELECT SUM(bedrag) AS totaal
FROM finbestemmingen
WHERE organisatie_id = {$orgid}
AND kalenderjaar = {$jaarnr} ";
return $this->get_query_row('totaal');
}
// function overig_get_bedrag_per_type($finoverigID, $jaarnr,$subsoortID, $uitgavetype){
// $this->sql = "SELECT id,
// FORMAT((SUM(bedrag) / 100),2) as bedrag,
// uitgavetype as code
// FROM finoverigbestemmingen
// WHERE finoverig_id = {$finoverigID}
// AND kalenderjaar = {$jaarnr }
// AND uitgavetype = '{$uitgavetype}'
// GROUP BY uitgavetype ";
// $row= $this->get_query_row();
// if ($row) $row->bedrag = str_replace(',' , '' , $row->bedrag);
// return $row;
// }
function getsompersoortoverorgs($orgids, $jaarnr){
$this->sql ="SELECT categorie,
round(sum(bedrag/100) ) AS bedrag
FROM finbestemmingen FB
JOIN finsubsoorten FSS on FSS.id = FB.subsoort_id
JOIN finsoorten FS on FS.id = FSS.finsoort_id
WHERE FB.organisatie_id in ({$orgids})
AND FB.kalenderjaar = {$jaarnr}
GROUP BY categorie, organisatie_id";
return $this->get_query_result();
}
function getsompersoortoverorgsSummed($orgids, $jaarnr, $cat){
$this->sql ="SELECT sum(bedrag) / 100 AS bedrag
FROM finbestemmingen FB
JOIN finsubsoorten FSS on FSS.id = FB.subsoort_id
JOIN finsoorten FS on FS.id = FSS.finsoort_id
WHERE FB.organisatie_id in ({$orgids})
AND FB.kalenderjaar = {$jaarnr}
AND FS.categorie = '{$cat}'
GROUP BY categorie";
return $this->get_query_row('bedrag');
}
function get_pms($orgids, $kalenderjaarnr){
$this->sql = " SELECT round(sum(bedrag/100) ) AS bedrag,
uitgavetype,
FS.categorie,
FB.organisatie_id
FROM finbestemmingen FB
JOIN finsubsoorten FSS ON FSS.id = FB.subsoort_id
JOIN finsoorten FS ON FS.id = FSS.finsoort_id
WHERE FB.organisatie_id IN ({$orgids})
AND FB.kalenderjaar = {$kalenderjaarnr}
GROUP BY FS.categorie, uitgavetype
ORDER BY categorie, uitgavetype";
return $this->get_query_result();
}
}
@@ -0,0 +1,16 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Finoverig_model februari 2017 */
class Finoverig_model extends MY_Model{
// overige subsoorten
protected $tablename = 'finoverig';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
}
@@ -0,0 +1,16 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Finoverigbestemmingen_model februari 2017 */
class Finoverigbestemmingen_model extends MY_Model{
// overige subsoorten
protected $tablename = 'finoverigbestemmingen';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
}
@@ -0,0 +1,31 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Finsoorten_model februari 2017 */
class Finsoorten_model extends MY_Model{
protected $tablename = 'finsoorten';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_soorten($jaarnr, $orgid){
$this->sql="SELECT id, categorie, naam
FROM finsoorten
WHERE swv_id ={$orgid}
AND kalenderjaar = {$jaarnr}";
return $this->get_query_result();
}
function get_all_soorten($jaarnr, $orgID){
$swvID = $this->Organisaties_model->get_swvid($orgID);
$soorten = $this->get_soorten($jaarnr, $swvID);
if (! $soorten) $soorten = $this->get_soorten(0, $swvID);
if (! $soorten) $soorten = $this->get_soorten(0,0);
return $soorten;
}
}
@@ -0,0 +1,22 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Finsubsoorten_model februari 2017 */
class Finsubsoorten_model extends MY_Model{
protected $tablename = 'finsubsoorten';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_all_subsoorten($soortID){
$this->sql= "SELECT id, subsoortcat, naam
FROM finsubsoorten
WHERE finsoort_id = {$soortID}";
return $this->get_query_result();
}
}
@@ -0,0 +1,21 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Finuitgavetypes_model februari 2017 */
class Finuitgavetypes_model extends MY_Model{
protected $tablename = 'finuitgavetypes';
function __construct(){
parent::__construct();
$models = array('monpas/Bestemmingslabels_model');
$this->load->model($models);
}
function get_uitgavetypes(){
$this->sql=" SELECT *
FROM finuitgavetypes";
return $this->get_query_result();
}
}
@@ -0,0 +1,49 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Aantalxondersteuningsvorm_model mei 2015 */
class Aantalxondersteuningsvorm_model extends MY_Model{
protected $tablename = 'tb_aantalxondersteuningsvorm';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getaantal($groepid, $ondersteuningsvorm){
$this->sql = " SELECT aantal
FROM tb_aantalxondersteuningsvorm
WHERE groep_id = {$groepid}
AND ondersteuningsvorm_id = {$ondersteuningsvorm}";
return $this->get_query_row();
}
function getaantallen($vormid, $orgid,$schooljaarnr, $groepids){
$this->sql ="SELECT G.id, G.naam, IF(AOS.id,aantal,0) AS aantal
FROM tb_groepen G
LEFT JOIN tb_aantalxondersteuningsvorm AOS ON ( G.id = AOS.groep_id
AND AOS.ondersteuningsvorm_id = {$vormid})
WHERE G.organisatie_id = {$orgid}
AND G.schooljaarnr= {$schooljaarnr}
AND G.id IN ({$groepids})
ORDER BY G.niveau, G.naam, G.id";
return $this->get_query_result();
}
function getgroepenmetlln($orgid,$schooljaarnr, $minnivo, $maxnivo){
$this->sql ="SELECT G.id
FROM tb_groepen G
JOIN tb_aantalxondersteuningsvorm AOS ON G.id = AOS.groep_id
JOIN tb_ondersteuningsvormen OV ON OV.id = AOS.ondersteuningsvorm_id
WHERE G.organisatie_id = {$orgid}
AND G.schooljaarnr= {$schooljaarnr}
AND OV.nivo BETWEEN {$minnivo} AND {$maxnivo}
GROUP BY G.id
";
return $this->get_query_result();
}
}
@@ -0,0 +1,100 @@
<?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 xijkpunten , z_procent AS zprocent
FROM tb_ambities A
WHERE A.organisatie_id = {$orgid}
AND A.orgversie_id = {$orgversieid}";
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;
}
}
@@ -0,0 +1,29 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Antwoordopties_model april 2021 */
class Antwoordopties_model extends MY_Model{
protected $tablename = 'tb_antwoordopties';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getopties($id){
$this->sql="SELECT id, optie, omschrijving
FROM tb_antwoordopties
WHERE type_nr = {$id} ";
return $this->get_query_result();
}
function getAntwoordopties($scoretype){
$this->sql="SELECT id, optie, omschrijving, score_value, type_nr
FROM tb_antwoordopties
WHERE type_nr = {$scoretype} ";
return $this->get_query_result();
}
}
@@ -0,0 +1,34 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Antwoordtypes_model september 2015 */
class Antwoordtypes_model extends MY_Model{
protected $tablename = 'tb_antwoordtypes';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getalltypes(){
$this->sql="SELECT AT.sysnr, AT.omschrijving,
CASE WHEN count(AO.optie) = count(AO.omschrijving) AND count(AO.omschrijving) > 0 THEN
1
ELSE 0
END AS scoretekst
FROM tb_antwoordtypes AT
LEFT JOIN tb_antwoordopties AO ON AT.sysnr = AO.type_nr
GROUP BY AT.id ";
return $this->get_query_result();
}
function gettype($id){
$this->sql="SELECT omschrijving
FROM tb_antwoordtypes
WHERE id = {$id} ";
return $this->get_query_row('omschrijving');
}
}
@@ -0,0 +1,104 @@
<?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, $orgids){
$this->sql= "SELECT SUM(APA.aantal) as aantal
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 ({$orgids})
AND A.schooljaarnr = {$schooljaarnr}
AND A.meetellen = 'T'
GROUP BY APA.schooljaarnr ";
return $this->get_query_row('aantal');
}
}
@@ -0,0 +1,34 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Arrangementen_piv_aantal_model sept 2019 */
class arrangementen_piv_aantal_model extends MY_Model{
protected $tablename = 'tb_arrangementen_piv_aantal';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function getAantallen($arrangementid){
$this->sql = "SELECT SUM(A.aantal) as totaal
FROM tb_arrangementen_piv_aantal A
WHERE A.arrangement_id = {$arrangementid} ";
return $this->get_query_row('totaal');
}
function getAantallenPerSchooljaar($arrangementid){
$this->sql = "SELECT SUM(A.aantal) as subtotaal, naam
FROM tb_arrangementen_piv_aantal A
JOIN tb_schooljaren S ON A.schooljaarnr = S.id
WHERE A.arrangement_id = {$arrangementid}
AND A.aantal > 0
GROUP BY A.schooljaarnr ";
return $this->get_query_result();
}
}
@@ -0,0 +1,76 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Berichten_model december 2017 */
class Berichten_model extends MY_Model{
protected $tablename = 'tb_berichten';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getberichten($userid, $frontpage=FALSE){
$this->sql =" SELECT B.id, B.samenvatting, B.inhoud, B.startdatum
FROM tb_berichten B
JOIN tb_modulebericht MB ON B.id = MB.bericht_id
JOIN tb_licenties L ON MB.modulenr = L.modulenr
JOIN tb_organisaties O ON L.orgid = O.id
JOIN tb_orgusers OU ON O.id = OU.organisatie_id
WHERE OU.user_id = {$userid}
AND samenvatting IS NOT NULL
AND inhoud IS NOT NULL ";
if($frontpage){
$this->sql.="AND B.id NOT IN(SELECT bericht_id
FROM tb_getoondeberichten
WHERE user_id = {$userid}) ";
}
$this->sql.="GROUP BY B.id
ORDER BY B.startdatum DESC ";
return $this->get_query_result();
}
function getalleberichten(){
$this->sql ="SELECT id, samenvatting, inhoud, startdatum
FROM tb_berichten
ORDER BY if( samenvatting IS NULL, 0,1 ),
if( inhoud IS NULL, 0, 1 ),
startdatum DESC";
return $this->get_query_result();
}
function getberichtmodules($clusterid, $berichtid){
$this->sql=" SELECT M.sysnr as modulenr, M.naam, M.cluster_id AS clusterid
FROM tb_modules M
JOIN tb_modulebericht MB ON (M.sysnr = MB.modulenr)
WHERE MB.bericht_id = {$berichtid}
AND M.cluster_id = {$clusterid}
ORDER BY M.id ";
return $this->get_query_result();
}
function getberichtenbijmodule($berichtid, $modulenr){
$this->sql=" SELECT id
FROM tb_modulebericht
WHERE bericht_id = {$berichtid}
AND modulenr = {$modulenr} ";
return $this->get_query_result();
}
function getberichtclusters($berichtid){
$this->sql = " SELECT C.id as clusterid, C.naam as clusternaam
FROM tb_modules M
JOIN tb_cluster C ON C.id = M.cluster_id
JOIN tb_modulebericht MB ON (M.sysnr = MB.modulenr)
WHERE MB.bericht_id = {$berichtid}
GROUP BY C.id ";
return $this->get_query_result();
}
}
@@ -0,0 +1,143 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Bestedingen_model januari 2016 */
class Bestedingen_model extends MY_Model{
protected $tablename = 'tb_bestedingen';
function __construct(){
parent::__construct();
$models = array('monpas/Bestemmingslabels_model');
$this->load->model($models);
}
function getbestedingen($orgid,$jaarnr){
$this->sql= "SELECT id, TRUNCATE((bedrag/100),2) AS bedrag, soort , omschrijving, labelnr
FROM tb_bestedingen
WHERE orgid ={$orgid}
AND kalenderjaarnr = {$jaarnr}
ORDER BY labelnr";
return $this->get_query_result();
}
function getbesteding($id){
$this->sql= "SELECT id,TRUNCATE((bedrag/100),2) AS bedrag, soort , omschrijving, labelnr
FROM tb_bestedingen
WHERE id ={$id}";
return $this->get_query_row();
}
function getschoolbestedingen($orgid, $jaarnr){
$this->sql="SELECT soort, B.labelnr, B.omschrijving, bedrag , BL.omschrijving as naam
FROM tb_bestedingen B
JOIN tb_bestemmingslabels BL on BL.id = B.labelnr
WHERE orgid = {$orgid}
AND kalenderjaarnr = {$jaarnr}
ORDER BY B.soort, B.labelnr";
return $this->get_query_result();
}
function getschoolbestedingenpersoort($orgid, $jaarnr,$soort){
$this->sql="SELECT soort, B.labelnr, B.omschrijving, bedrag , BL.omschrijving as naam
FROM tb_bestedingen B
JOIN tb_bestemmingslabels BL on BL.id = B.labelnr
WHERE orgid = {$orgid}
AND kalenderjaarnr = {$jaarnr}
AND B.soort = {$soort}
ORDER BY B.labelnr";
return $this->get_query_result();
}
function getsom($bedragenarray, $budgetten,$labels, $wat){
$returnarray = array();
switch ($wat){
case 1: $returnarray['budget'] = $budgetten->basis;
$returnarray['soort'] = 1;
$returnarray['naam'] = 'Basisondersteuning';
break;
case 2: $returnarray['budget'] = $budgetten->extra;
$returnarray['soort'] = 2;
$returnarray['naam'] = 'Extra ondersteuning';
break;
case 3: $returnarray['budget'] = $budgetten->som;
$returnarray['soort'] = 3;
$returnarray['naam'] = 'Ondersteuning';
break;
case 4: $returnarray['budget'] = $budgetten->overig;
$returnarray['soort'] = 4;
$returnarray['naam'] = 'Overig';
break;
};// switch
$returnarray['totsoort'] = 0;
if ($bedragenarray){
$returnarray['labels'] = array();
foreach ($labels as $label){
$returnarray['labels'][$label->labelnr]['nr'] =$label->labelnr;
$returnarray['labels'][$label->labelnr]['naam'] = $label->omschrijving;
$returnarray['labels'][$label->labelnr]['som'] = 0;
$returnarray['labels'][$label->labelnr]['details'] = array();
};
foreach ($bedragenarray as $regel){
$returnarray['totsoort'] += $regel->bedrag;
$returnarray['labels'][$regel->labelnr]['som'] += $regel->bedrag;
$returnarray['labels'][$regel->labelnr]['details'][]= $regel;
};// foreach bedragenarray
}; // if bedragenarray
$returnarray['verschil'] = number_format($returnarray['budget'] - $returnarray['totsoort'], 2,'.' , ',');
return $returnarray;
}
function sumschoolbedragen($bedragenarray,$budgetten){
$labels = $this->Bestemmingslabels_model->getsoorten();
$somtotaal = 0;
if ($bedragenarray){
foreach($bedragenarray as $regel){
if (!isset($sompersoort[$regel->soort]) ){
$sompersoort[$regel->soort] = array();
$sompersoort[$regel->soort]['som'] = 0;
$sompersoort[$regel->soort]['labels']= array();
switch ($regel->soort){
case 1: $sompersoort[$regel->soort]['budget'] = $budgetten->basis; break;
case 2: $sompersoort[$regel->soort]['budget'] = $budgetten->extra;break;
case 3: $sompersoort[$regel->soort]['budget'] = $budgetten->som; break;
case 4: $sompersoort[$regel->soort]['budget'] = $budgetten->overig; break;
};// switch
foreach ($labels as $label){
$sompersoort[$regel->soort]['labels'][$label->labelnr]['nr'] =$label->labelnr;
$sompersoort[$regel->soort]['labels'][$label->labelnr]['naam'] = $label->omschrijving;
$sompersoort[$regel->soort]['labels'][$label->labelnr]['som'] = 0;
};
}
$sompersoort[$regel->soort]['som'] +=$regel->bedrag;
if (!isset($sompersoort[$regel->soort]['labels'][$regel->labelnr])){
$sompersoort[$regel->soort]['labels'][$regel->labelnr]['som']=0;
}
$sompersoort[$regel->soort]['labels'][$regel->labelnr]['som'] += $regel->bedrag;
$sompersoort[$regel->soort]['labels'][$regel->labelnr]['details'][]= $regel;
$somtotaal += $regel->bedrag;
}; // foreach
}; //if
return array('totaal' => $somtotaal, 'sompersoort'=>$sompersoort);
}
function getsompersoort($orgid, $jaarnr){
$this->sql ="SELECT soort, sum(bedrag) AS bedrag
FROM tb_bestedingen
WHERE orgid = {$orgid}
AND kalenderjaarnr = {$jaarnr}
GROUP BY soort";
return $this->get_query_result();
}
function getsompersoortoverorgs($orgids, $jaarnr){
$this->sql ="SELECT soort, sum(bedrag) AS bedrag,T.basisextra
FROM tb_bestedingen B
JOIN tb_toewijzingen T ON (T.orgid = B.orgid)
WHERE B.orgid in ({$orgids})
AND B.kalenderjaarnr = {$jaarnr}
AND T.kalenderjaarnr = {$jaarnr}
GROUP BY soort";
return $this->get_query_result();
}
}
@@ -0,0 +1,24 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Bestedingopmerkingen_model januari 2016 */
class Bestedingopmerkingen_model extends MY_Model{
protected $tablename = 'tb_bestedingopmerkingen';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getopmerking($orgid, $jaarnr){
$this->sql = "SELECT id AS opmerkingID, opmerking
FROM tb_bestedingopmerkingen
WHERE organisatie_id = {$orgid}
AND kalenderjaarnr = {$jaarnr}";
$result=$this->get_query_row();
if ($result) {return $result->opmerking;}
else {return '';};
}
}
@@ -0,0 +1,21 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Bestedingen_model januari 2016 */
class Bestemmingslabels_model extends MY_Model{
protected $tablename = 'tb_bestemmingslabels';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getsoorten(){
$this->sql = "SELECT *
FROM tb_bestemmingslabels";
return $this->get_query_result();
}
}
@@ -0,0 +1,24 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** combifactoren_model januari 2015 */
class Combifactoren_model extends MY_Model{
function __construct(){
parent::__construct();
$models = array('shared/Organisaties_model');
$this->load->model($models);
}
function getfactoren($orgid){
$swvid = $this->Organisaties_model->get_swvid ($orgid);
$this->sql = "SELECT ROUND(combi2 / 10,1) as combi2,
ROUND(combi3 / 10, 1) as combi3,
addtoschool
FROM tb_combifactoren
WHERE swv_id={$swvid} || swv_id = 0
ORDER BY swv_id DESC
LIMIT 1" ;
return $this->get_query_row();
}
}
@@ -0,0 +1,31 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Compactop_model juni 2019 */
class Compactsop_model extends MY_Model
{
protected $tablename = 'tb_compactsops';
function __construct()
{
parent::__construct();
$models = array();
$this->load->model($models);
}
function downloadCompactSop($id)
{
$this->load->helper('download');
$sop = $this->get(['id'=>$id]);
$sop= $sop[0];
header( 'Content-Description: File Transfer' );
header( 'Content-Type: application/pdf' );
header( 'Content-disposition:inline; filename="' .$sop->pdfnaam.'"');
header( 'Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0' );
header( 'Pragma: public' );
header( 'Content-Length: ' . filesize( $this->compactsoppath.$sop->pdfnaam ) );
readfile( $this->compactsoppath . $sop->pdfnaam );
}
}
@@ -0,0 +1,38 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Sop_model juli 2019 */
class compactsoponderdelen_model extends MY_Model{
protected $tablename = 'tb_compactsoponderdelen';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function getOnderdelen(){
$this->sql = "SELECT *
FROM tb_compactsoponderdelen
ORDER BY nummer ";
return $this->get_query_result();
}
function getModuleMetLicentie($orgid, $onderdeelnummer){
$this->sql = "SELECT L.modulenr
FROM tb_compactsoponderdelen CO
JOIN tb_sop_piv_modules SM ON CO.nummer = SM.onderdeel_nr
JOIN tb_licenties L ON SM.modulenr = L.modulenr
WHERE L.orgid = {$orgid}
AND CO.nummer = {$onderdeelnummer}
GROUP BY CO.nummer ";
return $this->get_query_row("modulenr");
}
}
@@ -0,0 +1,527 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Diversiteits_model januari 2015 */
class Diversiteits_model extends MY_Model{
function __construct(){
parent::__construct();
$models = array('monpas/Aantalxondersteuningsvorm_model',
'monpas/Combifactoren_model',
'monpas/Dq_model',
'monpas/Groepen_model',
'monpas/Ondersteuningsvormen_model',
'shared/Organisaties_model');
$this->load->model($models);
}
function getnormaantallen($orgid, $schoolsoort){
$normaantallen = $this->getaantallenrecursief($orgid, $schoolsoort);
if (!$normaantallen) {
$normaantallen = $this->Dq_model->getaantallen(1, $schoolsoort);
}
return $normaantallen;
}
function getaantallenrecursief($orgid, $schoolsoort){
$org = $this->Organisaties_model->getorg($orgid);
$normaantallen = $this->Dq_model->getaantallen($orgid, $schoolsoort);
if (!$normaantallen && ($org->id !== $org->valtonder_id)){
$normaantallen = $this->getaantallenrecursief($org->valtonder_id, $schoolsoort);
};
return $normaantallen;
}
function getaantallenpercategorie($orgid, $schooljaarnr, $schooltype, $module ){
$this->sql = "SELECT sum(AO.aantal) as sum , OV.nivo
FROM tb_aantalxondersteuningsvorm AO
JOIN tb_ondersteuningsvormen OV ON OV.id = AO.ondersteuningsvorm_id
JOIN tb_groepen G ON G.id = AO.groep_id
WHERE AO.organisatie_id = {$orgid}
AND G.schooljaarnr ={$schooljaarnr}
AND G.schooltype = '{$schooltype}'
AND G.module = {$module}
GROUP BY nivo";
return $this->get_query_result();
}
function getallediversiteitsgegevens($schooljaarnr){
$orgid = $this->globorgid;
$bg = $this->getbgsenscholen($orgid);
$maxdq = new stdClass;
$maxdq->school = '';
$maxdq->dq = 0;
$mindq = new stdClass;
$mindq->school = '';
$mindq->dq = 100;
$maxoov = new stdClass;
$maxoov->school = '';
$maxoov->oov = 0;
$grandtotals = new stdClass;
$combifactoren = $this->Combifactoren_model->getfactoren($this->globorgid);
if ($bg){
$grandtotals->llng = 0;
$grandtotals->cat1 = 0;
$grandtotals->cat2 = 0;
$grandtotals->cat3 = 0;
$grandtotals->cat4 = 0;
$grandtotals->cat234 = 0;
foreach($bg as $bege){
if ($bege->scholen){
$bggem = new stdClass;
$bggem->brin = '';
$bggem->naam='Gemiddeld '.$bege->naamkort;
$bggem->aantallln = 0;
$bggem->aantalgroepen = 0;
$bggem->cat1=0;
$bggem->cat2=0;
$bggem->cat3=0;
$bggem->cat4=0;
$bggem->oov=0;
$bggem->tgd=0;
$bggem->dq=0;
$usedaantalscholen = 0;
$schoolsoort ='REGULIER';
foreach($bege->scholen as $school){
$school->groepen = $this->Groepen_model->getgroepen($school->id, $schooljaarnr);
// volgens mij is voor school het normaantal altijd 22 (groep 1/2 ) of 24 (groep 3/8) maar dat komt toch niet
//overeen met per groep. dus toch maar norm ophalen;
$normaantallen = $this->getnormaantallen($school->id, $schoolsoort);
if (!$normaantallen){
$normaantallen = new StdClass;
$normaantallen->groep12 = 22;
$normaantallen->groep38 = 24;
}
$tot = 0;
$normtot = 0;
if ($school->groepen){
foreach($school->groepen as $groep){
$groepasarray = explode(';',$groep->niveau);
$groep->combi = count($groepasarray);
if ($combifactoren && $combifactoren->addtoschool == "T"){
$combiwaarde = 0;
if ($groep->combi ==2) $combiwaarde = $combifactoren->combi2;
if ($groep->combi >= 3) $combiwaarde = $combifactoren->combi3;
} else{
$combiwaarde =0;
}
$tot = $tot + $groep->totaantal + $combiwaarde;
$bggem->aantallln = $bggem->aantallln + $groep->totaantal;
if ((strpos($groep->niveau, '1') !== false) || (strpos($groep->niveau, '2') !== false) ){
$normtot = $normtot + $normaantallen->groep12;
}
else {
$normtot = $normtot + $normaantallen->groep38;
};
}; // foreach
}
$school->aantallln = $tot;
$school->aantalgroepen =0 ;
if ($school->groepen){
$school->aantalgroepen = count($school->groepen);
};
$bggem->aantalgroepen = $bggem->aantalgroepen + $school->aantalgroepen;
$aantallenpercat = $this->getaantallenpercategorie($school->id,$schooljaarnr,"R");
$aantalmetvraag = 0;
$schooltgd =0;
if ($aantallenpercat){
foreach($aantallenpercat as $aantalpercat){
$aantalmetvraag = $aantalmetvraag + $aantalpercat->sum;
switch($aantalpercat->nivo){
case 2: $school->cat2 = $aantalpercat->sum;
$bggem->cat2 = $bggem->cat2 + $aantalpercat->sum;
$schooltgd =$schooltgd + ($aantalpercat->sum * 1.5);
break;
case 3: $school->cat3= $aantalpercat->sum;
$schooltgd = $schooltgd + ($aantalpercat->sum * 2);
$bggem->cat3 = $bggem->cat3+ $aantalpercat->sum ;
break;
case 4: $school->cat4 = $aantalpercat->sum;
$bggem->cat4 = $bggem->cat4 + $aantalpercat->sum;
$schooltgd = $schooltgd + ($aantalpercat->sum * 4);
break;
};
}; //foreach
}; // if aantallen
$school->oov = null;
if ($school->aantallln > 0) {
$school->oov = round(($aantalmetvraag / $school->aantallln) * 100);
$school->cat1 =$school->aantallln - $aantalmetvraag;
$school->tgd = round($schooltgd + $school->cat1);
$school->dq = round(($school->tgd / $normtot) * 100) / 100;
$bggem->cat1 = $bggem->cat1 + $school->cat1;
$bggem->oov = $bggem->oov + $school->oov;
$bggem->tgd = $bggem->tgd + $school->tgd ;
$bggem->dq= $bggem->dq + $school->dq;
$usedaantalscholen ++;
$grandtotals->llng =$grandtotals->llng + $school->aantallln;
$grandtotals->cat1 = $grandtotals->cat1 + $school->cat1;
if (isset($school->cat2)) $grandtotals->cat2 = $grandtotals->cat2 + $school->cat2;
if (isset($school->cat3)) $grandtotals->cat3 = $grandtotals->cat3 + $school->cat3;
if (isset($school->cat4)) $grandtotals->cat4 = $grandtotals->cat4 + $school->cat4;
};
if (isset($school->dq)){
if ($school->dq > $maxdq->dq) {
$maxdq->school = $school->brin ." - ".$school->naamkort;
$maxdq->dq = $school->dq;}
if ($school->dq < $mindq->dq) {
$mindq->school = $school->brin." - ".$school->naamkort;
$mindq->dq = $school->dq;}
}
if (isset($school->oov) && $school->oov > $maxoov->oov) {
$maxoov->school = $school->brin." - ".$school->naamkort;
$maxoov->oov = $school->oov;}
}; // foreach scholen
if ($usedaantalscholen > 0) {
$bgtot = new stdClass;
$bgtot->brin = '';
$bgtot->naam='Totaal '.$bege->naamkort;
$bgtot->aantallln = $bggem->aantallln;
$bgtot->aantalgroepen = $bggem->aantalgroepen;
$bgtot->cat1= $bggem->cat1;
$bgtot->cat2= $bggem->cat2;
$bgtot->cat3= $bggem->cat3;
$bgtot->cat4= $bggem->cat4;
$bgtot->oov= null;
$bgtot->tgd= round($bggem->tgd);
$bgtot->dq=null;
$bggem->aantallln = round($bggem->aantallln / $usedaantalscholen);
$bggem->groepen = round($bggem->aantalgroepen/$usedaantalscholen);
$bggem->cat1 =round($bggem->cat1/ $usedaantalscholen);
$bggem->cat2 =round($bggem->cat2/ $usedaantalscholen);
$bggem->cat3 =round($bggem->cat3/ $usedaantalscholen);
$bggem->cat4 =round($bggem->cat4/ $usedaantalscholen);
$bggem->oov = round($bggem->oov / $usedaantalscholen ) ;
$bggem->tgd = round($bggem->tgd / $usedaantalscholen);
$bggem->dq = round(($bggem->dq / $usedaantalscholen) * 100) / 100;
array_push($bege->scholen,$bgtot);
array_push($bege->scholen,$bggem);
}
} ; // if scholen
}; // foreach bg
$grandtotals->cat234 = $grandtotals->cat2 + $grandtotals->cat3 + $grandtotals->cat4;
}; // if bg
return array(array('bg'=>$bg,
"maxdq" =>$maxdq,
"mindq" =>$mindq,
"maxoov" => $maxoov,
"grandtotals" =>$grandtotals));
}
function getallediversiteitsgegevenssboso($schooljaarnr, $licentie){
$orgid = $this->globorgid;
$bg = $this->getbgsenscholenmetlicentie($orgid, $licentie);
$somschooldq = 0;
$maxdq = new stdClass;
$maxdq->school = '';
$maxdq->dq = 0;
$mindq = new stdClass;
$mindq->school = '';
$mindq->dq = 100;
$grandtotals = new stdClass;
$beschikbaar = 'F';
if ($bg){
$grandtotals->llng = 0;
$grandtotals->cat5 = 0;
$grandtotals->cat6 = 0;
$grandtotals->cat7 = 0;
$grandtotals->cat8 = 0;
$grandtotals->totaal = 0;
foreach($bg as $bege){
if ($bege->scholen){
$bggem = new stdClass;
$bggem->brin = '';
$bggem->naam='Gemiddeld '.$bege->naamkort;
$bggem->aantallln = 0;
$bggem->aantalgroepen = 0;
$bggem->cat5=0;
$bggem->cat6=0;
$bggem->cat7=0;
$bggem->cat8=0;
$bggem->tgd=0;
$bggem->dq=0;
$usedaantalscholen = 0;
foreach($bege->scholen as $school){
$school->groepen = $this->Groepen_model->getgroepenSboso($school->id, $schooljaarnr);
// volgens mij is voor school het normaantal altijd 22 (groep 1/2 ) of 24 (groep 3/8) maar dat komt toch niet
//overeen met per groep. dus toch maar norm ophalen;
$normaantallen = 0;
$normaantallenSBO = $this->getnormaantallen($school->id, 'SBO');
$normaantallenSO = $this->getnormaantallen($school->id, 'SO');
if (!$normaantallenSO) {
$normaantallenSO = new StdClass;
$normaantallenSO->groep12 = 22;
$normaantallenSO->groep38 = 24;
}
if (!$normaantallenSBO) {
$normaantallenSBO = new StdClass;
$normaantallenSBO->groep12 = 22;
$normaantallenSBO->groep38 = 24;
}
$tot = 0;
$normtot = 0;
if ($school->groepen){
foreach($school->groepen as $groep){
$tot = $tot + $groep->totaantal;
$bggem->aantallln = $bggem->aantallln + $groep->totaantal;
}; // foreach
}
$school->aantallln = $tot;
$school->aantalgroepen =0 ;
if ($school->groepen){
$school->aantalgroepen = count($school->groepen);
};
if($school->groepen) {
foreach($school->groepen as $groep) {
if ($groep->totaantal > 0) {
if ((strpos($groep->niveau, '1') !== false) || (strpos($groep->niveau, '2') !== false)) {
$groep->normaantal = (($groep->som5 / $groep->totaantal) * $normaantallenSBO->groep12)
+ ((($groep->totaantal - $groep->som5) / $groep->totaantal) *
$normaantallenSO->groep12);//== factor
} else {
$groep->normaantal = (($groep->som5 / $groep->totaantal) * $normaantallenSO->groep38)
+ ((($groep->totaantal - $groep->som5) / $groep->totaantal) *
$normaantallenSO->groep38); //== factor
};
$groep->diversiteit = ($groep->som5 * 2) + ($groep->som6 * 3) + ($groep->som7 * 4) +($groep ->som8 * 5);
$groep->groepdq = round($groep->diversiteit/$groep->normaantal);
$normtot = $normtot + $groep->normaantal;
$somschooldq = $somschooldq + $groep->groepdq;
}
}
}
$school->normaantal = $normtot;
$school->dq =0;
if($school->aantalgroepen > 0) {
$school->dq = round(($somschooldq / $school->aantalgroepen) * 100) / 100;
$bggem->aantalgroepen = $bggem->aantalgroepen + $school->aantalgroepen;
}
$aantallenpercat = $this->getaantallenpercategorie($school->id,$schooljaarnr,'SBO', $licentie);
$schooltgd =0;
if ($aantallenpercat){
foreach($aantallenpercat as $aantalpercat){
switch($aantalpercat->nivo){
case 5: $school->cat5 = $aantalpercat->sum;
$bggem->cat5 = $bggem->cat5 + $aantalpercat->sum;
$schooltgd = $schooltgd + ($aantalpercat->sum * 2);
break;
case 6: $school->cat6 = $aantalpercat->sum;
$schooltgd = $schooltgd + ($aantalpercat->sum * 3);
$bggem->cat6 = $bggem->cat6+ $aantalpercat->sum ;
break;
case 7: $school->cat7 = $aantalpercat->sum;
$bggem->cat7 = $bggem->cat7 + $aantalpercat->sum;
$schooltgd = $schooltgd + ($aantalpercat->sum * 4);
break;
case 8: $school->cat8 = $aantalpercat->sum;
$bggem->cat8 = $bggem->cat8 + $aantalpercat->sum;
$schooltgd = $schooltgd + ($aantalpercat->sum * 5);
break;
};
}; //foreach
}; // if aantallen
if ($school->aantallln > 0) {
$school->tgd = round($schooltgd);
$school->dq = round(($school->tgd / $school->normaantal) * 100) / 100;
$bggem->tgd = $bggem->tgd + $school->tgd ;
$bggem->dq= $bggem->dq + $school->dq;
$usedaantalscholen ++;
$grandtotals->llng =$grandtotals->llng + $school->aantallln;
if (isset($school->cat5)) $grandtotals->cat5 = $grandtotals->cat5+ $school->cat5;
if (isset($school->cat6)) $grandtotals->cat6 = $grandtotals->cat6 + $school->cat6;
if (isset($school->cat7)) $grandtotals->cat7 = $grandtotals->cat7 + $school->cat7;
if (isset($school->cat8)) $grandtotals->cat8 = $grandtotals->cat8 + $school->cat8;
};
if (isset($school->dq)){
if ($school->dq > $maxdq->dq) {
$maxdq->school = $school->brin ." - ".$school->naamkort;
$maxdq->dq = $school->dq;}
if ($school->dq < $mindq->dq) {
$mindq->school = $school->brin." - ".$school->naamkort;
$mindq->dq = $school->dq;}
}
}; // foreach scholen
if ($usedaantalscholen > 0) {
$bgtot = new stdClass;
$bgtot->brin = '';
$bgtot->naam='Totaal '.$bege->naamkort;
$bgtot->aantallln = $bggem->aantallln;
$bgtot->aantalgroepen = $bggem->aantalgroepen;
$bgtot->cat5= $bggem->cat5;
$bgtot->cat6= $bggem->cat6;
$bgtot->cat7= $bggem->cat7;
$bgtot->cat8= $bggem->cat8;
$bgtot->tgd= round($bggem->tgd);
$bgtot->dq=null;
//
$bggem->aantallln = round($bggem->aantallln / $usedaantalscholen);
$bggem->aantalgroepen = round($bggem->aantalgroepen/$usedaantalscholen);
$bggem->cat5 =round($bggem->cat5/ $usedaantalscholen);
$bggem->cat6 =round($bggem->cat6/ $usedaantalscholen);
$bggem->cat7 =round($bggem->cat7/ $usedaantalscholen);
$bggem->cat8 =round($bggem->cat8/ $usedaantalscholen);
$bggem->tgd = round($bggem->tgd / $usedaantalscholen);
$bggem->dq = round(($bggem->dq / $usedaantalscholen) * 100) / 100;
array_push($bege->scholen,$bgtot);
array_push($bege->scholen,$bggem);
}
} ; // if scholen
}; // foreach bg
$grandtotals->cat56789 = $grandtotals->cat5 + $grandtotals->cat6 + $grandtotals->cat7 + + $grandtotals->cat8;
if($grandtotals->cat56789 > 0){
$beschikbaar = 'T';
}
}; // if bg
return array(array('bg'=>$bg,
"maxdq" => $maxdq,
"mindq" => $mindq,
"grandtotals" => $grandtotals,
"beschikbaar" => $beschikbaar));
}
function getbgsenscholen($orgid){
$bg = null;
$bgs = array();
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
switch ($organisatie->soort){
case 0: $bgs = null; break;
case 1: $kamers = $this->Organisaties_model->getorgsvanaf($organisatie->id, false);
if ($kamers){
foreach($kamers as $kamer){
$bg = $this->Organisaties_model->getorgsvanaf($kamer->id, false);
if ($bg){
$bgs = array_merge($bgs, $bg);
}
}
}
break;
case 2 : $bgs = $this->Organisaties_model->getorgsvanaf($organisatie->id,false);
break;
case 3: $bgs[0] =$organisatie;
break;
}; // switch;
if ($bgs){
foreach($bgs as $bev){
$bev->scholen= $this->Organisaties_model->getorgsvanaf($bev->id, false);
}; // foreach
}; // if bgs
return $bgs;
}
function getbgsenscholenmetlicentie($orgid, $licentie){
$bg = null;
$bgs = array();
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
switch ($organisatie->soort){
case 0: $bgs = null; break;
case 1: $kamers = $this->Organisaties_model->getorgsvanaf($organisatie->id, false);
if ($kamers){
foreach($kamers as $kamer){
$bg = $this->Organisaties_model->getorgsvanaf($kamer->id, false);
if ($bg){
$bgs = array_merge($bgs, $bg);
}
}
}
break;
case 2: $bgs = $this->Organisaties_model->getorgsvanaf($organisatie->id,false);
break;
case 3: $bgs[0] =$organisatie;
break;
}; // switch;
$licentiebgs = [];
if ($bgs){
foreach($bgs as $bev){
$bev->scholen= $this->Organisaties_model->getorgsvanafmetlicentie($bev->id, $licentie);
if($bev->scholen){
$licentiebgs [] = $bev;
}
}; // foreach
}; // if bgs
return $licentiebgs;
}
function getosvormen($orgid, $schooljaarnr, $minnivo, $maxnivo, $module){
$groeparray = [];
$os = $this->Ondersteuningsvormen_model->getvormen($orgid, $minnivo, $maxnivo);
if($minnivo >= 5) {
// $groepen = $this->Aantalxondersteuningsvorm_model->getgroepenmetlln($orgid, $schooljaarnr, $minnivo, $maxnivo);
$groepen = $this->Groepen_model->getGroepenSboSo($orgid, $schooljaarnr);
}
else {
$groepen = $this->Groepen_model->getgroepen($orgid, $schooljaarnr, $module);
}
if(!$groepen){
return false;
}
foreach($groepen as $groep){
$groepsarray[]=$groep->id;
}
$groepids = implode(',', $groepsarray);
if ($os){
foreach($os as $vorm){
$vorm->groepsaantallen = $this->Aantalxondersteuningsvorm_model->getaantallen($vorm->id, $orgid,$schooljaarnr, $groepids);
$vorm->vormtotaal =0;
if ($vorm->groepsaantallen){
foreach($vorm->groepsaantallen as $aantallen){
$vorm->vormtotaal = $vorm->vormtotaal + $aantallen->aantal;
};
};
}
}
return $os;
}
}
@@ -0,0 +1,24 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Documenten_model januari 2015 */
class Documenten_model extends MY_Model{
protected $tablename = 'tb_documenten';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function gethandleidingen($orgid, $userrole){
$this->sql = "SELECT id, schermnaam, documentnaam, nummer
FROM tb_documenten
WHERE soort = 1
AND ({$userrole} & autorisatienivo)
AND (organisatie_id = {$orgid} OR organisatie_id = 0)
ORDER BY nummer, schermnaam";
return $this->get_query_result();
}
}
+26
View File
@@ -0,0 +1,26 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Dq_model januari 2015 */
class Dq_model extends MY_Model{
protected $tablename = 'tb_dq';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getaantallen($orgid, $schoolsoort){
$this->sql="SELECT groep12, groep38
FROM tb_dq
WHERE organisatie_id = {$orgid}
AND schooltype = '{$schoolsoort}'
ORDER BY volgorde DESC
LIMIT 1";
return $this->get_query_row();
}
}
@@ -0,0 +1,485 @@
<?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 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}
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');
}
}
@@ -0,0 +1,28 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Aantalxondersteuningsvorm_model mei 2015 */
class Flexsop_gebruikteversies_model extends MY_Model{
protected $tablename = 'tb_flexsop_gebruikteversies';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getVergelijkingen($hoofdstukID){
$this->sql = " SELECT orgversie_id
FROM tb_flexsop_gebruikteversies
WHERE hoofdstuk_id = {$hoofdstukID}
ORDER BY volgorde";
$versies = $this->get_query_result();
$vergelijkingen = [];
foreach ($versies ? $versies : [] as $versie){
array_push($vergelijkingen, $versie->orgversie_id);
}
return $vergelijkingen;
}
}// model
@@ -0,0 +1,17 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Getoondeberichten_model december 2017 */
class Getoondeberichten_model extends MY_Model{
protected $tablename = 'tb_getoondeberichten';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
}
+143
View File
@@ -0,0 +1,143 @@
<?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,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4,
(totaantal - SUM(AX.aantal) ) 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
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 getversiesmetleerlingen($orgid, $schooljaarnr, $schooltype, $module){
$this->sql="SELECT SUM(totaantal) AS llnschool
FROM tb_groepen
WHERE organisatie_id ={$orgid}
AND schooljaarnr = {$schooljaarnr}
AND schooltype = '{$schooltype}'
AND module = {$module} ";
return $this->get_query_row('llnschool');
}
function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4,
(GR.totaantal - IF(SUM(AX.aantal) , SUM(AX.aantal),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
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,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4,
(GR.totaantal - IF(SUM(AX.aantal) , SUM(AX.aantal),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
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();
}
}
@@ -0,0 +1,26 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Groepenxusers_model mei 2015 vervangt leerkrachten */
class Groepenxusers_model extends MY_Model{
protected $tablename = 'tb_groepenxusers';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getleerkrachten($groepid){
$this->sql = " SELECT GU.id AS GUid,
U.id as userid,
U.aanhef,
concat_ws(' ',U.voornaam, U.tussenvoegsel, U.achternaam) AS fullname
FROM tb_groepenxusers GU
JOIN tb_orgusers OU ON OU.id = GU.orguser_id
JOIN tb_users U ON U.id = OU.user_id
WHERE groep_id = {$groepid}";
return $this->get_query_result();
}
}
@@ -0,0 +1,16 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Sop_model oktober 2015 */
class Hfstprofiel_model extends MY_Model{
protected $tablename = 'tb_hfstprofiel';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
}
+15
View File
@@ -0,0 +1,15 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Home_model mei 2016 */
class Home_model extends MY_Model{
protected $tablename = 'tb_home';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
}
@@ -0,0 +1,129 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**chapters_model januari 2016*/
class Hoofdstukken_model extends MY_Model{
protected $tablename = 'tb_hoofdstukken';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getstandaardchapters(){
$this->sql =" SELECT id, nummer, naam, module
FROM tb_hoofdstukken
WHERE standaard = 1
AND oud = 'N'
ORDER BY nummer";
return $this->get_query_result();
}
function getaddedchapters($profielid){
$this->sql="SELECT H.id, H.nummer, H.naam, H.module
FROM tb_hoofdstukken H
JOIN tb_hfstprofiel HP ON H.id = HP.chapter_id
WHERE HP.profiel_id = {$profielid}
AND oud = 'N'
ORDER BY chapter_id";
return $this->get_query_result();
}
function ls_checkInleiding($profielID){
$this->sql=" SELECT if (SI.id, true, false) as insop
FROM tb_hoofdstukken H
JOIN tb_sopinhouden SI ON ( H.id = SI.chapter_id AND SI.profiel_id = {$profielID})
WHERE oud = 'N'";
return $this->get_query_result();
}
function ls_getHoofdstukken($profielID){
$this->sql=" SELECT H.id, H.nummer, H.naam, H.module, SI.volgorde, H.standaard, SI.id as sopinhoudID,
if (SI.id, true, false) as insop,
SI.orgversieid
FROM tb_hoofdstukken H
LEFT JOIN tb_licenties L ON H.module = L.modulenr
LEFT JOIN tb_sopinhouden SI ON ( H.id = SI.chapter_id AND SI.profiel_id = {$profielID})
WHERE oud = 'N'
AND (L.orgid = {$this->globorgid} OR H.id = 49)
ORDER BY insop DESC, SI.volgorde, H.naam";
return $this->get_query_result();
}
function getHoofdstukLabelsSop($sopid){
$this->sql="SELECT H.id, H.nummer, H.naam, H.module, SI.volgorde, H.standaard, SI.id as sopinhoudID
FROM tb_hoofdstukken H
JOIN tb_sopinhouden SI ON H.id = SI.chapter_id
WHERE SI.profiel_id = {$sopid}
AND oud = 'N'
GROUP BY H.id
ORDER BY SI.volgorde";
return $this->get_query_result();
}
function getStandaardLabelsSop($hfstids = FALSE){
$this->sql="SELECT id, nummer, naam, module, volgorde, standaard, null as sopinhoudID
FROM tb_hoofdstukken
WHERE standaard = 1
AND oud = 'N'
";
if($hfstids){
$this->sql.="AND id NOT IN ({$hfstids})";
}
$this->sql.="ORDER BY volgorde";
return $this->get_query_result();
}
function getKeuzeLabelsSop($orgid, $hfstids){
$this->sql="SELECT H.id, H.nummer, H.naam, H.module, H.volgorde, H.standaard
FROM tb_hoofdstukken H
JOIN tb_licenties L ON H.module = L.modulenr
WHERE L.orgid = {$orgid}
AND H.id NOT IN ({$hfstids})
AND H.oud = 'N'
AND H.standaard = 2
ORDER BY volgorde";
return $this->get_query_result();
}
function getChapterKeuzeSop($orgid){
$this->sql="SELECT H.id, H.nummer, H.naam, H.module, H.volgorde
FROM tb_hoofdstukken H
JOIN tb_licenties L ON H.module = L.modulenr
WHERE L.organisatie_id = {$orgid}
AND oud = 'N'
ORDER BY H.volgorde";
return $this->get_query_result();
}
function getoldchapters(){
$this->sql =" SELECT id, nummer, naam, module
FROM tb_hoofdstukken
WHERE standaard = 1
AND oud = 'Y'
ORDER BY nummer";
return $this->get_query_result();
}
function getmodule($chapterid){
$this->sql="SELECT M.sysnr
FROM tb_modules M
JOIN tb_hoofdstukken H ON M.sysnr = H.module
WHERE H.id = {$chapterid}" ;
return $this->get_query_row('sysnr');
}
function getInleidingenOrg($orgid){
$this->sql="SELECT SI
FROM tb_modules M
JOIN tb_hoofdstukken H ON M.sysnr = H.module
WHERE H.id = 49 ";
return $this->get_query_result();
}
}
@@ -0,0 +1,85 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Ijkpunten_model maart 2015 */
class Ijkpunten_model extends MY_Model{
protected $tablename = 'tb_ijkpunten';
function __construct(){
parent::__construct();
$models = array( 'shared/Organisaties_model',
'monpas/Scores_model');
$this->load->model($models);
}
function getijkpunten($orgversieid){
$this->sql="SELECT Y.id, Y.nummer,Y.omschrijving,Y.toelichting
FROM tb_orgversies OV
JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id
WHERE OV.id ={$orgversieid}
ORDER BY Y.nummer ";
return $this->get_query_result();
}
function telijkpunten($orgversieid){
$this->sql="SELECT COUNT(Y.id) AS aantalY
FROM tb_orgversies OV
JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id
WHERE OV.id ={$orgversieid} ";
return $this->get_query_row('aantalY');
}
function getijkpunten1($versieid){
$this->sql="SELECT Y.id, Y.nummer,Y.omschrijving,Y.toelichting
FROM tb_ijkpunten Y
WHERE Y.versie_id ={$versieid}
ORDER BY Y.nummer ";
return $this->get_query_result();
}
function getijkpunt($id)
{
$this->sql = "SELECT id, nummer,omschrijving,toelichting
FROM tb_ijkpunten
WHERE id ={$id} ";
return $this->get_query_row();
}
function getscores($orgversieid , $orgid){
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
$scores = null;
// als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt
// let op als ik-versie dan moeten de gegevens van de users worden opgehaald maar
// dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions);
// let op ja nee bezig wordt vertaald naar 10, 0 en 5
// let op ja nee nvt wordt vertaald naar 10 0 en niet meegerekend bij aantallen voor gem
if ($organisatie->soort ==4) {
$scores =$this->Scores_model->calculateschool($orgversieid, $orgid);
};
// als de organisatie geen school is: haal de gemiddeldse scores over alle organisaties op
if ($organisatie->soort == 3){
$scores = $this->Scores_model->calculateBG($orgversieid, $orgid);
}
if ($organisatie->soort== 1 || $organisatie->soort == 2){
if ($organisatie->soort == 2){
$bgs = $this->Organisaties_model->getorgsvanaf($organisatie->id);
}
if($organisatie->soort ==1){
$bgs = $this->Organisaties_model->getbgsonderswv($organisatie->id);
}
if ($bgs){
foreach($bgs as $bg){
$bglijst[] = $bg->id;
}
$lijst = implode(',',$bglijst);
$scores=$this->Scores_model->calculateBGs($orgversieid, $lijst);
}
}
return $scores;
}
}
@@ -0,0 +1,34 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**indicatoren_model maart 2015 */
class Indicatoren_model extends MY_Model{
protected $tablename = 'tb_indicatoren';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getindicatoren($ijkpuntid){
$this->sql="SELECT I.id, nummer, omschrijving1, omschrijving2, inspectie,
REPLACE(gewicht,'.',',') AS gewicht,
IF (count(SC.id) = 0, TRUE,FALSE) AS deleteok
FROM tb_indicatoren I
LEFT JOIN tb_scores SC ON SC.indicator_id = I.id
WHERE I.ijkpunt_id = {$ijkpuntid}
GROUP BY I.id
ORDER BY nummer";
return $this->get_query_result();
}
function getindicator($id){
$this->sql="SELECT I.id, nummer, omschrijving1, omschrijving2, inspectie,
REPLACE(gewicht,'.',',') AS gewicht, IF (count(SC.id) = 0, TRUE,FALSE) AS deleteok
FROM tb_indicatoren I
LEFT JOIN tb_scores SC ON SC.indicator_id = I.id
WHERE I.id = {$id}";
return $this->get_query_row();
}
}
@@ -0,0 +1,66 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Labels_model januari 2015 */
class Labels_model extends MY_Model{
protected $tablename = 'tb_labels';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function getLabel($sysnr){
$this->sql="SELECT waarde
FROM tb_translate
WHERE modulenr = {$sysnr} ";
return $this->get_query_row("waarde");
}
function getLabels($module){
$this->sql="SELECT *
FROM tb_translate
WHERE modulenr = {$module} ";
return $this->get_query_result();
}
function getalllabels($module = false){
if (! $module) $module = $this->session->userdata('module');
$this->sql="SELECT L.omschrijving, T.waarde
FROM tb_translate T
JOIN tb_labels L on L.id = T.labelid
WHERE modulenr = {$module}";
$labels = $this->get_query_result();
$lbl = array();
if ($labels){
foreach($labels as $label){
$lbl[$label->omschrijving]=$label->waarde;
};// foreach
}
return $lbl;
}
function gettabellabel($modulenr){
$this->sql="SELECT waarde
FROM tb_translate T
WHERE modulenr = {$modulenr}
AND labelid = 2 ";
return $this->get_query_row("waarde");
}
function getresultaatlabel($modulenr){
$this->sql="SELECT waarde
FROM tb_translate T
WHERE modulenr = {$modulenr}
AND labelid = 1 ";
return $this->get_query_row("waarde");
}
}
@@ -0,0 +1,28 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Leerkrachten_model mei 2015 */
class Leerkrachten_model extends MY_Model{
protected $tablename = 'tb_leerkrachten';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
// function getleerkracht($lkid){
// $this->sql = "SELECT id, organisatie_id, aanhef, voornaam, tussenvoegsel,achternaam,email
// FROM tb_leerkrachten
// WHERE id = {$lkid}";
// return $this->get_query_row();
// }
// function getleerkrachten($orgid){
// $this->sql = "SELECT id, organisatie_id, aanhef, voornaam, tussenvoegsel,achternaam,email
// FROM tb_leerkrachten
// WHERE organisatie_id = {$orgid}
// ORDER BY achternaam";
// return $this->get_query_result();
// }
}
@@ -0,0 +1,237 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Maakinhoudnieuw_model extends MY_Model{
protected $tablename = 'tb_sopinhouden';
function __construct(){
parent::__construct();
$models = array("monpas/Ambities_model",
'shared/Users_model',
'monpas/Diversiteits_model',
'monpas/Filledversions_model',
'monpas/Groepen_model',
'monpas/Hoofdstukken_model',
'monpas/Labels_model',
'monpas/Ondersteuningtijden_model',
'monpas/Orgversies_model',
'monpas/Schooldetails_model',
'shared/Schooljaren_model',
'monpas/Scores_model',
'monpas/Sop_model',
'monpas/Standaardteksten_model',
'monpas/Wenssituaties_model',
'monpas/Hoofdstukken_model');
$this->load->model($models);
$this->load->library('monpas/kleurcodes');
}
function maakEnSaveInleiding($profielid, $chapterid,$orgversieid){
$content = $this->maakInleiding($profielid, $chapterid);
$this->SaveContent($profielid, $chapterid,$orgversieid, $content,10);
}
function maakInleiding($profielid, $chapterid){
$content = $this->Standaardteksten_model->get(['chapter_id' =>$chapterid],'content' , true);
$org = $this->Organisaties_model->get(['id' => $this->globorgid], false, true);
$bg = $this->Organisaties_model->get_fieldvalue(["id" => $org->valtonder_id], "naam");
$orgdetails = $this->Schooldetails_model->get_details($this->globorgid);
$specialfields = $this->Sopviews_model->get(['soort' => "INLEIDING"], false,false);
$data = [ 'bevoegdgezag' => $bg,
'schoolnaam' => $org->naam,
'details' => $orgdetails];
foreach ($specialfields as $specialfielddefinitie) {
$fieldhtml = $this->load->view("monpas/sopkeuze/" . $specialfielddefinitie->pad, ['data' => $data], TRUE);
$content = $this->vervangSpecialField($specialfielddefinitie, $content , $fieldhtml);
}
return $content;
} // maak inleiding
function vervangSpecialField($definitie, $content, $fieldhtml){
$vervang = $definitie->vervangingscode;
$pos = strpos($content, $vervang);
if ($pos) {
$lengte = strlen($vervang) + 3;
$content = substr_replace($content, $fieldhtml, $pos, $lengte);
}// if strpos
return $content;
}
function SaveContent($profielid, $chapterid, $orgversieid, $content, $volgorde){
$sopinhoudid = $this->Sopinhouden_model->get(['profiel_id'=> $profielid, 'chapter_id' =>$chapterid], false, true);
if ($sopinhoudid){
$this->Sopinhouden_model->update_record(['content' =>$content, 'volgorde' =>$volgorde], $sopinhoudid);
} else{
$data=['profiel_id' => $profielid,
'chapter_id' => $chapterid,
'content' => $content,
'orgversieid' => $orgversieid,
'volgorde' => $volgorde];
$this->Sopinhouden_model->insert_record($data);
}
}
function fVervers($chapterID, $sopinhoudid, $orgversieid, $wat, $vergelijkingen){
list($newContent, $orgversieid, $error) = $this->fVerversContent($chapterID, $sopinhoudid,$orgversieid,$wat, $vergelijkingen);
if (! $error){
$this->Sopinhouden_model->update_record(['content' =>$newContent, 'orgversieid'=>$orgversieid ], $sopinhoudid);
}
return $error;
}
function fVerversContent($chapterID, $sopinhoudid, $orgversieid, $wat, $vergelijkingen){
$inhoudrecord = $this->Sopinhouden_model->get(['id' =>$sopinhoudid], false ,true);
if (! $orgversieid || $orgversieid == 0) $orgversieid = $inhoudrecord->orgversieid;
if ($wat == "TABELLEN") $content = $inhoudrecord->content;
else $content = $this->Standaardteksten_model->get(['chapter_id' =>$chapterID],'content', true);
$error = false;
if (! $content){
$error = "Er zijn nog geen standaardteksten gemaakt voor dit hoofdstuk. Neem contact op met de helpdesk.";
return [$content, $orgversieid, $error];
}
if ($chapterID == 49){
$data = $this->CreateDataInleiding();
$soort = $data['soort'];
}
elseif ($chapterID == 56 || $chapterID == 57){
$soort = 'ALLEENTEKST';
}
else {
$dataArray = $this->CreateData($chapterID, $orgversieid, $vergelijkingen);
$soort = $dataArray['soort'];
$data = $dataArray['data'];
if ( isset($data['lijsten']) )
if (! $data['lijsten'][0]->scores){
$error = "Er zijn geen ingevulde lijsten (meer) bij de gekozen versie van dit instrument.";
return [$content, $orgversieid, $error];
}
if (isset($data['oordelen']))
if (! $data['oordelen']){
$error = "Er zijn geen ingevulde lijsten (meer) bij de gekozen versie van dit instrument.";
return [$content, $orgversieid, $error];
}
if (! isset($data['oordelen']) && ! isset($data['lijsten']) && ! $dataArray['soort']=="DIVERSITEIT"){
$error = "Er zijn geen ingevulde lijsten (meer) bij de gekozen versie van dit instrument.";
return [$content, $orgversieid, $error];
}
if (! isset($data['versie']) ) $data['versie'] = $this->setVersie($orgversieid);
if (! isset($data['school']) ) $data['school'] = $this->Organisaties_model->get_record_by_id($this->globorgid);
}
$specialfields = $this->Sopviews_model->get(['soort' => $soort], false,false);
if ($specialfields) {
foreach ($specialfields as $specialfielddefinitie) {
$fieldhtml = $this->load->view("monpas/sopkeuze/" . $specialfielddefinitie->pad, ['data' => $data], TRUE);
if ($specialfielddefinitie->type == "GRA") {
$afbeelding = $this->MaakAfbeelding($fieldhtml, $specialfielddefinitie->tabelid); // was imagecode
list($content, $error) = $this->resetSpecialField($specialfielddefinitie, $content, $afbeelding);
} else {
list($content, $error) = $this->resetSpecialField($specialfielddefinitie, $content , $fieldhtml);
}
}
} // if specialfields
return [$content, $orgversieid, $error];
}
function MaakAfbeelding($fieldhtml, $idnaam){
$image = $this->Phantom_model->create_img($fieldhtml, 'test', FALSE, FALSE, array(650, 0));
$image = "<img src='data:image/png;base64," .$image. "' id='" . $idnaam . "' />";
return $image;
}
function CreateDataInleiding(){
$org = $this->Organisaties_model->get(['id' => $this->globorgid], false, true);
$bg = $this->Organisaties_model->get_fieldvalue(["id" => $org->valtonder_id], "naam");
$orgdetails = $this->Schooldetails_model->get_details($this->globorgid);
$data = [ 'bevoegdgezag' => $bg,
'schoolnaam' => $org->naam,
'details' => $orgdetails,
'soort' => 'INLEIDING'];
return $data;
}
function createData($chapterID, $orgversieID, $vergelijkingen){
$hoofdstukkeuze = new HoofdstukKeuze($chapterID, $orgversieID, $vergelijkingen);
return $hoofdstukkeuze->getHoofdstukKeuze();
}
function resetSpecialField($definitie, $content, $fieldhtml){
$error = false;
$html = new DomDocument();
libxml_use_internal_errors(true);
//$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
// bovenstaande removes de closing </h1> tag op de eerst regel. Weird
$html->loadHTML($content);
$book = $html->getElementsByTagName('body');
if (isset($book->parentNode)) $book->parentNode->removeChild($book); // dit werkt blijkbaar niet omdat $book dan geen parentNode heeft
$book = $html->getElementsByTagName('html');
if (isset($book->parentNode)) $book->parentNode->removeChild($book);
$html->removeChild($html->doctype);
if (libxml_get_errors()) {
log_message('error', 'HTML error in the document');
$error= "Maken/verversen van het hoofdstuk is niet gelukt.";
libxml_clear_errors();
return [$content, $error];
}
if( $html->getElementById($definitie->tabelid) ){
$book = $html->getElementById($definitie->tabelid);
$book->parentNode->removeChild($book);
}
try{
$sxe = simplexml_load_string($fieldhtml);
$dom_sxe = dom_import_simplexml($sxe);
$dom_sxe = $html->importNode($dom_sxe, true);
if ($html->getElementById($definitie->vervangingscode) )
$html->getElementById($definitie->vervangingscode)->appendChild($dom_sxe);
// onderstaande else kan niet omdat niet altijd alle vervangingscodes worden gebruikt
// als niet gebruikt dan moeten ze worden overgeslagen
//else $html->appendChild($dom_sxe);
} catch(Exception $e) {
log_message('error', 'Error while parsing the document');
$error= "Maken/verversen van het hoofdstuk is niet gelukt.";
return [$content, $error];
}
$content = $html->saveHTML();
return [$content, $error];
}
function getVolgnummer($profielID){
$this->sql = "SELECT MAX(volgorde) + 10 as volgnummer
FROM tb_sopinhouden
WHERE profiel_id= {$profielID}";
return $this->get_query_row('volgnummer');
}
function setVersie($orgversieid){
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$versie = $this->Versies_model ->get_record_by_id($orgversie->versie_id);
$versie->naam = $versie->naam . ', periode: ' . $orgversie->periodenummer . ': ' . $orgversie->geldigvanaf . ' - ' . $orgversie->geldigtm;
return $versie;
}
}
+43
View File
@@ -0,0 +1,43 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Menus_model februari 2015 */
class Menus_model extends MY_Model{
protected $tablename = 'tb_menus';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getmenu($module, $autorisatienivo){
$this->sql="SELECT id, naam, paginanaam,holdernaam
FROM tb_menus
WHERE ( {$autorisatienivo} & autorisatienivo)
AND ((module = {$module}) OR ({$module} !=0 && module = 9))
AND valtonder = 0
ORDER BY volgorde";
return $this->get_query_result();
}
function getsubmenus($pageid,$autorisatienivo){
$this->sql="SELECT id, naam, paginanaam, holdernaam, volgorde
FROM tb_menus
WHERE ( {$autorisatienivo} & autorisatienivo)
AND valtonder= $pageid
ORDER BY volgorde" ;
return $this->get_query_result();
}
function gettypes($modulenr){
$this->sql="SELECT naam, paginanaam, sop
FROM tb_menus
WHERE sop IS NOT NULL
AND module = {$modulenr}
ORDER BY volgorde" ;
return $this->get_query_result();
}
}
@@ -0,0 +1,17 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Modulebericht_model december 2017 */
class Modulebericht_model extends MY_Model{
protected $tablename = 'tb_modulebericht';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
}
+100
View File
@@ -0,0 +1,100 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Modules_model februari 2015 */
class Modules_model extends MY_Model{
protected $tablename = 'tb_modules';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getallmodules(){
$this->sql =" SELECT id, sysnr, naam, naamkort
FROM tb_modules
ORDER BY naam";
return $this->get_query_result();
}
function getmodulesmetlijst(){
$this->sql =" SELECT sysnr, naam
FROM tb_modules
WHERE heeftlijst = 1
ORDER BY volgorde";
return $this->get_query_result();
}
function getversietoegevoegdemodule($chapterid){
$this->sql =" SELECT *
FROM tb_modules M
JOIN tb_hoofdstukken H ON H.module = M.sysnr
WHERE H.volgorde = {$chapterid} ";
return $this->get_query_row();
}
function getclustersmetberichtselectie($berichtid){
$this->sql =" SELECT C.id AS keuzeid, C.naam AS keuzenaam, CL.id, CL.naam
FROM tb_cluster C
LEFT JOIN tb_cluster CL ON C.id = CL.id
JOIN tb_modules M. ON C.id = M.cluster_id
JOIN tb_modulebericht ON MB.modulenr = M.sysnr
WHERE MB.bericht_id = {$berichtid}
ORDER BY CL.id ";
return $this->get_query_result();
}
function getclusters(){
$this->sql =" SELECT id AS clusterid, naam
FROM tb_cluster
ORDER BY id ";
return $this->get_query_result();
}
function getmodulesbijcluster($clusterid){
$this->sql =" SELECT id, naam, sysnr AS modulenr, cluster_id AS clusterid
FROM tb_modules
WHERE cluster_id = {$clusterid}
ORDER BY id ";
return $this->get_query_result();
}
function get_instrumenten_ind_org($orgid){
$this->sql = "SELECT M.id AS moduleid, M.naam AS modulenaam, M.naamkort AS modulekort, M.cluster_id, M.sysnr,
OV.id as orgversieid, OV.scoretype,
DATE_FORMAT(OV.geldigvanaf, '%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(OV.geldigtm, '%d-%m-%Y') AS geldigtm,
DATE_FORMAT(OV.invullentm, '%d-%m-%Y') AS invullentm,
O.id As orgid, O.portal_id, O.soort, O.naam AS orgnaan, O.naamkort as orgnaamkort
FROM tb_modules M
JOIN tb_versies V ON M.sysnr = V.modulenr
JOIN tb_orgversies OV ON V.id = OV.versie_id
JOIN tb_filledversions FV ON OV.id = FV.orgversie_id
JOIN tb_organisaties O ON O.id = FV.organisatie_id
WHERE O.id = {$orgid}
AND M.heeftlijst = 1
AND OV.vorm = 2
AND O.actief = 1
GROUP BY M.sysnr
ORDER BY M.cluster_id, M.naam ";
return $this->get_query_result();
}
function get_instrumenten_ingevuld_ind($moduleid, $userid, $orgid){
$this->sql = "SELECT OV.id as orgversieid, FV.id as filledid, M.id as moduleid, M.sysnr, V.id as versieid, FV.organisatie_id, OV.periodenummer,
OV.actief, OV.scoretype, DATE_FORMAT(OV.geldigtm,'%d-%m-%Y') AS geldigtm, V.naam, OV.vorm
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_modules M ON M.sysnr = V.modulenr
WHERE M.id= {$moduleid}
AND FV.user_id = {$userid}
AND FV.organisatie_id ={$orgid}
AND M.heeftlijst = 1
AND OV.vorm = 2 " ;
return $this->get_query_result();
}
}
@@ -0,0 +1,28 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Ondersteuningsvormen_model mei 2015 */
class Ondersteuningsvormen_model extends MY_Model{
protected $tablename = 'tb_ondersteuningsvormen';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getvormen($orgid, $min, $max){
$this->sql="SELECT id, organisatie_id, naam, nivo
FROM tb_ondersteuningsvormen
WHERE (organisatie_id = 0 OR organisatie_id = {$orgid})
AND actief = 1
AND nivo BETWEEN {$min} AND {$max}
ORDER BY nivo, organisatie_id, volgorde ";
return $this->get_query_result();
}
}
@@ -0,0 +1,34 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Ondersteuningtijden_model mei 2015 */
class Ondersteuningtijden_model extends MY_Model{
protected $tablename = 'tb_ondersteuningtijden';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getminuten($groepid, $dagnr, $soort){
$this->sql="SELECT minuten
FROM tb_ondersteuningtijden
WHERE groep_id = {$groepid}
AND dagnr = {$dagnr}
AND soort = '{$soort}'";
$result = $this->get_query_row();
if ($result) {return $result->minuten;}
else {return $result;};
}
function getgroeptijden($groepid){
$this->sql = "SELECT dagnr, soort, minuten
FROM tb_ondersteuningtijden
WHERE groep_id = {$groepid}
ORDER BY dagnr ";
return $this->get_query_result();
}
}
@@ -0,0 +1,30 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Oordelen_model mei 2017 */
class Oordelen_model extends MY_Model{
protected $tablename = 'tb_oordelen';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getoordelenorgs($orgversieid, $orgid){
$this->sql="SELECT Y.nummer ,FV.id,
IF (OD.norm_id, OD.norm_id, 0) as normID
FROM tb_ijkpunten Y
JOIN tb_versies V ON Y.versie_id = V.id
JOIN tb_orgversies OV ON OV.versie_id = V.id
JOIN tb_filledversions FV ON FV.orgversie_id = OV.id
LEFT JOIN tb_oordelen OD ON (OD.filledversion_id = FV.id AND OD.ijkpunt_id = Y.id )
WHERE OV.id = {$orgversieid}
AND FV.organisatie_id ={$orgid}
AND FV.meetellen = 1
ORDER BY Y.nummer";
return $this->get_query_result();
}
}
@@ -0,0 +1,190 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Orgversies_model maart 2015 */
class Orgversies_model extends MY_Model{
protected $tablename = 'tb_orgversies';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getallorgversies($orgid, $module, $actief=FALSE){
$this->sql="SELECT OV.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,
count(FV.id) AS ingevuld,
CASE WHEN count(AO.optie) = count(AO.omschrijving) AND count(AO.omschrijving) > 0 THEN
1
ELSE 0
END AS scoretekst,
score_omschrijving
FROM tb_orgversies OV
JOIN tb_versies V ON V.id = versie_id
LEFT JOIN tb_filledversions FV ON FV.orgversie_id = OV.id
LEFT JOIN tb_antwoordopties AO ON AO.type_nr = OV.scoretype
WHERE OV.organisatie_id = {$orgid}
AND V.actief = 1
AND V.modulenr = {$module}";
if ($actief){
$this->sql .=" AND OV.actief = 1";
}
$this->sql .=" GROUP BY OV.id
ORDER BY periodenummer DESC";
return $this->get_query_result();
}
function getVersieinfo($orgversieid){
$this->sql="SELECT OV.id AS orgversieid,
OV.organisatie_id,
OV.periodenummer,
OV.actief,
OV.versie_id,
OV.vorm, OV.scoretype,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') as geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') as geldigtotenmet,
DATE_FORMAT(invullentm,'%d-%m-%Y') as invullentm,
A.omschrijving,
V.naam
FROM tb_orgversies OV
JOIN tb_versies V ON V.id = versie_id
JOIN tb_antwoordtypes A ON A.sysnr = OV.scoretype
WHERE OV.id = {$orgversieid}
ORDER BY geldigtm DESC";
return $this->get_query_result();
}
function getkoppeling($id){
$this->sql="SELECT OV.id, versie_id,vorm,scoretype, OV.actief, OV.organisatie_id
periodenummer, 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 ,
count(FV.id) AS ingevuld
FROM tb_orgversies OV
JOIN tb_versies V ON V.id = versie_id
LEFT JOIN tb_filledversions FV ON FV.orgversie_id = OV.id
WHERE OV.id = {$id}";
return $this->get_query_row();
}
function getversie($id){
$this->sql="SELECT id, naam, ingangsdatum,systemnorm, actief
FROM tb_versies
WHERE id = {$id}";
return $this->get_query_row();
}
function getVorm($orgversieid){
$this->sql= "SELECT vorm
FROM tb_orgversies
WHERE id = {$orgversieid} ";
return $this->get_query_row('vorm');
}
function gettargetversie($orgid, $today){
$this->sql="SELECT id, versie_id, gebruikvanaf, vorm
FROM tb_orgversies
WHERE organisatie_id = {$orgid}
AND geldigvanaf <= '{$today}'
AND geldigtm >= '{$today}'
ORDER BY periodenummer
LIMIT 1";
return $this->get_query_row();
}
function getmaxperiode($orgid){
$this->sql = "SELECT MAX(periodenummer) AS nummer
FROM tb_orgversies
WHERE organisatie_id = {$orgid}";
return $this->get_query_row();
}
function getijkpunten($orgversieid){
$this->sql="SELECT Y.omschrijving, Y.toelichting , Y.nummer
FROM tb_orgversies O
JOIN tb_versies V ON V.id = O.versie_id
JOIN tb_ijkpunten Y ON Y.versie_id = V.id
WHERE O.id = {$orgversieid}
ORDER BY Y.nummer ";
return $this->get_query_result();
}
function updateactief($orgid, $modulenr){
$this->sql="UPDATE tb_orgversies OV
JOIN tb_versies V ON V.id = OV.versie_id
SET OV.actief =0
WHERE OV.organisatie_id = {$orgid}
AND V.modulenr={$modulenr}";
$this->db->query($this->sql);
}
function get_vergelijkbaar($orgversieid){
$this->sql= "SELECT O.id
FROM tb_orgversies O
JOIN tb_orgversies OV ON O.organisatie_id = OV.organisatie_id
WHERE OV.id = {$orgversieid}
AND O.versie_id = OV.versie_id
AND O.scoretype = OV.scoretype
ORDER BY O.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function get_vergelijkbaar2($orgversieid){
$this->sql= "SELECT O.id, O.vorm, O.scoretype, O.versie_id, O.periodenummer, O.actief, DATE_FORMAT(O.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(O.geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(O.invullentm,'%d-%m-%Y') AS invullentm
FROM tb_orgversies O
JOIN tb_orgversies OV ON O.organisatie_id = OV.organisatie_id
WHERE OV.id = {$orgversieid}
AND O.versie_id = OV.versie_id
AND O.scoretype = OV.scoretype
AND O.geldigtm <= OV.geldigtm
ORDER BY O.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function get_vergelijkbaarSWVKamer($orgversieid){
$this->sql= "SELECT O.id, O.vorm, O.scoretype, O.versie_id, O.periodenummer, O.actief, DATE_FORMAT(O.geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(O.geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(O.invullentm,'%d-%m-%Y') AS invullentm
FROM tb_orgversies O
JOIN tb_orgversies OV ON O.organisatie_id = OV.organisatie_id
WHERE OV.id = {$orgversieid}
AND O.versie_id = OV.versie_id
AND O.scoretype = OV.scoretype
AND O.geldigtm <= OV.geldigtm
ORDER BY O.geldigtm DESC
LIMIT 2 ";
return $this->get_query_result();
}
function getversiecats($orgid, $module){
$this->sql="SELECT Y.nummer, Y.omschrijving
FROM tb_orgversies OV
JOIN tb_versies V ON V.id = versie_id
JOIN tb_ijkpunten Y ON Y.versie_id = V.id
WHERE OV.organisatie_id = {$orgid}
AND modulenr = {$module}
AND OV.actief = 1
ORDER BY UPPER(omschrijving) DESC";
return $this->get_query_result();
}
}
@@ -0,0 +1,56 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Schooldetails_model mei 2015 */
class Schooldetails_model extends MY_Model{
protected $tablename = 'tb_schooldetails';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function get_details($schoolid){
$this->sql="SELECT id, organisatie_id, straat, plaats, telefoon, email1, web, directie, ib, email2, logo
FROM tb_schooldetails
WHERE organisatie_id={$schoolid} ";
return $this->get_query_row();
}
function get_details2($schoolid){
$this->sql="SELECT id, organisatie_id,
if (straat AND straat is not null, straat, '' ) as straat,
if (plaats AND plaats is not null, plaats, '') as plaats,
if (telefoon AND telefoon is not null, telefoon,'') as telefoon,
if (email1 AND email1 is not null, email1, '') as email1,
if (web AND web is not null, web , '') as web,
if (directie AND directie is not null, directie ,'') as directie,
if (ib AND ib is not null, ib, '') as ib,
if (email2 AND email2 is not null, email2, '') as email2
FROM tb_schooldetails
WHERE organisatie_id={$schoolid}";
return $this->get_query_row();
}
function getLogo($orgid){
$this->sql = "SELECT concat('../images/logos/', logo) as logo
FROM tb_schooldetails
WHERE organisatie_id={$orgid}";
return $this->get_query_row('logo');
}
function getschool($orgid){
$this->sql = "SELECT O.id, O.brin, O.naam, O.naamkort, S.plaats, O.soort,
concat('../images/logos/', logo) as logo,
S.telefoon, S.straat, S.email1, S.web
FROM tb_organisaties O
JOIN tb_schooldetails S ON O.id = S.organisatie_id
WHERE O.id = {$orgid}";
return $this->get_query_row();
}
}
+727
View File
@@ -0,0 +1,727 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**Scores_model maart 2015 */
class Scores_model extends MY_Model{
protected $tablename = 'tb_scores';
function __construct(){
parent::__construct();
$models = array('');
$this->load->model($models);
}
function getscores($ijkpuntid, $filledversionid, $vorm){
$this->sql="SELECT SC.id, score , scoretype,
IF ({$vorm}=1, I.omschrijving1, I.omschrijving2) AS omschrijving,
I.nummer, I.inspectie
FROM tb_scores SC
JOIN tb_indicatoren I ON I.id = SC.indicator_id
WHERE filledversion_id = {$filledversionid}
AND SC.ijkpunt_id = {$ijkpuntid}
GROUP BY SC.id ";
return $this->get_query_result();
}
function calculateindividualscores($orgversieid, $orgid, $userid){
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score,
SUM(CASE
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
WHEN SC.scoretype = 2 THEN SC.score * Indi.gewicht
WHEN (SC.scoretype = 3 OR SC.scoretype = 5) THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN (SC.score = 2 OR SC.score = 0) THEN 0
ELSE 50 * Indi.gewicht
END
WHEN SC.scoretype = 4 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 6 THEN
CASE
WHEN SC.score = 2 THEN 60 * Indi.gewicht
WHEN SC.score = 3 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 7 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN SC.score = 2 THEN 66.6 * Indi.gewicht
WHEN SC.score = 3 THEN 33.3 * Indi.gewicht
ELSE 0
END
END) AS somscore,
SUM( IF ((SC.scoretype=4 && score=3), 0, Indi.gewicht) ) AS num,
Y.nummer, Y.omschrijving, 0 AS aantalscholen, Y.toelichting
FROM tb_filledversions FV
JOIN tb_scores SC ON SC.filledversion_id = FV.id
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id = {$orgid}
AND FV.user_id ={$userid}
AND FV.meetellen = 1
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer ";
return $this->get_query_result();
}
function calculateindividualMonPon($filledversionid){
$this->sql = "SELECT SC.id, SC.ijkpunt_id , scoretype, score,
sum( (IF(SC.scoretype =1,(SC.score * 10),
IF(SC.scoretype =2, SC.score,
IF ((SC.scoretype = 3 OR SC.scoretype=5), IF(SC.score=1 , 100, IF((SC.score =2 or SC.score= 0), 0 , 50)),
IF (SC.scoretype = 4 , IF(SC.score=1, 100, IF((SC.score=2 or SC.score =0), 0 , 0)) , 0)
) )) * Indi.gewicht)) AS somscore,
sum( IF ((SC.scoretype=4 && score=3), 0, Indi.gewicht) ) AS num,
Y.nummer, Y.omschrijving, 0 AS aantalscholen, Y.toelichting
FROM (SELECT COUNT(*) AS aantal, S.filledversion_id as filledid
FROM tb_scores S
WHERE S.score > 0
GROUP BY S.filledversion_id)
AS Q
JOIN tb_filledversions FV ON FV.id = Q.filledid
JOIN tb_scores SC ON SC.filledversion_id = FV.id
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE FV.id = {$filledversionid}
AND Q.aantal >= 5
AND FV.meetellen = 1
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer ";
return $this->get_query_result();
}
function calculateschool($orgversieid, $orgid)
{
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgid);
if ($gevuldeversies) {
$this->sql = "SELECT SC.id as scoreid, filledversion_id,SC.ijkpunt_id , SC.score, scoretype,
SUM(CASE
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
WHEN SC.scoretype = 2 THEN SC.score * Indi.gewicht
WHEN (SC.scoretype = 3 OR SC.scoretype = 5) THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN (SC.score = 2 OR SC.score = 0) THEN 0
ELSE 50 * Indi.gewicht
END
WHEN SC.scoretype = 4 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 6 THEN
CASE
WHEN SC.score = 1 THEN 50 * Indi.gewicht
WHEN SC.score = 2 THEN 70 * Indi.gewicht
WHEN SC.score = 3 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 7 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN SC.score = 2 THEN 66.6 * Indi.gewicht
WHEN SC.score = 3 THEN 33.3 * Indi.gewicht
ELSE 0
END
END) AS somscore,
sum( IF ((SC.scoretype=4 && score=3), 0, Indi.gewicht) ) AS num,
Y.nummer, Y.omschrijving, 1 AS aantalscholen, Y.toelichting
FROM tb_scores SC
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE SC.filledversion_id IN ({$gevuldeversies})
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer";
return $this->get_query_result();
}
else return false;
}
function calculateBG($orgversieid, $bgid){
$gevuldeversies = $this->fGetGevuldeBestuurVersie($orgversieid, $bgid);
if ($gevuldeversies) {
$this->sql = "SELECT SC.id,filledversion_id,SC.ijkpunt_id, scoretype,
SUM(CASE
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
WHEN SC.scoretype = 2 THEN SC.score * Indi.gewicht
WHEN (SC.scoretype = 3 OR SC.scoretype = 5) THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN (SC.score = 2 OR SC.score = 0) THEN 0
ELSE 50 * Indi.gewicht
END
WHEN SC.scoretype = 4 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 6 THEN
CASE
WHEN SC.score = 2 THEN 60 * Indi.gewicht
WHEN SC.score = 3 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 7 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN SC.score = 2 THEN 66.6 * Indi.gewicht
WHEN SC.score = 3 THEN 33.3 * Indi.gewicht
ELSE 0
END
END)AS somscore,
sum( IF ((SC.scoretype=4 && SC.score=3), 0, Indi.gewicht) ) AS num,
Y.nummer, Y.omschrijving,count(DISTINCT O.id) AS aantalscholen, Y.toelichting
FROM tb_filledversions FV
JOIN tb_scores SC ON SC.filledversion_id = FV.id
JOIN tb_organisaties O ON O.id = FV.organisatie_id
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE O.valtonder_id = {$bgid}
AND FV.id IN ({$gevuldeversies})
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer";
return $this->get_query_result();
}
else return false;
}
function calculateBGs($orgversieid, $bgids){
$gevuldeversies = $this->fGetGevuldeBestuurVersies($orgversieid, $bgids);
$this->sql="SELECT SC.id,filledversion_id,SC.ijkpunt_id , scoretype,
SUM(CASE
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
WHEN SC.scoretype = 2 THEN SC.score * Indi.gewicht
WHEN (SC.scoretype = 3 OR SC.scoretype = 5) THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN (SC.score = 2 OR SC.score = 0) THEN 0
ELSE 50 * Indi.gewicht
END
WHEN SC.scoretype = 4 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 6 THEN
CASE
WHEN SC.score = 1 THEN 50 * Indi.gewicht
WHEN SC.score = 2 THEN 70 * Indi.gewicht
WHEN SC.score = 3 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 7 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN SC.score = 2 THEN 66.6 * Indi.gewicht
WHEN SC.score = 4 THEN 33.3 * Indi.gewicht
ELSE 0
END
END)AS somscore,
sum( IF ((SC.scoretype=4 && SC.score=3), 0, Indi.gewicht) ) AS num,
Y.nummer, Y.omschrijving,count(DISTINCT O.id) AS aantalscholen,Y.toelichting
FROM tb_filledversions FV
JOIN tb_scores SC ON SC.filledversion_id = FV.id
JOIN tb_organisaties O ON O.id = FV.organisatie_id
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE O.valtonder_id IN ( {$bgids})
AND FV.id = {$gevuldeversies}
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer";
return $this->get_query_result();
}
function calculateOverScholen($orgversieid, $orgstring)
{
$gevuldeversies = $this->fGetGevuldeSWVVersies($orgversieid, $orgstring);
if ($gevuldeversies) {
$this->sql = "SELECT SC.id,filledversion_id,SC.ijkpunt_id , scoretype,
SUM(CASE
WHEN SC.scoretype = 1 THEN SC.score * 10 * Indi.gewicht
WHEN SC.scoretype = 2 THEN SC.score * Indi.gewicht
WHEN (SC.scoretype = 3 OR SC.scoretype = 5) THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN (SC.score = 2 OR SC.score = 0) THEN 0
ELSE 50 * Indi.gewicht
END
WHEN SC.scoretype = 4 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 6 THEN
CASE
WHEN SC.score = 2 THEN 60 * Indi.gewicht
WHEN SC.score = 3 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN SC.scoretype = 7 THEN
CASE
WHEN SC.score = 1 THEN 100 * Indi.gewicht
WHEN SC.score = 2 THEN 66.6 * Indi.gewicht
WHEN SC.score = 3 THEN 33.3 * Indi.gewicht
ELSE 0
END
END)AS somscore,
sum( IF ((SC.scoretype=4 && SC.score=3), 0, Indi.gewicht) ) AS num,
Y.nummer, Y.omschrijving,count(DISTINCT O.id) AS aantalscholen, count(DISTINCT FV.id) AS aantallijsten, Y.toelichting
FROM tb_filledversions FV
JOIN tb_scores SC ON SC.filledversion_id = FV.id
JOIN tb_organisaties O ON O.id = FV.organisatie_id
JOIN tb_indicatoren Indi ON Indi.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE FV.id IN ({$gevuldeversies})
AND FV.orgversie_id = {$orgversieid}
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer";
return $this->get_query_result();
}
else return false;
}
function calculateOverScholenNieuw($orgversieid, $orgstring){
$gevuldeversies = $this->fGetGevuldeSWVVersies($orgversieid, $orgstring);
$m = "SC.scoretype= 4";
$n = "IF (SC.score = 1, (100 * I.gewicht), 0)";
$o = "0";
$l = "IF ($m, $n, $o)";
$j = "SC.scoretype = 6";
$k = "IF (SC.score =1 , (50 * I.gewicht) , IF (SC.score = 2 , (70 * I.gewicht), IF (SC.score = 3, (100 * I.gewicht),0) ))";
$i = "IF ($j, $k ,$l)";
$g = "(SC.scoretype=3 or SC.scoretype=5)";
$h = "IF (SC.score = 1, (100 * I.gewicht),
IF ((SC.score = 2 or SC.score = 0), (0 * I.gewicht), (50 * I.gewicht) ) ) ";
$f = "if ($g, $h, $i)";
$d = "SC.scoretype = 2";
$e = "(SC.score * I.gewicht)";
$c = "if($d, $e, $f)";
$a = "SC.scoretype = 1";
$b = "(SC.score * I.gewicht * 10)";
if ($gevuldeversies) {
$this->sql = "SELECT SC.id, filledversion_id, SC.ijkpunt_id , scoretype,
sum(IF ({$a}, {$b} ,{$c}) )/ sum(IF ((SC.scoretype=4 && SC.score=3), 0, I.gewicht)) AS gem,
Y.nummer, Y.omschrijving, count(DISTINCT O.id) AS aantalscholen, count(DISTINCT FV.id) AS aantallijsten, Y.toelichting
FROM tb_filledversions FV
JOIN tb_scores SC ON SC.filledversion_id = FV.id
JOIN tb_organisaties O ON O.id = FV.organisatie_id
JOIN tb_indicatoren I ON I.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE FV.id IN ({$gevuldeversies})
AND FV.orgversie_id = {$orgversieid}
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer";
return $this->get_query_result();
}
else return false;
}
function getlkscores($filledversionid){
$this->sql="SELECT
SUM(CASE
WHEN OV.scoretype = 1 THEN S.score * 10 * Indi.gewicht
WHEN OV.scoretype = 2 THEN S.score * Indi.gewicht
WHEN (OV.scoretype = 3 OR OV.scoretype = 5) THEN
CASE
WHEN S.score = 1 THEN 100 * Indi.gewicht
WHEN (S.score = 2 OR S.score = 0) THEN 0
ELSE 50 * Indi.gewicht
END
WHEN OV.scoretype = 4 THEN
CASE
WHEN S.score = 1 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN OV.scoretype = 6 THEN
CASE
WHEN S.score = 2 THEN 60 * Indi.gewicht
WHEN S.score = 3 THEN 100 * Indi.gewicht
ELSE 0
END
WHEN OV.scoretype = 7 THEN
CASE
WHEN S.score = 1 THEN 100 * Indi.gewicht
WHEN S.score = 2 THEN 66.6 * Indi.gewicht
WHEN S.score = 3 THEN 33.3 * Indi.gewicht
ELSE 0
END
END) AS somscore,
SUM( IF((OV.scoretype=4 && S.score=3), 0, Indi.gewicht) ) AS num,
Y.nummer
FROM tb_filledversions FV
JOIN tb_scores S ON FV.id = S.filledversion_id
JOIN tb_indicatoren Indi ON Indi.id = S.indicator_id
JOIN tb_ijkpunten Y ON Y.id = S.ijkpunt_id
JOIN tb_orgversies OV ON FV.orgversie_id = OV.id
WHERE filledversion_id = {$filledversionid}
AND FV.meetellen = 1
GROUP BY S.ijkpunt_id
ORDER BY Y.nummer";
return $this->get_query_result();
}
function fCountGevuldeVersies($orgversieid, $orgid){
$this->sql =" SELECT COUNT(DISTINCT filledversion_id) as aantal
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id = {$orgid}
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
return $this->get_query_result('aantal');
}
function fGetGevuldeVersies($orgversieid, $orgid){
$this->sql =" SELECT filledversion_id as filledid
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id = {$orgid}
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
$FVs= $this->get_query_result();
$lijst = '';
foreach ($FVs ? $FVs : [] as $FV){
if ($lijst != '') $lijst .=','.$FV->filledid;
else $lijst = $FV->filledid;
}
return $lijst;
}
function fCountGevuldeBestuurVersies($orgversieid, $bgid){
$this->sql =" SELECT COUNT(DISTINCT filledversion_id) as aantal
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
JOIN tb_organisaties O ON FV.organisatie_id = O.id
WHERE FV.orgversie_id = {$orgversieid}
AND O.valtonder_id = {$bgid}
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
return $this->get_query_result('aantal');
}
function fGetGevuldeBestuurVersie($orgversieid, $bgid){
$this->sql =" SELECT filledversion_id as filledid
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
JOIN tb_organisaties O ON FV.organisatie_id = O.id
WHERE FV.orgversie_id = {$orgversieid}
AND O.valtonder_id = {$bgid}
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
$FVs= $this->get_query_result();
$lijst = '';
foreach ($FVs ? $FVs : [] as $FV){
if ($lijst != '') $lijst .=','.$FV->filledid;
else $lijst = $FV->filledid;
}
return $lijst;
}
function fGetGevuldeBestuurVersies($orgversieid, $bgids){
$this->sql =" SELECT filledversion_id as filledid
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
JOIN tb_organisaties O ON FV.organisatie_id = O.id
WHERE FV.orgversie_id = {$orgversieid}
AND O.valtonder_id IN {$bgids}
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
$FVs= $this->get_query_result();
$lijst = '';
foreach ($FVs ? $FVs : [] as $FV){
if ($lijst != '') $lijst .=','.$FV->filledid;
else $lijst = $FV->filledid;
}
return $lijst;
}
function fCountGevuldeKamerEnSWVVersies($orgversieid, $orgs){
$this->sql =" SELECT COUNT(DISTINCT filledversion_id) as aantal
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
JOIN tb_organisaties O ON FV.organisatie_id = O.id
WHERE FV.orgversie_id = {$orgversieid}
AND O.id IN ({$orgs})
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
return $this->get_query_row('aantal');
}
function fGetGevuldeKamerVersies($orgversieid, $bgs){
$this->sql =" SELECT filledversion_id as filledid
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
JOIN tb_organisaties O ON FV.organisatie_id = O.id
WHERE FV.orgversie_id = {$orgversieid}
AND O.valtonder_id IN ({$bgs})
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
$FVs= $this->get_query_result();
$lijst = '';
foreach ($FVs ? $FVs : [] as $FV){
if ($lijst != '') $lijst .=','.$FV->filledid;
else $lijst = $FV->filledid;
}
return $lijst;
}
function fGetGevuldeSWVVersies($orgversieid, $orgstring){
$this->sql =" SELECT filledversion_id as filledid
FROM tb_scores S
JOIN tb_filledversions FV ON FV.id = S.filledversion_id
WHERE FV.orgversie_id = {$orgversieid}
AND FV.organisatie_id IN ({$orgstring})
AND FV.meetellen = 1
AND S.score > 0
GROUP BY S.filledversion_id
HAVING COUNT(S.id) >= 5";
$FVs= $this->get_query_result();
$lijst = '';
foreach ($FVs ? $FVs : [] as $FV){
if ($lijst != '') $lijst .=','.$FV->filledid;
else $lijst = $FV->filledid;
}
return $lijst;
}
function getgemscores($orgversieid, $orgid){
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgid);
$p = "SC.scoretype = 7";
$q = "IF (SC.score = 1, (100 * I.gewicht),
IF (SC.score = 2,(66.6 * I.gewicht), IF (score = 3, (33.3 * I.gewicht), 0 )))";
$r = "0";
$o = "IF($p, $q, $r)";
$m = "SC.scoretype= 4";
$n = "IF (SC.score = 1, (100 * I.gewicht), 0)";
$l = "IF ($m, $n, $o)";
$j = "SC.scoretype = 6";
$k = "IF (SC.score = 2 , (50 * I.gewicht), IF (SC.score = 3, (100 * I.gewicht),0) )";
$i = "IF ($j, $k ,$l)";
$g = "(SC.scoretype=3 or SC.scoretype=5)";
$h = "IF (SC.score = 1, (100 * I.gewicht),
IF ((SC.score = 2 or SC.score = 0), (0 * I.gewicht), (50 * I.gewicht) ) ) ";
$f = "if ($g, $h, $i)";
$d = "SC.scoretype = 2";
$e = "(SC.score * I.gewicht)";
$c = "if($d, $e, $f)";
$a = "SC.scoretype = 1";
$b = "(SC.score * I.gewicht * 10)";
if ($gevuldeversies) {
$this->sql="SELECT sum(IF ({$a}, {$b} ,{$c}) )/ sum(IF ((SC.scoretype=4 && SC.score=3), 0, I.gewicht)) AS gem,
Y.omschrijving, Y.toelichting,Y.id as ijkpunt_id,
Y.nummer
FROM tb_scores SC
JOIN tb_indicatoren I ON I.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
WHERE SC.filledversion_id IN ({$gevuldeversies})
GROUP BY SC.ijkpunt_id
ORDER BY Y.nummer";
// $this->sql="SELECT sum(
// IF (SC.scoretype= 1, (SC.score * I.gewicht * 10),
// IF (SC.scoretype = 2, (SC.score * I.gewicht),
// IF ((SC.scoretype = 3 OR SC.scoretype =5 OR SC.scoretype = 6),
// ( IF (SC.score = 1, (100 * I.gewicht), IF ((SC.score = 2 or SC.score = 0), (0 * I.gewicht), (50 * I.gewicht)) ) ) ,
// IF (SC.scoretype=4, IF(SC.score=1, (100 * I.gewicht), IF ((SC.score= 0 or SC.score=2), (0 * I.gewicht), 0) ),0)
// ) ))) / sum(IF ((SC.scoretype=4 && SC.score=3), 0, I.gewicht)) AS gem,
// Y.omschrijving, Y.toelichting,
// Y.nummer
// FROM tb_scores SC
// JOIN tb_indicatoren I ON I.id = SC.indicator_id
// JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
// WHERE SC.filledversion_id IN ({$gevuldeversies})
// GROUP BY SC.ijkpunt_id
// ORDER BY Y.nummer";
// $this->sql="SELECT sum(IF (SC.scoretype= 1, (SC.score * I.gewicht * 10),
// IF (SC.scoretype = 2, (SC.score * I.gewicht),
// IF ((SC.scoretype = 3 OR SC.scoretype =5), ( IF (SC.score = 1, (100 * I.gewicht), IF ((SC.score = 2 or SC.score = 0), (0 * I.gewicht), (50 * I.gewicht)) ) ) ,
// IF (SC.scoretype=4, IF(SC.score=1, (100 * I.gewicht), IF ((SC.score= 0 or SC.score=2), (0 * I.gewicht), 0) ),0)
// ) ))) / sum(IF ((SC.scoretype=4 && SC.score=3), 0, I.gewicht)) AS gem ,
// Y.nummer
// FROM (SELECT COUNT(*) AS aantal, filledversion_id as filledid
// FROM tb_scores
// WHERE score > 0
// GROUP BY filledversion_id)
// AS Q
// JOIN tb_filledversions FV ON Q.filledid = FV.id
// JOIN tb_scores SC ON FV.id = SC.filledversion_id
// JOIN tb_indicatoren I ON I.id = SC.indicator_id
// JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
// WHERE FV.orgversie_id = {$orgversieid}
// AND FV.organisatie_id = {$orgid}
// AND FV.meetellen = 1
// AND Q.aantal >= 5
// GROUP BY SC.ijkpunt_id
// ORDER BY Y.nummer";
return $this->get_query_result();
}
else return false;
}
function getgewenst($orgid, $orgversieid){
$gewenst = $this->Wenssituaties_model->getgewenst($orgversieid, $orgid);
if (!$gewenst){
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
$where = array("id" =>$organisatie->valtonder_id);
$org2id = $this->Organisaties_model->get_fieldvalue($where, 'id');
if ($org2id ) {
$gewenst =$this->Wenssituaties_model->getgewenst($orgversieid, $org2id);
if (!$gewenst){
$organisatie = $this->Organisaties_model->get_record_by_id($org2id);
$where = array("id" =>$organisatie->valtonder_id);
$org3id = $this->Organisaties_model->get_fieldvalue($where, 'id');
if ($org3id ) {
$gewenst =$this->Wenssituaties_model->getgewenst($orgversieid, $org3id);
if (!$gewenst){
$organisatie = $this->Organisaties_model->get_record_by_id($org3id);
$where = array("id" =>$organisatie->valtonder_id);
$org4id = $this->Organisaties_model->get_fieldvalue($where, 'id');
if ($org4id) {$gewenst =$this->Wenssituaties_model->getgewenst($orgversieid, $org4id);};
}; // bij org4
}; // if org3
}; // if nog gewenst bij org2 get org3
}; // bij org2
} ; // if nog gewenst
return $gewenst;
}
function getgewenstindividueel($orgid, $orgversieid, $orguserid){
$this->sql= "SELECT id, wens
FROM tb_wenssituaties
WHERE organisatie_id = {$orgid}
AND orgversie_id = {$orgversieid}
AND orguser_id = {$orguserid}
ORDER BY ijkpunt_id ";
return $this->get_query_result();
}
function getstandaardfrequenties($userid, $orglist,$orgversie){
$this->sql="SELECT sum(IF(SC.score = 1, 1,0)) AS onvol,
sum(IF(SC.score = 2 , 1,0)) AS vol,
sum(IF(SC.score = 3 , 1, 0)) AS goed,
Y.omschrijving,
Y.nummer,
FV.id as fvID,
Y.id as ijkpuntID,
O.id as oordeelid,
if(O.id IS NOT NULL, O.norm, '') as norm,
if (O.id IS NOT NULL, O.norm_id, NULL) as normid,
if (O.id IS NOT NULL, O.wens_id, NULL) as wensid,
Y.toelichting
FROM (SELECT COUNT(*) AS aantal, filledversion_id as filledid
FROM tb_scores
WHERE score > 0
GROUP BY filledversion_id)
AS Q
JOIN tb_filledversions FV ON Q.filledid = FV.id
JOIN tb_scores SC ON FV.id = SC.filledversion_id
JOIN tb_indicatoren I ON I.id = SC.indicator_id
JOIN tb_ijkpunten Y ON Y.id = SC.ijkpunt_id
LEFT JOIN tb_oordelen O ON (O.filledversion_id = FV.id and O.ijkpunt_id = SC.ijkpunt_id)
WHERE FV.orgversie_id = {$orgversie}
AND FV.meetellen = 1
AND Q.aantal >= 5
AND FV.organisatie_id IN ({$orglist}) ";
if ($userid){
$this->sql .= " AND FV.user_id = {$userid} ";
}
$this->sql .=" GROUP BY Y.id";
return $this->get_query_result();
}
function telOordelen($orgid,$orgversie){
$this->sql="SELECT COUNT(O.id) as oordelen
FROM tb_oordelen O
JOIN tb_filledversions FV ON O.filledversion_id = FV.id
WHERE FV.orgversie_id = {$orgversie}
AND FV.organisatie_id = {$orgid} ";
return $this->get_query_result('oordelen');
}
}
+76
View File
@@ -0,0 +1,76 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Sop_model oktober 2015 */
class Sop_model extends MY_Model{
protected $tablename = 'tb_profielen';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
function getprofielen($orgid){
$this->sql = "SELECT P.id AS profielID, P.naam , O.soort, DATE_FORMAT(P.van,'%d-%m-%Y') as van , DATE_FORMAT( P.tm,'%d-%m-%Y') as tm
FROM tb_profielen P
JOIN tb_organisaties O ON O.id = P.organisatie_id
WHERE P.organisatie_id = {$orgid}
AND P.versie = 'OUD'
ORDER BY P.van DESC";
return $this->get_query_result();
}
function getnieuwesops($orgid){
$this->sql = "SELECT P.id AS profielID, P.naam , O.soort, DATE_FORMAT(P.van,'%d-%m-%Y') as van , DATE_FORMAT( P.tm,'%d-%m-%Y') as tm
FROM tb_profielen P
JOIN tb_organisaties O ON O.id = P.organisatie_id
WHERE P.organisatie_id = {$orgid}
AND P.versie = 'NIEUW'
ORDER BY P.van DESC";
return $this->get_query_result();
}
function getnieuwsop($targetid){
$this->sql = "SELECT P.id AS profielID, P.naam , O.soort, DATE_FORMAT(P.van,'%d-%m-%Y') as van, DATE_FORMAT( P.tm,'%d-%m-%Y') as tm
FROM tb_profielen P
JOIN tb_organisaties O ON O.id = P.organisatie_id
WHERE P.id = {$targetid}
AND P.versie = 'NIEUW' ";
return $this->get_query_row();
}
function getprofiel($targetid){
$this->sql = "SELECT P.id AS profielID, P.naam , O.soort, DATE_FORMAT(P.van,'%d-%m-%Y') as van, DATE_FORMAT( P.tm,'%d-%m-%Y') as tm
FROM tb_profielen P
JOIN tb_organisaties O ON O.id = P.organisatie_id
WHERE P.id = {$targetid}
AND P.versie = 'OUD'
ORDER BY P.van DESC";
return $this->get_query_row();
}
function getsopchapterids($profielid){
$this->sql="SELECT chapter_id
FROM tb_sopinhouden
WHERE profiel_id = {$profielid};";
return $this->get_query_result();
}
function getselectablechapters($orgid, $profielid){
$this->sql="SELECT H.id, H.nummer, H.naam, H.module
FROM tb_hoofdstukken H
JOIN tb_licenties L ON H.module = L.modulenr
JOIN tb_modules M ON M.sysnr = H.module
WHERE M.heeftlijst = 1
AND H.standaard = 2
AND L.orgid = {$orgid}
AND H.id NOT IN(SELECT chapter_id
FROM tb_hfstprofiel
WHERE profiel_id = {$profielid})
ORDER BY H.nummer ";
return $this->get_query_result();
}
}
@@ -0,0 +1,788 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Sopinhouden_model oktober 2015 */
class Sopinhouden_model extends MY_Model{
protected $tablename = 'tb_sopinhouden';
function __construct(){
parent::__construct();
$models = array(
"monpas/Ambities_model",
'shared/Users_model',
'monpas/Diversiteits_model',
'monpas/Filledversions_model',
'monpas/Groepen_model',
'monpas/Hoofdstukken_model',
'monpas/Labels_model',
'monpas/Ondersteuningtijden_model',
'monpas/Orgversies_model',
'monpas/Schooldetails_model',
'shared/Schooljaren_model',
'monpas/Scores_model',
'monpas/Sop_model',
'monpas/Standaardteksten_model',
'monpas/Wenssituaties_model');
$this->load->model($models);
$this->load->library('monpas/kleurcodes');
}
function maakcontent($chapterid,$profielid, $targetversieid= FALSE){
$content = $this->Standaardteksten_model->get_fieldvalue(array("soort"=>1, "chapter_id"=>$chapterid),'content');
$versie = null;
if(! $targetversieid || $targetversieid == FALSE){
$targetversieid = 0;
}
switch ($chapterid){
case 1: $tabelschoolcolofon =$this->getcolofon();
$content = $content.$tabelschoolcolofon.'<h2>Visie van onze school</h2><p> </p>';
break;
case 2: $module = 2;
$arraytabelsdiversiteit = $this->getdiversiteit234($profielid,$targetversieid, $module);
$versie = $arraytabelsdiversiteit['targetjaar'];
$tabeldiversiteit2 = $arraytabelsdiversiteit['dvt2'];
$pos = strpos($content, "dvt2");
$content = substr_replace($content, $tabeldiversiteit2, $pos, 4);
$tabeldiversiteit4 = $arraytabelsdiversiteit['dvt4'];
$pos = strpos($content, "dvt4");
$content = substr_replace($content, $tabeldiversiteit4, $pos , 4);
$tabeldiversiteit3= $arraytabelsdiversiteit['dvt3'];
$pos = strpos($content,"dvt3");
$content = substr_replace($content, $tabeldiversiteit3, $pos, 4);
$grafiekdiversiteit1 = $arraytabelsdiversiteit['divgrafiek1'];
$image = $this->Phantom_model->create_img($grafiekdiversiteit1, 'test.png', FALSE, FALSE, array(650, 300));
$pos = strpos($content,"dvt5");
$imagedata = "<img src='data:image/png;base64,".$image."' id='divimage1'/>";
$content = substr_replace($content, $imagedata, $pos, 4);
break;
case 3: $module = 2;
$ostabellen = $this->getondersteuning12($profielid,$targetversieid, $module);
$versie = $ostabellen['targetjaar'];
$os1 = $ostabellen['os1'];
$pos = strpos($content, "om1");
$content = substr_replace($content, $os1, $pos, 3);
$os2 = $ostabellen['os2'];
$pos = strpos($content, "om2");
$content = substr_replace($content, $os2, $pos, 3);
break;
case 6: $result = $this->getenquetetabellen($profielid,1,6,$targetversieid);
$versie = $result['targetversie'];
$mbgrafiek = $result['grafiek1'];
$imagemb =$this->Phantom_model->create_img($mbgrafiek, 'test', FALSE, FALSE, array(650, 300));
$imagedata = "<img src='data:image/png;base64,".$imagemb."' id='mod1image1'/>";
$pos = strpos($content,'mbgrafiek1');
$content = substr_replace($content, $imagedata, $pos, 10);
$monbas1 = $result['tabel1'];
$pos = strpos($content, 'monbas1');
$content = substr_replace($content, $monbas1, $pos, 7);
$monbas2 = $result['tabel2'];
$pos = strpos($content, 'monbas2');
$content = substr_replace($content, $monbas2, $pos, 7);
break;
case 7: $result = $this->getenquetetabellen($profielid,4,7,$targetversieid);
$versie = $result['targetversie'];
$smgrafiek = $result['grafiek1'];
$imagesm = $this->Phantom_model->create_img($smgrafiek, 'test', FALSE, FALSE, array(650, 300));
$imagedata = "<img src='data:image/png;base64,".$imagesm."' id='mod4image1'/>";
$pos = strpos($content,'imagesm');
$content = substr_replace($content, $imagedata, $pos, 7);
$sm1 = $result['tabel1'];
$pos = strpos($content, 'tabelsm1');
$content = substr_replace($content, $sm1, $pos, 8);
$sm2 = $result['tabel2'];
$pos = strpos($content, 'tabelsm2');
$content = substr_replace($content, $sm2, $pos, 8);
break;
case 8: $result = $this->getenquetetabellen($profielid,5,8,$targetversieid);
$versie = $result['targetversie'];
$esgrafiek = $result['grafiek1'];
$imagesm = $this->Phantom_model->create_img($esgrafiek, 'test', FALSE, FALSE, array(650, 300));
$imagedata = "<img src='data:image/png;base64,".$imagesm."' id='mod5image1'/>";
$pos = strpos($content,'esgrafiek1');
$content = substr_replace($content, $imagedata, $pos, 10);
$es1 = $result['tabel1'];
$pos = strpos($content, 'estabel1');
$content = substr_replace($content, $es1, $pos, 8);
$es2 = $result['tabel2'];
$pos = strpos($content, 'estabel2');
$content = substr_replace($content, $es2, $pos, 8);
break;
case 9:
$result = $this->getenquetetabellen($profielid,3,9,$targetversieid);
$versie = $result['targetversie'];
$tvgrafiek = $result['grafiek1'];
$imagetv = $this->Phantom_model->create_img($tvgrafiek, 'test', FALSE, FALSE, array(650, 300));
$imagedata = "<img src='data:image/png;base64,".$imagetv."' id='mod3image1'/>";
$pos = strpos($content,'tvgrafiek1');
$content = substr_replace($content, $imagedata, $pos, 10);
$tv1 = $result['tabel1'];
$pos = strpos($content, 'tvtabel1');
$content = substr_replace($content, $tv1, $pos, 8);
$tv2 = $result['tabel2'];
$pos = strpos($content, 'tvtabel2');
$content = substr_replace($content, $tv2, $pos, 8);
break;
case 11: // Ontwikkelagenda Monbas
$versie = "";
$result = $this->getOntwikkelagenda($profielid, 1,$targetversieid);
if($result) {
$versie = $result['targetversie'];
}
$imageoa = $this->Phantom_model->create_img($result['tabel1'], 'test', FALSE, FALSE, array(650, 300));
$imagedata = "<img src='data:image/png;base64,".$imageoa."' id='oa1image1'/>";
$pos = strpos($content, 'oatabel1');
$content = substr_replace($content, $imagedata, $pos,8);
$oa2 = $result['tabel2'];
$pos = strpos($content, 'oatabel2');
$content = substr_replace($content, $oa2, $pos,8);
break;
case 12: // Ontwikkelagenda Schoolmeter
// $content = '';
$versie = "";
$result = $this->getOntwikkelagenda($profielid, 4,$targetversieid);
if($result) {
$versie = $result['targetversie'];
}
$imageoa = $this->Phantom_model->create_img($result['tabel1'], 'test', FALSE, FALSE, array(650, 300));
$imagedata = "<img src='data:image/png;base64,".$imageoa."' id='oa2image1'/>";
$pos = strpos($content, 'oatabel3');
$content = substr_replace($content, $imagedata, $pos,8);
$oa2 = $result['tabel2'];
$pos = strpos($content, 'oatabel4');
$content = substr_replace($content, $oa2, $pos,8);
//
break;
}; // switch
return array('content' =>$content,
'versie' =>$versie);
}
function getcolofon(){
$orgid = $this->globorgid;
$details = $this->Schooldetails_model->get_details2($orgid);
$organisatie = $this->Organisaties_model->get_record_by_id($orgid);
$bg = $this->Organisaties_model->get_record_by_id($organisatie->valtonder_id);
$data = array("bevoegdgezag" => $bg->naam,
"school" => $organisatie->naam,
"details" => $details);
return $this->load->view("monpas/sop/schooldetails", $data,TRUE);
}
function getgroepeninfo($schooljaarnr){
$orgid = $this->globorgid;
$this->sql="SELECT sum(totaantal) AS llng,
count(DISTINCT id) AS groepen,
sum( IF(length(niveau)> 1, 1,0 )) AS combi
FROM tb_groepen
WHERE organisatie_id = {$orgid}
AND schooljaarnr = {$schooljaarnr} ";
return $this->get_query_row();
}
function getschooljaar($profielid){
$targetjaar = false;
$profiel = $this->Sop_model->get_record_by_id($profielid);
$this->sql = "SELECT schooljaarnr, naam
FROM tb_schooljaren
WHERE start >= '{$profiel->van}'
AND start <='{$profiel->tm}'
ORDER BY schooljaarnr DESC";
$schooljaren= $this->get_query_result();
//Kijk of voor welk schooljaar er gegevens zijn; neem daarvan het meest recente schooljaar.
if ($schooljaren){
foreach($schooljaren as $schooljaar){
$groepsinfo = $this->getgroepeninfo($schooljaar->schooljaarnr);
if ($groepsinfo->groepen > 0){
$targetjaar = $schooljaar->schooljaarnr;
break;
}
};//foreach
};
return $targetjaar;
}
function gettargetjaar($profielid, $orgid,$currentchapterid){
// als er een current hoofdstuk is, gebruik dat jaar
$where = array("profiel_id"=>$profielid, "chapter_id"=>$currentchapterid);
$targetjaar = $this->get_fieldvalue($where, "orgversieid");
// als er nog geen current hoofdstuk is; als er al een hoofdstuk is met dezelfde module, gebruik hetzelfde jaar.
if (!$targetjaar){
$where = array("id"=>$currentchapterid);
$module = $this->Hoofdstukken_model->get_fieldvalue($where,'module');
$where = array("module"=>$module, "id !="=>$currentchapterid);
$otherchapters = $this->Hoofdstukken_model->get_records_where($where);
if ($otherchapters){
foreach($otherchapters as $otherchapter){
$where = array("profiel_id"=>$profielid, "chapter_id"=>$otherchapter->id);
$targetjaar = $this->get_fieldvalue($where, "orgversieid");
if ($targetjaar) break;
}; // foreach
}; // if otherchapters
}
//als er dan nog geen target jaar is, bepaal dan het targetjaar aan de hand van de periode
if (is_null($targetjaar)){
$targetjaar = $this->getschooljaar($profielid);
}
return $targetjaar;
}
function getdiversiteit234($profielid,$targetversieid, $module){
$orgid = $this->globorgid;
$swvid = $this->Organisaties_model->get_swvid ($orgid);
if ($targetversieid) { $targetjaar=$this->Schooljaren_model->get_fieldvalue(array('id'=> $targetversieid),'schooljaarnr');} // let op is targetid het id en heeft targetjaar het id nodig of iets anders?
else {
$targetjaar = $this->gettargetjaar($profielid, $orgid,2);
}
//haal de tabel op
$dvt2 = false;
$dvt4 = false;
$dvt3 = false;
$divgrafiek1= false;
$totaal = 0;
$hoeveelgroepen = 0;
$combi = 0;
$som1 = 0;
$som2 = 0;
$som3 = 0;
$som4 = 0;
$normaantal = 0;
$totdiversiteit = 0;
$totdq = 0;
$schooljaar ='';
if ($targetjaar){
$schoolsoort = 'REGULIER';
$minnivo = 1;
$maxnivo = 4;
$aantallnschool =0;
$normaantallen = $this->Diversiteits_model->getnormaantallen($orgid, $schoolsoort);
$groepen = $this->Groepen_model->getgroepen($orgid, $targetjaar, $module);
$osvormen = $this->Diversiteits_model->getosvormen($orgid, $targetjaar, $minnivo, $maxnivo, $module);
$schooljaar = $this->Schooljaren_model->get_record_by_id($targetjaar);
$combifactoren = $this->Combifactoren_model->getfactoren($swvid);
$schoolcombifactor = 0;
if ($groepen){
foreach($groepen as $groep){
$groepasarray = explode(';',$groep->niveau);
$aantallnschool = $groep->totaantal + $aantallnschool;
$combis = count($groepasarray);
$groep->diversiteit = $groep->som1 + (1.5 * $groep->som2) + (2 * $groep->som3) + (4 * $groep->som4);
if ($combis==2 && $groep->totaantal > 0) {
$groep->diversiteit = $groep->diversiteit + $combifactoren->combi2;
$schoolcombifactor = $schoolcombifactor + $combifactoren->combi2;
};
if ($combis >=3 && $groep->totaantal > 0) {
$groep->diversiteit = $groep->diversiteit + $combifactoren->combi3;
$schoolcombifactor = $schoolcombifactor + $combifactoren->combi3;
};
//if (strpos($groep->niveau,';') >0) {$groep->diversiteit = $groep->diversiteit + 1.5;};
$factor =$normaantallen->groep38;
if (strpos($groep->niveau,'1') !== false || strpos($groep->niveau,'2') !== false) {$factor = $normaantallen->groep12;};
$groep->dq= round(($groep->diversiteit / $factor),2);
$totaal = $totaal + $groep->totaantal;
$hoeveelgroepen = $hoeveelgroepen + 1;
if (strpos($groep->niveau, ';') > 0){$combi = $combi + 1;}
$som1= $som1 + $groep->som1;
$som2= $som2 + $groep->som2;
$som3= $som3 + $groep->som3;
$som4= $som4 + $groep->som4;
if (strpos($groep->niveau,'1') !== false || strpos($groep->niveau,'2') !== false){
$normaantal = $normaantal + $normaantallen->groep12;
}
else {
$normaantal = $normaantal + $normaantallen->groep38;
}
}
$totdiversiteit = $som1 + (1.5 * $som2) + (2 * $som3) + (4 * $som4);
// hier gaat het fout omdat de combifactor voor ieder groep moet worden toegevoegd
//en dit ligt buiten de foreach groep
if ($aantallnschool > 0){
$totdiversiteit= $totdiversiteit + $schoolcombifactor;
// if ($combis == 2){$totdiversiteit = $totdiversiteit + $combifactoren->combi2;};
// if ($combis >= 3){$totdiversiteit = $totdiversiteit + $combifactoren->combi3;};
}
if ($normaantal > 0){
$totdq = $totdiversiteit / $normaantal;
};
}
$data = array('normaantallen' =>$normaantallen,
'groepen' =>$groepen,
'osvormen' =>$osvormen,
'schooljaar' => $schooljaar->naam,
'totdiversiteit' => $totdiversiteit,
'schooldq' => $totdq);
$dvt2 = $this->load->view("monpas/sop/diversiteittabel2", $data,TRUE);
$dvt4 = $this->load->view("monpas/sop/diversiteittabel4", $data, TRUE);
$data2 = array( 'schooljaar' =>$schooljaar->naam,
'totaal' => $totaal,
'groepen' => $hoeveelgroepen,
"combi" => $combi,
'som1' => $som1,
'som2' => $som2,
'som3' => $som3,
'som4' => $som4,
'totdiversiteit' => $totdiversiteit,
'totdq' => $totdq
);
$dvt3 = $this->load->view("monpas/sop/diversiteittabel3", $data2,TRUE);
$data3=array('groepen' =>$groepen, 'totdq'=>$totdq);
$divgrafiek1= $this->load->view("monpas/sop/diversiteitgrafiek1", $data3, TRUE);
};
return array('dvt2' =>$dvt2,
'dvt3' =>$dvt3,
'dvt4' =>$dvt4,
'divgrafiek1' =>$divgrafiek1,
'targetjaar' => $targetjaar
);
}
function getondersteuning12($profielid,$targetversieid, $module){
$orgid =$this->globorgid;
$os1='';
$os2='';
$som1 = 0;
$som2 = 0;
$som3 = 0;
$som4 = 0;
$normaantal = 0;
$schooldiversiteit = 0;
$schooldq = 0;
$totschooltijd = 0;
$totG = 0;
$totS = 0;
$totI = 0;
if ($targetversieid ) {$targetjaar = $this->Schooljaren_model->get_fieldvalue(array('id'=>$targetversieid), "schooljaarnr"); }
else {$targetjaar = $this->gettargetjaar($profielid, $orgid,3);}
if ($targetjaar){
$schooljaar = $this->Schooljaren_model->get_record_by_id($targetjaar);
$groepen = $this->Groepen_model->getgroepen($orgid, $targetjaar, $module);
$schooltype = "REGULIER";
$normaantallen= $this->Diversiteits_model->getnormaantallen($orgid, $schooltype);
if ($groepen){
foreach($groepen as $groep){
$groep->tijden = new stdClass;
$groep->tijden = $this->Ondersteuningtijden_model->getgroeptijden($groep->id);
$groep->tijdstring='';
$groeptot =0;
if ($groep->tijden){
foreach($groep->tijden as $tijd){
$groeptot = $groeptot + $tijd->minuten;
switch ($tijd->soort){
case 'G' : $totG= $totG + $tijd->minuten; break;
case 'S' : $totS= $totS + $tijd->minuten; break;
case 'I' : $totI= $totI+ $tijd->minuten; break;
}
$uur = floor($tijd->minuten / 60);
$minuten = $tijd->minuten % 60;
$uur0 ='';
if ($uur < 10) $uur0='0';
$minuut0 ='';
if ($minuten < 10) $minuut0='0';
$tijd->tijdstring = $tijd->soort.' '.$uur0.$uur.':'.$minuut0.$minuten;
$totschooltijd = $totschooltijd + $tijd->minuten;
}
}
$groep->diversiteit = $groep->som1 + (1.5 * $groep->som2) + (2 * $groep->som3) + (4 * $groep->som4);
if (strpos($groep->niveau,';') >0) {$groep->diversiteit = $groep->diversiteit + 1.5;};
$factor =$normaantallen->groep38;
if (strpos($groep->niveau,'1') > 0 || strpos($groep->niveau,'2') > 0) {$factor = $normaantallen->groep12;};
$groep->dq= round(($groep->diversiteit / $factor),2);
$som1= $som1 + $groep->som1;
$som2= $som2 + $groep->som2;
$som3= $som3 + $groep->som3;
$som4= $som4 + $groep->som4;
if (strpos($groep->niveau,'1') > 0 || strpos($groep->niveau,'2') > 0){
$normaantal = $normaantal + $normaantallen->groep12;
}
else {
$normaantal = $normaantal + $normaantallen->groep38;
}
$uur = floor($groeptot / 60);
$minuten = $groeptot % 60;
$uur0 ='';
if ($uur < 10) $uur0='0';
$minuut0 ='';
if ($minuten < 10) $minuut0='0';
$groep->tottijd= $uur0.$uur.':'.$minuut0.$minuten;
}
$uur = floor($totschooltijd / 60);
$minuten = $totschooltijd % 60;
$uur0 ='';
if ($uur < 10) $uur0='0';
$minuut0 ='';
if ($minuten < 10) $minuut0='0';
$schooltijdstring= $uur0.$uur.':'.$minuut0.$minuten;
$schooldiversiteit = $som1 + (1.5 * $som2) + (2 * $som3) + (4 * $som4);
if ($normaantal > 0){
$schooldq = round($schooldiversiteit / $normaantal, 2);
};
$data=array('groepen'=>$groepen,
'schooljaar'=> $schooljaar->naam,
'schooldq' =>$schooldq,
'schooltijdstring' =>$schooltijdstring );
$os1 = $this->load->view("monpas/sop/ondersteuning1", $data,TRUE);
// print_r($os1);
// die;
}
$uur = floor($totG / 60);
$minuten = $totG % 60;
$uur0 ='';
if ($uur < 10) $uur0='0';
$minuut0 ='';
if ($minuten < 10) $minuut0='0';
$Gtijdstring= $uur0.$uur.':'.$minuut0.$minuten;
$uur = floor($totS / 60);
$minuten = $totS % 60;
$uur0 ='';
if ($uur < 10) $uur0='0';
$minuut0 ='';
if ($minuten < 10) $minuut0='0';
$Stijdstring= $uur0.$uur.':'.$minuut0.$minuten;
$uur = floor($totI / 60);
$minuten = $totI % 60;
$uur0 ='';
if ($uur < 10) $uur0='0';
$minuut0 ='';
if ($minuten < 10) $minuut0='0';
$Itijdstring= $uur0.$uur.':'.$minuut0.$minuten;
$data2= array("gtijd"=> $Gtijdstring,
'stijd' => $Stijdstring,
"itijd"=> $Itijdstring);
$os2 = $this->load->view("monpas/sop/ondersteuning2", $data2,TRUE);
}
return array('os1' => $os1,
'os2' => $os2,
'targetjaar' => $targetjaar );
}
function gettargetversie($profielid, $orgid,$currentchapterid){
// als er een current hoofdstuk is, gebruik die versie
$where = array("profiel_id"=>$profielid, "chapter_id"=>$currentchapterid);
$targetversieid = $this->get_fieldvalue($where, "orgversieid");
// als er nog geen current hoofdstuk is maar wel een hoofdstuk is met dezelfde module, gebruik hetzelfde jaar.
if (!$targetversieid){
$where = array("id"=>$currentchapterid);
$module = $this->Hoofdstukken_model->get_fieldvalue($where,'module');
$where = array("module"=>$module, "id !="=>$currentchapterid);
$otherchapters = $this->Hoofdstukken_model->get_records_where($where);
if ($otherchapters){
foreach($otherchapters as $otherchapter){
$where = array("profiel_id"=>$profielid, "chapter_id"=>$otherchapter->id);
$targetversieid = $this->get_fieldvalue($where, "orgversieid");
if ($targetversieid) break;
}; // foreach
}; // if otherchapters
}
//als er dan nog geen targetversie is, bepaal dan het targetversie aan de hand van de periode
if (!$targetversieid){
$profiel=$this->Sop_model->get_record_by_id($profielid);
$versies = $this->Filledversions_model->getversiesperorgperperiode($orgid, $module, $profiel->van, $profiel->tm);
if ($versies){
$targetversie = $this->Orgversies_model->get_record_by_id($versies[0]->id);
$targetversieid = $targetversie->id;
};
}
return $targetversieid;
}
function getenquetetabellen($profielid, $module, $chapterid, $targetversieid){
$orgid = $this->globorgid;
$grafiek ='';
$tabel1 = '';
$tabel2 = '';
$scores = '';
$ambitie = '';
$profiel = $this->Sop_model->get_record_by_id($profielid);
//zoek de gewenste versie
if (!$targetversieid ){
$targetversieid = $this->gettargetversie($profielid, $orgid,$chapterid);
}
if ($targetversieid) {
$scores = $this->Scores_model->calculateschool($targetversieid, $orgid);
$ambitie = $this->Ambities_model->getOrgAmbities($targetversieid, $orgid);
}
if (!$targetversieid || !$scores){
return array('grafiek1' => '',
'tabel1' => '',
'tabel2' => '',
'targetversie' => $targetversieid);
}
$totgem = 0 ;
$totaantal= 0;
$ijkpuntenok = 0;
$welkehoogste = 0;
$hoogstescore = -1;
$welkelaagste = 0;
$laagstescore = 101;
if ($scores){
foreach($scores as $score){
$gem = 0;
if ($score->num > 0) {
$gem=$score->somscore / $score->num;
};
$totgem= $totgem + $gem;
$totaantal=$totaantal + 1;
$score->kleurcode=$this->kleurcodes->getkleur($gem);
if ($gem > $hoogstescore){
$hoogstescore = $gem;
$welkehoogste = $score->nummer;
}
if ($gem <= $laagstescore){
$laagstescore = $gem;
$welkelaagste = $score->nummer;
}
if ($ambitie && $gem >= $ambitie->zprocent) {$ijkpuntenok = $ijkpuntenok + 1;};
}
if ($totaantal >0){ $totgem= round($totgem/ $totaantal, 2);}
}
$totgemkleur= $this->kleurcodes->getkleur($totgem);
// foreach scores bereken som en dus totgem en ijkpuntenok
$tabelid='';
switch ($module){
case 1: $tabelid = "tabelmb1"; break;
case 3: $tabelid = "tabeltv1"; break;
case 4: $tabelid = "tabelsm1"; break;
case 5: $tabelid = "tabeles1"; break;
}
$labels = $this->Labels_model->getalllabels($module);
$kleurtabel = $this->kleurcodes->getkleurlegenda();
$orgversie = $this->Orgversies_model->get_record_by_id($targetversieid);
$vantm = "geen periode bekend.";
if ($orgversie){
$vantm = "Gegevens uit periode ".$orgversie->periodenummer." van ".mysql2date($orgversie->geldigvanaf)." t/m ".mysql2date($orgversie->geldigtm);
};
$data=array( "tabelid" => $tabelid,
"ambitie" => $ambitie,
"labels" => $labels,
"scores" => $scores,
'totgem' => $totgem,
'totgemkleur' =>$totgem,
'ijkpuntenok' => $ijkpuntenok,
'welkehoogste' => $welkehoogste,
'hoogstescore' => round($hoogstescore,1),
'welkelaagste' => $welkelaagste,
'laagstescore' => round($laagstescore,1) ,
"kleurtabel" =>$kleurtabel,
"vantm" =>$vantm);
$tabel1 = $this->load->view("monpas/sop/monbastabel1", $data,TRUE);
$grafiek = $this->load->view("monpas/sop/monbasgrafiek1",$data, TRUE);
$aantalijkpunten = 0;
$ijkpunten = $this->Orgversies_model->getijkpunten( $targetversieid);
if ($ijkpunten){
$aantalijkpunten=count($ijkpunten);
};
$targetversie = $this->Orgversies_model->get_record_by_id($targetversieid);
if ($targetversie->vorm == 1){
// school vorm
$lks = $this->getorgscores($orgid, $targetversieid,$aantalijkpunten);
}
else{
$lks= $this->getlksscores($orgid, $targetversieid,$aantalijkpunten);
}
$tabelid = '';
switch ($module){
case 1: $tabelid = "tabelmb2"; break;
case 3: $tabelid = "tabeltv2"; break;
case 4: $tabelid = "tabelsm2"; break;
case 5: $tabelid = "tabeles2"; break;
}
$data = array( 'tabelid' =>$tabelid,
'lks' =>$lks,
'aantalijkpunten' => $aantalijkpunten,
'ijkpunten' => $ijkpunten,
'versievorm' => $targetversie->vorm);
$tabel2 = $this->load->view("monpas/sop/monbastabel2", $data,TRUE);
return array ('grafiek1' => $grafiek,
'tabel1' => $tabel1,
'tabel2' => $tabel2,
'targetversie' => $targetversieid);
}
function getlksscores($orgid, $orgversieid,$aantalijkpunten){
$lks = $this->Filledversions_model->getlks($orgid, $orgversieid);
if ($lks){
foreach($lks as $lk){
$lk->scores = $this->Scores_model->getlkscores($lk->filledversionid);
$som = 0;
if ($lk->scores){
foreach($lk->scores as $score){
$score->gem = new stdClass();
$score->gem = $score->somcore / $score->num;
$score->colorcode = $this->kleurcodes->getkleur($score->gem);
$som = $som + $score->gem;
}
$lk->lkgem = round($som / $aantalijkpunten, 0);
$lk->colorcode = $this->kleurcodes->getkleur($lk->lkgem);
}
}
}
return $lks;
}
function getorgscores($orgid, $orgversieid,$aantalijkpunten){
$lks = array();
$lks[0] = new stdClass;
$fv = $this->Filledversions_model->getfilledversion($orgversieid, $orgid, 0, 1);
$lks[0]->filledversionid = $fv->id;
$lks[0]->fullname = $this->Organisaties_model->get_record_by_id($orgid, "naam",true);
$lks[0]->orgid = $orgid;
$lks[0]->scores = $this->Scores_model->getgemscores($orgversieid, $orgid);
if ($lks[0]->scores){
$som = 0;
foreach($lks[0]->scores as $score){
$score->colorcode = $this->kleurcodes->getkleur($score->gem);
$som = $som + $score->gem;
}
$lks[0]->lkgem = round($som / $aantalijkpunten, 0);
$lks[0]->colorcode = $this->kleurcodes->getkleur($lks[0]->lkgem);
}
return $lks;
}
function getOntwikkelagenda($profielid, $module,$targetversieid){
$tabel1='';
$tabel2='';
$orgid = $this->globorgid;
$profiel = $this->Sop_model->get_record_by_id($profielid);
$scores = [];
if ($module == 1) $chapterid = 11;
else $chapterid = 12;
if (! $targetversieid) {
$targetversieid =$this->gettargetversie($profielid, $orgid,$chapterid);
}
if ($targetversieid){
$targetversie = $this->Orgversies_model->get_record_by_id($targetversieid);
$scores = $this->Scores_model->calculateschool($targetversieid, $orgid);
$ambitie = $this->Ambities_model->getOrgAmbities($targetversieid, $orgid);
if($targetversie->scoretype == 7){
$grens1 = 33;
$grens2 = 66;
$grens3 = 100;
}
}
if (!$targetversieid){
return array( 'tabel1' => '',
'tabel2' => '');
}
$gewenst = $this->Scores_model->getgewenst($orgid, $targetversieid);
$i =0;
$scores = $scores ? $scores : [];
foreach($scores as $score){
$score->gem = 0;
if ($score->num > 0) {
$score->gem= round($score->somscore / $score->num,1);
}
$score->huidig = $this->kleurcodes->getnummer($score->gem);
if($targetversie->scoretype == 7){
if($score->gem == $grens3) $score->huidig = 4;
if($score->gem < $grens3) $score->huidig = 3;
if($score->gem < $grens2) $score->huidig = 2;
if($score->gem < $grens1) $score->huidig = 1;
}
if ($gewenst){
$score->wens = $gewenst[$i]->wens;
$i = $i + 1;
};
}; //foreach
$labels = $this->Labels_model->getalllabels($module);
$kleurtabel = $this->kleurcodes->getkleurlegenda();
if($targetversie->scoretype == 7){
$kleurtabel = $this->kleurcodes->getKleurlegendaType($targetversie->scoretype);
}
$data= array( "scores" => $scores,
"labels" => $labels,
"module" => $module,
"kleurtabel" => $kleurtabel);
$tabel1 = $this->load->view("monpas/sop/ontwikkelagenda", $data,TRUE);
$data = array( "scores" => $scores,
"labels" => $labels,
"module" => $module);
$tabel2 = $this->load->view("monpas/sop/ontwikkelagenda2", $data,TRUE);
return array(
'tabel1' => $tabel1,
'tabel2' => $tabel2,
'targetversie' => $targetversieid);
}
function getPagvolgorde($profielID){
$this->sql = "SELECT id as sopinhoudID, volgorde
FROM tb_sopinhouden
WHERE profiel_id = {$profielID}
ORDER BY volgorde";
return $this->get_query_result();
}
}
@@ -0,0 +1,15 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** Sop_model oktober 2015 */
class Sopviews_model extends MY_Model{
protected $tablename = 'tb_sopviews';
function __construct(){
parent::__construct();
$models = array();
$this->load->model($models);
}
}

Some files were not shown because too many files have changed in this diff Show More