<?php
header('Content-Type: application/json;charset= utf-8');
echo("Arranca!!!!" .  PHP_EOL);
require("dl.php");


$sqlname3 = "127.0.0.1";
$username3 = "Santana1966";
$password3 = "Santana1966";
$db3 = "cat_conexiones";

$con_local = mysqli_connect($sqlname3, $username3, $password3, $db3);
if(!$con_local){
    echo("Finaliza ejecución. NO SE PUEDE CONECTAR SERVIDOR LOCAL!!!!" .  PHP_EOL);
    exit;}
mysqli_set_charset($con_local,"utf8");


$DB_HOST = "www.imsaninsp.com";
$DB_USER = "imsanins_daniel";
$DB_PASS = "Santana1966";
$DB_NAME = "imsanins_cat_conexiones";

$con_produccion = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if(!$con_produccion){
    echo("Finaliza ejecución. NO SE PUEDE CONECTAR SERVIDOR DE PRODUCCION!!!!" .  PHP_EOL);
    exit;}
mysqli_set_charset($con_produccion,"utf8");

$sqlname = "www.dlgeo.com";
$username = "uyinfrai_Santana";
$password = "Santana1966";
$db = "uyinfrai_cat_conexiones";
$con_desarrollo = mysqli_connect($sqlname, $username, $password, $db);
if(!$con_desarrollo){
    echo("Finaliza ejecución. NO SE PUEDE CONECTAR SERVIDOR DE DESARROLLO!!!!" .  PHP_EOL);
    exit;}
mysqli_set_charset($con_desarrollo,"utf8");

borro_duplicados_historial($con_produccion);

function cmp_fechas($a, $b)
{
    $a = $a["fecha"];
    $b = $b["fecha"];
    $fecha1 = dl_fecha::dl_fecha_texto_a_date($a);
    $fecha2 = dl_fecha::dl_fecha_texto_a_date($b);
    return  $fecha1 > $fecha2;
}

function borro_duplicados_historial($con)
{
$nombre_respaldo = "sql/ajuste_historial.sql";
$archivo_sql = fopen($nombre_respaldo,"w"); 
    echo ("empieza borro duplicados......." . PHP_EOL);
set_time_limit(50000);
$sql = "SELECT id, historial FROM conexiones WHERE historial LIKE '%SUR,%' OR historial LIKE '%SIC,%' OR historial LIKE '%CCON,%' ";
$resultado = mysqli_query($con,$sql);
$cant_duplicados = 0;
$contador = 0;
if ($resultado != FALSE){
	if (mysqli_num_rows($resultado) > 0){
		while($row = mysqli_fetch_assoc($resultado))
		{
							$id = $row["id"];
                            $historial = $row["historial"];
                            $historial_array = json_decode($historial,true);
                            $historial_array2 = array();
                            foreach($historial_array as $clave)
                            {
                                $yaexiste = false;
                                $fecha_historial = $clave['fecha'];
                                $descripcion_historial = $clave['descripcion'];
                                $usuario_historial = $clave['usuario'];
                                foreach($historial_array2 as $clave2)
                                {
                                    $fecha_historial2 = $clave2['fecha'];
                                    $descripcion_historial2 = $clave2['descripcion'];
                                    $usuario_historial2 = $clave2['usuario'];
                                    if ($descripcion_historial == $descripcion_historial2)
                                    {
                                        $yaexiste = true;
                                    }
                                }    
                                if ($yaexiste === false) {
                                    array_push($historial_array2,$clave);
                                }else
                                {
                                    $cant_duplicados++;
                                }
                            }  
                            usort($historial_array2,"cmp_fechas");
                            $historial2 = json_encode($historial_array2);
                            $recalcular = recalculo_campos_historial_completo($historial2);
                            if ($recalcular['sur'] != '')
                            {
                                $sqlsur= ", sur = '" . $recalcular['sur'] . "'";
                            }
                            else
                            {
                                $sqlsur= ", sur = 'Sin reclamos' ";
                            }
                            if ($recalcular['sic'] != '')
                            {
                                $sqlsic = ", tramite = '" . $recalcular['sic'] . "'";
                            }else
                            {
                                $sqlsic = ", tramite = 'Sin tramite' ";
                            }
                            $sql2 = "UPDATE conexiones SET historial = '" . $historial2 . "' " . $sqlsur . $sqlsic .  " WHERE id =" . $id;  
                            if($historia2 != $historial)
                            {
                            fwrite($archivo_sql,$sql2 . ";" . PHP_EOL);
                            //$resultado2 = mysqli_query($con,$sql2); 
                            }
                            $contador++;
                            echo($contador . " - " . $id . PHP_EOL);
        }  
    }
}	
echo "Se eliminaron " . $cant_duplicados . " de historial!";
fclose($archivo_sql); 
}




function recalculo_campos_historial_completo($historial)
{
    $valor_sur = '';
    $tramite_catastro = '';
                    $historial_array = json_decode($historial,true);
                    foreach($historial_array as $clave2)
                    {
                               $elemento_historial = $clave2['descripcion'];
                               $posicion = substr($elemento_historial,0,3);
                                if ($posicion == 'SUR') 
                                {
                                    $sur_array = explode(",",$elemento_historial);
                                    $tipo = $sur_array[2];
                                    $estado = $sur_array[9];
                                    $prioridad = $sur_array[6];                     
                                    switch ($tipo)
                                    {
                                        case "Conexion Nueva":
                                            $valor_sur = "SUR Nueva";
                                        break;
                                        case "Conexion Rota":
                                            $valor_sur = "SUR Rota";
                                        break;
                                        default:
                                            $valor_sur = "SUR Obstruida";
                                    }
                                    if ($estado != 'Finalizado' && $prioridad == 'Alta')
                                    {
                                        $valor_sur .= " Alta Prioridad";
                                    }
                                    else
                                    if ($estado == 'Finalizado')
                                    {
                                        $valor_sur .= " Finalizada";
                                    }
                                }     
                                elseif ($posicion == 'SIC') 
                                {
                                    $data = explode(",", $elemento_historial);                                                      
                                                        $tipotra =  dl_textos::dl_limpiar_texto1($data[2]);
                                                        $estact = dl_textos::dl_limpiar_texto1($data[7]);
                                                        $sanitaria = dl_textos::dl_limpiar_texto1($data[15]);                                   
                                                    switch ($tipotra)
                                                        {
                                                            case "GRUPO DE CONEXIONES":
                                                                $tramite_catastro = "Grupo de Conexiones ";
                                                            break;
                                                            case "SOLICITUD DE CONEXION NUEVA":
                                                                $tramite_catastro = "Nueva ";
                                                            break;
                                                            case "SOLICITUD DE CONEXION EXISTENTE":
                                                                $tramite_catastro = "Existente ";
                                                            break;
                                                            case "CERTIFICADO DE NO SANEAMIENTO":
                                                                $tramite_catastro = "Cert no saneam";
                                                            break;
                                                            default:
                                                                $tramite_catastro = "Otros";
                                                        }
                                                    if ($tramite_catastro != 'Otros' && $tramite_catastro != 'Cert no saneam') 
                                                    {   
                                                    switch ($estact)
                                                        {
                                                            case "FIN":
                                                                $tramite_catastro .= "Finalizada";
                                                            break;
                                                            case "PEND. DE INFORME TECNICO":
                                                                $tramite_catastro .= "Pend Inf Tecnico";
                                                            break;
                                                            case "OBSERVADO":
                                                                $tramite_catastro .= "Observado";
                                                            break;
                                                            case "ESTUDIOS Y PROYECTOS":
                                                                $tramite_catastro .= "Estudios y Proyectos";
                                                            break;
                                                            case "PEND. DE APROBAR INSPECCION FINAL":
                                                                $tramite_catastro .= "Pend Aprob Insp";
                                                            break;
                                                            case "PEND. DE APROBAR INSPECCION":
                                                                $tramite_catastro .= "Pend Aprob Insp";
                                                            break;
                                                            case "EN CONSTRUCCION":
                                                                $tramite_catastro .= "en Construccion";
                                                            break;
                                                            case "INICIO":
                                                                $tramite_catastro .= "Inicio";
                                                            break;
                                                            case "EN ESPERA":
                                                                if ($sanitaria == 'HABP' || $sanitaria == 'HABPO')
                                                                {
                                                                $tramite_catastro .= "pendiente en uso";
                                                                }
                                                                else if ($sanitaria == 'SOS' || $sanitaria == 'SINC' || $sanitaria == 'HABSD' || $sanitaria == 'SINS')
                                                                {
                                                                    $tramite_catastro .= "pendiente sin uso";
                                                                }
                                                            break;
                                                            case "PEND. DE VISITA":
                                                                if ($sanitaria == 'HABP' || $sanitaria == 'HABPO')
                                                                {
                                                                $tramite_catastro .= "pendiente en uso";
                                                                }
                                                                else if ($sanitaria == 'SOS' || $sanitaria == 'SINC' || $sanitaria == 'HABSD' || $sanitaria == 'SINS')
                                                                {
                                                                    $tramite_catastro .= "pendiente sin uso";
                                                                }
                                                            break;
                                                            default:
                                                                $tramite_catastro .= "Otros";
                                                        }
                                                    }   
                                }
                        }

    $res = array('sur'=>$valor_sur,'sic'=>$tramite_catastro);
    return $res;
}	




?>