/Codigo/rceldas/procesos_rceldas/reporte_genera_reporte.php
PHP | 357 lines | 241 code | 78 blank | 38 comment | 17 complexity | b34c5508adcfb890d5aba0b8bfa71622 MD5 | raw file
- <?php
- date_default_timezone_set('America/Santiago');
- ini_set("display_errors", 1);
- include_once("config.php");
-
-
- ### NOS CONECTAMOS AL SERVER
- $_link = mysql_connect($_server, $_user, $_pass);
- mysql_select_db($_db);
-
- #############################################################################################
-
- ### NOS CONECTAMOS AL SERVER
- $_link = mysql_connect($_server, $_user, $_pass);
- mysql_select_db($_db);
-
- ### VALIDACION BBDD LOCAL
- if( is_resource($_link) ){
- // echo "\nConexion a BBDD local OK \n";
- $date=date("Y-m-d H:i:s");
- echo "[$date] CONECTIVIDAD LOCAL OK\n";
- }
- else{
- $date=date("Y-m-d H:i:s");
- echo "[$date] CONECTIVIDAD LOCAL NOK\n";
-
- #### SE EJECUTA UN CORREO DE ALERTA - DETALLES EN ARCHIVO config.php
- infoMail_urgente(1,"","HUDSON");
- die;
- }
-
- #############################################################################################
- ### DEFINICION DE VARIABLES
- $ayer=date("Y-m-d" , strtotime("-1 day"));
-
- $fecha_inicio="$ayer 00:00:00";
- $fecha_termino="$ayer 23:59:59";
-
- $fecha_exec=date("Y-m-d H:i:s");
-
- $tbl_celdas="CELDAS_CHILE_2G_3G_LTE";
-
- $log_file="genera_reporte";
-
- #############################################################################################
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][INICIO] [".basename($_SERVER['PHP_SELF'])."] \n";
-
- #############################################################################################
-
-
- $sql="SELECT * FROM ".$_db.".PROCESOS_STATUS WHERE PROCESO='GENERA_REPORTE' ";
- $res = mysql_query($sql, $_link);
-
- if( $res ){
- $_row = mysql_fetch_array($res);
- $updated=date("Y-m-d", strtotime($_row[4]));
-
- if( $_row[2] == "RUNNING" ){
- $date=date("Y-m-d H:i:s");
- echo "[$date] EL PROCESO SE ENCUENTRA EN EJECUCION \n";
- die;
- }
- elseif( $_row[2] == "IDLE" && $_row[3] == "OK" && $updated == date("Y-m-d") ){
-
- $sql="SELECT * FROM ".$_db.".PROCESOS_STATUS_DETALLE WHERE ID_PROCESO = 6 ";
- $result = mysql_query($sql, $_link);
-
- if( $result ){
- $rw=mysql_fetch_array($result);
-
- if( $rw[3] > 0 && $rw[4] == "OK" ){
- $date=date("Y-m-d H:i:s");
- echo "[$date] EL PROCESO SE ENCUENTRA OK... \n";
- die;
- }
- else{
- $sql_st="UPDATE ".$_db.".PROCESOS_STATUS SET STATUS = 'RUNNING' , OBS='' WHERE PROCESO='GENERA_REPORTE' ";
- mysql_query($sql_st, $_link);
- }
- }
- }
- else{
- $sql_st="UPDATE ".$_db.".PROCESOS_STATUS SET STATUS = 'RUNNING' , OBS='' WHERE PROCESO='GENERA_REPORTE' ";
- mysql_query($sql_st, $_link);
- }
- @mysql_free_result($result);
- }
- else{
- $sql_st="UPDATE ".$_db.".PROCESOS_STATUS SET STATUS = 'RUNNING' , OBS='' WHERE PROCESO='GENERA_REPORTE' ";
- mysql_query($sql_st, $_link);
- }
-
-
- #############################################################################################
-
- $fecha_rep=date("Ymd", strtotime($ayer));
-
- ### FECHA LIMPIA
- $fec_ini=date("Ymd",strtotime($fecha_inicio));
-
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] GENERACION DE VARIABLES...OK \n";
-
- #############################################################################################
-
- $encabezado="CELDA|BSC|FECHA|SITIO|NOMBRE|ESTADO_SITIO|DIRECCION|COMUNA|REGION|TIPO_CELDA|ESTADO_CELDA|GEO_REGION|GEO_COMUNA|LAC|SITIO_COD|CELL_ID";
-
- $ruta_reporte=exec("pwd")."/reporte/";
- $archivo="CELDAS_CHILE_2G_3G_LTE_".$fecha_rep;
-
- #### CREAMOS EL ARCHIVO FINAL
- $file=fopen($ruta_reporte.$archivo.".txt","a");
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] CREAMOS EL ARCHIVO... \n";
-
- if( file_exists($ruta_reporte.$archivo.".txt") ){
- #### AGREGAMOS EL ENCABEZADO
- fwrite($file,$encabezado."\r\n");
- }
- else{
- mylog($log_file, "ERROR AL CREAR ARCHIVO DEL REPORTE [".$archivo."] ");
- $date=date("Y-m-d H:i:s");
- echo "[$date] ERROR AL CREAR ARCHIVO DEL REPORTE [".$archivo."] \n ";
- die;
- }
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] ARCHIVO CREADO...OK --> [RUTA : ".$ruta_reporte.$archivo.".txt ] \n";
-
- #### CELDAS DE PRUEBA
- $celdas_test=" AND CELDA NOT IN (SELECT CELDA FROM TBL_CELDAS_TEST) ";
-
- #############################################################################################
-
- // @mysql_query("TRUNCATE TABLE ".$_db.".TBL_".$tbl_celdas."_FINAL",$_link);
-
- ### LLENAMOS LA TABLA FINAL CON DATA LIMPIA, ENRIQUECIDA Y LISTA PARA GENERAR REPORTE
- $sql="INSERT INTO ".$_db.".TBL_".$tbl_celdas." (`CELDA`, `BSC`, `FECHA`, `SITIO`, `NOMBRE`, `ESTADO_SITIO`, `DIRECCION`, `COMUNA`, `REGION`, `TIPO_CELDA`, `ESTADO_CELDA`, `GEO_REGION`, `GEO_COMUNA`, `LAC`, `SITIO_COD`, `CELL_ID`)
- SELECT DISTINCT `CELDA`, `BSC`, `FECHA`, `SITIO`, `NOMBRE`, `ESTADO_SITIO`, `DIRECCION`, `COMUNA`, `REGION`, `TIPO_CELDA`, `ESTADO_CELDA`, `GEO_REGION`, `GEO_COMUNA`, `LAC`, `SITIO_COD`, `CELL_ID`
- FROM TMP_".$tbl_celdas." WHERE FECHA='".$fecha_rep."' ";
-
- // echo "sql: ".$sql."\n";
- // $pto=fgets(STDIN,256);
-
- $result=mysql_query($sql,$_link) or mylog($log_file, "ERROR EN INSERT [TBL_".$tbl_celdas."] | [".$sql."] | [".mysql_error($_link)."] ");
- $affected=mysql_affected_rows();
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] TRAEMOS LA DATA ENRIQUECIDA - [".$affected." REGISTROS] - OK \n";
-
-
- $sql_final="SELECT DISTINCT CELDA,BSC,FECHA,SITIO,NOMBRE,ESTADO_SITIO,DIRECCION,COMUNA,REGION,TIPO_CELDA,ESTADO_CELDA,GEO_REGION,GEO_COMUNA,
- IF(SUBSTRING(TIPO_CELDA,1,3)='LTE','0',LAC) LAC , SITIO_COD,
- CASE
- WHEN CELDA IN ('URM919A') THEN '59191'
- WHEN CELDA IN ('URM919B') THEN '59192'
- WHEN CELDA IN ('URM919C') THEN '59193'
- WHEN CELDA IN ('URM919G') THEN '59194'
- WHEN CELDA IN ('URM919H') THEN '59195'
- WHEN CELDA IN ('URM919I') THEN '59196'
- WHEN CELDA IN ('URM919M') THEN '59197'
- WHEN CELDA IN ('URM919N') THEN '59198'
- WHEN CELDA IN ('URM919O') THEN '59199'
- WHEN CELDA IN ('URM919S') THEN '41217'
- WHEN CELDA IN ('URM919T') THEN '41218'
- WHEN CELDA IN ('URM919U') THEN '41219'
- WHEN CELDA IN ('URM917A') THEN '59171'
- WHEN CELDA IN ('URM917B') THEN '59172'
- WHEN CELDA IN ('URM917C') THEN '59173'
- WHEN CELDA IN ('URM917G') THEN '59174'
- WHEN CELDA IN ('URM917H') THEN '59175'
- WHEN CELDA IN ('URM917I') THEN '59176'
- WHEN CELDA IN ('URM917M') THEN '59177'
- WHEN CELDA IN ('URM917N') THEN '59178'
- WHEN CELDA IN ('URM917O') THEN '59179'
- WHEN CELDA IN ('URM917S') THEN '37527'
- WHEN CELDA IN ('URM917T') THEN '37528'
- WHEN CELDA IN ('URM917U') THEN '37529'
- WHEN CELDA IN ('FRM917A') THEN '59171'
- WHEN CELDA IN ('FRM917B') THEN '59172'
- WHEN CELDA IN ('FRM917C') THEN '59173'
- WHEN CELDA IN ('FRM919A') THEN '59191'
- WHEN CELDA IN ('FRM919B') THEN '59192'
- WHEN CELDA IN ('FRM919C') THEN '59193'
- WHEN CELDA IN ('TRM917A') THEN '06891'
- WHEN CELDA IN ('TRM917B') THEN '06892'
- WHEN CELDA IN ('TRM917G') THEN '06894'
- WHEN CELDA IN ('TRM917H') THEN '06895'
- ELSE IF(TIPO_CELDA <> '2G ERICSSON', (SUBSTR(CELDA,2,5)),CELDA ) END AS CELL_ID , CELL_ID CI
- FROM ".$_db.".TBL_".$tbl_celdas."
- WHERE FECHA = '".$fec_ini."' AND ESTADO_SITIO!='ELIMINADO' ".$celdas_test."
- UNION
- SELECT DISTINCT CELDA,BSC,FECHA,SITIO,NOMBRE,ESTADO_SITIO,DIRECCION,COMUNA,REGION,TIPO_CELDA,ESTADO_CELDA,GEO_REGION,GEO_COMUNA,
- IF(SUBSTRING(TIPO_CELDA,1,3)='LTE','0',LAC) LAC , SITIO_COD,
- CASE
- WHEN CELDA IN ('URM919A') THEN '59191'
- WHEN CELDA IN ('URM919B') THEN '59192'
- WHEN CELDA IN ('URM919C') THEN '59193'
- WHEN CELDA IN ('URM919G') THEN '59194'
- WHEN CELDA IN ('URM919H') THEN '59195'
- WHEN CELDA IN ('URM919I') THEN '59196'
- WHEN CELDA IN ('URM919M') THEN '59197'
- WHEN CELDA IN ('URM919N') THEN '59198'
- WHEN CELDA IN ('URM919O') THEN '59199'
- WHEN CELDA IN ('URM919S') THEN '41217'
- WHEN CELDA IN ('URM919T') THEN '41218'
- WHEN CELDA IN ('URM919U') THEN '41219'
- WHEN CELDA IN ('URM917A') THEN '59171'
- WHEN CELDA IN ('URM917B') THEN '59172'
- WHEN CELDA IN ('URM917C') THEN '59173'
- WHEN CELDA IN ('URM917G') THEN '59174'
- WHEN CELDA IN ('URM917H') THEN '59175'
- WHEN CELDA IN ('URM917I') THEN '59176'
- WHEN CELDA IN ('URM917M') THEN '59177'
- WHEN CELDA IN ('URM917N') THEN '59178'
- WHEN CELDA IN ('URM917O') THEN '59179'
- WHEN CELDA IN ('URM917S') THEN '37527'
- WHEN CELDA IN ('URM917T') THEN '37528'
- WHEN CELDA IN ('URM917U') THEN '37529'
- WHEN CELDA IN ('FRM917A') THEN '59171'
- WHEN CELDA IN ('FRM917B') THEN '59172'
- WHEN CELDA IN ('FRM917C') THEN '59173'
- WHEN CELDA IN ('FRM919A') THEN '59191'
- WHEN CELDA IN ('FRM919B') THEN '59192'
- WHEN CELDA IN ('FRM919C') THEN '59193'
- WHEN CELDA IN ('TRM917A') THEN '06891'
- WHEN CELDA IN ('TRM917B') THEN '06892'
- WHEN CELDA IN ('TRM917G') THEN '06894'
- WHEN CELDA IN ('TRM917H') THEN '06895'
- ELSE IF(TIPO_CELDA <> '2G ERICSSON', (SUBSTR(CELDA,2,5)),CELDA ) END AS CELL_ID , CELL_ID CI
- FROM ".$_db.".TBL_".$tbl_celdas."
- WHERE FECHA = '".$fec_ini."' AND ESTADO_SITIO IS NULL ".$celdas_test."
- ORDER BY ESTADO_SITIO DESC ";
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] COMIENZA FILTRADO DE DATA PARA EL REPORTE... \n";
-
- // echo "sql: ".$sql_final."\n"; $pto=fgets(STDIN,256);
-
- if( $res=mysql_query($sql_final,$_link) ){
-
- $q_registros=mysql_num_rows($res);
- $fila="";
-
- while( $row = mysql_fetch_array($res) ){
-
- $tipo_tec=substr($row[9],0,2); // TECNOLOGIA
-
- $celda=$row[0];
- $sitio=$row[3];
- $ci=$row[16]; // CELL ID
-
- switch($tipo_tec){
- case "2G":{
- $lac=$row[13];
- $cellId=$row[15];
- // $sql_insert=$insert."VALUES ('".$row[0]."','".$row[1]."','".$row[2]."','".$row[3]."','".$row[4]."','".$row[5]."','".$row[6]."','".$row[7]."','".$row[8]."','".$row[9]."','".$row[10]."','".$row[11]."','".$row[12]."','".$lac."','".$row[14]."','".$cellId."' ) ";
- $fila = $row[0]."|".$row[1]."|".$row[2]."|".$row[3]."|".$row[4]."|".$row[5]."|".$row[6]."|".$row[7]."|".$row[8]."|".$row[9]."|".$row[10]."|".$row[11]."|".$row[12]."|".$lac."|".$row[14]."|".$cellId."\r\n";
- break;
- }
- case "3G":{
- $lac=$row[13];
- $cellId=$row[15];
- // $sql_insert=$insert."VALUES ('".$row[0]."','".$row[1]."','".$row[2]."','".$row[3]."','".$row[4]."','".$row[5]."','".$row[6]."','".$row[7]."','".$row[8]."','".$row[9]."','".$row[10]."','".$row[11]."','".$row[12]."','".$lac."','".$row[14]."','".$cellId."' ) ";
- $fila = $row[0]."|".$row[1]."|".$row[2]."|".$row[3]."|".$row[4]."|".$row[5]."|".$row[6]."|".$row[7]."|".$row[8]."|".$row[9]."|".$row[10]."|".$row[11]."|".$row[12]."|".$lac."|".$row[14]."|".$cellId."\r\n";
- break;
- }
- case "LT":{
- $lac=0;
- $cellId=$row[16];
- $fila = $row[0]."|".$row[1]."|".$row[2]."|".$row[3]."|".$row[4]."|".$row[5]."|".$row[6]."|".$row[7]."|".$row[8]."|".$row[9]."|".$row[10]."|".$row[11]."|".$row[12]."|".$lac."|".$row[14]."|".$cellId."\r\n";
- break;
- }
-
- }
- // $fila .= $row[0]."|".$row[1]."|".$row[2]."|".$row[3]."|".$row[4]."|".$row[5]."|".$row[6]."|".$row[7]."|".$row[8]."|".$row[9]."|".$row[10]."|".$row[11]."|".$row[12]."|".$lac."|".$row[14]."|".$cellId."\r\n";
-
- #### SE AGREGA DATA AL ARCHIVO FINAL
- fwrite($file,$fila);
-
- }// FIN WHILE
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] FILTRADO Y LLENADO DEL REPORTE...OK \n";
-
- }
- else{
- mylog($log_file, "ERROR EN QUERY DE EXTRACCION [".$sql_final."] | [".mysql_error($_link)."] ");
- $date=date("Y-m-d H:i:s");
- echo "[$date][ALERTA] No se pudo ejecutar la query correctamente - ERROR : ".mysql_error()."\n";
- die;
- }
-
-
- #### CERRAMOS EL ARCHIVO
- fclose($file);
- #### FINALIZA LA GENERACION DEL REPORTE
-
- #############################################################################################
-
- #### SE COMPRIME EL ARCHIVO
- exec("gzip -9 ".$ruta_reporte.$archivo.".txt ");
-
- ### SE OBTIENE ARCHIVO FINAL, COMPRIMIDO
- $archivo_final=exec("ls ".$ruta_reporte.$archivo."* ");
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][REPORTE] ARCHIVO [".$archivo.".txt] SE COMPRIME, QUEDANDO [".$archivo_final."] - OK \n";
-
-
-
- #### ENVIAMOS LOS ARCHIVOS A LOS FTPs DE DESTINO
- for($o=1;$o<3;$o++){
- $cmd="sh bin/enviaReporte.sh ".$o." ".$archivo_final." > log/enviaReporte.log ";
- // echo "cmd: ".$cmd."\n";
- exec($cmd);
- }
-
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][ARCHIVO FINAL] --> [".$archivo_final."]\n";
- // $pto=fgets(STDIN,256);
-
- #############################################################################################
-
- if( file_exists($archivo_final) ){
- $sql_st="UPDATE ".$_db.".PROCESOS_STATUS SET STATUS = 'IDLE' , OBS='OK' WHERE PROCESO='GENERA_REPORTE' ";
- $sql_st2="UPDATE ".$_db.".PROCESOS_STATUS_DETALLE SET STATUS = 'OK' , Q_REGISTROS_TOTALES=".$q_registros." WHERE TABLA='REPORTE_GENERADO' ";
-
- #### AL GENERARSE EL REPORTE EXITOSAMENTE, SE CREA UN FLAG
- exec("touch celdas.lck");
- }
- else{
- mylog($log_file, "ARCHIVO NO ENCONTRADO [ PHP file_exists --> ".$archivo_final." ] ");
-
- $sql_st="UPDATE ".$_db.".PROCESOS_STATUS SET STATUS = 'IDLE' , OBS='NOK' WHERE PROCESO='GENERA_REPORTE' ";
- $sql_st2="UPDATE ".$_db.".PROCESOS_STATUS_DETALLE SET STATUS = 'NOK' , Q_REGISTROS_TOTALES=".$q_registros." WHERE TABLA='REPORTE_GENERADO' ";
- }
-
- // $pto=fgets(STDIN,256);
-
- @mysql_query($sql_st, $_link);
- @mysql_query($sql_st2, $_link);
-
- #############################################################################################
-
-
- $date=date("Y-m-d H:i:s");
- echo "[$date][FIN] \n\n";
-
- @mysql_close($_link);
-
- ?>