55 lines
1.9 KiB
MySQL
55 lines
1.9 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`entryWithItem`(vShipmentWarehouse INT, vLandingWarehouse INT,vSale INT, vVolume INT, netCost DECIMAL(10,2), vInOutDate DATE)
|
||
|
BEGIN
|
||
|
|
||
|
DECLARE vTravel INT;
|
||
|
DECLARE vEntry INT;
|
||
|
DECLARE vBucket VARCHAR(10);
|
||
|
DECLARE vSupplierFk INT;
|
||
|
|
||
|
SET vSupplierFk = IF (vLandingWarehouse = 1, 850, 963);
|
||
|
-- seleccionamos travel
|
||
|
SELECT t.id, e.id INTO vTravel, vEntry
|
||
|
FROM travel t LEFT JOIN entry e ON t.id = e.travelFk
|
||
|
WHERE t.landed = vInOutDate AND t.shipped = vInOutDate AND t.warehouseOutFk = vShipmentWarehouse
|
||
|
AND t.warehouseInFk = vLandingWarehouse AND t.agencyModeFk IS NULL AND e.supplierFk = vSupplierFk
|
||
|
LIMIT 1;
|
||
|
|
||
|
-- creamos el travel si es necesario
|
||
|
IF IFNULL(vTravel, FALSE) = FALSE THEN
|
||
|
INSERT INTO travel (shipped, landed, warehouseInFk, warehouseOutFk)
|
||
|
VALUES (vInOutDate, vInOutDate, vLandingWarehouse, vShipmentWarehouse);
|
||
|
SELECT LAST_INSERT_ID() INTO vTravel;
|
||
|
END IF;
|
||
|
|
||
|
-- creamos la Entrada si es necesario
|
||
|
IF IFNULL(vEntry, FALSE) = FALSE THEN
|
||
|
INSERT INTO entry (supplierFk, travelFk)
|
||
|
VALUES (vSupplierFk, vTravel); -- proveedor 'CONFECCION ARTIFICIAL'
|
||
|
SELECT LAST_INSERT_ID() INTO vEntry;
|
||
|
END IF;
|
||
|
|
||
|
-- creamos el cubo si es necesario
|
||
|
SELECT id INTO vBucket FROM packaging WHERE volume = vVolume LIMIT 1;
|
||
|
IF vBucket IS NULL THEN
|
||
|
INSERT INTO packaging (id, volume)
|
||
|
VALUES (CONCAT('dm',vVolume/1000), vVolume);
|
||
|
-- SELECT LAST_INSERT_ID() INTO vBucket;
|
||
|
SELECT id INTO vBucket FROM packaging WHERE volume = vVolume LIMIT 1;
|
||
|
END IF;
|
||
|
|
||
|
INSERT INTO buy(itemFk,quantity, entryFk, packagingFk, packing, stickers, buyingValue, price2, price3)
|
||
|
SELECT itemFk,
|
||
|
quantity,
|
||
|
vEntry,
|
||
|
vBucket,
|
||
|
1 packing,
|
||
|
quantity,
|
||
|
netCost,
|
||
|
s.price,
|
||
|
s.price
|
||
|
FROM sale s
|
||
|
WHERE s.id = vSale;
|
||
|
END$$
|
||
|
DELIMITER ;
|