Merge pull request 'feat(catalog_calculate): refs #8408 new concept availabled' (!3425) from 8408-Disponible-por-zonas-y-horas into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #3425 Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
This commit is contained in:
commit
4d5d38592f
|
@ -19,13 +19,15 @@ BEGIN
|
|||
* @return tmp.ticketComponentPrice
|
||||
*/
|
||||
DECLARE vAvailableCalc INT;
|
||||
DECLARE vAvailableNoRaidsCalc INT;
|
||||
DECLARE vAvailabled DATETIME;
|
||||
DECLARE vDone BOOL;
|
||||
DECLARE vHour INT;
|
||||
DECLARE vShipped DATE;
|
||||
DECLARE vWarehouseFk SMALLINT;
|
||||
DECLARE vZoneFk INT;
|
||||
DECLARE vDone BOOL;
|
||||
|
||||
DECLARE cTravelTree CURSOR FOR
|
||||
SELECT zoneFk, warehouseFk, shipped FROM tmp.zoneGetShipped;
|
||||
SELECT zoneFk, warehouseFk, shipped, `hour` FROM tmp.zoneGetShipped;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE;
|
||||
|
||||
|
@ -66,14 +68,15 @@ BEGIN
|
|||
OPEN cTravelTree;
|
||||
l: LOOP
|
||||
SET vDone = FALSE;
|
||||
FETCH cTravelTree INTO vZoneFk, vWarehouseFk, vShipped;
|
||||
FETCH cTravelTree INTO vZoneFk, vWarehouseFk, vShipped, vHour;
|
||||
|
||||
SET vAvailabled = vShipped + INTERVAL HOUR(vHour) HOUR;
|
||||
|
||||
IF vDone THEN
|
||||
LEAVE l;
|
||||
END IF;
|
||||
|
||||
CALL `cache`.available_refresh(vAvailableCalc, FALSE, vWarehouseFk, vShipped);
|
||||
CALL `cache`.availableNoRaids_refresh(vAvailableNoRaidsCalc, FALSE, vWarehouseFk, vShipped);
|
||||
|
||||
CALL `cache`.available_refresh(vAvailableCalc, FALSE, vWarehouseFk, vAvailabled);
|
||||
CALL buy_getUltimate(NULL, vWarehouseFk, vShipped);
|
||||
|
||||
INSERT INTO tmp.ticketLot (warehouseFk, itemFk, available, buyFk, zoneFk)
|
||||
|
@ -83,31 +86,10 @@ BEGIN
|
|||
bu.buyFk,
|
||||
vZoneFk
|
||||
FROM `cache`.available a
|
||||
LEFT JOIN cache.availableNoRaids anr ON anr.item_id = a.item_id
|
||||
AND anr.calc_id = vAvailableNoRaidsCalc
|
||||
JOIN tmp.item i ON i.itemFk = a.item_id
|
||||
JOIN item it ON it.id = i.itemFk
|
||||
JOIN `zone` z ON z.id = vZoneFk
|
||||
LEFT JOIN tmp.buyUltimate bu ON bu.itemFk = a.item_id
|
||||
LEFT JOIN edi.supplyResponse sr ON sr.ID = it.supplyResponseFk
|
||||
LEFT JOIN edi.VMPSettings v ON v.VMPID = sr.vmpID
|
||||
LEFT JOIN edi.marketPlace mp ON mp.id = sr.MarketPlaceID
|
||||
LEFT JOIN (SELECT isVNHSupplier, isEarlyBird, TRUE AS itemAllowed
|
||||
FROM addressFilter af
|
||||
JOIN (SELECT ad.provinceFk, p.countryFk, ad.isLogifloraAllowed
|
||||
FROM address ad
|
||||
JOIN province p ON p.id = ad.provinceFk
|
||||
WHERE ad.id = vAddressFk
|
||||
) sub2 ON sub2.provinceFk <=> IFNULL(af.provinceFk, sub2.provinceFk)
|
||||
AND sub2.countryFk <=> IFNULL(af.countryFk, sub2.countryFk)
|
||||
AND sub2.isLogifloraAllowed <=> IFNULL(af.isLogifloraAllowed, sub2.isLogifloraAllowed)
|
||||
WHERE vWarehouseFk = af.warehouseFk
|
||||
AND (vShipped < af.beforeDated
|
||||
OR ISNULL(af.beforeDated)
|
||||
OR vShipped > af.afterDated
|
||||
OR ISNULL(af.afterDated))
|
||||
) sub ON sub.isVNHSupplier = v.isVNHSupplier
|
||||
AND (sub.isEarlyBird = mp.isEarlyBird OR ISNULL(sub.isEarlyBird))
|
||||
JOIN agencyMode am ON am.id = vAgencyModeFk
|
||||
JOIN agency ag ON ag.id = am.agencyFk
|
||||
JOIN itemType itt ON itt.id = it.typeFk
|
||||
|
@ -124,7 +106,6 @@ BEGIN
|
|||
AND ait.itemTypeFk = itt.id
|
||||
WHERE a.calc_id = vAvailableCalc
|
||||
AND a.available > 0
|
||||
AND (sub.itemAllowed OR NOT it.isFloramondo OR anr.available > 0)
|
||||
AND (ag.isAnyVolumeAllowed OR NOT itt.isUnconventionalSize)
|
||||
AND (it.`size` IS NULL
|
||||
OR IF(itc.isReclining,
|
||||
|
|
Loading…
Reference in New Issue