diff --git a/admin/survey/SurveyAdminSettings.php b/admin/survey/SurveyAdminSettings.php index e10d9b8da..a25045452 100644 --- a/admin/survey/SurveyAdminSettings.php +++ b/admin/survey/SurveyAdminSettings.php @@ -6179,8 +6179,7 @@ class SurveyAdminSettings { if(($comment_count['survey_resp']['unresolved']+$comment_count['survey_admin']['unresolved']) > 0) echo ''; echo ' '.$lang['srv_komentarji_odskupno'].' '; - echo $this->string_format((int)($comment_count['survey_resp']['all']+$comment_count['survey_admin']['all']), 'srv_cnt_komentarji_survey'); - + echo $this->string_format((int)($comment_count['survey_resp']['all']+$comment_count['survey_admin']['all']), 'srv_cnt_komentarji_survey_od'); echo ''; @@ -6669,7 +6668,7 @@ class SurveyAdminSettings { if($comment_count['question']['unresolved'] > 0) echo ''; echo ' '.$lang['srv_komentarji_odskupno'].' '; - echo $this->string_format((int)$comment_count['question']['all'], 'srv_cnt_komentar_na_vprs'); + echo $this->string_format((int)$comment_count['question']['all'], 'srv_cnt_komentar_na_vprs_od'); echo ''; diff --git a/admin/survey/izvoz.php b/admin/survey/izvoz.php index 8f1f6782d..dfbe5a856 100644 --- a/admin/survey/izvoz.php +++ b/admin/survey/izvoz.php @@ -51,6 +51,7 @@ define("M_REPORT_PDF_EMPLOYMETER","pdf_employmeter"); define("M_REPORT_PDF_MFDPS","pdf_mfpds"); define("M_REPORT_PDF_MJU","pdf_mju"); define("M_REPORT_PDF_MJU2","pdf_mju2"); +define("M_REPORT_PDF_NIJZ","pdf_nijz"); define("M_REPORT_BORZA","borza_chart"); define("M_REPORT_PDF_HEATMAP_IMAGE","heatmap_image_pdf"); define("M_REPORT_HIERARHIJA_PDF_IZPIS", "hierarhija_pdf_izpis"); @@ -139,7 +140,7 @@ if(in_array($_GET['a'], array('pdf_gdpr_individual', 'pdf_gdpr_activity', 'rtf_g $export_type = 'new'; } // Posebna porocila, ki so vedno stari izvozi -elseif(in_array($_GET['m'], array('pdf_teammeter','pdf_employmeter', 'pdf_evoli', 'maza_csv', 'borza_csv', 'pdf_mju', 'pdf_mju2', 'advanced_paradata_csv', 'json_survey'))){ +elseif(in_array($_GET['m'], array('pdf_teammeter','pdf_employmeter', 'pdf_evoli', 'maza_csv', 'borza_csv', 'pdf_mju', 'pdf_mju2', 'advanced_paradata_csv', 'json_survey', 'pdf_nijz'))){ $export_type = 'old'; } // Ce imamo vklopljeno nastavitev za nove izvoze @@ -368,6 +369,17 @@ switch ( $_GET['m'] ) { $sme->executeExport2($type, $enota); break; ///////////////////////////////////// + + //////////////////NIJZ///////////////// + case M_REPORT_PDF_NIJZ: + + $usr_id = (isset($_GET['usr_id']) && $_GET['usr_id'] > 0) ? $_GET['usr_id'] : 0; + $anketa = (isset($_GET['anketa']) && $_GET['anketa'] > 0) ? $_GET['anketa'] : 0; + + $nijz = new SurveyNIJZ($anketa, $usr_id, $nijz_type='2'); + $nijz->createReport2(); + break; + ///////////////////////////////////// //////////////////MFDPS///////////////// case M_REPORT_PDF_MFDPS: diff --git a/admin/survey/modules/mod_NIJZ/class.SurveyNIJZ.php b/admin/survey/modules/mod_NIJZ/class.SurveyNIJZ.php index ee3b9ecf2..f24025ede 100644 --- a/admin/survey/modules/mod_NIJZ/class.SurveyNIJZ.php +++ b/admin/survey/modules/mod_NIJZ/class.SurveyNIJZ.php @@ -12,6 +12,7 @@ class SurveyNIJZ{ private $db_table = ''; private $vprasanja_radar = array(); // array z vsemi vprasanji in odgovori na njih, ki jih obravnavamo + private $vprasanja_report2 = array(); // array z vsemi vprasanji in odgovori na njih, ki jih obravnavamo (2. porocilo za nijz) // Barve private $colors = array( @@ -32,7 +33,7 @@ class SurveyNIJZ{ ); - function __construct($anketa, $usr_id){ + function __construct($anketa, $usr_id, $type='1'){ // Ce imamo anketo, smo v status->ul evealvacija if ((int)$anketa > 0 && (int)$usr_id > 0){ @@ -52,8 +53,11 @@ class SurveyNIJZ{ //return false; } - // Zakesiramo vprasanja z odgovori v array - $this->cacheData(); + // Zakesiramo vprasanja z odgovori v array vprasanja_radar oz. radar2 + if($type == '1') + $this->cacheData(); + else + $this->cacheDataReport2(); } // Nastavimo imena vprasanj za vse teme (nijz radar) @@ -90,6 +94,73 @@ class SurveyNIJZ{ } } } + + // Nastavimo imena vprasanj za 2. pdf porocilo z radarjem + private function cacheDataReport2(){ + + // Napolnimo vprasanja + $sql = sisplet_query("SELECT s.id, s.naslov, s.variable, s.label + FROM srv_spremenljivka s, srv_grupa g + WHERE s.gru_id=g.id AND g.ank_id='".$this->anketa."' + AND s.variable LIKE 'Radar%'"); + while($row = mysqli_fetch_array($sql)){ + + $number = substr($row['variable'], 5); + + $this->vprasanja_report2['radar'][$number]['id'] = $row['id']; + $this->vprasanja_report2['radar'][$number]['variable'] = $row['variable']; + $this->vprasanja_report2['radar'][$number]['naslov'] = $row['label']; + } + + ksort($this->vprasanja_report2['radar']); + + // Napolnimo odgovore za vse teme + foreach($this->vprasanja_report2['radar'] as $st_vprasanja => $tema){ + + $sqlData = sisplet_query("SELECT v.naslov, v.variable + FROM srv_grupa g, srv_spremenljivka s, srv_vrednost v, srv_data_vrednost".$this->db_table." d + WHERE s.id='".$tema['id']."' AND g.ank_id='".$this->anketa."' AND d.usr_id='".$this->usr_id."' + AND s.id=v.spr_id AND s.gru_id=g.id AND d.vre_id=v.id AND d.spr_id=s.id + "); + + if(mysqli_num_rows($sqlData) == 1){ + $rowData = mysqli_fetch_array($sqlData); + $this->vprasanja_report2['radar'][$st_vprasanja]['data'] = $rowData['variable']; + } + } + + + // Napolnimo if-e + include_once('../../main/survey/app/global_function.php'); + new \App\Controllers\SurveyController(true); + save('usr_id', $this->usr_id); + $s = \App\Controllers\CheckController::getInstance(); + + $sql = sisplet_query("SELECT i.id AS if_id, s.id AS spr_id, s.naslov, i.label + FROM srv_if i, srv_branching b, srv_spremenljivka s + WHERE b.ank_id='".$this->anketa."' AND b.parent=i.id AND s.id=b.element_spr + AND (i.label LIKE 'VARIANTA%' + OR i.label LIKE 'SONCE%' + OR i.label LIKE 'OBLACILA%' + OR i.label LIKE 'KEMIJA%' + OR i.label LIKE 'SOLARIJ%') + "); + while($row = mysqli_fetch_array($sql)){ + + // If ni bil izpolnjen + if(!$s->checkIf($row['if_id'])) + continue; + + $number = substr($row['label'], -1); + $podrocje = substr($row['label'], 0, -1); + + $this->vprasanja_report2['priporocila'][$podrocje] = $row['naslov']; + } + + /*echo '
'; + print_r($this->vprasanja_report2); + echo '';*/ + } // Prikazemo radar graf po temah @@ -255,6 +326,86 @@ class SurveyNIJZ{ } + // Ustvarimo 2. pdf porocilo + public function createReport2(){ + global $site_path; + global $site_url; + global $admin_type; + + // Zgeneriramo zacasne csv datoteke + $this->prepareCSVReport2(); + + $script = $site_path . SCRIPT_FOLDER . '/Nijz2.R'; + + try{ + $out = exec('Rscript '.$script.' '.$this->usr_id.' 2>&1', $output, $return_var); + } + catch(Exception $e){ + return $e->getMessage(); + } + + $pdf_report = $site_url.RESULTS_FOLDER.'/report_'.$this->usr_id.'.pdf'; + + // Testiranje - izpis errorjev + /*if($admin_type == 0){ + echo '
'; + echo ' '.self::$lang['srv_report_pdf'].''; + echo '