🌹🏠🌹？》《》？《》？<?php
include "../include/inicio.php";

set_time_limit(0);

$sql = "set transaction isolation level  read uncommitted";
$db->ejecutar($sql);

//vacio la tabla "temporal" rem_cab_tmp
$sql = "TRUNCATE TABLE rem_cab_tmp";
$db->ejecutar($sql);

$sqlDatos = 
"SELECT rem_cab.empresa a_empresa, 
                    empresa.denominacion a_denominacion, 
                    rem_cab.tdoc a_tdoc, 
                    rem_cab.letra letra,
                    rem_cab.sucur a_sucur, 
                    rem_cab.numero a_numero, 
                    rem_cab.nro_factura a_nro_factura,
                    rem_cab.interior a_destino,
                    rem_cab.espera a_espera, 
                    rem_cab.espera_logistica a_espera_logistica,
                    rem_cab.fecha_difer a_fecha_difer_mostrar,
                    rem_cab.contado a_contado,
                    CASE rem_cab.estado  
                    WHEN '1' THEN '<img title=\"SIN STOCK\" src=\"/gargano_dps/imagenes/nav_plain_red.png\">'
                    WHEN '2' THEN '<img title=\"INGRESADO\" src=\"/gargano_dps/imagenes/planif.png\">'
                    WHEN '3' THEN '<img title=\"CON STOCK\" src=\"/gargano_dps/imagenes/nav_plain_green.png\">'
                    WHEN '6' THEN '<img title=\"TRANSITO\" src=\"/gargano_dps/imagenes/lorry.png\">'
                    WHEN '7' THEN '<img title=\"RETIRO\" src=\"/gargano_dps/imagenes/siguiente.png\">'
                    WHEN '8' THEN '<img title=\"RUTEADO\" src=\"/gargano_dps/imagenes/camino.png\">'
                    WHEN '10' THEN '<img title=\"ENTREGA PARCIAL\" src=\"/gargano_dps/imagenes/auditoria.png\">'
                    WHEN '11' THEN '<img title=\"ENTREGADO\" src=\"/gargano_dps/imagenes/sn.png\">'
                    WHEN '12' THEN '<img title=\"RECHAZADO\" src=\"/gargano_dps/imagenes/cerrar.png\">'
                    WHEN '98' THEN '<img title=\"ANULACION SOLICITADA\" src=\"/gargano_dps/imagenes/user_delete.png\">'
                    WHEN '99' THEN '<img title=\"ANULADO\" src=\"/gargano_dps/imagenes/cancelar_turno.png\">' END a_color,
                    estados.descri a_desc_estado, 
                    rem_cab.estado a_estado,
                    rem_cab.bultos a_bultos, 
                    rem_cab.unidades a_unidades, 
                    rem_cab.volumen a_volumen,  
                    clientes_emp.raz_soc a_raz_soc,
                    clientes_emp.direccion a_direccion,
                    provincia.denominacion a_provincia,
                    localidad.denominacion a_localidad,
                    rem_cab.hoja_ruta a_hoja_ruta,
                    rem_cab.fecha_doc a_fecha_doc,
                    rem_cab.fecha_ing a_fecha_ing,
                    rem_cab.fecha_disp a_fecha_disp,
                    rem_cab.fecha_difer a_fecha_difer,
                    rem_cab.fecha_pedido_turno a_fecha_pedido_turno,
                    DATEDIFF(day,getdate(),fecha_pedido_turno) a_dias_espera 
   FROM rem_cab 
   JOIN empresa on (rem_cab.empresa = empresa.empresa)
   JOIN clientes_emp on ( rem_cab.empresa = clientes_emp.empresa 
                                      and rem_cab.codigo_cliente = clientes_emp.codigo)
   JOIN localidad on ( clientes_emp.pais = localidad.pais and
                       clientes_emp.provincia = localidad.provincia and
                       clientes_emp.localidad = localidad.localidad  )
   JOIN provincia on ( clientes_emp.pais = provincia.pais and       
                        clientes_emp.provincia = provincia.provincia)
   JOIN estados on (estados.estado = rem_cab.estado)
   LEFT JOIN rem_cab_log ON (rem_cab.empresa = rem_cab_log.empresa AND 
                             rem_cab.tdoc = rem_cab_log.tdoc AND 
                             rem_cab.letra = rem_cab_log.letra AND 
                             rem_cab.sucur = rem_cab_log.sucur AND 
                             rem_cab.numero = rem_cab_log.numero) 
    LEFT JOIN rem_obser ON (rem_cab.empresa = rem_obser.empresa AND 
                            rem_cab.tdoc = rem_obser.tdoc AND 
                            rem_cab.letra = rem_obser.letra AND 
                            rem_cab.sucur = rem_obser.sucur AND 
                            rem_cab.numero = rem_obser.numero)
WHERE rem_cab.empresa        = '$_SESSION[empresa_login]'
  AND rem_cab.turno          = 'S'
  AND rem_cab.fecha_turno    IS NULL
  AND rem_cab.fecha_pedido_turno IS NOT NULL
  AND rem_cab.estado         = '3'
GROUP BY rem_cab.empresa, empresa.denominacion, rem_cab.tdoc,rem_cab.sucur, 
         rem_cab.numero,  rem_cab.nro_factura, rem_cab.interior,
         rem_cab.espera, rem_cab.espera_logistica, rem_cab.fecha_difer,
         rem_cab.contado, rem_cab.letra, rem_cab.estado, estados.descri, 
         rem_cab.estado, rem_cab.bultos, rem_cab.unidades, rem_cab.volumen,  
         clientes_emp.raz_soc,clientes_emp.direccion, provincia.denominacion,
         localidad.denominacion, rem_cab.hoja_ruta,
         rem_cab.fecha_doc, rem_cab.fecha_ing,rem_cab.fecha_disp,
         rem_cab.fecha_difer, rem_cab.fecha_pedido_turno
           ORDER BY rem_cab.fecha_pedido_turno";
$remitos = $db->resultado($sqlDatos);

//echo "<pre> ".$sqlDatos;
//die();
//recorro los remitos para calcular los dias de espera (Sabados, Domingos y Feriados no se cuentan)
foreach($remitos as $remito){
  $denominacion_empre = $remito['a_denominacion']; 
  $tdoc = $remito['a_tdoc']; 
  $letra = $remito['letra'];
  $sucur = $remito['a_sucur']; 
  $numero = $remito['a_numero']; 
  $nro_factura = $remito['a_nro_factura'];
  $interior = $remito['a_destino'];
  $espera = $remito['a_espera']; 
  $espera_logistica = $remito['a_espera_logistica'];
  $contado = $remito['a_contado'];
  $descri = $remito['a_desc_estado']; 
  $estado = $remito['a_estado'];
  $bultos = $remito['a_bultos']; 
  $unidades = $remito['a_unidades']; 
  $volumen = str_replace(".", ",", $remito['a_volumen']);  
  $raz_soc = $remito['a_raz_soc'];
  $direccion = $remito['a_direccion'];
  $denominacion_prov = $remito['a_provincia'];
  $denominacion_loc = $remito['a_localidad'];
  $hoja_ruta = $remito['a_hoja_ruta'];
  $fecha_doc = date("d/m/y", strtotime($remito['a_fecha_doc']));
  $fecha_ing = date("d/m/y", strtotime($remito['a_fecha_ing']));
  if($remito['a_fecha_disp'] != ''){
    $fecha_disp = date("d/m/y", strtotime($remito['a_fecha_disp']));
  }else{
    $fecha_disp = $remito['a_fecha_disp'];
  }
    
  if($remito['a_fecha_difer'] != ''){
    $fecha_difer = date("d/m/y", strtotime($remito['a_fecha_difer']));
  }else{
    $fecha_difer = $remito['a_fecha_difer'];
  }

  $fecha_pedido_turno = $remito['a_fecha_pedido_turno'];
  $dias_espera = $remito['a_dias_espera'];

  $dias_restar = 0;

  for($fecha = $fecha_pedido_turno; $fecha <= date("Y-m-d"); $fecha = manana($fecha)){
    $semana = diaSemana($fecha);
    //si es sabado o domingo lo resto
    if($semana == 6 or $semana == 0){
      $dias_restar++;
    }else{
      //si es feriado tambien
      $fecha_forma = date("d/m/y", strtotime($fecha));
      $sql = "SELECT 1 AS feriado
                FROM feriados
               WHERE fecha = '$fecha_forma'";
      $feriado = $db->campos($sql, 'feriado');
      
      if($feriado)$dias_restar++;
    }
  }
  $dias_espera = $dias_espera - $dias_restar;

  $fecha_pedido_turno = date("d/m/y", strtotime($fecha_pedido_turno));

  //inserto en la nueva tabla
  //$volumen = str_replace(".", ",", $volumen);
  
  $sql = "INSERT INTO rem_cab_tmp VALUES ('$denominacion_empre', 
          '$tdoc', '$letra', '$sucur', '$numero', '$nro_factura', '$interior',
          '$espera', '$espera_logistica', '$contado', '$descri', '$estado',
          '$bultos', '$unidades', '$volumen', '$raz_soc', '$direccion',
          '$denominacion_prov', '$denominacion_loc', '$hoja_ruta', '$fecha_doc',
          '$fecha_ing', '$fecha_disp', '$fecha_difer', '$fecha_pedido_turno',
          '$dias_espera')";
  $db->ejecutar($sql);
}

$sqlDatos = "SELECT rem_cab_tmp.denominacion_empresa a_denominacion, 
                    rem_cab_tmp.tdoc a_tdoc, 
                    rem_cab_tmp.letra letra,
                    rem_cab_tmp.sucur a_sucur, 
                    rem_cab_tmp.numero a_numero, 
                    rem_cab_tmp.nro_factura a_nro_factura,
                    rem_cab_tmp.interior a_destino,
                    rem_cab_tmp.espera a_espera, 
                    rem_cab_tmp.espera_logistica a_espera_logistica,
                    rem_cab_tmp.fecha_difer a_fecha_difer_mostrar,
                    rem_cab_tmp.contado a_contado,
                    CASE rem_cab_tmp.estado  WHEN '1' THEN '<img title=\"SIN STOCK\" src=\"/gargano_dps/imagenes/nav_plain_red.png\">'
                                         WHEN '2' THEN '<img title=\"INGRESADO\" src=\"/gargano_dps/imagenes/planif.png\">'
                                         WHEN '3' THEN '<img title=\"CON STOCK\" src=\"/gargano_dps/imagenes/nav_plain_green.png\">'
                                         WHEN '6' THEN '<img title=\"TRANSITO\" src=\"/gargano_dps/imagenes/lorry.png\">'
                                         WHEN '7' THEN '<img title=\"RETIRO\" src=\"/gargano_dps/imagenes/siguiente.png\">'
                                         WHEN '8' THEN '<img title=\"RUTEADO\" src=\"/gargano_dps/imagenes/camino.png\">'
                                         WHEN '10' THEN '<img title=\"ENTREGA PARCIAL\" src=\"/gargano_dps/imagenes/auditoria.png\">'
                                         WHEN '11' THEN '<img title=\"ENTREGADO\" src=\"/gargano_dps/imagenes/sn.png\">'
                                         WHEN '12' THEN '<img title=\"RECHAZADO\" src=\"/gargano_dps/imagenes/cerrar.png\">'
                                         WHEN '98' THEN '<img title=\"ANULACION SOLICITADA\" src=\"/gargano_dps/imagenes/user_delete.png\">'
                                         WHEN '99' THEN '<img title=\"ANULADO\" src=\"/gargano_dps/imagenes/cancelar_turno.png\">' END a_color,
                    rem_cab_tmp.descri_estado a_desc_estado, 
                    rem_cab_tmp.estado a_estado,
                    rem_cab_tmp.bultos a_bultos, 
                    rem_cab_tmp.unidades a_unidades, 
                    rem_cab_tmp.volumen a_volumen,  
                    rem_cab_tmp.raz_soc a_raz_soc,
                    rem_cab_tmp.direccion a_direccion,
                    rem_cab_tmp.denominacion_provincia a_provincia,
                    rem_cab_tmp.denominacion_localidad a_localidad,
                    rem_cab_tmp.hoja_ruta a_hoja_ruta,
                    rem_cab_tmp.fecha_doc a_fecha_doc,
                    rem_cab_tmp.fecha_ing a_fecha_ing,
                    rem_cab_tmp.fecha_disp a_fecha_disp,
                    rem_cab_tmp.fecha_difer a_fecha_difer,
                    rem_cab_tmp.fecha_pedido_turno a_fecha_pedido_turno,
                    rem_cab_tmp.dias_espera a_dias_espera
               FROM rem_cab_tmp 
              WHERE 1 = 1
           ORDER BY rem_cab_tmp.fecha_pedido_turno";

//busco la descripcion de la empresa
$sql = "SELECT denominacion
          FROM empresa
         WHERE empresa = '$_SESSION[empresa_login]'";
$empresa = $db->campos($sql, 'denominacion');

$texto_titulo = '<span style="color:white;">Remitos pendientes de Turnos '.$empresa.'</span>';

$abm = new abm( 'remitosSolicitud', $texto_titulo);
$abm->iconos('confirmar', "ORBISremitoSinTurnoConfirmar.php?sinMenu=1", "Confirmar fecha de turno");

$abm->sql = $sqlDatos;
$cols = "nf!no!Accion:70, 
         nf!no!@Empresa:2, 
         nf!@T. Doc.:50,
         nf!L:30,
         nf!Sucur.@:50,
         Numero@:100,
         Factura@:100,
         nf!Destino:60,
         no!nf!Espera C:2,
         nf!Espera L:60,
         nf!fecha difer observ:2,
         no!nf!Contado:2, 
         nf!no!:30,
         @Estado:100,
         nf!no!codigo estado:2,
         nf!Bultos@:60,
         nf!Uni.@:50,
         nf!Vol.@:50,
         @Cliente:200,
         @Direccion:200,
         @Provincia:150,
         @Localidad:150,
         nf!no!Hoja de Ruta@:2,
         Fecha Doc.#Fecha Documento impreso:100:date,
         Fecha Ing.#Fecha Ingreso a sistema GL:100:date,
         Fecha Disp.#Fecha de reserva de stock:100:date,
         Fecha Dife.#Fecha de diferimiento de entrega:100:date,
         Fecha S.T.#Fecha de solicitud de turno:100:date,
         Dias Espera@#Dias transcurridos desde la solicitud de turno:100";
$abm->cols = $cols;

$abm->divHeight = "500";

$smarty->assign( "tplBotones", $botones );
$smarty->assign( 'abm', $abm->mostrar() );
$smarty->mostrar( 'abmSinTurno.tpl' );
?>
