<?php 
$r="../";
require_once($r."inc/funciones.php");
$titlepage = 'Remision';
validNotSession($r);
$mysqli = connectDB($r);
$code = $_GET['code'];
$infocotizacion = sinfo('z_cotizacion',$code);
if(!$infocotizacion['estado']){ exit(header('location: listar_proformas.php')); }
?>
<!DOCTYPE html>
<html lang="es">
  <?php include $r."inc/head.php"; ?>
<body class="fixed-nav sidenav-toggled sticky-footer bg-dark" id="page-top">
  <div class="content-wrapper">
    <div class="container-fluid">
      <?php include $r."inc/nav.php"; ?>
        
        <style>
        .swal-ancha{
            width:900px !important;
            margin:-450px;
        }
        </style>
        <div class="row">
            <? if($infocotizacion['idcliente']){ 
                $infoclient = sinfo('z_clientes',$infocotizacion['idcliente']); ?>
                <div class="form-group row">
                <label for="Empresa" class="col-sm-2 col-form-label">Empresa</label>
                <div class="col-sm-10">
                    <input type="hidden" name="idclient" value="<?= $infoclient['id']; ?>" form="remision">
                  <input type="text" readonly class="form-control" placeholder="Nombre Empresa" value="<?= $infoclient['nombre']; ?>">
                </div>
              </div>
            <? }else{ ?>
            <input type="hidden" name="newclient" value="1" form="remision">
            <div id="otro" class="col-md-6 ">
              <div class="form-group row">
                <label for="Empresa" class="col-sm-2 col-form-label">Empresa</label>
                <div class="col-sm-10">
                  <input type="text" readonly name="empresa" class="form-control" placeholder="Nombre Empresa" value="<?= $infocotizacion['empresa']; ?>"  form="remision">
                </div>
              </div>
              <div class="form-group row">
                <label for="contacto" class="col-sm-2 col-form-label">Contacto</label>
                <div class="col-sm-10">
                  <input type="text" readonly name="contacto" class="form-control" id="contacto" placeholder="Nombre del Contacto" value="<?= $infocotizacion['contacto']; ?>"  form="remision">
                </div>
              </div>
              <div class="form-group row">
                <label for="celular" class="col-sm-2 col-form-label">Celular</label>
                <div class="col-sm-10">
                  <input type="text" readonly name="celular" class="form-control" id="celular" placeholder="Numero del Contacto" value="<?= $infocotizacion['telefono']; ?>"  form="remision">
                </div>
              </div>
              <div class="form-group row">
                <label for="ciudad" class="col-sm-2 col-form-label">Ciudad</label>
                <div class="col-sm-10">
                   <input type="hidden" name="iddepa" value="<?= sinfo('z_municipios',$infocotizacion['ciudad'])['departamento']; ?>" form="remision">
                   <input type="hidden" name="idmuni" value="<?= $infocotizacion['ciudad']; ?>" form="remision">
                  <input type="text" readonly class="form-control" value="<?= sinfo('z_municipios',$infocotizacion['ciudad'])['municipio']; ?>">
                  
                </div>
              </div>
              <div class="form-group row">
                <label for="ciudad" class="col-sm-2 col-form-label">Direccion</label>
                <div class="col-sm-10">
                    
                  <input type="text" name="direccion" class="form-control" id="direccion" placeholder="Direccion" value="<?= $infocotizacion['direccion']; ?>"  form="remision" required>
                  
                </div>
              </div>
              <div class="form-group row">
                <label for="correo" class="col-sm-2 col-form-label">Correo Electronico</label>
                <div class="col-sm-10">
                  <input type="email" name="correo" readonly class="form-control" value="<?= $infocotizacion['correo']; ?>" form="remision">
                </div>
              </div>
          </div>
          <? } ?>
          <div class="col-md-6">
              
            <!--<div class="form-group row">
                <label for="facturacion" class="col-sm-2 col-form-label">facturacion</label>
                <div class="col-sm-10">
                    <select  class="form-control" id="facturacion"  name="facturacion" title="Tipo de Facturacion"  form="remision" required>
                        <option value="0">Ventas de Mostrador</option>
                        <option value="1">Nombre Propio</option>
                    </select>
                </div>
            </div>-->
            <div class="form-group row">
                <label for="facturacion" class="col-sm-2 col-form-label">Régimen</label>
                <div class="col-sm-10">
                    <select  class="form-control" id="facturacion"  name="facturacion" title="Tipo de Facturacion"  form="remision" required>
                        <option value="1">Régimen Común</option>
                        <option value="2">Régimen Simplificado</option>
                    </select>
                </div>
            </div>
            <div class="form-group row">
                <label for="facturacion" class="col-sm-2 col-form-label">Tipo Cliente</label>
                <div class="col-sm-10">
                    <select  class="form-control" id="tipocliente"  name="tipocliente" title="Tipo de Cliente"  form="remision" required>
                        <option value="0">TIPO CLIENTE</option>
                        <option value="1">PERSONA NATURAL</option>
                        <option value="2">PERSONA JURIDICA</option>
                        <option value="3">OTROS</option>
                    </select>
                </div>
            </div>
              <div class="form-group row">
                <label for="pago"  class="col-sm-2 col-form-label">Pago</label>
                <div class="col-sm-10">
                    <input name="pago" readonly class="form-control" name="pago" id="pago" value="<?= sinfo('z_pagos_medios', $infocotizacion['idpago'])["medio"]; ?>">
                </div>
              </div>
              <div class="form-group">
                <label for="documentos">Documentos</label>
                <textarea name="documentos" class="form-control" id="documentos" placeholder="Documentos requeridos"><?= $infocotizacion['documentos']; ?></textarea>
              </div>
          </div>
      </div>
      <div class="table-responsive">
            <table class="table table-bordered" width="100%" cellspacing="0">
              <thead>
                <tr>
                  <th>Prodcuto</th>
                  <th>cantidad</th>
                  <th>presentacion</th>
                  <th>precio</th>
                  <th>total</th>
                </tr>
              </thead>
              <tfoot>
                <tr>
                  <th colspan="3"></th>
                  <th class="text-right">TOTAL BASE</th>
                  <th class="text-danger"><?= moneda($infocotizacion['subtotal']); ?></th>
                </tr>
                <tr>
                  <th colspan="3"></th>
                  <th class="text-right">TOTAL IVA</th>
                  <th class="text-danger"><?= moneda($infocotizacion['tiva']); ?></th>
                </tr>
                <tr>
                  <th colspan="3"></th>
                  <th class="text-right">ICA</th>
                  <th class="text-danger"><input type="hidden" name="tica" value="<?= $infocotizacion['ica']; ?>" form="remision"><?= moneda($infocotizacion['ica']); ?></th>
                </tr>
                <tr>
                  <th colspan="3"></th>
                  <th class="text-right">RETEFUENTE</th>
                  <th class="text-danger"><input type="hidden" name="trete" value="<?= $infocotizacion['subtotal']; ?>" form="remision"><input type="hidden" name="trete" value="<?= $infocotizacion['retefuente']; ?>" form="remision"><?= moneda($infocotizacion['retefuente']); ?></th>
                </tr>
                <tr>
                  <th colspan="3"></th>
                  <th class="text-right">TOTAL</th>
                  <th class="text-danger"><input type="hidden" name="ttotal" value="<?= $infocotizacion['total']; ?>" form="remision"><?= moneda($infocotizacion['total']); ?></th>
                </tr>
              </tfoot>
              <input type="hidden" name="code" value="<?= $code; ?>" form="remision">
              <tbody>
            <?php
$idspedido = array();
$productos_no_existen = array();
$inventario_insuficiente = array();

$resultado = $mysqli->query("SELECT * FROM `z_cotizacion_pedido` WHERE `idcotizacion`=$code");

while ($fila = $resultado->fetch_assoc()){

    $idproducto       = (int)$fila['idproducto'];
    $idpresentacion   = (int)$fila['idpresentacion'];
    $cantidad         = (float)$fila['cantidad'];
    $precio           = (float)$fila['precio'];

    $presentacion = sinfo('z_presentaciones_productos',$idpresentacion);
    $presentacion_nombre = $presentacion['presentacion'];
    $kilos_presentacion = (float)$presentacion['cantidad']; // kilos por unidad

    $kilos_solicitados = $cantidad * $kilos_presentacion;

    if($idproducto >= 2147483647){

        $producto_nombre = decryptIt($fila['producto']);
        $pcode = $idproducto.$fila['producto'].$idpresentacion;
        $idspedido[] = $pcode;

    }else{

        $pcode = $idproducto.$idpresentacion;
        $idspedido[] = $pcode;

        $prod = $mysqli->query("SELECT producto FROM z_productos WHERE id=$idproducto");

        if($prod->num_rows == 0){

            $productos_no_existen[] = [
                'producto' => "Producto eliminado",
                'presentacion' => $presentacion_nombre
            ];

            $producto_nombre = "Producto eliminado";

        }else{

            $rowp = $prod->fetch_assoc();
            $producto_nombre = $rowp['producto'];

        }
    }

   $inv = $mysqli->query("SELECT SUM(cantidad) AS total FROM z_inventario WHERE idproducto=$idproducto");

$existencia_kilos = 0;

if($inv && $inv->num_rows > 0){
    $rowi = $inv->fetch_assoc();
    $existencia_kilos = (float)$rowi['total'];
}

if($existencia_kilos < $kilos_solicitados){

    $inventario_insuficiente[] = [
        'producto' => $producto_nombre,
        'presentacion' => $presentacion_nombre,
        'solicitado' => $cantidad,
        'kilos_necesarios' => $kilos_solicitados,
        'kilos_disponibles' => $existencia_kilos
    ];
}
?>
<tr>
<td><?= $producto_nombre ?></td>
<td><?= $cantidad ?></td>
<td><?= $presentacion_nombre ?></td>
<td><?= moneda($precio) ?></td>
<td><? $subtotal=$cantidad*$precio; echo moneda($subtotal); ?></td>
</tr>
<?php } ?>

<?php
$errores = [
    "no_existen"=>$productos_no_existen,
    "sin_inventario"=>$inventario_insuficiente
];
?>

<style>
.swal-ancha{
    width:720px !important;
}
</style>


              <tbody>
              </table>
      <form action="acciones/procesar_remision.php" method="POST" id="remision">
        <hr/>
      <div class="form-group row">
          <label for="cliente" class="col-sm-2 col-form-label">Fecha de pago</label>
          <div class="col-sm-2">
            <input type="date" class="form-control" name="fecha"  min="<?= date("Y-m-d"); ?>" value="<?= date("Y-m-d"); ?>"  required>
          </div>
          <label for="vendedor" class="col-sm-1 col-form-label">Vendedor</label>
          <div class="col-sm-2">
           <? $sqlvendedores = $mysqli->query("SELECT * FROM z_usuarios_vendedores WHERE eliminado=0"); ?>
            <select name="vendedor" class="form-control" required>
                <option selected disabled>Seleccione vendedor..</option>
              <?  while($rowvendedores = $sqlvendedores->fetch_assoc()) {?><option value="<?= $rowvendedores['id']; ?>"><?= $rowvendedores['nombre'].' - '.$rowvendedores['alias']; ?></option><? } ?>
            </select>
          </div>
            <?php $RM = $infocotizacion['remision']; ?>

            <div class="col-sm-2">
                <div class="form-group">
                    <input type="radio" name="tipopedido" id="remision" value="R" required <?php if($RM==1){echo 'checked';} ?>>
                    <label for="remision">Tiquete</label>
                </div>
            </div>
            
            <div class="col-sm-2">
                <div class="form-group">
                    <input type="radio" name="tipopedido" id="remisionfast" value="RV" required <?php if($RM==0){echo 'checked';} ?>>
                    <label for="remisionfast">Inventario</label>
                </div>
            </div>
        
         </div>
        <div class="form-group row">
          <label for="nota" class="col-sm-2 col-form-label">Nota</label>
          <div class="col-sm-5">
            <textarea type="text" readonly class="form-control" name="nota"><?= $infocotizacion['comentarios']; ?></textarea>
          </div>
          <label for="otros" class="col-sm-2 col-form-label">Costo adicional</label>
          <div class="col-sm-3">
            <input type="number" class="form-control" readonly name="otros" value="<?= $infocotizacion['adicional']; ?>">
          </div>
        </div>
        <input type="submit" class="btn btn-primary btn-sm btn-block" value="Finalizar Pedido">
      </form>
      <?php include $r."inc/foot.php"; ?>
    </div>
  </div>
<script>

var RM = <?= (int)$RM ?>;
var code = "<?= $code ?>";
var errores = <?= json_encode($errores) ?>;

var html = "";

if(errores.no_existen.length > 0){

    html += "<b style='color:#d33'>Productos que ya no existen</b><br><ul style='text-align:left'>";

    errores.no_existen.forEach(function(p){
        html += "<li>"+p.producto+" - "+p.presentacion+"</li>";
    });

    html += "</ul><br>";
}

if(errores.sin_inventario.length > 0){

    html += "<b style='color:#e67e22'>Inventario insuficiente (calculado en kilos)</b><br><ul style='text-align:left'>";

    errores.sin_inventario.forEach(function(p){
        html += "<li>"+p.producto+" - "+p.presentacion+
        " | unidades: "+p.solicitado+
        " | kg necesarios: "+p.kilos_necesarios+
        " | kg disponibles: "+p.kilos_disponibles+"</li>";
    });

    html += "</ul>";
}

function alertaInventario(proforma){

    if(html === "") return;

    swal({
        title:"Problemas en inventario",
        text: html + "<br><br><b>Serás redirigido automáticamente.</b>",
        html:true,
        type:"warning",
        confirmButtonText:"Entendido y volver",
        allowOutsideClick:false,
        allowEscapeKey:false,
        closeOnConfirm:true
    }, function(){
        window.location.href = "listar_proformas.php?error=" + encodeURIComponent("La proforma #" + code + " no cuenta con existencia");
    });

    setTimeout(function(){
        document.querySelector(".sweet-alert").classList.add("swal-ancha");
    },10);

}

if(RM==0){

    swal({
        title:"Cotización Electrónica",
        text:"No. "+code+" descontará los productos mencionados del inventario y afectará los indicadores de gestión.",
        type:"warning",
        confirmButtonText:"Continuar"
    },function(){

        setTimeout(function(){
            alertaInventario();
        },300);

    });

}else{

    alertaInventario();

}

</script>
</body>
</html>