Current File : /var/www/pharmacius/controller/pedidos_controller.php |
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
function home() {
require_once("model/pedidos_model.php");
$modelo = new Pedidos_model();
$pedidos = $modelo->get_pedidos();
require_once("view/pedidos_view.php");
}
function insertar() {
require_once("model/pedidos_model.php");
$modelo = new Pedidos_model();
$mensaje = "";
ini_set('display_errors', 1);
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$datosPedido = [
'IDPedido' => $_POST['IDPedido'] ?? '',
'Estado' => $_POST['Estado'] ?? '',
'ProductosFaltantes' => $_POST['ProductosFaltantes'] ?? '',
'Observaciones' => $_POST['Observaciones'] ?? '',
'Incidencias' => $_POST['Incidencias'] ?? '',
'Seguimiento' => $_POST['Seguimiento'] ?? '',
'Almacen' => $_POST['Almacen'] ?? ''
];
$productos = $_POST['productos'] ?? [];
$cantidades = $_POST['cantidades'] ?? [];
$notas = $_POST['notas'] ?? [];
$recepcionado = $_POST['recepcionado_valor'] ?? [];
if ($modelo->existe_id($datosPedido['IDPedido'])) {
$mensaje = "Error: El número de pedido ya existe. Por favor, elige otro.";
} else {
echo "<pre>";
print_r($_POST);
echo "</pre>";
$exito = $modelo->insertar_pedido_con_productos($datosPedido, $productos, $cantidades, $notas, $recepcionado);
if ($exito) {
header("Location: index.php?controlador=pedidos&action=home");
exit();
} else {
$mensaje = "Error al insertar el pedido con sus productos.";
}
}
}
require_once("view/pedido_form_view.php");
}
function editar() {
require_once("model/pedidos_model.php");
$modelo = new Pedidos_model();
$mensaje = "";
$IDPedidoOriginal = $_GET['IDPedido'] ?? null;
if (!$IDPedidoOriginal) {
header("Location: index.php?controlador=pedidos&action=home");
exit();
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Recoger los datos del formulario
$nuevoID = $_POST['IDPedido'] ?? $IDPedidoOriginal;
$datosPedido = [
'IDPedido' => $nuevoID,
'Estado' => $_POST['Estado'] ?? '',
'ProductosFaltantes' => $_POST['ProductosFaltantes'] ?? '',
'Observaciones' => $_POST['Observaciones'] ?? '',
'Incidencias' => $_POST['Incidencias'] ?? '',
'Seguimiento' => $_POST['Seguimiento'] ?? '',
'Almacen' => $_POST['Almacen'] ?? ''
];
$productos = $_POST['productos'] ?? [];
$cantidades = $_POST['cantidades'] ?? [];
$notas = $_POST['notas'] ?? [];
$recepcionado = $_POST['recepcionado_valor'] ?? [];
if ($nuevoID != $IDPedidoOriginal && $modelo->existe_id($nuevoID)) {
$mensaje = "Error: El número de pedido ya está en uso por otro pedido.";
} else {
if ($modelo->actualizar_pedido_con_productos($IDPedidoOriginal, $datosPedido, $productos, $cantidades, $notas, $recepcionado))
{
header("Location: index.php?controlador=pedidos&action=home");
exit();
} else {
$mensaje = "Error al actualizar el pedido.";
}
}
}
// Obtener datos del pedido y sus productos
$pedido = $modelo->get_pedido($IDPedidoOriginal);
$pedido['productos_asociados'] = $modelo->get_productos_de_pedido($IDPedidoOriginal);
require_once("view/pedido_form_view.php");
}
function eliminar() {
require_once("model/pedidos_model.php");
$modelo = new Pedidos_model();
$IDPedido = $_GET['IDPedido'] ?? null;
if ($IDPedido) {
$modelo->eliminar_pedido($IDPedido);
}
header("Location: index.php?controlador=pedidos&action=home");
exit();
}