feat: refs #4948 Added ticket_doSelfConsumptionPackaging proc & event #2262
|
@ -0,0 +1,8 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`ticket_doSelfConsumptionPackaging`
|
||||
ON SCHEDULE EVERY 1 DAY
|
||||
STARTS '2024-04-19 04:05:00.000'
|
||||
ON COMPLETION PRESERVE
|
||||
ENABLE
|
||||
DO CALL ticket_doSelfConsumptionPackaging(util.yesterday(), util.yesterday())$$
|
||||
DELIMITER ;
|
|
@ -0,0 +1,39 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_doSelfConsumptionPackaging`(
|
||||
vDateFrom DATE,
|
||||
vDateTo DATE
|
||||
)
|
||||
BEGIN
|
||||
/**
|
||||
* Crea un ticket de autoconsumo de un rango determinado de fechas.
|
||||
*
|
||||
* @param vDateFrom Fecha desde
|
||||
* @param vDateTo Fecha hasta
|
||||
*/
|
||||
DECLARE vClientFk INT;
|
||||
DECLARE vAddressFk INT;
|
||||
DECLARE vTicketFk INT;
|
||||
DECLARE vWarehouseFk INT;
|
||||
|
||||
SELECT clientSelfConsumptionFk, addressSelfConsumptionFk
|
||||
INTO vClientFk, vAddressFk
|
||||
FROM productionConfig;
|
||||
|
||||
SELECT id INTO vWarehouseFk
|
||||
FROM warehouse
|
||||
WHERE code = 'alg';
|
||||
|
||||
INSERT INTO ticket(clientFk, warehouseFk, shipped, nickname, addressFk)
|
||||
SELECT vClientFk, vWarehouseFk, vDateFrom, 'AUTOCONSUMO CAJAS', vAddressFk;
|
||||
|
||||
SET vTicketFk = LAST_INSERT_ID();
|
||||
|
||||
INSERT INTO sale(itemFk, ticketFk, concept, quantity)
|
||||
SELECT i.id, vTicketFk, i.name, COUNT(*)
|
||||
FROM expedition e
|
||||
JOIN packaging p ON p.id = e.packagingFk
|
||||
guillermo marked this conversation as resolved
Outdated
|
||||
JOIN item i ON i.id = p.itemFk
|
||||
WHERE e.created BETWEEN vDateFrom AND util.dayEnd(vDateTo)
|
||||
GROUP BY e.packagingFk;
|
||||
END$$
|
||||
DELIMITER ;
|
Loading…
Reference in New Issue
@pako creà el cau, hi ha que valorar si es llança en un rango de una semana o un mes, si volem que es cree sols un ticket amb tots els embalatges, o que faça un ticket per dia.
Hi haurà casos que fallarà el procés, per tant, el seguen dia que es llance posaria els dos dies junts en un ticket, lo cual per a fer revisions o comprobacions serà molt confús.
Cal també saber si s'ha llançat o no, per a que no torne a insertar els mateixos embalatges, pe mirar que no existisca previament un ticket i si hi ha borrar el contingut y insertar de nou.
Jo voldría un ticket per dia. Es podría fer un consignatari en el client 450 que fora el dels embalatges, i així es podría comprovar si existeix el ticket o no. El proc deuria de revisar i fer, si cal, els tickets de la última setmana, cada nit