File "FOR-E-CCI-13.php"

Full Path: C:/wamp64/www/CALIDADWEB/CALIDADWEB/BACKEND/controller/FOR-E-CCI-13.php
File size: 4.42 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// 1. session_start debe ser lo primero absoluto
if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); }

require_once "../conexiones/BD.php";

// Habilitar errores de PDO para debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
$bdc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

if (isset($_POST["contraMuestraform"])) {

    // CAPTURA DE ID (Tal cual la tenĂ­as)
    $idRegistro = $_POST["idRegistro"] ?? null; 
    
    // Capturar campos (con ?? '' para evitar los "Warnings" de Undefined Key)
    $productocontraMuestra = $_POST["productocontraMuestra"] ?? '';
    $lotecontraMuestra = $_POST["lotecontraMuestra"] ?? '';
    $horacontraMuestra = $_POST["horacontraMuestra"] ?? '';
    $produccioncontraMuestra = $_POST["produccioncontraMuestra"] ?? '';
    $vencimientocontraMuestra = $_POST["vencimientocontraMuestra"] ?? '';
    $pesocontraMuestra = $_POST["pesocontraMuestra"] ?? '';
    $colorcontraMuestra = $_POST["colorcontraMuestra"] ?? '';
    $olorcontraMuestra = $_POST["olorcontraMuestra"] ?? '';
    $empaquecontraMuestra = $_POST["empaquecontraMuestra"] ?? '';
    $aparienciacontraMuestra = $_POST["aparienciacontraMuestra"] ?? '';
    $temperacontraMuestra = $_POST["temperacontraMuestra"] ?? '';
    $diascontraMuestra = $_POST["diascontraMuestra"] ?? '';
    $finalcontraMuestra = $_POST["finalcontraMuestra"] ?? '';
    $accionescontraMuestra = $_POST["accionescontraMuestra"] ?? '';
    $verificadocontraMuestra = $_POST["verificadocontraMuestra"] ?? '';
    $aprobocontraMuestra = $_POST["aprobocontraMuestra"] ?? '';

    try {
        if ($idRegistro) {
            // --- MANTENEMOS TU UPDATE ---
            $sql = "UPDATE `for_e_cci_13_control_contramuestra` SET
                        hora = ?, producto = ?, lote = ?, fecha_produ = ?, fecha_venci = ?, peso_inicial = ?,
                        color = ?, olor = ?, empaque = ?, apariencia = ?, temperatura = ?, dias_almace = ?,
                        peso_final = ?, acciones_correcti = ?, veri_por = ?, aprobado = ?
                    WHERE id = ?";
            $stmt = $bdc->prepare($sql);
            $stmt->execute([
                $horacontraMuestra, $productocontraMuestra, $lotecontraMuestra, $produccioncontraMuestra,
                $vencimientocontraMuestra, $pesocontraMuestra, $colorcontraMuestra, $olorcontraMuestra,
                $empaquecontraMuestra, $aparienciacontraMuestra, $temperacontraMuestra, $diascontraMuestra,
                $finalcontraMuestra, $accionescontraMuestra, $verificadocontraMuestra, $aprobocontraMuestra,
                $idRegistro
            ]);

            $_SESSION["mensaje"] = "Registro actualizado correctamente.";
            $_SESSION["tipo"] = "success";
            $_SESSION["icon"] = "check-circle-fill";

        } else {
            // --- MANTENEMOS TU INSERT ---
            $sql = "INSERT INTO `for_e_cci_13_control_contramuestra`
                    (`fecha`, `hora`, `producto`, `lote`, `fecha_produ`, `fecha_venci`, `peso_inicial`,
                     `color`, `olor`, `empaque`, `apariencia`, `temperatura`, `dias_almace`,
                     `peso_final`, `acciones_correcti`, `veri_por`, `aprobado`)
                    VALUES (CURRENT_DATE(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            $stmt = $bdc->prepare($sql);
            $stmt->execute([
                $horacontraMuestra, $productocontraMuestra, $lotecontraMuestra, $produccioncontraMuestra,
                $vencimientocontraMuestra, $pesocontraMuestra, $colorcontraMuestra, $olorcontraMuestra,
                $empaquecontraMuestra, $aparienciacontraMuestra, $temperacontraMuestra, $diascontraMuestra,
                $finalcontraMuestra, $accionescontraMuestra, $verificadocontraMuestra, $aprobocontraMuestra
            ]);

            $idRegistro = $bdc->lastInsertId();
            $_SESSION["mensaje"] = "Registro creado correctamente con ID: " . $idRegistro;
            $_SESSION["tipo"] = "success";
            $_SESSION["icon"] = "check-circle-fill";
        }

    } catch (PDOException $e) {
        $_SESSION["mensaje"] = "Error: " . $e->getMessage();
        $_SESSION["tipo"] = "danger";
        $_SESSION["icon"] = "exclamation-triangle-fill";
    }

    // ELIMINAMOS EL ECHO JSON PARA QUE EL HEADER FUNCIONE
    // Si quieres redirigir, no puedes hacer echo antes.
    header('Location: ../../FRONTED/HTML/FOR-E-CCI-13.php');
    exit;
}
?>