salix/db/routines/vn2008/procedures/newItem.sql

35 lines
1.2 KiB
MySQL
Raw Normal View History

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`newItem`(IN vTicket INTEGER, IN vVolume INTEGER, IN vQuantity INTEGER)
BEGIN
DECLARE vLandingWarehouse INT;
DECLARE vLandingDate DATE;
DECLARE vShipmentDate DATE;
DECLARE vTravel INT;
DECLARE vEntry INT;
SELECT warehouse_id, Fecha, landing INTO vLandingWarehouse, vShipmentDate, vLandingDate FROM Tickets WHERE Id_Ticket = vTicket;
-- seleccionamos travel
SELECT id, Id_Entrada INTO vTravel, vEntry
FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id
WHERE t.landing = vLandingDate AND t.shipment = vShipmentDate AND t.warehouse_id_out = vLandingWarehouse AND t.warehouse_id = vWarehouse
AND t.delivered = FALSE ; -- agency ??
-- creamos el travel si es necesario
IF NOT vTravel THEN
INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id)
VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vShipmentWarehouse, a);
SELECT LAST_INSERT_ID() INTO vTravel;
END IF;
-- creamos la Entrada si es necesario
IF NOT vEntry THEN
INSERT INTO Entradas (Id_Proveedor, travel_id)
VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN'
SELECT LAST_INSERT_ID() INTO vEntry;
END IF;
END$$
DELIMITER ;