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();
}