refactor: refs #6453 order_confirmWithUser #2694

Merged
guillermo merged 16 commits from 6453-orderConfirm into dev 2024-08-02 10:15:00 +00:00
1 changed files with 8 additions and 57 deletions
Showing only changes of commit b6abcbe090 - Show all commits

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;
guillermo marked this conversation as resolved Outdated

si es dayend deu ser DATETIME

si es dayend deu ser 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
guillermo marked this conversation as resolved Outdated

el isOk es una cosa antiga d'un camp que ja no existeix.
Jo posaria vHasRows que es molt mes intuitiu per a qui vinga raere.

el isOk es una cosa antiga d'un camp que ja no existeix. Jo posaria vHasRows que es molt mes intuitiu per a qui vinga raere.
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'),
guillermo marked this conversation as resolved
Review

ticket_add que es crida dalt ja fa insert en la taula ticketObservation y es el que realment deuria fer-ho. Fes una proba per confirmar si este codi esta duplicant les observacions i si es així ho lleves.

ticket_add que es crida dalt ja fa insert en la taula ticketObservation y es el que realment deuria fer-ho. Fes una proba per confirmar si este codi esta duplicant les observacions i si es així ho lleves.
Review

He revisat el codi, i ahí soles se inserta la observació del order, per lo tant, es correcte, no es duplica res

He revisat el codi, i ahí soles se inserta la observació del order, per lo tant, es correcte, no es duplica res
`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;