feat: refs #6453 Requested changes
gitea/salix/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Guillermo Bonet 2024-07-30 10:14:20 +02:00
parent 6ad3d5a5eb
commit b6abcbe090
1 changed files with 8 additions and 57 deletions

View File

@ -11,11 +11,11 @@ BEGIN
* @param vSelf The order identifier
* @param vUser The user identifier
*/
DECLARE vIsOk BOOL;
DECLARE vHasRows BOOL;
DECLARE vDone BOOL;
DECLARE vWarehouseFk INT;
DECLARE vShipment DATE;
DECLARE vShipmentDayEnd DATE;
DECLARE vShipmentDayEnd DATETIME;
DECLARE vTicketFk INT;
DECLARE vNotes VARCHAR(255);
DECLARE vItemFk INT;
@ -32,7 +32,6 @@ BEGIN
DECLARE vCompanyFk INT;
DECLARE vAgencyModeFk INT;
DECLARE vCalcFk INT;
DECLARE vIsLogifloraItem BOOL;
DECLARE vIsTaxDataChecked BOOL;
DECLARE vDates CURSOR FOR
@ -49,8 +48,7 @@ BEGIN
r.itemFk,
i.name,
r.amount,
r.price,
i.isFloramondo
r.price
FROM orderRow r
JOIN vn.item i ON i.id = r.itemFk
WHERE r.amount
@ -104,12 +102,12 @@ BEGIN
CALL order_checkEditable(vSelf);
-- Check order is not empty
SELECT COUNT(*) > 0 INTO vIsOk
SELECT COUNT(*) > 0 INTO vHasRows
FROM orderRow
WHERE orderFk = vSelf
AND amount > 0;
IF NOT vIsOk THEN
IF NOT vHasRows THEN
CALL util.throw('ORDER_EMPTY');
END IF;
@ -209,8 +207,8 @@ BEGIN
-- Añade las notas
IF vNotes IS NOT NULL AND vNotes <> '' THEN
INSERT INTO vn.ticketObservation SET
ticketFk = vTicketFk,
INSERT INTO vn.ticketObservation
SET ticketFk = vTicketFk,
observationTypeFk = (SELECT id FROM vn.observationType WHERE code = 'salesPerson'),
`description` = vNotes
ON DUPLICATE KEY UPDATE
@ -222,12 +220,7 @@ BEGIN
lRows: LOOP
SET vSaleFk = NULL;
SET vDone = FALSE;
FETCH vRows INTO vRowFk,
vItemFk,
vConcept,
vAmount,
vPrice,
vIsLogifloraItem;
FETCH vRows INTO vRowFk, vItemFk, vConcept, vAmount, vPrice;
IF vDone THEN
LEAVE lRows;
@ -277,48 +270,6 @@ BEGIN
UPDATE orderRow
SET saleFk = vSaleFk
WHERE id = vRowFk;
-- Inserta en putOrder si la compra es de Floramondo
IF vIsLogifloraItem THEN
CALL cache.availableNoRaids_refresh(vCalcFk, FALSE,vWarehouseFk, vShipment);
SELECT GREATEST(0, available) INTO vAvailable
FROM cache.availableNoRaids
WHERE calc_id = vCalcFk
AND item_id = vItemFk;
UPDATE cache.availableNoRaids
SET available = GREATEST(0, available - vAmount)
WHERE item_id = vItemFk
AND calc_id = vCalcFk;
INSERT INTO edi.putOrder (
deliveryInformationID,
supplyResponseId,
quantity ,
EndUserPartyId,
EndUserPartyGLN,
FHAdminNumber,
saleFk
)
SELECT di.ID,
i.supplyResponseFk,
CEIL((vAmount - vAvailable)/ sr.NumberOfItemsPerCask),
o.address_id ,
vClientFk,
IFNULL(ca.fhAdminNumber, fhc.defaultAdminNumber),
vSaleFk
FROM edi.deliveryInformation di
JOIN vn.item i ON i.supplyResponseFk = di.supplyResponseID
JOIN edi.supplyResponse sr ON sr.ID = i.supplyResponseFk
LEFT JOIN edi.clientFHAdminNumber ca ON ca.clientFk = vClientFk
JOIN edi.floraHollandConfig fhc
JOIN `order` o ON o.id = vSelf
WHERE i.id = vItemFk
AND di.LatestOrderDateTime > util.VN_NOW()
AND vAmount > vAvailable
LIMIT 1;
END IF;
END LOOP;
CLOSE vRows;
END LOOP;