1139 lines
41 KiB
PHP
1139 lines
41 KiB
PHP
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
/**
|
|
* Description of Reports
|
|
*
|
|
* @author Theo Weijmer
|
|
* @date juni 29, 2013
|
|
*
|
|
* @purpose
|
|
*
|
|
*/
|
|
class Reports extends MY_Controller {
|
|
|
|
function __construct(){
|
|
parent::__construct();
|
|
$models = array('ijkpartituur/Reports_model',
|
|
'Phantom2_model',
|
|
'shared/Users_model',
|
|
'shared/Orgusers_model',
|
|
'ijkpartituur/ModHulpmiddelen',
|
|
'shared/Organisaties_model',
|
|
'ijkpartituur/ModPijlers', "ijkpartituur/ModRuweScores",
|
|
'ijkpartituur/Modactiviteiten','ijkpartituur/ModActHulp',
|
|
'ijkpartituur/ModActDoel','ijkpartituur/ModKosten',
|
|
'ijkpartituur/Partituurs_model','ijkpartituur/ModPartPijlers','ijkpartituur/Modpartactiviteiten',
|
|
'ijkpartituur/ModPartActResultaten','ijkpartituur/ModPartActxHulpmiddel',
|
|
'ijkpartituur/ModPartActxDoelgroep','ijkpartituur/Modpartactxorgusers','ijkpartituur/ModPartActKosten',
|
|
'ijkpartituur/ModAgenda','ijkpartituur/Niveaus_model','ijkpartituur/Nivoprofielen_model',
|
|
"ijkpartituur/Documents_model",
|
|
'ijkpartituur/ModPortfolio');
|
|
$this->load->model($models);
|
|
$this->load->helper("string");
|
|
$this->load->library('monpas/kleurcodes');
|
|
if ( ! $this->check_online_status() ) {
|
|
echo json_encode( array('offline' => TRUE) );
|
|
die;
|
|
};// if
|
|
}
|
|
|
|
function index(){
|
|
$reports= $this->Reports_model->get_reports_by_level();
|
|
echo json_encode(array('reports'=>$reports));
|
|
}
|
|
|
|
private function maakPDF ($naam,$orientation,$pdf,$post,$titel=false){
|
|
if (!$orientation){ $orientation = "portrait" ;};
|
|
$data = array(
|
|
'url' => base_url()."index.php/ijkpartituur/reports/PDF".$naam.'/'.$pdf.'/0?data='.$post,
|
|
'filename' => $naam.'.pdf' ,
|
|
'orientation' => $orientation ,
|
|
'header' => $this->load->view('ijkpartituur/reports/default_header', $titel) ,
|
|
'margins' =>array("1.5cm", "1.5cm", "1.5cm", "1.0cm") );
|
|
$this->Phantom2_model->get_pdf($data);
|
|
|
|
}
|
|
// hieronder de functie om een report te maken als een format.
|
|
// deze functie (Public function HierdeNaam ) kan gecopieerd worden
|
|
// vul de naam van het gewenste rapport in
|
|
public function PDFHierdeNaam(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "<HIER DE NAAM VAN HET OVERZICHT>");
|
|
$this->maakPDF('<hier report functienaam>','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
// maar de array data om door te geven aan de view
|
|
$x;
|
|
$y;
|
|
$data = array( 'x' =>$x,
|
|
'y' =>$y);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/<HIER DE NAAM VAN DE REPORTFUNCTiE>_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/<HIER DE NAAM VAN DE REPORTFUNCTiE>_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
public function PDFmensen(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
//var_dump($post);
|
|
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Mensen in tijd");
|
|
$this->maakPDF('mensen','landscape',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
$terugwaarde = $this->MaakBackground($criteria->van, $criteria->tot, $criteria->periode);
|
|
$i=0;
|
|
|
|
foreach($criteria->orgusers as $cMens){
|
|
if (!isset($mensen[$i])) $mensen[$i]= new stdClass;
|
|
$mensen[$i]->naam = $cMens->fullname;
|
|
|
|
// hier maak de html voor each mens
|
|
// 1. get de activiteiten
|
|
|
|
$Verant = $this->Modpartactiviteiten->get_activiteiten_per_user($cMens->id, $criteria->partituur->id);
|
|
$Uitv = $this->Modpartactxorgusers->get_activiteiten_per_user($cMens->id, $criteria->partituur->id);
|
|
//2. combineer de gegevens voor de html
|
|
|
|
$mensen[$i]->html = $this->MaakMensIntijd(clone $terugwaarde['vandag'], $terugwaarde['totdag'], $Verant, $Uitv,$cMens, $terugwaarde['pxperdag']);
|
|
|
|
$i++;
|
|
};
|
|
$data = array('partituur' =>$criteria->partituur,
|
|
"van" =>$criteria->van,
|
|
"tm" =>$criteria->tot,
|
|
'error' =>$terugwaarde['error'],
|
|
'px_per_dag'=>$terugwaarde['pxperdag'],
|
|
'header2' =>$terugwaarde['matrix']['header2'],
|
|
'header1' =>$terugwaarde['matrix']['header1'],
|
|
'mensen' =>$mensen);
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/mensen_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/mensen_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
//************************ //
|
|
private function MaakMensInTijd($van, $tot, $v, $u, $Mens,$pxperdag){
|
|
$nums;
|
|
$i=0;
|
|
|
|
while (($van->diff($tot)->format('%a') > 0) && $i < 1600){
|
|
$actcounter = 0;
|
|
$vacties = '';
|
|
$uacties ='';
|
|
if ($v){
|
|
foreach($v as $taakv){
|
|
if ($van->getTimestamp() >= strtotime($taakv->start) &&
|
|
$van->getTimestamp() <= strtotime($taakv->eind) ){
|
|
$actcounter =$actcounter + 1;
|
|
$vacties .= $taakv->naam . ";";
|
|
}; // if
|
|
};// foreach
|
|
}
|
|
if ($u){
|
|
foreach ($u as $taaku){
|
|
if ($van->getTimestamp() >= strtotime($taaku->start) &&
|
|
$van->getTimestamp() <= strtotime($taaku->eind) ){
|
|
$actcounter=$actcounter + 1;
|
|
$uacties .= $taaku->naam . ";";
|
|
}; // if
|
|
}; // foreach
|
|
};
|
|
if (!isset($nums[$i])) $nums[$i]= new stdClass;
|
|
$nums[$i]->counter = $actcounter;
|
|
$nums[$i]->vacts = $vacties;
|
|
$nums[$i]->uacts = $uacties;
|
|
$van->add(new DateInterval('P1D'));
|
|
$i++;
|
|
}; // while
|
|
|
|
$html= "<div class='mensregel' id='m".$Mens->id ."' >".
|
|
"<div style='float:left; width: 200px; overflow-x:hidden;resize:none'>" .$Mens->fullname."</div>" .
|
|
"<div class='upholder3' ".
|
|
" style='float:left; height :15px; ' >" ;
|
|
|
|
$dikte = 0;
|
|
if (isset($nums[0]) ) {$dikte= $nums[0]->counter;};
|
|
$dagen = 0;
|
|
|
|
foreach ($nums as $num){
|
|
if ($num->counter != $dikte){
|
|
if ($dikte > 10) {$dikte = 10;};
|
|
$html .= "<div class='lijnstuk' ".
|
|
"style='float:left;background-color: #576297; height: " .($dikte * 2) ."px; margin-top:" .(10 - ($dikte * 2)) . "px;width:" .($dagen * $pxperdag ) ."px;' " .
|
|
"title='dagen: " . $dagen . " verantwoordelijk:" . $vacts . " uitvoerende: " . $uacts ."' " .
|
|
" dagen= " . $dagen . "> </div>" ;
|
|
|
|
$dagen = 1;
|
|
$dikte = $num->counter;
|
|
$vacts = $num->vacts;
|
|
$uacts = $num->uacts;
|
|
}
|
|
else {$dagen = $dagen + 1;
|
|
$vacts = $num->vacts;
|
|
$uacts = $num->uacts;};
|
|
}; // for each
|
|
if ($dikte > 0){
|
|
$html .= "<div class='lijnstuk' " .
|
|
"style='float:left;background-color:#576297; height: " . ($dikte * 2) . "px; margin-top:" . (10 - ($dikte * 2)) .
|
|
"px;width:" . ($dagen * $pxperdag ) . "px;' " .
|
|
" dagen= " . $dagen . "> </div>" ;
|
|
|
|
}; // if
|
|
$html .= "</div></div> <div class='clearfix'></div>" ;
|
|
|
|
return $html;
|
|
}
|
|
|
|
|
|
// ***********************//
|
|
|
|
public function PDFmensactief(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
$post = json_decode($this->input->get('data'));
|
|
if ($init==1) {
|
|
$post->orgid = $this->globorgid;
|
|
$post = json_encode($post);
|
|
$titel =array("titeltekst" => "Mensen/activiteiten");
|
|
$this->maakPDF('mensactief','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
if (!$pdf){
|
|
$criteria->orgid = $this->globorgid;
|
|
};
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
|
|
$partID = $criteria->partituur->id;
|
|
$pijlers = $this->ModPartPijlers->get_pijlers_per_partituur($partID);
|
|
|
|
foreach ($pijlers as $pijler){
|
|
$pijler->activiteiten = $this->Modpartactiviteiten->get_kortelijst($pijler->id);
|
|
if ($pijler->activiteiten) {
|
|
foreach($pijler->activiteiten as $activiteit){
|
|
$i=0;
|
|
foreach($criteria->orgusers as $user){
|
|
|
|
if ($user->id == $activiteit->verantwoordelijke) {
|
|
$activiteit->actief[$i] = 1;
|
|
} // if
|
|
else {
|
|
$activiteit->actief[$i] = 0;
|
|
};
|
|
$where=array('activiteitID' =>$activiteit->id,
|
|
"orguserID"=>$user->id);
|
|
if ($this->Modpartactxorgusers->check_for_record($where)){
|
|
$activiteit->actief[$i] = $activiteit->actief[$i] + 2;
|
|
};
|
|
$i ++;
|
|
} // each orgusers
|
|
|
|
}; // foreach
|
|
}; //if
|
|
|
|
}
|
|
$data = array( 'criteria' => $criteria,
|
|
'orguser' => $criteria->orgusers,
|
|
'pijlers' =>$pijlers);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/mensactief_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/mensactief_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
|
|
public function PDFinhouden(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Inhouden");
|
|
$this->maakPDF('inhouden','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
$i=0;
|
|
foreach ($criteria->pijlers as $pijler) {
|
|
//get pijlernaam
|
|
if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass;
|
|
$pijlers[$i]->naam= $this->ModPijlers->get_record_by_id($pijler, "naam",true);
|
|
$pijlers[$i]->inhouden=$this->ModHulpmiddelen->get_hulpmiddelen_per_pijler($pijler, 0, false);
|
|
if ($pijlers[$i]->inhouden) {
|
|
foreach($pijlers[$i]->inhouden as $inhoud){
|
|
$where=array("document_hulpmiddel_id" => $inhoud->id);
|
|
$inhoud->docs = $this->Documents_model->get_details($where);
|
|
};
|
|
};
|
|
$i=$i + 1;
|
|
};
|
|
if ($criteria->pijlerNul){
|
|
if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass;
|
|
$pijlers[$i]->naam= "gebruikersactiviteiten";
|
|
$pijlers[$i]->inhouden=$this->ModHulpmiddelen->get_hulpmiddelen_per_pijler(0, 0, false);
|
|
if ($pijlers[$i]->inhouden) {
|
|
foreach($pijlers[$i]->inhouden as $inhoud){
|
|
$where=array("document_hulpmiddel_id" => $inhoud->id);
|
|
$inhoud->docs = $this->Documents_model->get_details($where);
|
|
};
|
|
};
|
|
};
|
|
$data = array( 'pijlers' =>$pijlers,
|
|
'details' =>$criteria->details);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/inhouden_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/inhouden_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
|
|
public function PDFsactiviteiten(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Kennisbank activiteiten");
|
|
$this->maakPDF('sactiviteiten','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
// maar de array data om door te geven aan de view
|
|
$i=0;
|
|
foreach ($criteria->pijlers as $pijler) {
|
|
//get pijlernaam
|
|
if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass;
|
|
$pijlers[$i]->naam= $this->ModPijlers->get_record_by_id($pijler, "naam",true);
|
|
$pijlers[$i]->activiteiten=$this->Modactiviteiten->get_activiteiten_per_pijler($pijler, 0, false);
|
|
if ($pijlers[$i]->activiteiten){
|
|
foreach($pijlers[$i]->activiteiten as $activiteit){
|
|
if ($activiteit->email_pleider == 1) {$activiteit->email_pleider="projectleider";}
|
|
else {$activiteit->email_pleider = "";};
|
|
if ($activiteit->email_verantwoordelijke == 1) {$activiteit->email_verantwoordelijke="verantwoordelijke";}
|
|
else {$activiteit->email_verantwoordelijke = "";};
|
|
$activiteit->inhouden= $this->ModActHulp->middelen_per_activiteit($activiteit->id);
|
|
$activiteit->doelgroepen = $this->ModActDoel->doelgroepen_per_activiteit($activiteit->id);
|
|
$activiteit->kosten =$this->ModKosten->get_kosten_per_activiteit($activiteit->id);
|
|
};
|
|
};
|
|
$i = $i + 1;
|
|
};
|
|
if ($criteria->pijlerNul){
|
|
if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass;
|
|
$pijlers[$i]->naam= "gebruikersactiviteiten";
|
|
$pijlers[$i]->activiteiten=$this->Modactiviteiten->get_activiteiten_per_pijler(0, 0, false);
|
|
if ($pijlers[$i]->activiteiten){
|
|
foreach($pijlers[$i]->activiteiten as $activiteit){
|
|
if ($activiteit->email_pleider == 1) {$activiteit->email_pleider="projectleider";}
|
|
else {$activiteit->email_pleider = "";};
|
|
if ($activiteit->email_verantwoordelijke == 1) {$activiteit->email_verantwoordelijke="verantwoordelijke";}
|
|
else {$activiteit->email_verantwoordelijke = "";};
|
|
$activiteit->inhouden= $this->ModActHulp->middelen_per_activiteit($activiteit->id);
|
|
$activiteit->doelgroepen = $this->ModActDoel->doelgroepen_per_activiteit($activiteit->id);
|
|
$activiteit->kosten =$this->ModKosten->get_kosten_per_activiteit($activiteit->id);
|
|
};
|
|
};
|
|
}
|
|
$data = array( 'pijlers' =>$pijlers,
|
|
"details" =>$criteria->details);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/sactiviteiten_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/sactiviteiten_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
public function PDForganisaties(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Organisaties");
|
|
$this->maakPDF('organisaties','landscape',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
|
|
$orgs=array();
|
|
$i = 0;
|
|
foreach($criteria->BGs as $BGid) {
|
|
$orgs[$i]= $this->Organisaties_model->get_BG_by_id($BGid);
|
|
$orgs[$i]->organisaties = $this->Organisaties_model->get_orgs_per_bg($BGid);
|
|
$i = $i + 1;
|
|
};
|
|
$data = array( 'orgs' =>$orgs);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/organisaties_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/organisaties_view", $data);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
Private function MaakBackground($van, $tot, $periode){
|
|
$error = '';
|
|
$matrix = "";
|
|
|
|
$dag1=new DateTime(date2mysql($van));
|
|
$dag2=new DateTime(date2mysql($tot));
|
|
if ($periode == 2) {
|
|
$dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1);
|
|
$dag2->setDate((int)$dag2->format('Y'), (int)$dag2->format('m'),$this->DagenInMaand( (int)$dag2->format('m'), (int)$dag2->format('Y') ) );
|
|
};
|
|
if ($periode == 3){
|
|
// $dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1);
|
|
$dag1->setDate((int)$dag1->format('Y'), 1,1);
|
|
$dag2->setDate((int)$dag2->format('Y'), 12, 31 );
|
|
}
|
|
if ($periode == 1) ($px_per_dag = 20);
|
|
if ($periode == 2) ($px_per_dag = 2);
|
|
if ($periode == 3) ($px_per_dag = 0.41);
|
|
$dagen = ($dag1->diff($dag2)->days) + 1; // nodig om te bepalen of de matrix te groot is
|
|
|
|
if (($dagen * $px_per_dag) > 1000){
|
|
$error = "Tijdspanne is te lang. Kies andere datums of pas de periode aan.";
|
|
}
|
|
else {
|
|
$matrix=$this->getColumns(clone $dag1,clone $dag2,$periode);
|
|
};
|
|
|
|
$returndata = array('error' =>$error,
|
|
"matrix" => $matrix,
|
|
'pxperdag' =>$px_per_dag,
|
|
'vandag' => $dag1,
|
|
'totdag' => $dag2);
|
|
return $returndata;
|
|
}
|
|
|
|
public function PDFplanning(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Planning");
|
|
$this->maakPDF('planning','landscape',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
// maar de array data om door te geven aan de view
|
|
|
|
$partituurnaam = $this->Partituurs_model->get_record_by_id($criteria->partituur, 'partituur_naam', TRUE);
|
|
|
|
$dag1=new DateTime(date2mysql($criteria->vandatum));
|
|
$dag2=new DateTime(date2mysql($criteria->totdatum));
|
|
|
|
$kleuren =array();
|
|
if ($criteria->periode == 2) {
|
|
$dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1);
|
|
$dag2->setDate((int)$dag2->format('Y'), (int)$dag2->format('m'),$this->DagenInMaand( (int)$dag2->format('m'), (int)$dag2->format('Y') ) );
|
|
};
|
|
if ($criteria->periode == 3){
|
|
// $dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1);
|
|
$dag1->setDate((int)$dag1->format('Y'), 1,1);
|
|
$dag2->setDate((int)$dag2->format('Y'), 12, 31 );
|
|
}
|
|
|
|
$vandag = clone $dag1;
|
|
$totdag = clone $dag2;
|
|
$matrix=$this->getColumns($vandag, $totdag,$criteria->periode);
|
|
|
|
$dagen = ($dag1->diff($dag2)->days) +1 ;
|
|
$px_per_dag = 1100 / $dagen;
|
|
|
|
if ($criteria->periode == 1) ($px_per_dag = 20);
|
|
if ($criteria->periode == 2) ($px_per_dag = 2);
|
|
if ($criteria->periode == 3)($px_per_dag = 0.41);
|
|
|
|
if ($criteria->overzicht == 1){
|
|
$type="per partituur";
|
|
$selectedPijler= '';
|
|
$pijlers= $this->ModPartPijlers->pijlers_in_periode($criteria->partituur,
|
|
date2mysql($criteria->vandatum),
|
|
date2mysql($criteria->totdatum));
|
|
|
|
foreach($pijlers as $pijler) { $pijler->kleur = "#975796"; };
|
|
}
|
|
else {
|
|
$type = "per pijler";
|
|
$selectedPijler = $this->ModPartPijlers->get_pijlernaam($criteria->selectedPijler);
|
|
$pijlers =$this->Modpartactiviteiten->get_activiteiten_per_pijler($criteria->selectedPijler);
|
|
$kleuren = $this->Modfases->get_kleuren();
|
|
};
|
|
|
|
if ($pijlers) {
|
|
foreach($pijlers as $pijler){
|
|
$dag= new DateTime($pijler->start);
|
|
$eind = new DateTime($pijler->eind);
|
|
|
|
if ($dag > $dag2 || $eind <= $dag1){$plusfactor = 0 ;}
|
|
else {$plusfactor = 1 ;} ;
|
|
|
|
if ($dag < $dag1) {$dag = clone $dag1 ;} ;
|
|
if ($dag > $dag2) {$dag = clone $dag2 ; };
|
|
|
|
$dagen = ($dag1->diff($dag)->days) ;
|
|
if ($criteria->periode ==1) {$aantalborders = ($dag1->diff($dag)->days) ; };
|
|
if ($criteria->periode == 2) {$aantalborders=($dag1->diff($dag)->format('m')) ;};
|
|
if ($criteria->periode == 3) {$aantalborders=($dag1->diff($dag)->format('y')) ;};
|
|
|
|
$left= ($dagen * $px_per_dag) + 200 ;
|
|
|
|
if ($eind > $dag2) { $eind= clone $dag2 ;};
|
|
if ($eind < $dag1 || $eind < $dag) {$eind = clone $dag; };
|
|
$dagen = ($dag->diff($eind)->days) + $plusfactor ;
|
|
$width=($dagen * $px_per_dag ) ;
|
|
|
|
$geefkleur = $pijler->kleur;
|
|
if (!$pijler->kleur){$geefkleur = '#989898' ;};
|
|
$pijler->html="<div style= 'position: absolute;
|
|
z-index:400;
|
|
background-color:".$geefkleur." ;
|
|
height: 10px;
|
|
margin:0px;
|
|
padding:0px;
|
|
top:5px;
|
|
left: ".$left."px;
|
|
width: ".$width."px;'></div>";
|
|
};
|
|
};
|
|
|
|
$dagen = ($dag1->diff($dag2)->days) + 1; // nodig om te bepalen of de matrix te groot is
|
|
$data = array( 'partituurnaam' => $partituurnaam,
|
|
'type' => $type,
|
|
'van' =>$criteria->vandatum,
|
|
'tm' => $criteria->totdatum,
|
|
'selectedPijler' => $selectedPijler,
|
|
'pijlers' =>$pijlers,
|
|
"dagen" =>$dagen,
|
|
"px_per_dag" =>$px_per_dag,
|
|
'header2' =>$matrix['header2'],
|
|
'header1' =>$matrix['header1'],
|
|
'kleuren' =>$kleuren,
|
|
'acts' =>$criteria->overzicht);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/planning_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/planning_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
Public function DagenInMaand($maand, $jaar){
|
|
$daysInMonth = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
|
|
|
|
// If evenly divisible by 4 and not evenly divisible by 100,
|
|
// or is evenly divisible by 400, then a leap year
|
|
if ((!($jaar % 4) && $jaar % 100) || !($jaar % 400)) {
|
|
$daysInMonth[1] = 29;
|
|
};
|
|
return $daysInMonth[($maand -1)];
|
|
}
|
|
private function getColumns($van, $tot, $periode){
|
|
$MaandArray = array('jan', 'feb','mrt','apr','mei','jun','jul','aug','sep','okt','nov','dec');
|
|
$tdatum=$van;
|
|
$i=0;
|
|
|
|
if ($periode == 1 ) {
|
|
$switcher = (int)$tdatum->format('m');};
|
|
if ($periode == 2) {
|
|
$switcher = (int)$tdatum->format("Y");
|
|
$tdatum->setDate((int)$van->format('Y'), (int)$van->format('m'),1);
|
|
$tot->setDate((int)$tot->format('Y'), (int)$tot->format('m'),$this->DagenInMaand( (int)$tot->format('m'), (int)$tot->format('Y') ) );
|
|
};
|
|
if ($periode == 3){
|
|
$switcher = (int)$tdatum->format("Y");
|
|
$tdatum->setDate((int)$van->format('Y'), (int)$van->format('m'),1);
|
|
$tot->setDate((int)$tot->format('Y'), 12, 31 );
|
|
}
|
|
|
|
$colskop1 = 1;
|
|
$header1 = array();
|
|
$header1[$colskop1 -1] = new stdClass;
|
|
$header1[$colskop1 -1]->days = 0;
|
|
|
|
while ($tdatum <= $tot && $i < 900){
|
|
if ($periode ==1){
|
|
if ($switcher != (int)$tdatum->format('m') ) {
|
|
$switcher = (int)$tdatum->format('m') ;
|
|
$colskop1 += 1;
|
|
if (!isset($header1[$colskop1 -1])) $header1[$colskop1 -1]=new stdClass;
|
|
$header1[$colskop1 -1]->tekst= $MaandArray[ ( (int) $tdatum->format('m') ) - 1] .' '.$tdatum->format('Y');;
|
|
$header1[$colskop1 -1]->days= 0;
|
|
} ;
|
|
if (!isset($header2[$i])) $header2[$i]=new stdClass;
|
|
$header2[$i]->label=$tdatum->format('d');
|
|
$header2[$i]->days= 1;
|
|
$header2[$i]->datum[$i]=date_format($tdatum, "d-m-y");
|
|
$header1[$colskop1 -1]->days= $header1[$colskop1 -1]->days + 1;
|
|
$header1[$colskop1 -1]->tekst=$MaandArray[ ( (int) $tdatum->format('m') ) - 1] .' '.$tdatum->format('Y');
|
|
$i = $i + 1;
|
|
date_add($tdatum, date_interval_create_from_date_string("1 day"));
|
|
};
|
|
if ($periode ==2){
|
|
if ($switcher != (int)$tdatum->format('Y') ) {
|
|
$switcher = (int)$tdatum->format('Y') ;
|
|
$colskop1 += 1;
|
|
$header1[$colskop1 -1]= new stdClass;
|
|
$header1[$colskop1 -1]->tekst= (int) $tdatum->format('Y');
|
|
$header1[$colskop1 -1]->days= 0;
|
|
} ;
|
|
if (! isset($header2[$i])) $header2[$i]=new stdClass;
|
|
$header2[$i]->label = $MaandArray[ ( (int) $tdatum->format('m') ) - 1] ;
|
|
$header2[$i]->days = $this->DagenInMaand( (int)$tdatum->format('m'), (int)$tdatum->format('Y') ) ; ;
|
|
$header2[$i]->datum[$i] = date_format($tdatum, "d-m-y");
|
|
$header1[$colskop1 -1]->days = $header1[$colskop1 -1]->days + $header2[$i]->days;
|
|
$header1[$colskop1 -1]->tekst = (int) $tdatum->format('Y');
|
|
$i = $i + 1;
|
|
date_add($tdatum, date_interval_create_from_date_string("1 month"));
|
|
};
|
|
if ($periode ==3){
|
|
if ($switcher != (int)$tdatum->format('Y') ) {
|
|
$switcher = (int)$tdatum->format('Y') ;
|
|
$colskop1 += 1;
|
|
if (!isset($header1[$colskop1 -1])) $header1[$colskop1 -1] = new stdClass;
|
|
$header1[$colskop1 -1]->tekst= (int) $tdatum->format('Y');
|
|
$header1[$colskop1 -1]->days= 0;
|
|
} ;
|
|
$header2[$i] = new stdClass;
|
|
$header2[$i]->label = (int) $tdatum->format('Y') ;
|
|
$header2[$i]->days = 365;
|
|
$header2[$i]->datum[$i] = date_format($tdatum, "d-m-y");
|
|
$header1[$colskop1 -1]->days = $header1[$colskop1 -1]->days + 365;
|
|
$header1[$colskop1 -1]->tekst = (int) $tdatum->format('Y');
|
|
$i = $i + 1;
|
|
date_add($tdatum, date_interval_create_from_date_string("1 year"));
|
|
|
|
};
|
|
};
|
|
return array( 'header1' =>$header1,
|
|
'header2' =>$header2 );
|
|
}
|
|
public function PDFschoolbeelden(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Schoolbeelden");
|
|
$this->maakPDF('schoolbeelden','landscape',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
// maar de array data om door te geven aan de view
|
|
|
|
$beelden=$this->Niveaus_model->get_niveaus();
|
|
$beelden2=array();
|
|
foreach($beelden as $beeld){
|
|
if (in_array($beeld->id, $criteria->beelden) ) {
|
|
array_push($beelden2 , $beeld);
|
|
$profielen[] = $this->Nivoprofielen_model->get_profielen_profiel($beeld->id);
|
|
};
|
|
};
|
|
$pijlers=array();
|
|
$i =0;
|
|
foreach($profielen[0] as $voorbeeld){
|
|
$pijlers[$i]= new stdClass;
|
|
$pijlers[$i]->naam = $voorbeeld->naam;
|
|
$pijlers[$i]->score=array();
|
|
for ($j=0; $j < count($criteria->beelden );$j++ ){
|
|
$pijlers[$i]->score[$j]=$profielen[$j][$i]->waarde;
|
|
};
|
|
$i= $i+1;
|
|
};
|
|
$descriptions=array();
|
|
foreach($criteria->beelden as $beeld){
|
|
array_push($descriptions , $this->Niveaus_model->get_niveau($beeld));
|
|
};
|
|
$data = array( 'aantal' =>count($criteria->beelden) ,
|
|
'beelden' =>$beelden2,
|
|
'pijlers' =>$pijlers,
|
|
'descriptions' =>$descriptions,
|
|
"kleurcodes" => $this->kleurcodes->getkleurcodesfromdatabase() );
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/schoolbeelden_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/schoolbeelden_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
public function PDFeigenschoolbeeld(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
$post = json_decode($this->input->get('data'));
|
|
|
|
if ($init==1) {
|
|
$post->orgid = $this->globorgid;
|
|
$post = json_encode($post);
|
|
$titel =array("titeltekst" => "Eigen schoolbeeld");
|
|
$this->maakPDF('eigenschoolbeeld','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
if (!$pdf){
|
|
$criteria->orgid = $this->globorgid;
|
|
};
|
|
$orgnaam=$this->Organisaties_model->get_record_by_id($criteria->orgid,"naam");
|
|
// hier dan de database activiteiten die nodig zijn voor het report
|
|
// maak de array data om door te geven aan de view
|
|
$partituurID = $criteria->partituurID;
|
|
$partNaam = $this->Partituurs_model->get_record_by_id($partituurID, "partituur_naam");
|
|
|
|
$partInfo = $this->Partituurs_model->get_single_details(array('id' =>$partituurID));
|
|
$schoolmeterscores = $this->ModRuweScores->get_scores($partituurID);
|
|
$somhuidig = 0;
|
|
if ($schoolmeterscores) {
|
|
foreach($schoolmeterscores as $score){
|
|
$somhuidig = $somhuidig + $score->score;
|
|
};
|
|
};
|
|
$beeldhuidig = $this->GetBeeld($somhuidig);
|
|
$pijlers = $this->ModPartPijlers->get_joined_details($partituurID);
|
|
$gemgewenst = 0;
|
|
$mingewenst = 0;
|
|
$maxgewenst = 0;
|
|
foreach($pijlers as $pijler){
|
|
$mingewenst = $mingewenst + $this->GetMin($pijler->gewenst);
|
|
$maxgewenst = $maxgewenst + $this->GetMax($pijler->gewenst);
|
|
}
|
|
$gemgewenst = ($mingewenst + $maxgewenst) / 2;
|
|
$beeldgewenst = $this->GetBeeld($gemgewenst);
|
|
$beelden = $this->Niveaus_model->get_niveaus();
|
|
foreach ($beelden as $beeld){
|
|
$descriptions[]=$this->Niveaus_model->get_niveau($beeld->id);
|
|
};
|
|
$data = array( 'partituurNaam' =>$partNaam,
|
|
'partituurInfo' =>$partInfo,
|
|
'pijlers' =>$pijlers,
|
|
'somhuidig' =>$somhuidig,
|
|
"beeldhuidig" =>$beeldhuidig,
|
|
"mingewenst" =>$mingewenst,
|
|
"maxgewenst" =>$maxgewenst,
|
|
"beeldgewenst" =>$beeldgewenst,
|
|
"descriptions" =>$descriptions,
|
|
'orgnaam' =>$orgnaam,
|
|
"kleurcodes" =>$this->kleurcodes->getkleurcodesfromdatabase()
|
|
);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/eigenschoolbeeld_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/eigenschoolbeeld_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
private function GetBeeld ($res){
|
|
if ($res <= 725) {return 1;};
|
|
if ($res > 725 && $res <= 880) {return 2;};
|
|
if ($res > 880 && $res <=964) {return 3;};
|
|
if ($res > 965 && $res <= 1126) {return 4;};
|
|
if ($res >1126 && $res <= 1300) {return 5;};
|
|
}
|
|
private function GetBeeldGem($gem){
|
|
if ($gem <= 56) {return 1;};
|
|
if ($gem > 57 && $gem <= 68) {return 2;};
|
|
if ($gem> 69 && $gem <=74) {return 3;};
|
|
if ($gem > 75 && $gem <= 87) {return 4;};
|
|
if ($gem >88 && $gem <= 100) {return 5;};
|
|
}
|
|
Public function GetColorBijBeeld($s){
|
|
if ($s ==1) { return '#f40d17';};
|
|
if ($s == 2) {return '#f6f14e';};
|
|
if ($s ==3) {return '#f99443';};
|
|
if ($s==4) { return'#53d744';};
|
|
if ($s ==5) {return '#0d7bfb';};
|
|
}
|
|
Public function GetColor($score){
|
|
if ($score <= 50) { return '#f40d17';};
|
|
if ($score >50 && $score <= 65) {return '#f6f14e';};
|
|
if ($score >65 && $score<= 79) {return '#f99443';};
|
|
if ($score>79 && $score<= 90) { return'#53d744';};
|
|
if ($score >90 && $score<= 100) {return '#0d7bfb';};
|
|
}
|
|
|
|
private function GetMin($code){
|
|
if ($code == 1){return 0; } ;
|
|
if ($code == 2){return 51; } ;
|
|
if ($code == 3){return 66; } ;
|
|
if ($code == 4){return 80; } ;
|
|
if ($code == 5){return 91; } ;
|
|
}
|
|
private function GetMax($code){
|
|
if ($code == 1){return 50; } ;
|
|
if ($code == 2){return 65; } ;
|
|
if ($code == 3){return 79; } ;
|
|
if ($code == 4){return 90; } ;
|
|
if ($code == 5){return 100; } ;
|
|
}
|
|
|
|
public function PDFGebruikers(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Gebruikers");
|
|
$this->maakPDF('gebruikers','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
$i = 0;
|
|
foreach ($criteria->orgs as $org ){
|
|
|
|
$orga[$i] =$this->Organisaties_model->get_org_by_id($org);
|
|
if ($orga[$i]) {
|
|
if (strlen($this->super) >= 1) {$admin= $this->super;}
|
|
else {$admin = false;};
|
|
$orga[$i]->users=$this->Orgusers_model->get_full_users($org,$this->super);
|
|
if ($orga[$i]->users) {
|
|
foreach($orga[$i]->users as $user){
|
|
$user->rechten = $this->Autorisaties_model->get_autorisaties($user->level);
|
|
};
|
|
};
|
|
$i = $i + 1;
|
|
};
|
|
|
|
};
|
|
$data = array( 'orgs' =>$orga);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/gebruikers_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/gebruikers_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}; // else
|
|
}
|
|
|
|
public function PDFschoolmeterscores(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = $this->input->get('data');
|
|
if ($init==1) {
|
|
$titel =array("titeltekst" => "Schoolmeterscores");
|
|
$this->maakPDF('schoolmeterscores','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
$pijlers = $this->ModPijlers->get_pijlers($this->globProfielVersieID);
|
|
|
|
$vandatum = date2mysql($criteria->vandatum);
|
|
$tmdatum = date2mysql($criteria->tmdatum);
|
|
$i=0;
|
|
foreach ($pijlers as $pijler){
|
|
$gemperpijler[$i]['mean']=0;
|
|
$gemperpijler[$i]['color']='';
|
|
$i++;
|
|
};
|
|
$i = 0;
|
|
$grandGem =0;
|
|
$grandProf = 0;
|
|
foreach ($criteria->orgs as $orgID) {
|
|
$orgnaam = $this->Organisaties_model->get_record_by_id($orgID,"naamkort");
|
|
$partituurID = $this->ModRuweScores->get_partituurID($vandatum,$tmdatum,$orgID);
|
|
$scholen[$i]['school'] = $orgnaam;
|
|
if ($partituurID) {
|
|
$scholen[$i]['scores'] = $this->ModRuweScores->get_scores($partituurID);
|
|
}
|
|
else {
|
|
$scholen[$i]['scores']=NULL;
|
|
};
|
|
$tot = 0;
|
|
$prof = 0;
|
|
$aantal = 0;
|
|
|
|
$j = 0;
|
|
if ($scholen[$i]['scores'] ) {
|
|
$tot=0;
|
|
foreach($scholen[$i]['scores'] as $score) {
|
|
$tot = $tot + $score->score;
|
|
$grandGem = $grandGem + $score->score;
|
|
if ( in_array($score->pijlerID, array(1,5,6,7,8,9,10) ) ){
|
|
$prof = $prof + $score->score;
|
|
$grandProf = $grandProf + $score->score;
|
|
}
|
|
$aantal = $aantal +1;
|
|
$gemperpijler[$j]['mean'] =$gemperpijler[$j]['mean'] + $score->score;
|
|
$j =$j + 1;
|
|
$score->color = $this->GetColor($score->score);
|
|
|
|
} ;
|
|
$gem=0;
|
|
if ($aantal > 0){$gem=round($tot/$aantal , 0) ;} ;
|
|
$scholen[$i]['scores'][$aantal] = new stdClass;
|
|
$scholen[$i]['scores'][($aantal + 1)] = new stdClass;
|
|
$scholen[$i]['scores'][($aantal + 2)] = new stdClass;
|
|
$scholen[$i]['scores'][$aantal]->score=$gem;
|
|
$scholen[$i]['scores'][$aantal]->color="#a5a5a5";
|
|
$scholen[$i]['scores'][($aantal + 1)]->score = round($prof / 7 , 0);
|
|
$scholen[$i]['scores'][($aantal + 1)]->color="#a5a5a5";
|
|
$scholen[$i]['scores'][($aantal+2)]->score=$this->GetBeeld($tot);
|
|
|
|
switch($scholen[$i]['scores'][($aantal+2)]->score)
|
|
{case 1:
|
|
$scholen[$i]['scores'][($aantal+2)]->color="#f40d17";
|
|
break;
|
|
case 2:
|
|
$scholen[$i]['scores'][($aantal+2)]->color="#f6f14e";;
|
|
break;
|
|
case 3:
|
|
$scholen[$i]['scores'][($aantal+2)]->color="#f99443";
|
|
break;
|
|
case 4:
|
|
$scholen[$i]['scores'][($aantal+2)]->color="#53d744";
|
|
break;
|
|
case 5:
|
|
$scholen[$i]['scores'][($aantal+2)]->color="#0d7bfb";
|
|
break;
|
|
default:$scholen[$i]['scores'][($aantal + 1)]->color="#a5a5a5";
|
|
};
|
|
|
|
};
|
|
$i = $i + 1;
|
|
$j = 0;
|
|
};
|
|
$aantal = count( $scholen);
|
|
|
|
if ($aantal >= 1) {
|
|
$k=0;
|
|
foreach($gemperpijler as &$gempijler){
|
|
$gempijler['mean']=round($gempijler['mean'] / $aantal, 0);
|
|
if ($gempijler['mean']<= 50) {$gempijler['color']= '#f40d17';};
|
|
if ($gempijler['mean'] >50 && $gempijler['mean'] <= 65) {$gempijler['color'] = '#f6f14e';};
|
|
if ($gempijler['mean'] >65 && $gempijler['mean']<= 79) {$gempijler['color']= '#f99443';};
|
|
if ($gempijler['mean']>79 && $gempijler['mean'] <= 90) {$gempijler['color'] ='#53d744';};
|
|
if ($gempijler['mean'] >90 && $gempijler['mean'] <= 100){$gempijler['color']= '#0d7bfb';};
|
|
|
|
$k++;
|
|
};
|
|
};
|
|
|
|
$grandGem = round($grandGem / ($k * $aantal),0);
|
|
$grandSchoolbeeld = $this->GetBeeldGem($grandGem );
|
|
|
|
$grandProf = round($grandProf / (7 * $aantal), 0);
|
|
$SBcolor = $this->GetColorBijBeeld($grandSchoolbeeld);
|
|
|
|
$data = array( 'pijlers' =>$pijlers,
|
|
'scholen' =>$scholen,
|
|
'gem' =>$gemperpijler,
|
|
'criteria' =>$criteria,
|
|
'grandGem' => $grandGem,
|
|
'grandProf' => $grandProf,
|
|
'grandSB' => $grandSchoolbeeld,
|
|
'grandSBcolor' => $SBcolor);
|
|
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/schoolmeterscores_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/schoolmeterscores_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}
|
|
}
|
|
|
|
public function PDFactiviteiten(){
|
|
$pdf = $this->uri->segment(4);
|
|
$init = $this->uri->segment(5);
|
|
$post = json_decode($this->input->get('data'));
|
|
if ($init==1) {
|
|
$post->role = $this->userrole;
|
|
$post->userid = $this->userid;
|
|
$post->orgid = $this->globorgid;
|
|
|
|
$post = json_encode($post);
|
|
$titel =array("titeltekst" => "Activiteiten");
|
|
$this->maakPDF('Activiteiten','portrait',$pdf,$post,$titel);
|
|
}
|
|
else {
|
|
$criteria=json_decode($this->input->get("data")) ;
|
|
if (!$pdf){
|
|
$criteria->userlevel = $this->userrole;
|
|
$criteria->userid = $this->userid;
|
|
$criteria->orgid = $this->globorgid;
|
|
};
|
|
if (isset($criteria->partituur)) {$partituurID = $criteria->partituur; }
|
|
else $partituurID =0 ;
|
|
$pijlerset = array();
|
|
$criteria->partNaam = $this->Partituurs_model->get_record_by_id($partituurID, "partituur_naam");
|
|
if ( isset($criteria->pijlers) ){
|
|
$i=0;
|
|
foreach($criteria->pijlers as $pijler){
|
|
$pijlerset[$i]= new stdClass;
|
|
$pijlerset[$i]->pijler = $this->ModPartPijlers->get_part_pijler_info($pijler);
|
|
$pijlerset[$i]->activiteiten = $this->Modpartactiviteiten->get_activiteiten_per_pijler($pijler);
|
|
if ($pijlerset[$i]->activiteiten) {
|
|
foreach ($pijlerset[$i]->activiteiten as $activiteit) {
|
|
$actID = $activiteit->id;
|
|
$activiteit->uitvoerenden = $this->Modpartactxorgusers->get_uitvoerenden($actID);
|
|
$activiteit->resultaten = $this->ModPartActResultaten->get_info($actID);
|
|
$activiteit->inhouden= $this->ModPartActxHulpmiddel->get_hulpmiddelenlijst_per_activiteit($actID);
|
|
$activiteit->doelgroepen = $this->ModPartActxDoelgroep->get_doelgroepen_per_act($actID);
|
|
$activiteit->kosten = $this->ModPartActKosten->get_kosten_per_activiteit($actID);
|
|
$activiteit->afspraken=null;
|
|
$activiteit->portfolio = $this->ModPortfolio->get_notes($actID);
|
|
|
|
if($criteria->agenda==true){
|
|
$activiteit->afspraken=$this->ModAgenda->get_all_items($actID,$criteria->userid,$criteria->userlevel,$criteria->orgid);
|
|
};
|
|
};
|
|
}; //
|
|
$i=$i + 1;
|
|
};
|
|
};
|
|
$data = array( 'pijlerset' =>$pijlerset,
|
|
'criteria' =>$criteria
|
|
);
|
|
if($pdf){
|
|
$data['pdf'] = 1;
|
|
$this->load->view("ijkpartituur/reports/activiteiten_view", $data);
|
|
}
|
|
else{
|
|
$html = $this->load->view("ijkpartituur/reports/activiteiten_view", $data, TRUE);
|
|
echo $html;
|
|
};
|
|
}
|
|
}
|
|
|
|
public function getOrgs(){
|
|
$organisatie = $this->Organisaties_model->get_record_by_id($this->globorgid);
|
|
if ($organisatie->soort < 4){
|
|
$where = array("valtonder_id" =>$this->globorgid);
|
|
}
|
|
else {
|
|
$where= array('id' =>$this->globorgid);
|
|
}
|
|
// $orgs=$this->Organisaties_model->get_details($where);
|
|
if ($organisatie->soort ==4){$orgs = $this->Organisaties_model->getorgs($organisatie->soort , $organisatie->valtonder_id);}
|
|
else $orgs = $this->Organisaties_model->getorgs($organisatie->soort + 1, $organisatie->id);
|
|
|
|
if ($orgs){
|
|
foreach($orgs as $org){
|
|
if ($org->plaats == null) {$org->plaats = "onbekend";};
|
|
};
|
|
};
|
|
echo json_encode($orgs);
|
|
}
|
|
Public function getOrganisaties(){
|
|
$orgid = -1;
|
|
if ($this->super){$orgid =0; }
|
|
else {if ($this->globOrgIsBG ){$orgid=$this->globorgid; }; };
|
|
if ($orgid >= 0){
|
|
$organisaties = $this->Organisaties_model->get_orgs($orgid);
|
|
if ($organisaties) {
|
|
foreach ($organisaties as $organisatie){
|
|
$organisatie->toon=true;
|
|
};
|
|
};
|
|
};
|
|
|
|
if ($orgid >= 0 ) {echo json_encode( $organisaties); }
|
|
else {echo FALSE;} ;
|
|
|
|
|
|
}
|
|
public function getPartituren(){
|
|
// haal de partituren bij de organisatie op
|
|
$partituren = $this->Partituurs_model->getPartituren($this->globorgid);
|
|
echo json_encode($partituren );
|
|
}
|
|
public function getPijlers(){
|
|
$partID= $this->uri->segment(4);
|
|
$pijlers = $this->ModPartPijlers->get_pijlers_per_partituur($partID);
|
|
echo json_encode($pijlers);
|
|
}
|
|
public function getBeelden(){
|
|
$beelden=$this->Niveaus_model->get_niveaus();
|
|
echo json_encode(array('beelden'=>$beelden));
|
|
}
|
|
public function getPartPijlers(){
|
|
// find active partituur
|
|
if (!$this->partituurid) {return;};
|
|
$partituur= $this->Partituurs_model->get_record_by_id($this->partituurid);
|
|
$partituur->partituur_start=mysql2date($partituur->partituur_start);
|
|
$partituur->partituur_eind=mysql2date($partituur->partituur_eind);
|
|
|
|
$pijlers=$this->ModPartPijlers->get_pijlers_per_partituur($this->partituurid);
|
|
echo json_encode(array('partituur' =>$partituur,
|
|
"pijlers" => $pijlers));
|
|
}
|
|
public function getBGs(){
|
|
$bgs = $this->Organisaties_model->get_bgs();
|
|
echo json_encode($bgs);
|
|
}
|
|
public function getStandaardPijlers(){
|
|
$pijlers=$this->ModPijlers->get_pijlers($this->globProfielVersieID);
|
|
echo json_encode($pijlers);
|
|
}
|
|
public function getUsers(){
|
|
$users = $this->Orgusers_model->get_org_users($this->globorgid);
|
|
echo json_encode($users);
|
|
}
|
|
public function getActievePartituur(){
|
|
$where= array("partituur_actief" => 1, 'partituur_organisatie_id'=>$this->globorgid);
|
|
$partituur = $this->Partituurs_model->get_records_where($where,TRUE);
|
|
if ($partituur){
|
|
$partituur->partituur_start = MySql2Date($partituur->partituur_start);
|
|
$partituur->partituur_eind = MySql2Date($partituur->partituur_eind);};
|
|
echo json_encode($partituur);
|
|
}
|
|
}
|