예제 #1
0
 public function index()
 {
     print_r(Helper_Fecha::getArrayMonth());
     print_r(Helper_Fecha::getArrayYear());
     print_r(Helper_Fecha::getMonth_Translate());
     print_r(Helper_Fecha::getLastDay_By_YearMonth());
     print_r(Helper_Fecha::getArrayDay(null, null));
     /*$test = Helper_Fecha::getArrayYear(2); //los años a adelantar lo cambias logicamente.
       foreach($test as $k => $v){
           echo "[$k] = ($v[0], $v[1])<br />";
       }*/
 }
 public function printReport($tipo_informacion, $tipo_sub_informacion, $year, $month, $day, $day_week, $area, $tipo_descarga = NULL)
 {
     if (empty($tipo_descarga)) {
         $tipo_descarga = 'xlsx';
     }
     $this->load->library('library_jasperstarter');
     $java_bin = Helper_Config::getBinaryJava();
     $postgres_ftt = Helper_Config::getJasperStarterPostgresTT();
     $this->library_jasperstarter->setPathFolderOutput(BASEPATH . '../application/temp');
     $this->library_jasperstarter->setPathJavaBin($java_bin);
     $this->library_jasperstarter->dbGeneric($postgres_ftt['db-driver'], $postgres_ftt['db-url'], $postgres_ftt['dbuser'], $postgres_ftt['dbpasswd']);
     $isSuccess = FALSE;
     $ci_root_path = BASEPATH . '../';
     $CI_ROOT_PATH_REPORT = $ci_root_path . "/application/reports/";
     $titulo = NULL;
     $name_tabla = NULL;
     $by_where = NULL;
     $case_group_camera = NULL;
     if ($tipo_informacion == 'INFORMATION_BY_DAY') {
         $path_file_jasper = $CI_ROOT_PATH_REPORT . 'panel_control/by_day/rpte_dynamic_by_day';
         $file_name_download = 'BY_DAY_' . $tipo_sub_informacion . uniqid();
         $file_name_output = strtolower('BY_DAY_' . $tipo_sub_informacion . uniqid());
         $date_begin = $year . '-' . $month . '-01';
         $date_end = $year . '-' . $month . '-' . Helper_Fecha::getLastDay_By_YearMonth($year, $month, TRUE);
         if ($area == 'ACCESOS_GENERALES') {
             $titulo = 'Accesos Generales';
             $name_tabla = 'access_terminal';
             $case_group_camera = "CASE " . "WHEN t_d.id_group_camera = '1' THEN " . "'Puerta 1' " . "WHEN t_d.id_group_camera = '2' THEN " . "'Puerta 2' " . "WHEN t_d.id_group_camera = '3' THEN " . "'Puerta 3' " . "ELSE " . "'NO FOUND' " . "END";
             $by_where = " AND t_d.id_group_camera BETWEEN '1' AND '3'";
         } elseif ($area == 'ARRIBO_PASAJEROS') {
             $titulo = 'Arribo de Pasajeros';
             $name_tabla = 'access_terminal';
             $case_group_camera = "CASE " . "WHEN t_d.id_group_camera = '4' THEN " . "'Puerta A' " . "WHEN t_d.id_group_camera = '5' THEN " . "'Puerta B' " . "WHEN t_d.id_group_camera = '6' THEN " . "'Puerta C' " . "ELSE " . "'NO FOUND' " . "END";
             $by_where = " AND t_d.id_group_camera BETWEEN '4' AND '6'";
         } elseif ($area == 'TORNIQUETES') {
             $path_file_jasper = $CI_ROOT_PATH_REPORT . 'panel_control/by_day/rpte_toniquete_by_day';
             $titulo = 'Torniquetes';
             $name_tabla = 'torniquete';
         } elseif ($area == 'ESCALERAS_ELECTRICAS') {
             $titulo = 'Escaleras Electricas';
             $name_tabla = 'escalera_and_ascensor';
         } elseif ($area == 'ASCENSORES') {
             $titulo = 'Ascensores';
             $name_tabla = 'escalera_and_ascensor';
         } elseif ($area == 'PATIO_COMIDAS') {
             $titulo = 'Patio de Comidas';
             $name_tabla = 'patios_comida';
         } elseif ($area == 'BANIOS') {
             $titulo = 'Baños';
             $name_tabla = 'banio';
         }
         $isSuccess = TRUE;
     } else {
         if ($tipo_informacion == 'INFORMATION_BY_HOUR') {
             $path_file_jasper = $CI_ROOT_PATH_REPORT . 'panel_control/by_hour/' . strtolower($tipo_sub_informacion) . '/';
             $file_name_download = 'BY_HOUR_' . $tipo_sub_informacion . uniqid();
             $file_name_output = strtolower('BY_HOUR_' . $tipo_sub_informacion . uniqid());
         }
     }
     $arrParameter = array('titulo' => $titulo, 'name_table' => $name_tabla, 'case_group_camera' => $case_group_camera, 'by_where' => $by_where, 'fecha_inicio' => $date_begin, 'fecha_fin' => $date_end, 'ci_root_path' => $ci_root_path);
     if ($isSuccess) {
         /* @var $oReport oReport */
         $oReport = $this->library_jasperstarter->buildReport($path_file_jasper, $file_name_output, $arrParameter, $tipo_descarga);
         if ($oReport->isSuccess()) {
             //$data = file_get_contents( $oReport->filePath() ); // Read the file's contents
             //force_download($file_name_output, $data);
             $mime = get_mime_by_extension($oReport->fileExtension());
             //$mime = "application/pdf";
             ob_clean();
             header("Content-disposition: attachment; filename={$file_name_download}.{$tipo_descarga}");
             header("Content-type: {$mime}");
             readfile($oReport->filePath());
         } else {
             header('Content-Type: text/html; charset=utf-8');
             echo "ERROR DE EJECCIÓN<br/>";
             echo "COMANDO: " . $oReport->cmd();
         }
     } else {
         header('Content-Type: text/html; charset=utf-8');
         echo "ERROR DE EJECCIÓN<br/>";
         echo "TIPO DE REPORTE: " . $area;
     }
 }
 public function printReport($date_begin, $date_end, $tipo_rpte, $rpte_grupo, $tipo_descarga = NULL)
 {
     if (empty($tipo_descarga)) {
         $tipo_descarga = 'xlsx';
     }
     $this->load->library('library_jasperstarter');
     $java_bin = Helper_Config::getBinaryJava();
     //$firebird_ftt = Helper_Config::getJasperStarterFirebirdTT();
     $postgres_ftt = Helper_Config::getJasperStarterPostgresTT();
     $this->library_jasperstarter->setPathFolderOutput(BASEPATH . '../application/temp');
     $this->library_jasperstarter->setPathJavaBin($java_bin);
     //$this->library_jasperstarter->dbGeneric( $firebird_ftt['db-driver'], $firebird_ftt['db-url'], $firebird_ftt['dbuser'], $firebird_ftt['dbpasswd']);
     $this->library_jasperstarter->dbGeneric($postgres_ftt['db-driver'], $postgres_ftt['db-url'], $postgres_ftt['dbuser'], $postgres_ftt['dbpasswd']);
     $condicion = ' AND 1=1 ';
     $isSuccess = FALSE;
     if ($tipo_rpte == 'RPTE_RESUMEN_CAMARAS_GENERAL') {
         $path_file_jasper = BASEPATH . "../application/reports/resumen_camras_general/rpte_resumen_camara_general.jasper";
         $file_name_download = "RESUMEN_CAMARA_EN_GENERAL_" . uniqid();
         $file_name_output = 'resumen_camaras_general_' . uniqid();
         $condicion .= ' AND 1=1 ';
         $isSuccess = TRUE;
     } else {
         if ($tipo_rpte == 'RPTE_RESUMEN_GRUPOS_CAMARAS') {
             if ($rpte_grupo == '1') {
                 $path_file_jasper = BASEPATH . "../application/reports/accesos_generales/rpte_accesos_generales.jasper";
                 $file_name_download = "RESUMEN_ACCESOS_GENERALES_" . uniqid();
                 $file_name_output = 'resumen_accesos_generales_' . uniqid();
             } elseif ($rpte_grupo == '2') {
                 $path_file_jasper = BASEPATH . "../application/reports/viajeros_arriban/rpte_viajeros_arriban.jasper";
                 $file_name_download = "RESUMEN_VIAJEROS_ARRIBAN_" . uniqid();
                 $file_name_output = 'resumen_viajeros_arriban_' . uniqid();
             } elseif ($rpte_grupo == '3') {
                 $array = explode("-", $date_begin);
                 $year = $array[0];
                 $month = $array[1];
                 $date_begin = $date_begin . '-01';
                 $date_end = $date_end . '-' . Helper_Fecha::getLastDay_By_YearMonth($year, $month);
                 $path_file_jasper = BASEPATH . "../application/reports/corredores/rpte_corredores.jasper";
                 $file_name_download = "RESUMEN_CORREDORES_" . uniqid();
                 $file_name_output = 'resumen_corredores_' . uniqid();
             } elseif ($rpte_grupo == '4') {
                 $path_file_jasper = BASEPATH . "../application/reports/escaleras_electricas/rpte_escalera_electrica.jasper";
                 $file_name_download = "RESUMEN_ESCALERAS_ELECTRICAS_" . uniqid();
                 $file_name_output = 'resumen_escaleras_electricas_' . uniqid();
             } elseif ($rpte_grupo == '5') {
                 $path_file_jasper = BASEPATH . "../application/reports/ascensores/rpte_ascensores.jasper";
                 $file_name_download = "RESUMEN_ASCENSORES_" . uniqid();
                 $file_name_output = 'resumen_ascensores_' . uniqid();
             } elseif ($rpte_grupo == '6') {
                 $path_file_jasper = BASEPATH . "../application/reports/resumen_patio_comida/rpte_patio_comida.jasper";
                 $file_name_download = "RESUMEN_PATIO_COMIDA_" . uniqid();
                 $file_name_output = 'resumen_patio_comida_' . uniqid();
             } elseif ($rpte_grupo == '7') {
                 $path_file_jasper = BASEPATH . "../application/reports/resumen_banios/rpte_banios.jasper";
                 $file_name_download = "RESUMEN_BAÑOS_" . uniqid();
                 $file_name_output = 'resumen_baños_' . uniqid();
             } elseif ($rpte_grupo == '8') {
                 $path_file_jasper = BASEPATH . "../application/reports/resumen_torniquetes/rpte_resumen_torniquetes.jasper";
                 $file_name_download = "RESUMEN_TORNIQUETES_" . uniqid();
                 $file_name_output = 'resumen_torniquetes_' . uniqid();
             } elseif ($rpte_grupo == '9') {
                 $path_file_jasper = BASEPATH . "../application/reports/resumen_general/rpte_resumen_general.jasper";
                 $file_name_download = "RESUMEN_GENERAL" . uniqid();
                 $file_name_output = 'resumen_torniquetes_' . uniqid();
             }
             $isSuccess = TRUE;
         }
     }
     $arrParameter = array('fecha_inicio' => $date_begin, 'fecha_fin' => $date_end, 'condicion' => $condicion, 'ci_root_path' => BASEPATH . '../');
     if ($isSuccess) {
         /* @var $oReport oReport */
         $oReport = $this->library_jasperstarter->buildReport($path_file_jasper, $file_name_output, $arrParameter, $tipo_descarga);
         if ($oReport->isSuccess()) {
             //$data = file_get_contents( $oReport->filePath() ); // Read the file's contents
             //force_download($file_name_output, $data);
             $mime = get_mime_by_extension($oReport->fileExtension());
             //$mime = "application/pdf";
             ob_clean();
             header("Content-disposition: attachment; filename={$file_name_download}.{$tipo_descarga}");
             header("Content-type: {$mime}");
             readfile($oReport->filePath());
         } else {
             header('Content-Type: text/html; charset=utf-8');
             echo "ERROR DE EJECCIÓN<br/>";
             echo "COMANDO: " . $oReport->cmd();
         }
     } else {
         header('Content-Type: text/html; charset=utf-8');
         echo "ERROR DE EJECCIÓN<br/>";
         echo "TIPO DE REPORTE: " . $tipo_rpte;
     }
 }