<?php
header('Content-Type: application/json;charset= utf-8');
require("dbinfo.php");
require("dl.php");
$con = mysqli_connect($sqlname, $username, $password, $db);
if(!$con){exit;}
mysqli_set_charset($con,"utf8");

$sql = '';
$historia = '';
$idpsing1 = 0;
$idpsing2 = 0;
$lat1 = 0;
$lat2 = 0;
$lon1 = 0;
$lon2 = 0;
$calle = '';
$via = 0;

if($_REQUEST['sql']){$sql = $_REQUEST['sql'];}
if( $_REQUEST["historia"] ) {$historia = $_REQUEST['historia'];}
if($_REQUEST['idpsing1']){$idpsing1 = $_REQUEST['idpsing1'];}
if($_REQUEST['idpsing2']){$idpsing2 = $_REQUEST['idpsing2'];}

if($_REQUEST['lat1']){$lat1 = $_REQUEST['lat1'];}
if($_REQUEST['lat2']){$lat2 = $_REQUEST['lat2'];}
if($_REQUEST['lon1']){$lon1 = $_REQUEST['lon1'];}
if($_REQUEST['lon2']){$lon2 = $_REQUEST['lon2'];}

if($_REQUEST['calle']){$calle = $_REQUEST['calle'];}
if($_REQUEST['via']){$via = $_REQUEST['via'];}


if($_REQUEST['zarriba']){$zarriba = $_REQUEST['zarriba'];}
if($_REQUEST['zabajo']){$zabajo = $_REQUEST['zabajo'];}
if($_REQUEST['z_tapa_aa']){$z_tapa_aa = $_REQUEST['z_tapa_aa'];}
if($_REQUEST['z_tapa_ab']){$z_tapa_ab = $_REQUEST['z_tapa_ab'];}

if($_REQUEST['datos_por_defecto']){$datos_por_defecto = $_REQUEST['datos_por_defecto'];}

$usuario = "administrador";
if( $_REQUEST["usuario"] ) {
   $usuario = $_REQUEST['usuario'];
}


    $defecto = json_decode($datos_por_defecto,true);

    $resultado = mysqli_query($con,$sql);
    $res = array();
        $sql = "SELECT MAX(elemred) as maxid FROM cat_tramos WHERE 1";
        $resultado = mysqli_query($con,$sql);
        $row = mysqli_fetch_assoc($resultado);
        $id_tramo = $row["maxid"];


$lat3 = ($lat1 + $lat2) / 2.0;
$lon3 = ($lon1 + $lon2) / 2.0;

$ccz3 = 'Sin Asignar';
$sqlx = "SELECT NOMBRE, ASTEXT(SHAPE) AS geom FROM geo_cczs WHERE CONTAINS(SHAPE, GEOMFROMTEXT('POINT(" . $lon3 . " " . $lat3 . ")'))";
$resultadox = mysqli_query($con,$sqlx);
if ($resultadox != FALSE){
    if (mysqli_num_rows($resultadox) == 1)
    {
        $rowx = mysqli_fetch_assoc($resultadox);
        $ccz3=$rowx['NOMBRE'];
    }  
    elseif (mysqli_num_rows($resultadox) > 1)
    {
        while($rowx = mysqli_fetch_assoc($resultadox))
        {
            $geom=$rowx['geom'];
            $esinterior = dl_geometria::dl_punto_en_poligono($lat3,$lon3,$geom);
            if ($esinterior){$ccz3=$rowx['NOMBRE'];};
        }
    }
}
$cuenca3 = 0;
$sqlx = "SELECT id, ASTEXT(SHAPE) AS geom FROM geo_cuencas WHERE CONTAINS(SHAPE, GEOMFROMTEXT('POINT(" . $lon3 . " " . $lat3 . ")'))";
$resultadox = mysqli_query($con,$sqlx);
if ($resultadox != FALSE){
    if (mysqli_num_rows($resultadox) == 1)
    {
        $rowx = mysqli_fetch_assoc($resultadox);
        $cuenca3=$rowx['id'];
    }  
    elseif (mysqli_num_rows($resultadox) > 1)
    {
        while($rowx = mysqli_fetch_assoc($resultadox))
        {
            $geom=$rowx['geom'];
            $esinterior = dl_geometria::dl_punto_en_poligono($lat3,$lon3,$geom);
            if ($esinterior){$cuenca3=$rowx['id'];};
        }
    }
}

$sql66 = "UPDATE cat_tramos SET ccz = '" . $ccz3 . "', cuenca = " . $cuenca3 . " WHERE elemred = " . $id_tramo;
$resultado66= mysqli_query($con,$sql66);

array_push($res,$id_tramo);
array_push($res,$ccz3);
array_push($res,$cuenca3);





 
    if ($idpsing1 > 0)
    {
        $sql65 = "UPDATE cat_tramos SET id_psig_aa = " . $idpsing1 . " WHERE elemred = " . $id_tramo;
        $resultado65= mysqli_query($con,$sql65);
        $elem1 = array(
            'nuevo'=>'NO',
            'id'=>$idpsing1,		
            'lat'=>0,
            'lon'=>0,
            'ztapa'=>0,		  
            'profundidad'=>0,
            'z_ab'=>0,
            'alta_fuente'=>"",
            'fecha'=>'',		  
            'calle'=>'',
            'via'=>0,
            'historial'=>'',
            'etapa'=>'',
            'tipo'=>'',
            'contrato'=>'',
            'proyecto'=>'',
            'ccz'=>'',
            'cuenca'=>''
             );
    }
    else
    {

            $cczps1 = 'Sin Asignar';
            $sqlx = "SELECT NOMBRE, ASTEXT(SHAPE) AS geom  FROM geo_cczs WHERE CONTAINS(SHAPE, GEOMFROMTEXT('POINT(" . $lon1 . " " . $lat1 . ")'))";
            $resultadox = mysqli_query($con,$sqlx);
            if ($resultadox != FALSE){
                if (mysqli_num_rows($resultadox) == 1)
                {
                    $rowx = mysqli_fetch_assoc($resultadox);
                    $cczps1=$rowx['NOMBRE'];
                }  
                elseif (mysqli_num_rows($resultadox) > 1)
                {
                    while($rowx = mysqli_fetch_assoc($resultadox))
                    {
                        $geom=$rowx['geom'];
                        $esinterior = dl_geometria::dl_punto_en_poligono($lat1,$lon1,$geom);
                        if ($esinterior){$cczps1=$rowx['NOMBRE'];};
                    }
                }
            }
            $cuencaps1 = 0;
            $sqlx = "SELECT id , ASTEXT(SHAPE) AS geom FROM geo_cuencas WHERE CONTAINS(SHAPE, GEOMFROMTEXT('POINT(" . $lon1 . " " . $lat1 . ")'))";
            $resultadox = mysqli_query($con,$sqlx);
            if ($resultadox != FALSE){
                if (mysqli_num_rows($resultadox) == 1)
                {
                    $rowx = mysqli_fetch_assoc($resultadox);
                    $cuencaps1=$rowx['id'];
                }  
                elseif (mysqli_num_rows($resultadox) > 1)
                {
                    while($rowx = mysqli_fetch_assoc($resultadox))
                    {
                        $geom=$rowx['geom'];
                        $esinterior = dl_geometria::dl_punto_en_poligono($lat1,$lon1,$geom);
                        if ($esinterior){$cuencaps1=$rowx['id'];};
                    }
                }
            }
            

        $nueva_geom3 = "GEOMFROMTEXT('POINT(" . $lon1 . " " . $lat1 . ")')";
        $nuevos_tramos = '["' . $id_tramo . '"]';
        $ztapa3 = 0;
        $znuevo = 0;
        $profundidad3 = 0;
        $fecha = dl_fecha::dl_ahora_texto();
        $historialg = array();
        $nuevo_elemento = array('descripcion'=>"CREADO POR NUEVO TRAMO", 'fecha'=>$fecha, 'usuario'=>"Sistema");
        array_push($historialg,$nuevo_elemento);
        $historial = json_encode($historialg, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK);
        $sql8 = "INSERT INTO cat_psingulares (SHAPE,elem_red,z_tapa,profundidad,z_ab,";
        $sql8 .= "alta_fuente,alta_fecha,calle,via,historial,etapa,tipo,contrato,proyecto,ccz,cuenca) VALUES (";
        $sql8 .= $nueva_geom3 . ",(SELECT MAX(elem_red) + 1 FROM cat_psingulares CAT)," . $ztapa3 . "," . $profundidad3 . "," . $znuevo . ",";
        $sql8 .= "'CREACION DE TRAMO NUEVO','" . $fecha . "','" . $calle . "'," . $via . ",'" . $historial .  "','";
        $sql8 .= $defecto["etapa"] . "'," . $defecto["psingular_tipo"] . ",". $defecto["contrato"] . "," . $defecto["proyecto"] ;
        $sql8 .= ",'" . $cczps1 . "','" . $cuencaps1 . "')";
        $resultado8 = mysqli_query($con,$sql8);
        $sql33 = "SELECT MAX(elem_red) as maxid FROM cat_psingulares WHERE 1";
        $resultado33 = mysqli_query($con,$sql33);
        $row33 = mysqli_fetch_assoc($resultado33);
        $id_psing = $row33["maxid"];
        $sql65 = "UPDATE cat_tramos SET id_psig_aa = " . $id_psing . " WHERE elemred = " . $id_tramo;
        $resultado65= mysqli_query($con,$sql65);        
        $sql = "INSERT INTO log2 (id_elemento,descripcion,tipo,fecha,usuario,tipo_elemento) VALUES (" . $id_psing . ",'Se crea punto singular por tramo','NUEVO PSINGULAR','" . $fecha . "','" . $usuario . "','PSINGULAR')";
        $resultado = mysqli_query($con,$sql);
        $elem1 = array(
            'nuevo'=>'SI',
            'id'=>$id_psing,		
            'lat'=>$lat1,
            'lon'=>$lon1,
            'ztapa'=>$ztapa3,		  
            'profundidad'=>$profundidad3,
            'z_ab'=>$znuevo,
            'alta_fuente'=>"CREACION DE TRAMO NUEVO",
            'fecha'=>$fecha,		  
            'calle'=>$calle,
            'via'=>$via,
            'historial'=>$historial,
            'etapa'=>$defecto["etapa"],
            'tipo'=>$defecto["psingular_tipo"],
            'contrato'=>$defecto["contrato"],
            'proyecto'=>$defecto["proyecto"],
            'ccz'=>$cczps1,
            'cuenca'=>$cuencaps1
             );
    }


    if ($idpsing2 > 0)
    {
        $sql65 = "UPDATE cat_tramos SET id_psig_ab = " . $idpsing2 . " WHERE elemred = " . $id_tramo;
        $resultado65= mysqli_query($con,$sql65);
        $elem2 = array(
            'nuevo'=>'NO',
            'id'=>$idpsing2,		
            'lat'=>0,
            'lon'=>0,
            'ztapa'=>0,		  
            'profundidad'=>0,
            'z_ab'=>0,
            'alta_fuente'=>"",
            'fecha'=>'',		  
            'calle'=>'',
            'via'=>0,
            'historial'=>'',
            'etapa'=>'',
            'tipo'=>'',
            'contrato'=>'',
            'proyecto'=>'',
            'ccz'=>'',
            'cuenca'=>''
             );
    }
    else
    {
        $cczps2 = 'Sin Asignar';
        $sqlx = "SELECT NOMBRE, ASTEXT(SHAPE) AS geom  FROM geo_cczs WHERE  CONTAINS(SHAPE, GEOMFROMTEXT('POINT(" . $lon2 . " " . $lat2 . ")'))";
        $resultadox = mysqli_query($con,$sqlx);
        if ($resultadox != FALSE){
            if (mysqli_num_rows($resultadox) == 1)
            {
                $rowx = mysqli_fetch_assoc($resultadox);
                $cczps2=$rowx['NOMBRE'];
            }  
            elseif (mysqli_num_rows($resultadox) > 1)
            {
                while($rowx = mysqli_fetch_assoc($resultadox))
                {
                    $geom=$rowx['geom'];
                    $esinterior = dl_geometria::dl_punto_en_poligono($lat2,$lon2,$geom);
                    if ($esinterior){$cczps2=$rowx['NOMBRE'];};
                }
            }
        }
        $cuencaps2 = 0;
        $sqlx = "SELECT id , ASTEXT(SHAPE) AS geom FROM geo_cuencas WHERE  CONTAINS(SHAPE, GEOMFROMTEXT('POINT(" . $lon2 . " " . $lat2 . ")'))";
        $resultadox = mysqli_query($con,$sqlx);
        if ($resultadox != FALSE){
            if (mysqli_num_rows($resultadox) == 1)
            {
                $rowx = mysqli_fetch_assoc($resultadox);
                $cuencaps2=$rowx['id'];
            }  
            elseif (mysqli_num_rows($resultadox) > 1)
            {
                while($rowx = mysqli_fetch_assoc($resultadox))
                {
                    $geom=$rowx['geom'];
                    $esinterior = dl_geometria::dl_punto_en_poligono($lat2,$lon2,$geom);
                    if ($esinterior){$cuencaps2=$rowx['id'];};
                }
            }
        }
        $nueva_geom3 = "GEOMFROMTEXT('POINT(" . $lon2 . " " . $lat2 . ")')";
        $nuevos_tramos = '["' . $id_tramo . '"]';
        $ztapa3 = 0;
        $znuevo = 0;
        $profundidad3 = 0;
        $fecha = dl_fecha::dl_ahora_texto();
        $historialg = array();
        $nuevo_elemento = array('descripcion'=>"CREADO POR NUEVO TRAMO", 'fecha'=>$fecha, 'usuario'=>"Sistema");
        array_push($historialg,$nuevo_elemento);
        $historial = json_encode($historialg, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK);
        $sql8 = "INSERT INTO cat_psingulares (SHAPE,elem_red,z_tapa,profundidad,z_ab,";
        $sql8 .= "alta_fuente,alta_fecha,calle,via,historial,etapa,tipo,contrato,proyecto,ccz,cuenca) VALUES (";
        $sql8 .= $nueva_geom3 . ",(SELECT MAX(elem_red) + 1 FROM cat_psingulares CAT)," . $ztapa3 . "," . $profundidad3 . "," . $znuevo . ",";
        $sql8 .= "'CREACION DE TRAMO NUEVO','" . $fecha . "','" . $calle . "'," . $via . ",'" . $historial .  "','";
        $sql8 .= $defecto["etapa"] . "'," . $defecto["psingular_tipo"] . "," . $defecto["contrato"] . "," . $defecto["proyecto"];
        $sql8 .= ",'" . $cczps2 . "','" . $cuencaps2 . "')";
        $resultado8 = mysqli_query($con,$sql8);
        $sql33 = "SELECT MAX(elem_red) as maxid FROM cat_psingulares WHERE 1";
        $resultado33 = mysqli_query($con,$sql33);
        $row33 = mysqli_fetch_assoc($resultado33);
        $id_psing = $row33["maxid"];
        $sql65 = "UPDATE cat_tramos SET id_psig_ab = " . $id_psing . " WHERE elemred = " . $id_tramo;
        $resultado65= mysqli_query($con,$sql65); 
        $sql = "INSERT INTO log2 (id_elemento,descripcion,tipo,fecha,usuario,tipo_elemento) VALUES (" . $id_psing . ",'Se crea punto singular por tramo','NUEVO PSINGULAR','" . $fecha . "','" . $usuario . "','PSINGULAR')";
        $resultado = mysqli_query($con,$sql);
        $elem2 = array(
            'nuevo'=>'SI',
            'id'=>$id_psing,		
            'lat'=>$lat2,
            'lon'=>$lon2,
            'ztapa'=>$ztapa3,		  
            'profundidad'=>$profundidad3,
            'z_ab'=>$znuevo,
            'alta_fuente'=>"CREACION DE TRAMO NUEVO",
            'fecha'=>$fecha,		  
            'calle'=>$calle,
            'via'=>$via,
            'historial'=>$historial,
            'etapa'=>$defecto["etapa"],
            'tipo'=>$defecto["psingular_tipo"],
            'contrato'=>$defecto["contrato"],
            'proyecto'=>$defecto["proyecto"],
            'ccz'=>$cczps2,
            'cuenca'=>$cuencaps2
             );
    }
    $fecha = dl_fecha::dl_ahora_texto();
    if($id_tramo > 0)
    {
       $sql = "INSERT INTO log2 (id_elemento,descripcion,tipo,fecha,usuario,tipo_elemento) VALUES (" . $id_tramo . ",'Se crea tramo nuevo','NUEVO TRAMO','" . $fecha . "','" . $usuario . "','TRAMO')";
       $resultado = mysqli_query($con,$sql);
    }   

    array_push($res,$elem1);
    array_push($res,$elem2);

mysqli_close($con);
echo json_encode($res);
?>





