feat: refs #7956 itemGetSimilar #2945

Merged
jgallego merged 5 commits from 7956-itemGetSimilar into dev 2024-09-17 05:28:49 +00:00
1 changed files with 102 additions and 84 deletions
Showing only changes of commit 56e6a7e6aa - Show all commits

View File

@ -1,27 +1,26 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getSimilar`(
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_getSimilar`(
vSelf INT,
vWarehouseFk INT,
vDated DATE,
vShowType BOOL
vShowType BOOL,
vDaysInForward INT
)
BEGIN
/**
* Propone articulos disponibles ordenados, con la cantidad
* Propone articulos ordenados, con la cantidad
* de veces usado y segun sus caracteristicas.
*
* @param vSelf Id de artículo
* @param vWarehouseFk Id de almacen
* @param vDated Fecha
* @param vShowType Mostrar tipos
* @param vDaysInForward Días de alcance para las ventas
*/
DECLARE vAvailableCalcFk INT;
DECLARE vVisibleCalcFk INT;
DECLARE vTypeFk INT;
DECLARE vPriority INT DEFAULT 1;
CALL cache.available_refresh(vAvailableCalcFk, FALSE, vWarehouseFk, vDated);
CALL cache.visible_refresh(vVisibleCalcFk, FALSE, vWarehouseFk);
jgallego marked this conversation as resolved Outdated

Yo no quitaría esto, creo que lo qu fue que hizo que item_getSimilar dejara de dar problemas

Yo no quitaría esto, creo que lo qu fue que hizo que item_getSimilar dejara de dar problemas

Ja pero no podem deixar-ho perque pense que pot ser que falle, si no es necesari, jo ho llevaria i estem pendents a vore..pero en principi no veig rao per a que falle.

Ja pero no podem deixar-ho perque pense que pot ser que falle, si no es necesari, jo ho llevaria i estem pendents a vore..pero en principi no veig rao per a que falle.

Desde que ho vaig ficar no ha tornat a fallar ni a donat problemes, pero si vols provem.

Desde que ho vaig ficar no ha tornat a fallar ni a donat problemes, pero si vols provem.
WITH itemTags AS (
SELECT i.id,
@ -41,8 +40,26 @@ BEGIN
AND it.priority = vPriority
LEFT JOIN vn.tag t ON t.id = it.tagFk
WHERE i.id = vSelf
),
stock AS (
SELECT itemFk, SUM(visible) stock
FROM vn.itemShelvingStock
WHERE warehouseFk = vWarehouseFk
GROUP BY itemFk
),
sold AS (
SELECT SUM(s.quantity) AS quantity,
guillermo marked this conversation as resolved Outdated

Quitar AS

Quitar AS
s.itemFk
FROM vn.sale s
JOIN vn.ticket t ON t.id = s.ticketFk
LEFT JOIN vn.itemShelvingSale iss ON iss.saleFk = s.id
WHERE t.shipped BETWEEN CURDATE() AND CURDATE() + INTERVAL vDaysInForward DAY
AND iss.saleFk IS NULL
AND t.warehouseFk = vWarehouseFk
GROUP BY s.itemFk
)
SELECT i.id itemFk,
guillermo marked this conversation as resolved
Review

Por que le metes un cast?

Por que le metes un cast?
Review

en access lo devuelve con 124.00 tipo string y no se visualiza bien, aunque le diga que no saque decimales como no sabe que es un numero lo saca igual

en access lo devuelve con 124.00 tipo string y no se visualiza bien, aunque le diga que no saque decimales como no sabe que es un numero lo saca igual
CAST(sd.quantity AS INT) advanceable,
i.longName,
i.subName,
i.tag5,
@ -64,13 +81,13 @@ BEGIN
WHEN b.groupingMode = 'packing' THEN b.packing
ELSE 1
END minQuantity,
v.visible located,
sk.stock located,
b.price2
FROM vn.item i
LEFT JOIN sold sd ON sd.itemFk = i.id
JOIN cache.available a ON a.item_id = i.id
AND a.calc_id = vAvailableCalcFk
LEFT JOIN cache.visible v ON v.item_id = i.id
AND v.calc_id = vVisibleCalcFk
LEFT JOIN stock sk ON sk.itemFk = i.id
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id
AND lb.warehouse_id = vWarehouseFk
LEFT JOIN vn.itemProposal ip ON ip.mateFk = i.id
@ -80,10 +97,11 @@ BEGIN
LEFT JOIN vn.tag t ON t.id = it.tagFk
LEFT JOIN vn.buy b ON b.id = lb.buy_id
JOIN itemTags its
WHERE a.available > 0
WHERE (a.available > 0 OR sd.quantity < sk.stock)
AND (i.typeFk = its.typeFk OR NOT vShowType)
AND i.id <> vSelf
ORDER BY `counter` DESC,
ORDER BY (a.available > 0) DESC,
`counter` DESC,
(t.name = its.name) DESC,
(it.value = its.value) DESC,
(i.tag5 = its.tag5) DESC,