8093-devToTest_2442_3 #3100

Merged
alexm merged 284 commits from 8093-devToTest_2442_3 into test 2024-10-15 06:51:43 +00:00
1 changed files with 11 additions and 10 deletions
Showing only changes of commit 0ad1d838d9 - Show all commits

View File

@ -3,13 +3,13 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`ticket_splitItemPacki
vSelf INT, vSelf INT,
vOriginalItemPackingTypeFk VARCHAR(1) vOriginalItemPackingTypeFk VARCHAR(1)
) )
BEGIN proc:BEGIN
/** /**
* Clona y reparte las líneas de ventas de un ticket en funcion del tipo de empaquetado. * Clona y reparte las líneas de ventas de un ticket en funcion del tipo de empaquetado.
* Respeta el id de ticket original para el tipo de empaquetado propuesto. * Respeta el id de ticket inicial para el tipo de empaquetado propuesto.
* *
* @param vSelf Id ticket * @param vSelf Id ticket
* @param vOriginalItemPackingTypeFk Tipo empaquetado que se mantiene el ticket original * @param vOriginalItemPackingTypeFk Tipo empaquetado al que se mantiene el ticket original
* @return table tmp.ticketIPT(ticketFk, itemPackingTypeFk) * @return table tmp.ticketIPT(ticketFk, itemPackingTypeFk)
*/ */
DECLARE vDone INT DEFAULT FALSE; DECLARE vDone INT DEFAULT FALSE;
@ -30,22 +30,24 @@ BEGIN
WHERE t.id = vSelf WHERE t.id = vSelf
AND i.itemPackingTypeFk = vOriginalItemPackingTypeFk; AND i.itemPackingTypeFk = vOriginalItemPackingTypeFk;
IF NOT vHasItemPackingType THEN
CALL util.throw('The ticket does not have any sales for the specified itemPackingType');
END IF;
CREATE OR REPLACE TEMPORARY TABLE tmp.ticketIPT( CREATE OR REPLACE TEMPORARY TABLE tmp.ticketIPT(
ticketFk INT, ticketFk INT,
itemPackingTypeFk VARCHAR(1) itemPackingTypeFk VARCHAR(1)
) ENGINE=MEMORY ) ENGINE=MEMORY
SELECT vSelf ticketFk, vOriginalItemPackingTypeFk itemPackingTypeFk; SELECT vSelf ticketFk, vOriginalItemPackingTypeFk itemPackingTypeFk;
IF NOT vHasItemPackingType THEN
LEAVE proc;
END IF;
CREATE OR REPLACE TEMPORARY TABLE tSalesToMove ( CREATE OR REPLACE TEMPORARY TABLE tSalesToMove (
ticketFk INT, ticketFk INT,
saleFk INT, saleFk INT,
itemPackingTypeFk INT itemPackingTypeFk INT
) ENGINE=MEMORY; ) ENGINE=MEMORY;
SELECT s.id saleFk, i.itemPackingTypeFk
INSERT INTO tSalesToMove (saleFk, itemPackingTypeFk)
SELECT s.id, i.itemPackingTypeFk
FROM ticket t FROM ticket t
JOIN sale s ON s.ticketFk = t.id JOIN sale s ON s.ticketFk = t.id
JOIN item i ON i.id = s.itemFk JOIN item i ON i.id = s.itemFk
@ -85,4 +87,3 @@ BEGIN
DROP TEMPORARY TABLE tSalesToMove; DROP TEMPORARY TABLE tSalesToMove;
END$$ END$$
DELIMITER ; DELIMITER ;