refactor: refs #7373 Deleted proc packageInvoicing #2444
|
@ -1,121 +0,0 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`packageInvoicing`(
|
||||
IN vClient INT,
|
||||
IN vDate DATE,
|
||||
IN vCompany INT,
|
||||
IN vIsAllInvoiceable BOOLEAN,
|
||||
OUT vNewTicket INT(11)
|
||||
)
|
||||
BEGIN
|
||||
|
||||
DECLARE vGraceDays INT;
|
||||
DECLARE vDateStart DATE DEFAULT '2017-11-21';
|
||||
DECLARE vIsInvoiceable BOOLEAN;
|
||||
DECLARE vWarehouse INT DEFAULT 13;
|
||||
DECLARE vComponentCost INT DEFAULT 28;
|
||||
DECLARE vGraceDate DATE;
|
||||
DECLARE vDateEnd DATE;
|
||||
|
||||
SET vGraceDays = IF(vIsAllInvoiceable ,0, 30);
|
||||
SET vGraceDate = TIMESTAMPADD(DAY, - vGraceDays, vDate);
|
||||
|
||||
/* Clientes especiales:
|
||||
3240 MADEFLOR
|
||||
992 JAVIER FELIU
|
||||
4 TONI VENDRELL
|
||||
*/
|
||||
|
||||
IF vClient IN (992, 3240, 4) THEN
|
||||
|
||||
SET vGraceDays = 365;
|
||||
|
||||
END IF;
|
||||
/* Fin clientes especiales */
|
||||
|
||||
SET vDateEnd = DATE_ADD(vDate, INTERVAL 1 DAY);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.packageToInvoice;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp.packageToInvoice
|
||||
SELECT p.itemFk,
|
||||
tp.packagingFk,
|
||||
IF(tp.quantity < 0 OR t.shipped < vGraceDate, tp.quantity, 0) quantity,
|
||||
tp.ticketFk,
|
||||
p.price
|
||||
FROM ticketPackaging tp
|
||||
JOIN packaging p ON p.id = tp.packagingFk
|
||||
JOIN ticket t ON t.id = tp.ticketFk
|
||||
WHERE t.shipped BETWEEN vDateStart AND vDateEnd
|
||||
AND t.clientFk = vClient;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.packageToInvoicePositives;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp.packageToInvoicePositives
|
||||
SELECT itemFk, sum(quantity) as totalQuantity
|
||||
FROM tmp.packageToInvoice
|
||||
GROUP BY itemFk
|
||||
HAVING totalQuantity > 0;
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO vIsInvoiceable
|
||||
FROM tmp.packageToInvoicePositives;
|
||||
|
||||
IF vIsInvoiceable THEN
|
||||
|
||||
CALL ticket_add(vClient,
|
||||
vDateEnd,
|
||||
vWarehouse,
|
||||
vCompany,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
vDateEnd,
|
||||
account.myUser_getId(),
|
||||
TRUE,
|
||||
vNewTicket);
|
||||
|
||||
INSERT INTO ticketPackaging(
|
||||
ticketFk,
|
||||
packagingFk,
|
||||
quantity,
|
||||
pvp)
|
||||
SELECT vNewTicket,
|
||||
pti.packagingFk,
|
||||
- SUM(pti.quantity) AS totalQuantity,
|
||||
pti.price
|
||||
FROM tmp.packageToInvoice pti
|
||||
LEFT JOIN tmp.packageToInvoicePositives ptip ON pti.itemFk = ptip.itemFk
|
||||
WHERE ptip.itemFK IS NOT NULL
|
||||
OR vIsAllInvoiceable
|
||||
GROUP BY packagingFk
|
||||
HAVING totalQuantity;
|
||||
|
||||
INSERT INTO sale(
|
||||
ticketFk,
|
||||
itemFk,
|
||||
concept,
|
||||
quantity,
|
||||
price
|
||||
)
|
||||
SELECT vNewTicket,
|
||||
pti.itemFk,
|
||||
i.name as concept,
|
||||
sum(pti.quantity) as totalQuantity,
|
||||
pti.price
|
||||
FROM tmp.packageToInvoice pti
|
||||
JOIN item i ON i.id = pti.itemFk
|
||||
LEFT JOIN tmp.packageToInvoicePositives ptip ON pti.itemFk = ptip.itemFk
|
||||
WHERE ptip.itemFK IS NOT NULL
|
||||
OR vIsAllInvoiceable
|
||||
GROUP BY pti.itemFk
|
||||
HAVING totalQuantity;
|
||||
|
||||
INSERT INTO saleComponent(saleFk, componentFk, value)
|
||||
SELECT id, vComponentCost, price
|
||||
FROM sale
|
||||
WHERE ticketFk = vNewTicket;
|
||||
|
||||
END IF;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
Loading…
Reference in New Issue