Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
INVENTAPP
:
RegistrosAudi.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php session_start(); header("Cache-control: private"); // Arregla IE 6 //*******Datos de Conexion Base de Datos************ include("conexion.php"); $FECHA = date("Y-m-d"); $USUARIO=$_SESSION['nomUser']; $USUARIOA=$USUARIO."A"; //$USUARIOA="TAB02"; $UBICACION=$_SESSION['ubicacion']; $DCTO=$_SESSION['dcto']; $TKILOS = 0; $TUNI = 0; $TCANASTAS = 0; $TBULTOS = 0; $TCAJAS = 0; $TBASES = 0; $N = 0; $D1 = ""; $D2 = ""; $D3 = ""; //***A TODAS LAS UBICACIONES //AAA => Consulta todas las ubicaciones todos los codigos y todos los planilladores //ABA => Consulta todas las ubicaciones según el producto //AAB => Consulta todas las ubicaciones todos los productos segun digitador //BAA => Consulta todas una ubicacion especial con todos los codigos y planilladores // Consulta SQL $sql = "SELECT SUM(CANTIDAD) AS CANTIDAD, SUM(CANTEMPAQ) AS UNIDADES, SUM(CNASTAPLL) AS CANASTAS, SUM(CAJAS) AS CAJAS, SUM(BULTOS) AS BULTOS, SUM(BASES) AS BASES FROM mvdcto WHERE USUARIO='$USUARIO' AND TPDCTO='$DCTO' AND CODUBI='$UBICACION' AND ESTADO<>'PESO ELIMINADO'"; $result = mysqli_query($conexion, $sql); if ($result) { $row = mysqli_fetch_assoc($result); $cantidad = $row['CANTIDAD'] ?? 0; $unidades = $row['UNIDADES'] ?? 0; $canastas = $row['CANASTAS'] ?? 0; $cajas = $row['CAJAS'] ?? 0; $bultos = $row['BULTOS'] ?? 0; $bases = $row['BASES'] ?? 0; } else { echo "Error en la consulta: " . mysqli_error($conexion); } // Consulta SQL $sql1 = "SELECT SUM(CANTIDAD) AS CANTIDAD, SUM(CANTEMPAQ) AS UNIDADES, SUM(CNASTAPLL) AS CANASTAS, SUM(CAJAS) AS CAJAS, SUM(BULTOS) AS BULTOS, SUM(BASES) AS BASES FROM mvdcto WHERE USUARIO='$USUARIOA' AND TPDCTO='$DCTO' AND CODUBI='$UBICACION' AND ESTADO<>'PESO ELIMINADO'"; $result1 = mysqli_query($conexion, $sql1); if ($result1) { $row1 = mysqli_fetch_assoc($result1); $cantidad1 = $row1['CANTIDAD'] ?? 0; $unidades1 = $row1['UNIDADES'] ?? 0; $canastas1 = $row1['CANASTAS'] ?? 0; $cajas1 = $row1['CAJAS'] ?? 0; $bultos1 = $row1['BULTOS'] ?? 0; $bases1 = $row1['BASES'] ?? 0; } else { $cantidad1 = 0; $unidades1 = 0; $canastas1 = 0; $cajas1 = 0; $bultos1 = 0; $bases1 = 0; } // Validaciones de acta // Validaciones de acta // Validaciones de acta $ACANTIDAD = ($cantidad1 == $cantidad) ? "OK" : "ERROR"; $AUNIDADES = ($unidades1 == $unidades) ? "OK" : "ERROR"; $ACANASTAS = ($canastas1 == $canastas) ? "OK" : "ERROR"; $ACAJAS = ($cajas1 == $cajas) ? "OK" : "ERROR"; $ABULTOS = ($bultos1 == $bultos) ? "OK" : "ERROR"; $ABASES = ($bases1 == $bases) ? "OK" : "ERROR"; $_SESSION['ESTADO']=$ACANTIDAD.$AUNIDADES.$ACANASTAS.$ACAJAS.$ABASES; ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Acta de Registros Inventarios</title> <link rel="icon" type="image/png" href="img/icon.png"> <style> /* General */ body { font-family: Arial, sans-serif; background-color: #cacacaff; margin: 0; padding: 20px; color: #333; } .container { max-width: 900px; margin: auto; background: #ffe7bbff; padding: 25px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } /* Logo */ .logo { text-align: center; margin-bottom: 20px; } /* Formularios */ form p { margin: 12px 0; } label { font-weight: bold; margin-right: 8px; } .textbox { padding: 8px; border-radius: 6px; border: 1px solid #ccc; width: 250px; transition: border-color 0.2s; } .textbox:focus { border-color: #21bd35ff; outline: none; } /* Tablas */ table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; text-align: center; } th { background-color: #3ab116ff; color: #fff; padding: 10px; text-transform: uppercase; } td { padding: 8px; border: 1px solid #ddd; } tr:nth-child(even) { background-color: #f9f9f9; } tr:hover { background-color: #f1f1f1; } /* Firmas */ canvas { border: 2px dashed #46c71fff; border-radius: 8px; margin: 10px 0; display: block; background-color: #ffffffa6; } button { background-color: #007bff; color: white; border: none; padding: 10px 16px; margin-top: 10px; border-radius: 6px; cursor: pointer; transition: background 0.2s; } button:hover { background-color: #15c00fff; } </style> </head> <body> <div class="container"> <div class="logo"> <img src="logo.png" alt="avicampo Logo" width="200"> </div> <form method="post" action="process_form.php"> <center> <p><strong>Acta de Control de Registros Inventario General AVICAMPO PEREIRA</strong></p> <p>Fecha: <?php echo $FECHA; ?></p> <p>Consecutivo: <?php echo $DCTO; ?></p> <div class="vertical-fields"> <p><label for="nombre_planillador">Nombre Planillador:</label> <input type="text" class="textbox" name="nombre_planillador" id="nombre_planillador" required> </p> <p><label for="nombre_auditor">Nombre Auditor:</label> <input type="text" class="textbox" name="nombre_auditor" id="nombre_auditor" required> </p> <p><label for="nombre_pesador">Nombre Pesador:</label> <input type="text" class="textbox" name="nombre_pesador" id="nombre_pesador" required> </p> </div> <table style="margin-bottom:30px"> <tr class="header"> <th width="50%">Ubicación</th> <th width="28%">Usuario</th> <th width="22%">Usuario Audita</th> </tr> <tr> <td><?php echo $UBICACION; ?></td> <td><?php echo $USUARIO; ?></td> <td><?php echo $USUARIOA; ?></td> </tr> </table> <p><strong>Totales Registrador por el usuario Planillador</strong></p> <div style="overflow-x:auto; margin-bottom:50px"> <table style="width:100%; border-collapse: collapse;"> <tr class="data"> <th>Reg</th> <th>Descripción Ubicación</th> <th>Kilos</th> <th>Unidades</th> <th>Canastas</th> <th>Cajas</th> <th>Bultos</th> <th>Bases</th> </tr> <tr class="totals"> <td>1</td> <td align="right"> <?PHP echo $UBICACION;?> </td> <td align="right"> <?PHP echo number_format($cantidad,2);?> </td> <td align="right"> <?PHP echo number_format($unidades,2);?> </td> <td align="right"> <?PHP echo number_format($canastas,2);?> </td> <td align="right"> <?PHP echo $cajas;?> </td> <td align="right"> <?PHP echo number_format($bultos,2);?> </td> <td align="right"> <?PHP echo number_format($bases,2);?> </td> </tr> </table> </div> <legend style="border: solid 1px"> </legend> <p><strong>Totales Registrados por el usuario Auditor</strong></p> <div style="overflow-x:auto; margin-bottom:50px"> <table style="width:100%; border-collapse: collapse;"> <tr class="data"> <th>Reg</th> <th>Descripción Ubicación</th> <th>Kilos</th> <th>Unidades</th> <th>Canastas</th> <th>Cajas</th> <th>Bultos</th> <th>Bases</th> </tr> <?php // Aquí iría la lógica para llenar la tabla con los datos de la base de datos ?> <tr class="totals"> <td>1</td> <td align="right"> <?PHP echo $UBICACION;?> </td> <td align="right"> <?PHP echo number_format($cantidad1,2);?> </td> <td align="right"> <?PHP echo number_format($unidades1,2);?> </td> <td align="right"> <?PHP echo number_format($canastas1,2);?> </td> <td align="right"> <?PHP echo $cajas1;?> </td> <td align="right"> <?PHP echo number_format($bultos1,2);?> </td> <td align="right"> <?PHP echo number_format($bases1,2);?> </td> </tr> </table> </div> <legend style="border: solid 1px"></legend> <p><strong>Resultado de la Auditoria</strong></p> <div style="overflow-x:auto;"> <table style="width:100%; border-collapse: collapse;"> <tr class="data"> <th>Reg</th> <th>Descripción Ubicación</th> <th>Kilos</th> <th>Unidades</th> <th>Canastas</th> <th>Cajas</th> <th>Bultos</th> <th>Bases</th> </tr> <?php // Aquí iría la lógica para llenar la tabla con los datos de la base de datos ?> <tr class="totals"> <td>1</td> <td align="right"> <?PHP echo $UBICACION;?> </td> <td align="right"> <?PHP echo $ACANTIDAD;?> </td> <td align="right"> <?PHP echo $AUNIDADES;?> </td> <td align="right"> <?PHP echo $ACANASTAS;?> </td> <td align="right"> <?PHP echo $ACAJAS;?> </td> <td align="right"> <?PHP echo $ABULTOS;?> </td> <td align="right"> <?PHP echo $ABASES;?> </td> </tr> </table> </div> <p> </p> <p><strong>Firma Planillador:</strong></p> <canvas id="signatureCanvasPlanillador" width="500" height="200"></canvas> <button type="button" onclick="clearCanvas('signatureCanvasPlanillador')" style="margin-bottom:30px">Limpiar</button> <input type="hidden" name="signaturePlanillador" id="signaturePlanillador"> <p><strong>Firma Auditor:</strong></p> <canvas id="signatureCanvasAuditor" width="500" height="200"></canvas> <button type="button" onclick="clearCanvas('signatureCanvasAuditor')" style="margin-bottom:30px">Limpiar</button> <input type="hidden" name="signatureAuditor" id="signatureAuditor"> <p><strong>Firma Pesador:</strong></p> <canvas id="signatureCanvasPesador" width="500" height="200"></canvas> <button type="button" onclick="clearCanvas('signatureCanvasPesador')">Limpiar</button> <input type="hidden" name="signaturePesador" id="signaturePesador"> <button type="submit">Continuar</button> </center> </form> </div> <script src="https://cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js"></script> <script> function initializeSignaturePad(canvasId, hiddenInputId) { var canvas = document.getElementById(canvasId); var signaturePad = new SignaturePad(canvas, { backgroundColor: 'rgba(255, 255, 255, 0)', penColor: 'black' }); function resizeCanvas() { var ratio = Math.max(window.devicePixelRatio || 1, 1); canvas.width = canvas.offsetWidth * ratio; canvas.height = canvas.offsetHeight * ratio; canvas.getContext('2d').scale(ratio, ratio); signaturePad.clear(); // otherwise isEmpty() might return incorrect value } window.addEventListener('resize', resizeCanvas); resizeCanvas(); canvas.addEventListener('mouseup', function() { document.getElementById(hiddenInputId).value = signaturePad.toDataURL(); }); } function clearCanvas(canvasId) { var canvas = document.getElementById(canvasId); var signaturePad = new SignaturePad(canvas); signaturePad.clear(); document.getElementById(canvasId.replace('Canvas', '')).value = ''; } initializeSignaturePad('signatureCanvasPlanillador', 'signaturePlanillador'); initializeSignaturePad('signatureCanvasAuditor', 'signatureAuditor'); initializeSignaturePad('signatureCanvasPesador', 'signaturePesador'); // Validar firmas obligatorias antes de enviar document.getElementById("miFormulario").addEventListener("submit", function(e) { let firmas = [{ canvasId: "signatureCanvasPlanillador", inputId: "signaturePlanillador" }, { canvasId: "signatureCanvasAuditor", inputId: "signatureAuditor" }, { canvasId: "signatureCanvasPesador", inputId: "signaturePesador" } ]; let valido = true; let mensaje = []; firmas.forEach(firma => { let canvas = document.getElementById(firma.canvasId); let signaturePad = new SignaturePad(canvas); if (signaturePad.isEmpty()) { valido = false; mensaje.push(firma.inputId.replace("signature", "Firma de ")); } }); if (!valido) { e.preventDefault(); alert("⚠️ Debes completar todas las firmas antes de guardar.\nFaltan: " + mensaje.join(", ")); } }); </script> </body> </html>