From 8e82a6d0f1ab948905418c7ccd67ccce2f1cc44b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Tue, 4 Mar 2025 08:03:59 +0000 Subject: [PATCH 01/11] Actualizar db/routines/cache/procedures/available_refresh.sql --- db/routines/cache/procedures/available_refresh.sql | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db/routines/cache/procedures/available_refresh.sql b/db/routines/cache/procedures/available_refresh.sql index 2f105e29cc..f53f27cd22 100644 --- a/db/routines/cache/procedures/available_refresh.sql +++ b/db/routines/cache/procedures/available_refresh.sql @@ -93,8 +93,7 @@ proc: BEGIN FROM vn.itemEntryIn i JOIN itemRange ir ON ir.itemFk = i.itemFk LEFT JOIN edi.warehouseFloramondo wf ON wf.entryFk = i.entryFk - WHERE IFNULL(i.availabled, i.landed) >= vStartDate - AND IFNULL(i.availabled, i.landed) <= vAvailabled + WHERE i.availabled >= vAvailabled AND (ir.ended IS NULL OR IFNULL(i.availabled, i.landed) <= ir.ended) AND i.warehouseInFk = vWarehouse AND wf.entryFk IS NULL From 3b1e906a870c3eccb1776fb96e9184813ea8a9f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Tue, 4 Mar 2025 08:20:30 +0000 Subject: [PATCH 02/11] Actualizar db/routines/vn/procedures/item_getStock.sql --- db/routines/vn/procedures/item_getStock.sql | 32 ++++++++------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/db/routines/vn/procedures/item_getStock.sql b/db/routines/vn/procedures/item_getStock.sql index 4639521857..25429371b3 100644 --- a/db/routines/vn/procedures/item_getStock.sql +++ b/db/routines/vn/procedures/item_getStock.sql @@ -1,21 +1,21 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getStock`( vWarehouseFk SMALLINT, - vDated DATE, + vAvailabled DATETIME, vItemFk INT ) BEGIN /** * Calcula el stock de un artículo de un vWarehouseFk, - * desde la fecha del inventario hasta vDated + * desde la fecha del inventario hasta el momento anterior a vAvailabled * * @param vWarehouse Warehouse id - * @param vDated Max date to filter + * @param vAvailabled Maximum time to filter * @param vItemFk Item id * * @return tmp.itemList(itemFk, stock, visible, available) */ - SET vDated = TIMESTAMP(vDated, '00:00:00'); + CALL cache.stock_refresh(FALSE); CREATE OR REPLACE TEMPORARY TABLE tmp.itemList (UNIQUE INDEX i USING HASH (itemFk)) @@ -28,15 +28,15 @@ BEGIN SELECT itemFk, quantity FROM itemTicketOut WHERE shipped >= util.VN_CURDATE() - AND shipped < vDated + AND shipped < vAvailabled AND warehouseFk = vWarehouseFk AND (vItemFk IS NULL OR itemFk = vItemFk) UNION ALL SELECT iei.itemFk, iei.quantity FROM itemEntryIn iei JOIN item i ON i.id = iei.itemFk - WHERE IFNULL(iei.availabled, iei.landed) >= util.VN_CURDATE() - AND IFNULL(iei.availabled, iei.landed) < vDated + WHERE iei.availabled >= util.VN_CURDATE() + AND iei.availabled < vAvailabled AND iei.warehouseInFk = vWarehouseFk AND (vItemFk IS NULL OR iei.itemFk = vItemFk) UNION ALL @@ -44,23 +44,15 @@ BEGIN FROM itemEntryOut ieo JOIN item i ON i.id = ieo.itemFk WHERE ieo.shipped >= util.VN_CURDATE() - AND ieo.shipped < vDated + AND ieo.shipped < vAvailabled AND ieo.warehouseOutFk = vWarehouseFk AND (vItemFk IS NULL OR ieo.itemFk = vItemFk) + UNION ALL + SELECT item_id, amount + FROM cache.stock + WHERE warehouse_id = vWarehouseFk ) sub GROUP BY itemFk HAVING stock; - - CALL cache.stock_refresh(FALSE); - - INSERT INTO tmp.itemList(itemFk, stock, visible, available) - SELECT item_id, amount, amount, amount - FROM cache.stock - WHERE warehouse_id = vWarehouseFk - AND (vItemFk IS NULL OR vItemFk = item_id) - ON DUPLICATE KEY UPDATE - stock = stock + VALUES(stock), - visible = visible + VALUES(visible), - available = available + VALUES(available); END$$ DELIMITER ; From b7d972593a4f0837c99082bc4676962252dc0dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Tue, 4 Mar 2025 08:36:35 +0000 Subject: [PATCH 03/11] Actualizar db/routines/vn/procedures/item_getBalance.sql --- db/routines/vn/procedures/item_getBalance.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/routines/vn/procedures/item_getBalance.sql b/db/routines/vn/procedures/item_getBalance.sql index a68724eb50..580e78a83e 100644 --- a/db/routines/vn/procedures/item_getBalance.sql +++ b/db/routines/vn/procedures/item_getBalance.sql @@ -99,7 +99,7 @@ BEGIN ), sales AS ( WITH itemSales AS ( - SELECT DATE(t.shipped) + INTERVAL HOUR(z.`hour`) HOUR shipped, + SELECT DATE(t.shipped) + INTERVAL HOUR(IFNULL(z.`hour`,0)) HOUR shipped, s.quantity, st2.alertLevel, st2.name, @@ -114,7 +114,7 @@ BEGIN cb.claimFk FROM vn.sale s JOIN vn.ticket t ON t.id = s.ticketFk - JOIN vn.`zone` z ON z.id = t.zoneFk + LEFT JOIN vn.`zone` z ON z.id = t.zoneFk LEFT JOIN vn.ticketState ts ON ts.ticketFk = t.id LEFT JOIN vn.state st ON st.code = ts.code JOIN vn.client c ON c.id = t.clientFk From 06068c41c92b8b63b38162e6096fdbd8ed735b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Tue, 4 Mar 2025 08:38:44 +0000 Subject: [PATCH 04/11] Actualizar db/routines/vn/procedures/item_getMinacum.sql --- db/routines/vn/procedures/item_getMinacum.sql | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/db/routines/vn/procedures/item_getMinacum.sql b/db/routines/vn/procedures/item_getMinacum.sql index e3c9158200..9efd597dc2 100644 --- a/db/routines/vn/procedures/item_getMinacum.sql +++ b/db/routines/vn/procedures/item_getMinacum.sql @@ -1,7 +1,7 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getMinacum`( vWarehouseFk TINYINT, - vDated DATE, + vAvailabled DATETIME, vRange INT, vItemFk INT ) @@ -11,11 +11,12 @@ BEGIN * especificado, en caso de NULL para todos. * * @param vWarehouseFk Id warehouse - * @param vDated Fecha inicio + * @param vAvailabled Fecha inicio * @param vRange Número de días a considerar * @param vItemFk Id de artículo * @return tmp.itemMinacum */ + DECLARE vDated DATE DEFAULT DATE(vAvailabled); DECLARE vDatedTo DATETIME DEFAULT util.dayEnd(vDated + INTERVAL vRange DAY); CREATE OR REPLACE TEMPORARY TABLE tmp.itemCalc @@ -27,25 +28,25 @@ BEGIN sub.warehouseFk FROM ( SELECT s.itemFk, - DATE(t.shipped) dated, + t.shipped dated, -s.quantity quantity, t.warehouseFk FROM sale s JOIN ticket t ON t.id = s.ticketFk - WHERE t.shipped BETWEEN vDated AND vDatedTo + WHERE t.shipped BETWEEN vAvailabled AND vDatedTo AND t.warehouseFk AND s.quantity <> 0 AND (vItemFk IS NULL OR s.itemFk = vItemFk) AND (vWarehouseFk IS NULL OR t.warehouseFk = vWarehouseFk) UNION ALL SELECT b.itemFk, - t.landed, + t.availabled, b.quantity, t.warehouseInFk FROM buy b JOIN entry e ON e.id = b.entryFk JOIN travel t ON t.id = e.travelFk - WHERE t.landed BETWEEN vDated AND vDatedTo + WHERE t.availabled BETWEEN vAvailabled AND vDatedTo AND (vWarehouseFk IS NULL OR t.warehouseInFk = vWarehouseFk) AND NOT e.isExcludedFromAvailable AND b.quantity <> 0 @@ -58,7 +59,7 @@ BEGIN FROM buy b JOIN entry e ON e.id = b.entryFk JOIN travel t ON t.id = e.travelFk - WHERE t.shipped BETWEEN vDated AND vDatedTo + WHERE t.shipped BETWEEN vAvailabled AND vDatedTo AND (vWarehouseFk IS NULL OR t.warehouseOutFk = vWarehouseFk) AND NOT e.isExcludedFromAvailable AND b.quantity <> 0 @@ -84,7 +85,7 @@ BEGIN ) sub GROUP BY sub.itemFk, sub.warehouseFk, sub.dated; - CALL item_getAtp(vDated); + CALL item_getAtp(vAvailabled); CREATE OR REPLACE TEMPORARY TABLE tmp.itemMinacum (INDEX(itemFk)) From dd0bcd66cff617a9cf2a6d358ba453a7d07260c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Tue, 4 Mar 2025 09:45:24 +0100 Subject: [PATCH 05/11] fix: comment out time adjustment logic in beforeInsert and beforeUpdate triggers --- db/routines/vn/triggers/ticket_beforeInsert.sql | 6 +++--- db/routines/vn/triggers/ticket_beforeUpdate.sql | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/db/routines/vn/triggers/ticket_beforeInsert.sql b/db/routines/vn/triggers/ticket_beforeInsert.sql index 1cfd8fa48b..fa57391275 100644 --- a/db/routines/vn/triggers/ticket_beforeInsert.sql +++ b/db/routines/vn/triggers/ticket_beforeInsert.sql @@ -7,11 +7,11 @@ BEGIN SET NEW.editorFk = account.myUser_getId(); - SELECT TIME(hour) INTO vTime + /* SELECT TIME(hour) INTO vTime FROM zone WHERE id = NEW.zoneFk; -/* IF vTime IS NOT NULL THEN + IF vTime IS NOT NULL THEN SET NEW.shipped = ADDTIME(DATE(NEW.shipped), vTime); - END IF;*/ + END IF; */ END$$ DELIMITER ; diff --git a/db/routines/vn/triggers/ticket_beforeUpdate.sql b/db/routines/vn/triggers/ticket_beforeUpdate.sql index df7d1324c7..7d3b000ffd 100644 --- a/db/routines/vn/triggers/ticket_beforeUpdate.sql +++ b/db/routines/vn/triggers/ticket_beforeUpdate.sql @@ -86,6 +86,6 @@ BEGIN IF vZoneTime IS NOT NULL THEN SET NEW.shipped = ADDTIME(DATE(NEW.shipped), vZoneTime); END IF; - END IF;*/ + END IF; */ END$$ DELIMITER ; From 9958c0509de7c69e8e5a56f51d3335fcd4e17e67 Mon Sep 17 00:00:00 2001 From: provira Date: Tue, 4 Mar 2025 10:09:52 +0100 Subject: [PATCH 06/11] feat: refs #8408 town and province update to remove uppercase names --- db/versions/11476-chocolateEucalyptus/00-firstScript.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 db/versions/11476-chocolateEucalyptus/00-firstScript.sql diff --git a/db/versions/11476-chocolateEucalyptus/00-firstScript.sql b/db/versions/11476-chocolateEucalyptus/00-firstScript.sql new file mode 100644 index 0000000000..c79982afc5 --- /dev/null +++ b/db/versions/11476-chocolateEucalyptus/00-firstScript.sql @@ -0,0 +1,9 @@ +UPDATE town + SET name = CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) + WHERE name IS NOT NULL + AND BINARY name = UPPER(name); + +UPDATE province + SET name = CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) + WHERE name IS NOT NULL + AND BINARY name = UPPER(name); \ No newline at end of file From 139e7d064d9255a421f6bacf84dd050bdd0328ba Mon Sep 17 00:00:00 2001 From: provira Date: Tue, 4 Mar 2025 10:23:51 +0100 Subject: [PATCH 07/11] feat: refs #8408 town, province, autonomy and country update to remove uppercase names --- .../11476-chocolateEucalyptus/00-firstScript.sql | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/db/versions/11476-chocolateEucalyptus/00-firstScript.sql b/db/versions/11476-chocolateEucalyptus/00-firstScript.sql index c79982afc5..40ed052e75 100644 --- a/db/versions/11476-chocolateEucalyptus/00-firstScript.sql +++ b/db/versions/11476-chocolateEucalyptus/00-firstScript.sql @@ -1,9 +1,19 @@ -UPDATE town +UPDATE vn.town SET name = CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) WHERE name IS NOT NULL AND BINARY name = UPPER(name); -UPDATE province +UPDATE vn.province + SET name = CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) + WHERE name IS NOT NULL + AND BINARY name = UPPER(name); + +UPDATE vn.autonomy + SET name = CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) + WHERE name IS NOT NULL + AND BINARY name = UPPER(name); + +UPDATE vn.country SET name = CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) WHERE name IS NOT NULL AND BINARY name = UPPER(name); \ No newline at end of file From 729185f9215c99e37906838fd5ee7894cb918cd4 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 4 Mar 2025 10:25:19 +0100 Subject: [PATCH 08/11] fix: fix salesFilter excluding ticket filtered --- modules/monitor/back/methods/sales-monitor/salesFilter.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/modules/monitor/back/methods/sales-monitor/salesFilter.js b/modules/monitor/back/methods/sales-monitor/salesFilter.js index ce50fec6aa..38c7082252 100644 --- a/modules/monitor/back/methods/sales-monitor/salesFilter.js +++ b/modules/monitor/back/methods/sales-monitor/salesFilter.js @@ -262,10 +262,7 @@ module.exports = Self => { (INDEX (ticketFk)) ENGINE = MEMORY SELECT f.id ticketFk - FROM tmp.filter f - LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) - AND f.shipped >= ?`, [date]); + FROM tmp.filter f`); stmts.push(stmt); stmts.push('CALL ticket_getProblems(FALSE)'); @@ -288,7 +285,7 @@ module.exports = Self => { stmts.push(stmt); stmt = new ParameterizedSQL(` - SELECT * + SELECT f.*, tp.* FROM tmp.filter f LEFT JOIN tmp.ticketProblems tp ON tp.ticketFk = f.id LEFT JOIN tmp.ticket_warnings tw ON tw.ticketFk = f.id From d7f06b7df9a5b997310f80d961bb196d9fb2add3 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 4 Mar 2025 10:33:48 +0100 Subject: [PATCH 09/11] fix: fixed salesFilter test --- .../back/methods/sales-monitor/specs/salesFilter.spec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/monitor/back/methods/sales-monitor/specs/salesFilter.spec.js b/modules/monitor/back/methods/sales-monitor/specs/salesFilter.spec.js index 1b4616de73..7b0bfc800b 100644 --- a/modules/monitor/back/methods/sales-monitor/specs/salesFilter.spec.js +++ b/modules/monitor/back/methods/sales-monitor/specs/salesFilter.spec.js @@ -68,7 +68,7 @@ describe('SalesMonitor salesFilter()', () => { const filter = {}; const result = await models.SalesMonitor.salesFilter(ctx, filter, options); - expect(result.length).toEqual(5); + expect(result.length).toEqual(8); await tx.rollback(); } catch (e) { @@ -254,8 +254,8 @@ describe('SalesMonitor salesFilter()', () => { const firstTicket = result.shift(); const secondTicket = result.shift(); - expect(firstTicket.totalProblems).toEqual(null); - expect(secondTicket.totalProblems).toEqual(null); + expect(firstTicket.totalProblems).toEqual(0); + expect(secondTicket.totalProblems).toEqual(0); await tx.rollback(); } catch (e) { From 8eefcf53d0b7fd5d920fd225a142fa637eca8941 Mon Sep 17 00:00:00 2001 From: Pako Date: Tue, 4 Mar 2025 11:51:15 +0100 Subject: [PATCH 10/11] fix(priceDelta): removes not null restriction for itemTypeFk refs#8674 --- db/versions/11477-maroonCarnation/00-firstScript.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 db/versions/11477-maroonCarnation/00-firstScript.sql diff --git a/db/versions/11477-maroonCarnation/00-firstScript.sql b/db/versions/11477-maroonCarnation/00-firstScript.sql new file mode 100644 index 0000000000..2ad2b9688d --- /dev/null +++ b/db/versions/11477-maroonCarnation/00-firstScript.sql @@ -0,0 +1,3 @@ +-- Place your SQL code here +ALTER TABLE vn.priceDelta MODIFY COLUMN itemTypeFk smallint(5) unsigned NULL; + From d14937fd645db8a62743edb2afb5b67056e2bdb0 Mon Sep 17 00:00:00 2001 From: guillermo Date: Tue, 4 Mar 2025 12:50:07 +0100 Subject: [PATCH 11/11] fix: refs #7956 item_getSimilar --- db/routines/vn/procedures/item_getSimilar.sql | 2 -- 1 file changed, 2 deletions(-) diff --git a/db/routines/vn/procedures/item_getSimilar.sql b/db/routines/vn/procedures/item_getSimilar.sql index 9a4417d84b..33c0023bbc 100644 --- a/db/routines/vn/procedures/item_getSimilar.sql +++ b/db/routines/vn/procedures/item_getSimilar.sql @@ -82,8 +82,6 @@ BEGIN AND it.priority = vPriority LEFT JOIN vn.tag t ON t.id = it.tagFk LEFT JOIN vn.buy b ON b.id = bu.buyFk - LEFT JOIN vn.itemShelvingStock iss ON iss.itemFk = i.id - AND iss.warehouseFk = vWarehouseFk LEFT JOIN vn.ink ink ON ink.id = i.tag5 JOIN itemTags its WHERE a.available > 0