fix(travel): new trigger for travel and new version to update it

stockRefresh and entryIn also updated

Refs: #8048
This commit is contained in:
Pako Natek 2025-03-03 13:29:20 +01:00
parent 99bc9b4698
commit 8cc88453c4
6 changed files with 20 additions and 8 deletions

View File

@ -1,8 +1,9 @@
DELIMITER $$
$$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `cache`.`stock_refresh`(v_refresh BOOL)
proc: BEGIN
/**
* Crea o actualiza la cache con el disponible hasta el ­a de
* Crea o actualiza la cache con el disponible hasta el a de
* ayer. Esta cache es usada como base para otros procedimientos
* como el cálculo del visible o del ATP.
*
@ -36,15 +37,19 @@ proc: BEGIN
(
SELECT itemFk AS item_id, warehouseFk AS warehouse_id, quantity AS amount
FROM vn.itemTicketOut
WHERE shipped >= v_date_inv AND shipped < vCURDATE
WHERE shipped >= v_date_inv
AND shipped < vCURDATE
UNION ALL
SELECT itemFk ASitem_id, warehouseInFk AS warehouse_id, quantity AS amount
FROM vn.itemEntryIn
WHERE landed >= v_date_inv AND landed < vCURDATE AND isVirtualStock is FALSE
WHERE availabled >= v_date_inv
AND availabled < vCURDATE
AND isVirtualStock is FALSE
UNION ALL
SELECT itemFk AS item_id ,warehouseOutFk AS warehouse_id, quantity AS amount
FROM vn.itemEntryOut
WHERE shipped >= v_date_inv AND shipped < vCURDATE
WHERE shipped >= v_date_inv
AND shipped < vCURDATE
) t
GROUP BY item_id, warehouse_id HAVING amount != 0;

View File

@ -18,7 +18,7 @@ BEGIN
END IF;
IF NEW.availabled < NEW.landed THEN
CALL util.throw('The travel availabled cannot be earlier than landed');
SET NEW.availabled = NEW.landed;
END IF;
END$$
DELIMITER ;

View File

@ -40,9 +40,10 @@ BEGIN
IF (NOT(NEW.awbFk <=> OLD.awbFk)) AND NEW.awbFk IS NOT NULL THEN
CALL travel_throwAwb(NEW.id);
END IF;
IF NEW.availabled < NEW.landed THEN
CALL util.throw('The travel availabled cannot be earlier than landed');
SET NEW.availabled = NEW.landed;
END IF;
END$$
DELIMITER ;

View File

@ -8,7 +8,7 @@ AS SELECT `t`.`warehouseInFk` AS `warehouseInFk`,
`t`.`isReceived` AS `isReceived`,
`t`.`isRaid` AS `isVirtualStock`,
`e`.`id` AS `entryFk`,
`t`.`availabled`
`t`.`availabled` AS `availabled`
FROM (
(
`vn`.`buy` `b`

View File

@ -0,0 +1,4 @@
-- Place your SQL code here
UPDATE vn.travel
SET availabled = landed
WHERE availabled IS NULL;

View File

@ -0,0 +1,2 @@
ALTER TABLE vn.travel MODIFY COLUMN availabled datetime NOT NULL
COMMENT 'Indicates the moment in time when the goods become available for picking';