61 lines
2.4 KiB
PHP
61 lines
2.4 KiB
PHP
<?php
|
|
require_once 'db/config.php';
|
|
session_start();
|
|
|
|
if (!isset($_SESSION['user_id'])) {
|
|
header('Location: login.php');
|
|
exit();
|
|
}
|
|
|
|
$db = db();
|
|
$action = $_POST['action'] ?? '';
|
|
$userId = $_SESSION['user_id'];
|
|
|
|
if ($action === 'create') {
|
|
$product_id = !empty($_POST['product_id']) ? (int)$_POST['product_id'] : null;
|
|
$nombre_producto = $_POST['nombre_producto'] ?? '';
|
|
$cantidad_esperada = (int)($_POST['cantidad_esperada'] ?? 0);
|
|
$observaciones = $_POST['observaciones'] ?? '';
|
|
|
|
if ((!empty($nombre_producto) || !empty($product_id)) && $cantidad_esperada > 0) {
|
|
// If product_id is provided, get the name from the products table if nombre_producto is empty
|
|
if ($product_id && empty($nombre_producto)) {
|
|
$stmt = $db->prepare("SELECT nombre FROM products WHERE id = ?");
|
|
$stmt->execute([$product_id]);
|
|
$product = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
if ($product) {
|
|
$nombre_producto = $product['nombre'];
|
|
}
|
|
}
|
|
|
|
$stmt = $db->prepare("INSERT INTO ingreso_borrador (product_id, nombre_producto, cantidad_esperada, usuario_registro_id, observaciones) VALUES (?, ?, ?, ?, ?)");
|
|
$stmt->execute([$product_id, $nombre_producto, $cantidad_esperada, $userId, $observaciones]);
|
|
}
|
|
} elseif ($action === 'verify') {
|
|
$id = (int)($_POST['id'] ?? 0);
|
|
$cantidad_recibida = (int)($_POST['cantidad_recibida'] ?? 0);
|
|
$observaciones = $_POST['observaciones'] ?? '';
|
|
|
|
// Fetch expected quantity to determine status
|
|
$stmt = $db->prepare("SELECT cantidad_esperada FROM ingreso_borrador WHERE id = ?");
|
|
$stmt->execute([$id]);
|
|
$ingreso = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if ($ingreso) {
|
|
$estado = ($cantidad_recibida == $ingreso['cantidad_esperada']) ? 'Conforme' : 'Discrepancia';
|
|
|
|
$stmt = $db->prepare("UPDATE ingreso_borrador SET
|
|
cantidad_recibida = ?,
|
|
estado = ?,
|
|
usuario_verifico_id = ?,
|
|
observaciones = CONCAT(IFNULL(observaciones, ''), '\nVerificación: ', ?),
|
|
fecha_verificacion = NOW()
|
|
WHERE id = ?");
|
|
$stmt->execute([$cantidad_recibida, $estado, $userId, $observaciones, $id]);
|
|
}
|
|
}
|
|
|
|
header('Location: ingreso_mercaderia.php');
|
|
exit();
|
|
|