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 vSelf The order identifier
* @param vUser The user identifier * @param vUser The user identifier
*/ */
DECLARE vIsOk BOOL; DECLARE vHasRows BOOL;
DECLARE vDone BOOL; DECLARE vDone BOOL;
DECLARE vWarehouseFk INT; DECLARE vWarehouseFk INT;
DECLARE vShipment DATE; DECLARE vShipment DATE;
DECLARE vShipmentDayEnd DATE; DECLARE vShipmentDayEnd DATETIME;
DECLARE vTicketFk INT; DECLARE vTicketFk INT;
DECLARE vNotes VARCHAR(255); DECLARE vNotes VARCHAR(255);
DECLARE vItemFk INT; DECLARE vItemFk INT;
@ -32,7 +32,6 @@ BEGIN
DECLARE vCompanyFk INT; DECLARE vCompanyFk INT;
DECLARE vAgencyModeFk INT; DECLARE vAgencyModeFk INT;
DECLARE vCalcFk INT; DECLARE vCalcFk INT;
DECLARE vIsLogifloraItem BOOL;
DECLARE vIsTaxDataChecked BOOL; DECLARE vIsTaxDataChecked BOOL;
DECLARE vDates CURSOR FOR DECLARE vDates CURSOR FOR
@ -49,8 +48,7 @@ BEGIN
r.itemFk, r.itemFk,
i.name, i.name,
r.amount, r.amount,
r.price, r.price
i.isFloramondo
FROM orderRow r FROM orderRow r
JOIN vn.item i ON i.id = r.itemFk JOIN vn.item i ON i.id = r.itemFk
WHERE r.amount WHERE r.amount
@ -104,12 +102,12 @@ BEGIN
CALL order_checkEditable(vSelf); CALL order_checkEditable(vSelf);
-- Check order is not empty -- Check order is not empty
SELECT COUNT(*) > 0 INTO vIsOk SELECT COUNT(*) > 0 INTO vHasRows
FROM orderRow FROM orderRow
WHERE orderFk = vSelf WHERE orderFk = vSelf
AND amount > 0; AND amount > 0;
IF NOT vIsOk THEN IF NOT vHasRows THEN
CALL util.throw('ORDER_EMPTY'); CALL util.throw('ORDER_EMPTY');
END IF; END IF;
@ -209,8 +207,8 @@ BEGIN
-- Añade las notas -- Añade las notas
IF vNotes IS NOT NULL AND vNotes <> '' THEN IF vNotes IS NOT NULL AND vNotes <> '' THEN
INSERT INTO vn.ticketObservation SET INSERT INTO vn.ticketObservation
ticketFk = vTicketFk, SET ticketFk = vTicketFk,
observationTypeFk = (SELECT id FROM vn.observationType WHERE code = 'salesPerson'), observationTypeFk = (SELECT id FROM vn.observationType WHERE code = 'salesPerson'),
`description` = vNotes `description` = vNotes
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
@ -222,12 +220,7 @@ BEGIN
lRows: LOOP lRows: LOOP
SET vSaleFk = NULL; SET vSaleFk = NULL;
SET vDone = FALSE; SET vDone = FALSE;
FETCH vRows INTO vRowFk, FETCH vRows INTO vRowFk, vItemFk, vConcept, vAmount, vPrice;
vItemFk,
vConcept,
vAmount,
vPrice,
vIsLogifloraItem;
IF vDone THEN IF vDone THEN
LEAVE lRows; LEAVE lRows;
@ -277,48 +270,6 @@ BEGIN
UPDATE orderRow UPDATE orderRow
SET saleFk = vSaleFk SET saleFk = vSaleFk
WHERE id = vRowFk; 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; END LOOP;
CLOSE vRows; CLOSE vRows;
END LOOP; END LOOP;