ticketCalculateClon
gitea/salix/dev This commit looks good
Details
gitea/salix/dev This commit looks good
Details
This commit is contained in:
parent
eaa2ef4570
commit
bd630aa562
|
@ -23,12 +23,12 @@ BEGIN
|
||||||
ENGINE = MEMORY
|
ENGINE = MEMORY
|
||||||
SELECT vWarehouseFk warehouseFk,
|
SELECT vWarehouseFk warehouseFk,
|
||||||
TIMESTAMPADD(DAY,zo.travelingDays, vShipped) landed,
|
TIMESTAMPADD(DAY,zo.travelingDays, vShipped) landed,
|
||||||
vShipped shipped,
|
zo.zoneFk
|
||||||
zo.zoneFk,
|
|
||||||
z.agencyModeFk
|
|
||||||
FROM tmp.zoneOption zo
|
FROM tmp.zoneOption zo
|
||||||
JOIN zone z ON z.id = zo.zoneFk
|
JOIN zone z ON z.id = zo.zoneFk
|
||||||
WHERE agencyModeFk = vAgencyModeFk;
|
JOIN zoneWarehouse zw ON zw.zoneFk = z.id
|
||||||
|
WHERE agencyModeFk = vAgencyModeFk
|
||||||
|
AND warehouseFk = vWarehouseFk;
|
||||||
|
|
||||||
DROP TEMPORARY TABLE
|
DROP TEMPORARY TABLE
|
||||||
tmp.zone,
|
tmp.zone,
|
||||||
|
@ -36,4 +36,5 @@ BEGIN
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
|
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
USE `vn`;
|
||||||
|
DROP procedure IF EXISTS `zoneGetShipped`;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
USE `vn`$$
|
||||||
|
CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetShipped`(vLanded DATE, vAddressFk INT, vAgencyModeFk INT, vWarehouseFk INT)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* OBSOLETO usar zone_getShippedWarehouse
|
||||||
|
* Devuelve la mínima fecha de envía para cada warehouse
|
||||||
|
*
|
||||||
|
* @param vLanded La fecha de recepcion
|
||||||
|
* @param vAddressFk Id del consignatario
|
||||||
|
* @param vAgencyModeFk Id de la agencia
|
||||||
|
* @return tmp.zoneGetShipped
|
||||||
|
*/
|
||||||
|
CALL zone_getShippedWarehouse(vLanded, vAddressFk, vAgencyModeFk);
|
||||||
|
|
||||||
|
SELECT * FROM tmp.zoneGetShipped WHERE warehouseFk <> vWarehouseFk;
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetLanded;
|
||||||
|
END$$
|
||||||
|
|
||||||
|
DELIMITER ;
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
|
|
||||||
USE `vn`;
|
|
||||||
DROP procedure IF EXISTS `vn`.`zoneGetShipped__`;
|
|
||||||
DROP procedure IF EXISTS `vn`.`zoneGetShipped`;
|
|
||||||
|
|
||||||
DELIMITER $$
|
|
||||||
USE `vn`$$
|
|
||||||
CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetShipped__`(vLanded DATE, vAddressFk INT, vAgencyModeFk INT, vWarehouseFk INT)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Devuelve la mínima fecha de envía para cada warehouse
|
|
||||||
*
|
|
||||||
* @param vLanded La fecha de recepcion
|
|
||||||
* @param vAddressFk Id del consignatario
|
|
||||||
* @param vAgencyModeFk Id de la agencia
|
|
||||||
* @return tmp.zoneGetShipped
|
|
||||||
*/
|
|
||||||
|
|
||||||
DECLARE vGeoFk INT;
|
|
||||||
|
|
||||||
SELECT p.geoFk INTO vGeoFk
|
|
||||||
FROM address a
|
|
||||||
JOIN town t ON t.provinceFk = a.provinceFk
|
|
||||||
JOIN postCode p ON p.townFk = t.id AND p.code = a.postalCode
|
|
||||||
WHERE a.id = vAddressFk
|
|
||||||
ORDER BY (a.city SOUNDS LIKE t.`name`) DESC
|
|
||||||
LIMIT 1;
|
|
||||||
|
|
||||||
SELECT * FROM (
|
|
||||||
SELECT * FROM (
|
|
||||||
SELECT z.id zoneFk,
|
|
||||||
TIMESTAMPADD(DAY,-z.travelingDays, vLanded) shipped,
|
|
||||||
vLanded landed,
|
|
||||||
vWarehouseFk warehouseFk,
|
|
||||||
z.agencyModeFk,
|
|
||||||
zi.isIncluded
|
|
||||||
FROM zoneGeo zgSon
|
|
||||||
JOIN zoneGeo zgFather ON zgSon.lft BETWEEN zgFather.lft AND zgFather.rgt
|
|
||||||
JOIN zoneIncluded zi ON zi.geoFk = zgFather.id
|
|
||||||
JOIN zone z ON z.id = zi.zoneFk
|
|
||||||
JOIN zoneCalendar zc ON zc.zoneFk = z.id
|
|
||||||
WHERE zgSon.`id` = vGeoFk
|
|
||||||
AND zc.delivered = vLanded
|
|
||||||
AND z.agencyModeFk = vAgencyModeFk
|
|
||||||
AND z.warehouseFk = vWarehouseFk
|
|
||||||
AND IF(TIMESTAMPADD(DAY,-z.travelingDays, vLanded) = CURDATE(), hour(now()) < hour(z.`hour`),TRUE)
|
|
||||||
ORDER BY z.id, zgFather.depth DESC, isIncluded DESC) t
|
|
||||||
GROUP BY zoneFk
|
|
||||||
HAVING isIncluded > 0
|
|
||||||
ORDER BY shipped)
|
|
||||||
t
|
|
||||||
GROUP BY agencyModeFk;
|
|
||||||
END$$
|
|
||||||
|
|
||||||
DELIMITER ;
|
|
||||||
;
|
|
|
@ -17,32 +17,42 @@ BEGIN
|
||||||
DECLARE vAddress INT;
|
DECLARE vAddress INT;
|
||||||
DECLARE vLanded DATE;
|
DECLARE vLanded DATE;
|
||||||
DECLARE vAgency INT;
|
DECLARE vAgency INT;
|
||||||
|
DECLARE vZoneFk INT;
|
||||||
|
|
||||||
REPLACE INTO orderTicket(orderFk,ticketFk)
|
REPLACE INTO orderTicket(orderFk,ticketFk)
|
||||||
SELECT orderFk, vTicketNew
|
SELECT orderFk, vTicketNew
|
||||||
FROM orderTicket
|
FROM orderTicket
|
||||||
WHERE ticketFk = vTicketOld;
|
WHERE ticketFk = vTicketOld;
|
||||||
|
|
||||||
SELECT t.clientFk, t.warehouseFk, date(t.shipped), t.addressFk, t.agencyModeFk, t.landed, a.agencyFk
|
SELECT t.clientFk, t.warehouseFk, date(t.shipped), t.addressFk, t.agencyModeFk, t.landed, a.agencyFk, t.zoneFk
|
||||||
INTO vClient, vWarehouse, vShipped, vAddress, vAgencyMode, vLanded, vAgency
|
INTO vClient, vWarehouse, vShipped, vAddress, vAgencyMode, vLanded, vAgency, vZoneFk
|
||||||
FROM vn.agencyMode a
|
FROM vn.agencyMode a
|
||||||
JOIN vn.ticket t ON t.agencyModeFk = a.id
|
JOIN vn.ticket t ON t.agencyModeFk = a.id
|
||||||
WHERE t.id = vTicketNew;
|
WHERE t.id = vTicketNew;
|
||||||
|
|
||||||
|
IF vLanded IS NULL THEN
|
||||||
|
CALL zone_getLanded(vShipped, vAddress, vAgency, vWarehouse);
|
||||||
|
UPDATE ticket t
|
||||||
|
JOIN tmp.zoneGetLanded zgl ON t.warehouseFk = zgl.warehouseFk
|
||||||
|
SET t.landed = zgl.landed,
|
||||||
|
t.zone = zgl.zoneFk
|
||||||
|
WHERE t.id = vTicketNew;
|
||||||
|
|
||||||
|
SELECT zoneFk INTO vZoneFk FROM tmp.zoneGetLanded LIMIT 1;
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetLanded;
|
||||||
|
END IF;
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetShipped;
|
-- rellena la tabla tmp.buyUltimate con la ultima compra
|
||||||
CALL zone_getShippedWarehouse(vLanded, vAddress, vAgencyMode);
|
CALL buyUltimate(vWarehouse, vShipped);
|
||||||
DELETE FROM tmp.zoneGetShipped WHERE warehouseFk <> vWarehouse;
|
|
||||||
|
|
||||||
CALL buyUltimate(vWarehouse, vShipped); -- rellena la tabla tmp.buyUltimate con la ultima compra
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.ticketLot;
|
DROP TEMPORARY TABLE IF EXISTS tmp.ticketLot;
|
||||||
CREATE TEMPORARY TABLE tmp.ticketLot
|
CREATE TEMPORARY TABLE tmp.ticketLot
|
||||||
SELECT vWarehouse warehouseFk, NULL available, s.itemFk, bu.buyFk
|
SELECT vWarehouse warehouseFk, NULL available, s.itemFk, bu.buyFk
|
||||||
FROM sale s
|
FROM sale s
|
||||||
LEFT JOIN tmp.buyUltimate bu ON bu.itemFk = s.itemFk
|
LEFT JOIN tmp.buyUltimate bu ON bu.itemFk = s.itemFk
|
||||||
WHERE s.ticketFk = vTicketOld GROUP BY s.itemFk;
|
WHERE s.ticketFk = vTicketOld GROUP BY s.itemFk;
|
||||||
|
|
||||||
CALL catalog_componentCalculate(vAddress,vAgencyMode);
|
CALL catalog_componentCalculate(vZoneFk, vAddress, vAgencyMode);
|
||||||
|
|
||||||
-- Bionizamos lineas con Preu = 0
|
-- Bionizamos lineas con Preu = 0
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.sale;
|
DROP TEMPORARY TABLE IF EXISTS tmp.sale;
|
||||||
|
@ -64,14 +74,6 @@ BEGIN
|
||||||
AND s.price > 0;
|
AND s.price > 0;
|
||||||
|
|
||||||
CALL ticketComponentUpdateSale(6);
|
CALL ticketComponentUpdateSale(6);
|
||||||
|
|
||||||
IF vLanded IS NULL THEN
|
|
||||||
CALL zone_getLanded(vShipped, vAddress, vAgency,vWarehouse);
|
|
||||||
UPDATE ticket t
|
|
||||||
JOIN tmp.zoneGetLanded zgl ON t.warehouseFk = zgl.warehouseFk
|
|
||||||
SET t.landed = zgl.landed
|
|
||||||
WHERE t.id = vTicketNew;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- Log
|
-- Log
|
||||||
CALL `logAdd`(vTicketNew, 'update', ' ticket' , 'Bioniza Ticket');
|
CALL `logAdd`(vTicketNew, 'update', ' ticket' , 'Bioniza Ticket');
|
||||||
|
@ -83,4 +85,4 @@ BEGIN
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetLanded;
|
DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetLanded;
|
||||||
END$$
|
END$$
|
||||||
|
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
Loading…
Reference in New Issue