WIP: feat: refs #6583 add new opt in where builder #3162
|
@ -2954,9 +2954,9 @@ INSERT INTO `vn`.`routeConfig` (`id`, `defaultWorkCenterFk`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 9);
|
(1, 9);
|
||||||
|
|
||||||
INSERT INTO `vn`.`productionConfig` (`isPreviousPreparationRequired`, `ticketPrintedMax`, `ticketTrolleyMax`, `rookieDays`, `notBuyingMonths`, `id`, `isZoneClosedByExpeditionActivated`, `maxNotReadyCollections`, `minTicketsToCloseZone`, `movingTicketDelRoute`, `defaultZone`, `defautlAgencyMode`, `hasUniqueCollectionTime`, `maxCollectionWithoutUser`, `pendingCollectionsOrder`, `pendingCollectionsAge`, `backupPrinterNotificationDelay`)
|
INSERT INTO `vn`.`productionConfig` (`isPreviousPreparationRequired`, `ticketPrintedMax`, `ticketTrolleyMax`, `rookieDays`, `notBuyingMonths`, `id`, `isZoneClosedByExpeditionActivated`, `maxNotReadyCollections`, `minTicketsToCloseZone`, `movingTicketDelRoute`, `defaultZone`, `defautlAgencyMode`, `hasUniqueCollectionTime`, `maxCollectionWithoutUser`, `pendingCollectionsOrder`, `pendingCollectionsAge`, `backupPrinterNotificationDelay`, `clientSelfConsumptionFk`, `addressSelfConsumptionFk`)
|
||||||
VALUES
|
VALUES
|
||||||
(0, 8, 80, 0, 0, 1, 0, 15, 25, -1, 697, 1328, 0, 1, 8, 6, 3600);
|
(0, 8, 80, 0, 0, 1, 0, 15, 25, -1, 697, 1328, 0, 1, 8, 6, 3600, 1112, 12);
|
||||||
|
|
||||||
INSERT INTO `vn`.`collection` (`id`, `created`, `workerFk`, `stateFk`, `itemPackingTypeFk`, `saleTotalCount`, `salePickedCount`, `trainFk`, `sectorFk`, `wagons`)
|
INSERT INTO `vn`.`collection` (`id`, `created`, `workerFk`, `stateFk`, `itemPackingTypeFk`, `saleTotalCount`, `salePickedCount`, `trainFk`, `sectorFk`, `wagons`)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`expedition_selfConsumptionPackaging`(
|
||||||
|
vSelf INT,
|
||||||
|
vAction ENUM('add', 'remove')
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Maneja el consumo de cajas para autoconsumo, permitiendo
|
||||||
|
* añadir o quitar cajas utilizadas según la acción indicada.
|
||||||
|
*
|
||||||
|
* @param vSelf Id de expedición
|
||||||
|
*/
|
||||||
|
DECLARE vClientFk INT;
|
||||||
|
DECLARE vAddressFk INT;
|
||||||
|
DECLARE vItemFk INT;
|
||||||
|
DECLARE vItemName VARCHAR(50);
|
||||||
|
DECLARE vWarehouseFk INT;
|
||||||
|
DECLARE vCreated DATE;
|
||||||
|
DECLARE vTicketFk INT;
|
||||||
|
DECLARE vSaleFk INT;
|
||||||
|
DECLARE vQuantity INT;
|
||||||
|
|
||||||
|
IF vAction NOT IN ('add', 'remove') THEN
|
||||||
|
CALL util.throw('Action not supported');
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT pc.clientSelfConsumptionFk,
|
||||||
|
pc.addressSelfConsumptionFk,
|
||||||
|
i.id,
|
||||||
|
i.name,
|
||||||
|
t.warehouseFk,
|
||||||
|
e.created
|
||||||
|
INTO vClientFk,
|
||||||
|
vAddressFk,
|
||||||
|
vItemFk,
|
||||||
|
vItemName,
|
||||||
|
vWarehouseFk,
|
||||||
|
vCreated
|
||||||
|
FROM expedition e
|
||||||
|
JOIN packaging p ON p.id = e.packagingFk
|
||||||
|
JOIN item i ON i.id = p.itemFk
|
||||||
|
JOIN ticket t ON t.id = e.ticketFk
|
||||||
|
JOIN productionConfig pc
|
||||||
|
WHERE e.id = vSelf;
|
||||||
|
|
||||||
|
IF vClientFk IS NULL OR vAddressFk IS NULL THEN
|
||||||
|
CALL util.throw('Some config parameters are not set');
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SET vCreated = DATE(vCreated);
|
||||||
|
|
||||||
|
SELECT id INTO vTicketFk
|
||||||
|
FROM ticket
|
||||||
|
WHERE shipped BETWEEN vCreated AND util.dayEnd(vCreated)
|
||||||
|
AND clientFk = vClientFk
|
||||||
|
AND addressFk = vAddressFk
|
||||||
|
AND warehouseFk = vWarehouseFk;
|
||||||
|
|
||||||
|
IF vTicketFk IS NULL AND vAction = 'add' THEN
|
||||||
|
INSERT INTO ticket(clientFk, warehouseFk, shipped, nickname, addressFk)
|
||||||
|
VALUES (vClientFk, vWarehouseFk, vCreated, 'CAJAS AUTOCONSUMO', vAddressFk);
|
||||||
|
|
||||||
|
SET vTicketFk = LAST_INSERT_ID();
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT id, quantity INTO vSaleFk, vQuantity
|
||||||
|
FROM sale
|
||||||
|
WHERE itemFk = vItemFk
|
||||||
|
AND ticketFk = vTicketFk
|
||||||
|
LIMIT 1;
|
||||||
|
|
||||||
|
IF vAction = 'add' THEN
|
||||||
|
IF vSaleFk IS NOT NULL THEN
|
||||||
|
UPDATE sale
|
||||||
|
SET quantity = quantity + 1
|
||||||
|
WHERE id = vSaleFk;
|
||||||
|
ELSE
|
||||||
|
INSERT INTO sale(itemFk, ticketFk, concept, quantity)
|
||||||
|
VALUES (vItemFk, vTicketFk, vItemName, 1);
|
||||||
|
END IF;
|
||||||
|
ELSE
|
||||||
|
IF vSaleFk IS NOT NULL THEN
|
||||||
|
IF vQuantity > 1 THEN
|
||||||
|
UPDATE sale
|
||||||
|
SET quantity = quantity - 1
|
||||||
|
WHERE id = vSaleFk;
|
||||||
|
ELSE
|
||||||
|
DELETE FROM sale WHERE id = vSaleFk;
|
||||||
|
END IF;
|
||||||
|
END IF;
|
||||||
|
END IF;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -8,5 +8,6 @@ BEGIN
|
||||||
FROM expedition e WHERE e.ticketFk = OLD.ticketFk and e.freightItemFk)
|
FROM expedition e WHERE e.ticketFk = OLD.ticketFk and e.freightItemFk)
|
||||||
WHERE t.id = OLD.ticketFk;
|
WHERE t.id = OLD.ticketFk;
|
||||||
|
|
||||||
|
CALL expedition_selfConsumptionPackaging(OLD.id, 'remove');
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
Loading…
Reference in New Issue