<?php
include '../comunes_php/cors.php';
include '../comunes_php/Log.class.php'; 
$log = new Log("app_trace", "./");

    $parametros = print_r($_POST,TRUE);
 
    $log->insert($parametros, false, false, false);
    


    $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
    $offset = ($page-1)*$rows;
    $result = array();
    $mensaje = "Fueron guardados sus datos";
    include '../rdb/conn.php';
    $fecha= date("Y-m-d H:i:s");


    $id = $_POST['id'];
    $usuario_id =$_REQUEST['usuario_id'];
    
	$dpfecha=    isset($_REQUEST['dpfecha']) ? (is_null($_REQUEST['dpfecha'])? NULL:$_REQUEST['dpfecha']) : NULL;
	$Repartidor=    isset($_REQUEST['cmbRepartidor']) ?(is_null($_REQUEST['cmbRepartidor'])? '-1':$_REQUEST['cmbRepartidor']) : '-1';
	$Transporte= isset($_REQUEST['cmbTransporte']) ?(is_null($_REQUEST['cmbTransporte'])?  '-1':$_REQUEST['cmbTransporte']) : '-1';
	$comentarios= isset($_REQUEST['txtComentarios']) ? $_REQUEST['txtComentarios'] : '';


//    $fecha_actual= date("Y-m-d H:i:s");
//    $fecha_actual= $_POST['fecha'];
 
  
  
try {    
mysqli_query( $conn,"SET AUTOCOMMIT=0");
mysqli_query( $conn,"START TRANSACTION");


    if (isset($_POST['id']) && trim($_POST['id'])!='ALTA') {
        //modificacion
         
$sql=" UPDATE `envios_cabecera` SET ";
	if ($Transporte<>'') {$sql .="`camion_id`= $Transporte,     "; }
	if ($Repartidor<>'') {$sql .="`repartidor_id`= $Repartidor,     "; }
	if ($dpfecha<>'') {$sql .="`fecha_envio`= '$dpfecha',     "; }
	
    if ($comentarios<>'') {$sql .="`observaciones`='$comentarios',     "; }

    $sql.="camion_id=camion_id ";

    $sql.=" WHERE id=$id";
								     

	
            $log->insert($sql, false, false, false);


            $visitante ="Acceso desde IP: " .$_SERVER['REMOTE_ADDR'] ;
           
            $accion = $sql;

            $valor="";
            $sqlv  = "INSERT INTO visitas ( fecha, visitante, accion) VALUES ";
            $sqlv .= " ('$fecha','$visitante','$accion')";
            @mysqli_query( $conn,$sqlv);

            @mysqli_query( $conn,$sql);
            $actualizados=mysqli_affected_rows($conn);

            $result["sql"]=$sql;
            
            //si vienen armo un arreglo con el contenido y doy de alta
            
             if (isset($_POST['envio_detalle'])){
                $renglones= json_decode($_POST['envio_detalle'], true);
                $sql = "delete from  envios_detalle where envio_id=$id";
                @mysqli_query( $conn,$sql);

                $log->insert($sql, false, false, false);
              

                $orden=0;
                 foreach($renglones as $cr){
                     //primero meto los renglones de los productos 
                    $orden++;

                        
                        $sql  ="INSERT INTO `envios_detalle`";
                        $sql  .="(`envio_id`, `contrato_id`, `observacion`, ";
                        $sql  .="`fecha_envio_programada`, `fecha_envio_real`, `orden`,usuario_id) VALUES ";
                        $sql  .="($id,$cr[contrato_id],'$cr[observacion]',";
                        $sql  .="'$cr[fecha_programado]',NULL,$orden,$usuario_id)"; 
					    @mysqli_query( $conn,$sql);
                        //guardo en log el sql realizado para el producto
                        $log->insert($sql, false, false, false);
					    
                        
        

                }


            } //fin de area de manejo de renglones


    } // fin modificaciones 
    else
    {
        //alta        
    	   $sql= " select IFNULL(max(id),0)+1 from envios_cabecera ";
    
    	    $rs = mysqli_query( $conn,$sql);
    	    $row = mysqli_fetch_row($rs);
    	    $id = $row[0];
    
            $sql  ="INSERT INTO ";
            $sql  .="	`envios_cabecera`";
            $sql  .="	(`id`, `camion_id`, `repartidor_id`, ";
            $sql  .="	`observaciones`, `fecha_envio`) VALUES";
            $sql  .="   ($id,$Transporte,$Repartidor,";
            $sql  .="   '$comentarios','$dpfecha')";
 
            
            mysqli_query( $conn,$sql);
            $actualizados=mysqli_affected_rows($conn);
            
       	    $result["sql"] = $sql;
       	
            $log->insert($sql, false, false, false);

    

            //si vienen armo un arreglo con el contenido y doy de alta
             if (isset($_POST['envio_detalle'])){
                $renglones= json_decode($_POST['envio_detalle'], true);
                $sql = "delete from  envios_detalle where envio_id=$id";
                @mysqli_query( $conn,$sql);
                        //guardo en log el sql realizado para el producto
                $log->insert($sql, false, false, false);
             

                $orden=0;
                 foreach($renglones as $cr){
                     //primero meto los renglones de los productos 
                    $orden++;

                        
                        $sql  ="INSERT INTO `envios_detalle`";
                        $sql  .="(`envio_id`, `contrato_id`, `observacion`, ";
                        $sql  .="`fecha_envio_programada`, `fecha_envio_real`, `orden`,usuario_id) VALUES ";
                        $sql  .="($id,$cr[contrato_id],'$cr[observacion]',";
                        $sql  .="'$cr[fecha_programado]',NULL,$orden,$usuario_id)"; 
					    @mysqli_query( $conn,$sql);
                        //guardo en log el sql realizado para el producto
                        $log->insert($sql, false, false, false);

				

                }


            } //fin de area de manejo de renglones

    }// fin alta 
    
    
    if (isset($_POST['id']) && trim($_POST['id'])==='ALTA') {
                    //En el alta controlo que se haya insertado algun registro
                    mysqli_query( $conn,"COMMIT");
                    $result["actualizados"]=$actualizados;
                    if ($actualizados>0) {
                    $result["estado"]=true;
                    $result["msg"] = "envio actualizado. ";
                    } else
                    {
                    $result["estado"]=false;
                    $result["msg"] = "No se realizo Ninguna actualizacion en la base de datos.";
                        
                    }
    } else {
                    mysqli_query( $conn,"COMMIT");
                    $result["actualizados"]=$actualizados;
                    if ($actualizados>0) {
                    $result["estado"]=true;
                    $result["msg"] = "Envio actualizado. ";
                    } else
                    {
                    $result["estado"]=true;
                    $result["msg"] = "No se realizo Ninguna actualizacion los datos del cuerpo del Envio";
                        
                    } 
    }
    
    echo json_encode($result);
	
} catch(exception $error) {
    
mysqli_query( $conn,"ROLLBACK");
$result["msg"] = "Errores grabando en la base de datos: ".$error->getMessage();
$result["estado"]=false;

echo json_encode($result);
	
}
    
  
?>