From c518352bf7118d87c87eda2b5df783f8410bb96c Mon Sep 17 00:00:00 2001 From: robert Date: Wed, 4 Dec 2024 08:12:47 +0100 Subject: [PATCH] feat: refs #6822 changes required --- db/routines/vn/procedures/entry_clone.sql | 6 ++-- db/routines/vn/procedures/entry_transfer.sql | 35 +++++++++++++++++--- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/db/routines/vn/procedures/entry_clone.sql b/db/routines/vn/procedures/entry_clone.sql index 12738af545..c7cbf1f7b2 100644 --- a/db/routines/vn/procedures/entry_clone.sql +++ b/db/routines/vn/procedures/entry_clone.sql @@ -1,14 +1,14 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`entry_clone`( vSelf INT, - OUT newEntryFk INT + OUT vOutputEntryFk INT ) BEGIN /** * clones an entry. * * @param vSelf The entry id - * @param newEntryFk Output parameter of the new created input + * @param vOutputEntryFk The new entry id */ DECLARE vNewEntryFk INT; @@ -24,7 +24,7 @@ BEGIN CALL entry_copyBuys(vSelf, vNewEntryFk); COMMIT; - SET newEntryFk = vNewEntryFk; + SET vOutputEntryFk = vNewEntryFk; END$$ DELIMITER ; diff --git a/db/routines/vn/procedures/entry_transfer.sql b/db/routines/vn/procedures/entry_transfer.sql index bd14c4f628..7943f738f9 100644 --- a/db/routines/vn/procedures/entry_transfer.sql +++ b/db/routines/vn/procedures/entry_transfer.sql @@ -13,6 +13,12 @@ BEGIN DECLARE vNewEntryFk INT; DECLARE vTravelFk INT; DECLARE vWarehouseFk INT; + DECLARE vWarehouseInFk INT; + DECLARE vWarehouseOutFk INT; + DECLARE vRef INT; + DECLARE vIsReceived INT; + DECLARE vAgencyModeFk INT; + DECLARE vNewTravelFk INT; DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN @@ -26,7 +32,25 @@ BEGIN START TRANSACTION; -- Hay que crear un nuevo travel, con salida hoy y llegada maƱana y asignar la entrada nueva al nuevo travel. - INSERT INTO travel( + SELECT warehouseInFk,warehouseOutFk,`ref`,isReceived ,agencyModeFk + INTO vWarehouseInFk,vWarehouseOutFk, vRef,vIsReceived, vAgencyModeFk + FROM travel t + JOIN entry e ON e.travelFk = t.id + WHERE e.id = 1; + + SELECT t.di INTO vNewTravelFk + FROM travel t + JOIN entry e ON e.travelFk = t.id + WHERE t.shipped = util.VN_CURDATE() + AND t.landed = util.VN_CURDATE() + INTERVAL 1 DAY + AND warehouseInFk = vWarehouseInFk + AND warehouseOutFk = vWarehouseOutFk + AND `ref` = vRef + AND isReceived =vIsReceived + AND agencyModeFk = vAgencyModeFk; + + IF NOT vNewTravelFk THEN + INSERT INTO travel( shipped, landed, warehouseInFk, @@ -45,7 +69,10 @@ BEGIN JOIN entry e ON e.travelFk = t.id WHERE e.id = vOriginalEntry; - SET vTravelFk = LAST_INSERT_ID(); + SET vTravelFk = LAST_INSERT_ID(); + ELSE + SET vTravelFk = vNewTravelFk; + END IF; UPDATE entry SET travelFk = vTravelFk @@ -82,7 +109,7 @@ BEGIN itemShelvings AS ( SELECT ish.itemFk, SUM(visible) visible FROM vn.itemShelving ish - JOIN vn.shelving sh ON sh.code = ish.shelvingFk + JOIN vn.shelving sh ON sh.id = ish.shelvingFk JOIN vn.parking p ON p.id = sh.parkingFk JOIN vn.sector s ON s.id = p.sectorFk WHERE s.warehouseFk = vWarehouseFk @@ -95,7 +122,7 @@ BEGIN JOIN vn.sale s ON s.ticketFk = t.id JOIN vn.itemShelvingSale iss ON iss.saleFk = s.id JOIN vn.itemShelving is2 ON is2.id = iss.itemShelvingFk - JOIN vn.shelving s2 ON s2.code = is2.shelvingFk + JOIN vn.shelving s2 ON s2.id = is2.shelvingFk WHERE t.shipped BETWEEN util.VN_CURDATE() AND util.dayend(util.VN_CURDATE()) AND s2.parked = util.VN_CURDATE() GROUP BY s.itemFk