feat: refs #6951 create procedure
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
819bc7a56d
commit
5531639027
|
@ -1,55 +1,11 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticketClon`(vTicketFk INT, vNewShipped DATE)
|
||||
BEGIN
|
||||
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE vNewTicketFk INT;
|
||||
DECLARE vOldSaleFk INT;
|
||||
DECLARE vNewSaleFk INT;
|
||||
|
||||
DECLARE cur1 CURSOR FOR
|
||||
SELECT id
|
||||
FROM vn.sale
|
||||
WHERE ticketFk = vTicketFk;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
SET vNewShipped = IFNULL(vNewShipped, util.VN_CURDATE());
|
||||
|
||||
CALL vn.ticket_Clone(vTicketFk, vNewTicketFk);
|
||||
|
||||
UPDATE vn.ticket
|
||||
SET landed = TIMESTAMPADD(DAY, DATEDIFF(vNewShipped, shipped), landed),
|
||||
shipped = vNewShipped
|
||||
WHERE id = vNewTicketFk;
|
||||
|
||||
OPEN cur1;
|
||||
|
||||
read_loop: LOOP
|
||||
|
||||
FETCH cur1 INTO vOldSaleFk;
|
||||
|
||||
IF done THEN
|
||||
LEAVE read_loop;
|
||||
END IF;
|
||||
|
||||
INSERT INTO vn.sale(ticketFk, itemFk, quantity, concept, price, discount, priceFixed, isPriceFixed)
|
||||
SELECT vNewTicketFk, itemFk, quantity, concept, price, discount, priceFixed, isPriceFixed
|
||||
FROM vn.sale
|
||||
WHERE id = vOldSaleFk;
|
||||
|
||||
SELECT max(id) INTO vNewSaleFk
|
||||
FROM vn.sale
|
||||
WHERE ticketFk = vNewTicketFk;
|
||||
|
||||
INSERT INTO vn.saleComponent(saleFk, componentFk, value, isGreuge)
|
||||
SELECT vNewSaleFk, componentFk, value, isGreuge
|
||||
FROM vn.saleComponent
|
||||
WHERE saleFk = vOldSaleFk;
|
||||
|
||||
END LOOP;
|
||||
|
||||
CLOSE cur1;
|
||||
|
||||
DECLARE vNewTicketFk INT;
|
||||
|
||||
CALL ticket_CloneAll(vTicketFk, vNewShipped, TRUE, vNewTicketFk);
|
||||
SELECT vNewTicketFk;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_Clone`(vOriginalTicket INT, OUT vNewTicket INT)
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_Clone`(vOriginalTicket INT, OUT vNewTicket INT,vWithWarehouse BOOLEAN)
|
||||
BEGIN
|
||||
/**
|
||||
* Clona el contenido de un ticket en otro
|
||||
|
@ -32,7 +32,7 @@ BEGIN
|
|||
addressFk,
|
||||
agencyModeFk,
|
||||
nickname,
|
||||
warehouseFk,
|
||||
IF(vWithWarehouse, warehouseFk, NULL),
|
||||
companyFk,
|
||||
landed,
|
||||
zoneFk,
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_CloneAll`(vTicketFk INT, vNewShipped DATE, vWithWarehouse BOOLEAN, OUT vNewTicketFk INT)
|
||||
BEGIN
|
||||
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE vOldSaleFk INT;
|
||||
DECLARE vNewSaleFk INT;
|
||||
|
||||
DECLARE cur1 CURSOR FOR
|
||||
SELECT id
|
||||
FROM vn.sale
|
||||
WHERE ticketFk = vTicketFk;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
SET vNewShipped = IFNULL(vNewShipped, util.VN_CURDATE());
|
||||
|
||||
CALL vn.ticket_Clone(vTicketFk, vNewTicketFk, vWithWarehouse);
|
||||
|
||||
UPDATE vn.ticket
|
||||
SET landed = TIMESTAMPADD(DAY, DATEDIFF(vNewShipped, shipped), landed),
|
||||
shipped = vNewShipped
|
||||
WHERE id = vNewTicketFk;
|
||||
|
||||
OPEN cur1;
|
||||
|
||||
read_loop: LOOP
|
||||
|
||||
FETCH cur1 INTO vOldSaleFk;
|
||||
|
||||
IF done THEN
|
||||
LEAVE read_loop;
|
||||
END IF;
|
||||
|
||||
INSERT INTO vn.sale(ticketFk, itemFk, quantity, concept, price, discount, priceFixed, isPriceFixed)
|
||||
SELECT vNewTicketFk, itemFk, quantity, concept, price, discount, priceFixed, isPriceFixed
|
||||
FROM vn.sale
|
||||
WHERE id = vOldSaleFk;
|
||||
|
||||
SELECT max(id) INTO vNewSaleFk
|
||||
FROM vn.sale
|
||||
WHERE ticketFk = vNewTicketFk;
|
||||
|
||||
INSERT INTO vn.saleComponent(saleFk, componentFk, value, isGreuge)
|
||||
SELECT vNewSaleFk, componentFk, value, isGreuge
|
||||
FROM vn.saleComponent
|
||||
WHERE saleFk = vOldSaleFk;
|
||||
|
||||
END LOOP;
|
||||
|
||||
CLOSE cur1;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
Loading…
Reference in New Issue