fix: refs #7213 problem rounding #2903
|
@ -4,8 +4,9 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`sale_setProblemRoun
|
||||||
)
|
)
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Update rounding problem for all sales related to a buy
|
* Update rounding problem for all sales related to a buy.
|
||||||
carlosap marked this conversation as resolved
Outdated
guillermo
commented
Outdated
Review
```
/**
* Update rounding problem for all sales related to a buy.
*
* @param vBuyFk Buy id
*/
```
|
|||||||
* @param vBuyFk Id buy
|
*
|
||||||
|
* @param vBuyFk Buy id
|
||||||
*/
|
*/
|
||||||
DECLARE vItemFk INT;
|
DECLARE vItemFk INT;
|
||||||
DECLARE vWareHouseFk INT;
|
DECLARE vWareHouseFk INT;
|
||||||
|
@ -18,16 +19,16 @@ BEGIN
|
||||||
|
|
||||||
SELECT b.itemFk, t.warehouseInFk
|
SELECT b.itemFk, t.warehouseInFk
|
||||||
INTO vItemFk, vWareHouseFk
|
INTO vItemFk, vWareHouseFk
|
||||||
carlosap marked this conversation as resolved
guillermo
commented
No utilizar No utilizar `vn.`
|
|||||||
FROM vn.buy b
|
FROM buy b
|
||||||
JOIN vn.entry e ON e.id = b.entryFk
|
JOIN entry e ON e.id = b.entryFk
|
||||||
JOIN vn.travel t ON t.id = e.travelFk
|
JOIN travel t ON t.id = e.travelFk
|
||||||
WHERE b.id = vBuyFk;
|
WHERE b.id = vBuyFk;
|
||||||
|
|
||||||
SELECT DATE(MAX(t.shipped)) + INTERVAL 1 DAY, DATE(MIN(t.shipped))
|
SELECT DATE(MAX(t.shipped)) + INTERVAL 1 DAY, DATE(MIN(t.shipped))
|
||||||
INTO vMaxDated, vMinDated
|
INTO vMaxDated, vMinDated
|
||||||
FROM sale s
|
FROM sale s
|
||||||
JOIN ticket t ON t.id = s.ticketFk
|
JOIN ticket t ON t.id = s.ticketFk
|
||||||
carlosap marked this conversation as resolved
guillermo
commented
util.VN_CURDATE() util.VN_CURDATE()
|
|||||||
WHERE t.shipped >= CURDATE()
|
WHERE t.shipped >= util.VN_CURDATE()
|
||||||
AND s.itemFk = vItemFk
|
AND s.itemFk = vItemFk
|
||||||
AND s.quantity > 0;
|
AND s.quantity > 0;
|
||||||
|
|
||||||
|
@ -55,15 +56,15 @@ BEGIN
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.sale
|
CREATE OR REPLACE TEMPORARY TABLE tmp.sale
|
||||||
carlosap marked this conversation as resolved
guillermo
commented
ENGINE = MEMORY ENGINE = MEMORY
|
|||||||
(INDEX(saleFk, isProblemCalcNeeded))
|
(INDEX(saleFk, isProblemCalcNeeded))
|
||||||
carlosap marked this conversation as resolved
Outdated
guillermo
commented
espacio entre el alias y la , espacio entre el alias y la ,
|
|||||||
SELECT s.id saleFk ,
|
ENGINE = MEMORY
|
||||||
|
SELECT s.id saleFk,
|
||||||
MOD(s.quantity, vGrouping) hasProblem,
|
MOD(s.quantity, vGrouping) hasProblem,
|
||||||
ticket_isProblemCalcNeeded(t.id) isProblemCalcNeeded
|
ticket_isProblemCalcNeeded(t.id) isProblemCalcNeeded
|
||||||
FROM sale s
|
FROM sale s
|
||||||
JOIN ticket t ON t.id = s.ticketFk
|
JOIN ticket t ON t.id = s.ticketFk
|
||||||
WHERE s.itemFk = vItemFk
|
WHERE s.itemFk = vItemFk
|
||||||
carlosap marked this conversation as resolved
guillermo
commented
Per que no fiques aço en una linea? No he vist ningún lloc aon no se fique el BETWEEN seguit Per que no fiques aço en una linea? No he vist ningún lloc aon no se fique el BETWEEN seguit
|
|||||||
AND s.quantity > 0
|
AND s.quantity > 0
|
||||||
AND t.shipped BETWEEN vMinDated
|
AND t.shipped BETWEEN vMinDated AND util.dayEnd(vMaxDated);
|
||||||
AND util.dayEnd(vMaxDated);
|
|
||||||
|
|
||||||
CALL sale_setProblem('hasRounding');
|
CALL sale_setProblem('hasRounding');
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue