From ea38e8916f4a5f27e9e7c5a958aa680d732421ae Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 3 Mar 2025 15:34:48 +0100 Subject: [PATCH 01/10] fix: newWorker --- modules/worker/back/methods/worker/new.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/worker/back/methods/worker/new.js b/modules/worker/back/methods/worker/new.js index 7da8a8da27..f1a960fe3a 100644 --- a/modules/worker/back/methods/worker/new.js +++ b/modules/worker/back/methods/worker/new.js @@ -9,6 +9,7 @@ module.exports = Self => { arg: 'fi', type: 'string', description: `The worker fi`, + required: true, }, { arg: 'name', type: 'string', From 68c028669dfea5823d18d2e4d5d9cd535561fac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Wed, 5 Mar 2025 11:32:27 +0100 Subject: [PATCH 02/10] fix: update item_getMinacum procedure to include vTime parameter and adjust date calculations --- db/routines/cache/procedures/stock_refresh.sql | 17 ++++++++--------- db/routines/vn/procedures/item_getLack.sql | 2 +- db/routines/vn/procedures/item_getMinacum.sql | 4 ++-- db/routines/vn/procedures/ticket_canAdvance.sql | 3 ++- db/routines/vn/procedures/ticket_getMovable.sql | 1 + 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/db/routines/cache/procedures/stock_refresh.sql b/db/routines/cache/procedures/stock_refresh.sql index ed69e63e5f..5aba123f44 100644 --- a/db/routines/cache/procedures/stock_refresh.sql +++ b/db/routines/cache/procedures/stock_refresh.sql @@ -1,9 +1,8 @@ DELIMITER $$ -$$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `cache`.`stock_refresh`(v_refresh BOOL) proc: BEGIN /** - * Crea o actualiza la cache con el disponible hasta el día de + * Crea o actualiza la cache con el disponible hasta el día de * ayer. Esta cache es usada como base para otros procedimientos * como el cálculo del visible o del ATP. * @@ -29,26 +28,26 @@ proc: BEGIN SET v_date_inv = vn.getInventoryDate(); SET vCURDATE = util.VN_CURDATE(); - + DELETE FROM stock; - + INSERT INTO stock (item_id, warehouse_id, amount) SELECT item_id, warehouse_id, SUM(amount) amount FROM ( - SELECT itemFk AS item_id, warehouseFk AS warehouse_id, quantity AS amount + SELECT itemFk AS item_id, warehouseFk AS warehouse_id, quantity AS amount FROM vn.itemTicketOut - WHERE shipped >= v_date_inv + WHERE shipped >= v_date_inv AND shipped < vCURDATE UNION ALL - SELECT itemFk ASitem_id, warehouseInFk AS warehouse_id, quantity AS amount + SELECT itemFk ASitem_id, warehouseInFk AS warehouse_id, quantity AS amount FROM vn.itemEntryIn WHERE availabled >= v_date_inv AND availabled < vCURDATE AND isVirtualStock is FALSE UNION ALL - SELECT itemFk AS item_id ,warehouseOutFk AS warehouse_id, quantity AS amount + SELECT itemFk AS item_id ,warehouseOutFk AS warehouse_id, quantity AS amount FROM vn.itemEntryOut - WHERE shipped >= v_date_inv + WHERE shipped >= v_date_inv AND shipped < vCURDATE ) t GROUP BY item_id, warehouse_id HAVING amount != 0; diff --git a/db/routines/vn/procedures/item_getLack.sql b/db/routines/vn/procedures/item_getLack.sql index c02b4963ce..9bebbe415d 100644 --- a/db/routines/vn/procedures/item_getLack.sql +++ b/db/routines/vn/procedures/item_getLack.sql @@ -21,7 +21,7 @@ BEGIN **/ CALL `cache`.stock_refresh(vForce); - CALL item_getMinacum(NULL, ADDTIME(util.VN_CURDATE(), vTime), vDays, NULL); + CALL item_getMinacum(NULL, util.VN_CURDATE(), vDays, vTime, NULL); CALL item_getMinETD(); CALL item_zoneClosure(); diff --git a/db/routines/vn/procedures/item_getMinacum.sql b/db/routines/vn/procedures/item_getMinacum.sql index 8a07b43fc7..65c458c8a8 100644 --- a/db/routines/vn/procedures/item_getMinacum.sql +++ b/db/routines/vn/procedures/item_getMinacum.sql @@ -1,9 +1,9 @@ DELIMITER $$ -$$ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getMinacum`( vWarehouseFk TINYINT, vAvailabled DATETIME, vRange INT, + vTime TIME, vItemFk INT ) BEGIN @@ -18,7 +18,7 @@ BEGIN * @return tmp.itemMinacum */ DECLARE vDated DATE DEFAULT DATE(vAvailabled); - DECLARE vDatedTo DATETIME DEFAULT util.dayEnd(vDated + INTERVAL vRange DAY); + DECLARE vDatedTo DATETIME DEFAULT ADDTIME(util.dayEnd(vDated + INTERVAL vRange DAY), IFNULL(vTime,'00:00:00')); CREATE OR REPLACE TEMPORARY TABLE tmp.itemCalc (INDEX (itemFk, warehouseFk)) diff --git a/db/routines/vn/procedures/ticket_canAdvance.sql b/db/routines/vn/procedures/ticket_canAdvance.sql index cee706e08c..eceb72b2b0 100644 --- a/db/routines/vn/procedures/ticket_canAdvance.sql +++ b/db/routines/vn/procedures/ticket_canAdvance.sql @@ -14,6 +14,7 @@ BEGIN vWarehouseFk, vDateToAdvance, DATEDIFF(DATE_SUB(vDateFuture, INTERVAL 1 DAY), vDateToAdvance), + NULL, NULL ); @@ -115,7 +116,7 @@ BEGIN t.landed, t.agencyModeFk, SEC_TO_TIME( - COALESCE(HOUR(t.shipped), HOUR(zc.hour), HOUR(z.hour)) * 3600 + + COALESCE(HOUR(t.shipped), HOUR(zc.hour), HOUR(z.hour)) * 3600 + COALESCE(MINUTE(t.shipped), MINUTE(zc.hour), MINUTE(z.hour)) * 60 ) preparation FROM ticket t diff --git a/db/routines/vn/procedures/ticket_getMovable.sql b/db/routines/vn/procedures/ticket_getMovable.sql index 06841f0f22..26b0722aa5 100644 --- a/db/routines/vn/procedures/ticket_getMovable.sql +++ b/db/routines/vn/procedures/ticket_getMovable.sql @@ -27,6 +27,7 @@ BEGIN vWarehouseFk, vNewShipped, DATEDIFF(DATE_SUB(vOldShipped, INTERVAL 1 DAY), DATE(vNewShipped)), + NULL, NULL ); From e9aae88ba2a8a4bb49f9e68b27cc40a98a4b26b1 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 5 Mar 2025 13:13:14 +0100 Subject: [PATCH 03/10] fix: rollback deleted routes to redirect to Lilium --- modules/account/front/routes.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/account/front/routes.json b/modules/account/front/routes.json index 9eadf2af21..11b80dd4a5 100644 --- a/modules/account/front/routes.json +++ b/modules/account/front/routes.json @@ -6,7 +6,7 @@ "dependencies": [], "menus": { "main": [ - {"state": "account.index", "icon": "face"}, + {"state": "account.index", "icon": "face"} ] }, "keybindings": [ @@ -25,6 +25,22 @@ "state": "account.index", "component": "vn-user-index", "description": "Users" + }, + { + "url": "/:id", + "state": "account.card", + "component": "vn-user-card", + "abstract": true, + "description": "Detail" + }, + { + "url": "/summary", + "state": "account.card.summary", + "component": "vn-user-summary", + "description": "Summary", + "params": { + "user": "$ctrl.user" + } } ] } From 4680128b8fc19b58a4a869a37161fa40c27a7e92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Wed, 5 Mar 2025 13:31:05 +0100 Subject: [PATCH 04/10] feat: add time parameter to item_getLack procedure and update related queries --- .../cache/procedures/available_refresh.sql | 2 +- db/routines/vn/procedures/item_getBalance.sql | 11 ++--- db/routines/vn/procedures/item_getLack.sql | 47 ++++++++++--------- db/routines/vn/procedures/item_getMinacum.sql | 3 +- .../vn/procedures/ticket_canAdvance.sql | 1 - .../vn/procedures/ticket_getMovable.sql | 1 - .../vn/triggers/travel_beforeUpdate.sql | 8 +++- .../ticket/back/methods/ticket/itemLack.js | 10 +++- .../methods/ticket/specs/itemLack.spec.js | 11 ++++- 9 files changed, 56 insertions(+), 38 deletions(-) diff --git a/db/routines/cache/procedures/available_refresh.sql b/db/routines/cache/procedures/available_refresh.sql index 528e07d4f1..de573ae072 100644 --- a/db/routines/cache/procedures/available_refresh.sql +++ b/db/routines/cache/procedures/available_refresh.sql @@ -130,7 +130,7 @@ proc: BEGIN AND i.warehouseOutFk = vWarehouse UNION ALL SELECT r.item_id, - r.shipment, + util.dayEnd(r.shipment), -r.amount FROM hedera.order_row r JOIN hedera.`order` o ON o.id = r.order_id diff --git a/db/routines/vn/procedures/item_getBalance.sql b/db/routines/vn/procedures/item_getBalance.sql index a13d4af05c..4b8d121697 100644 --- a/db/routines/vn/procedures/item_getBalance.sql +++ b/db/routines/vn/procedures/item_getBalance.sql @@ -130,7 +130,7 @@ BEGIN ) SELECT 'ticket', s.ticketFk, - s.shipped, + util.dayEnd(s.shipped), NULL `in`, s.quantity, s.alertLevel, @@ -190,15 +190,14 @@ BEGIN SELECT * FROM sales UNION ALL SELECT * FROM orders - ORDER BY DATE(shipped), - (inventorySupplierFk = entityId) DESC, - alertLevel DESC, + ORDER BY (inventorySupplierFk = entityId) DESC, + shipped, isTicket, + alertLevel DESC, `order` DESC, isPicked DESC, `in` DESC, - `out` DESC, - shipped; + `out` DESC; IF vDated IS NULL THEN SET @a := 0; diff --git a/db/routines/vn/procedures/item_getLack.sql b/db/routines/vn/procedures/item_getLack.sql index 9bebbe415d..67e16bacec 100644 --- a/db/routines/vn/procedures/item_getLack.sql +++ b/db/routines/vn/procedures/item_getLack.sql @@ -1,17 +1,17 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getLack`( vSelf INT, - vForce BOOLEAN, - vDays INT, - vTime TIME, - vLongname VARCHAR(255), - vProducerName VARCHAR(255), - vColor VARCHAR(255), - vSize INT, - vOrigen INT, - vLack INT, - vWarehouseFk INT - ) + vForce BOOLEAN, + vDays INT, + vTime TIME, + vLongname VARCHAR(255), + vProducerName VARCHAR(255), + vColor VARCHAR(255), + vSize INT, + vOrigen INT, + vLack INT, + vWarehouseFk INT +) BEGIN /** * Calcula una tabla con el máximo negativo visible para cada producto y almacen @@ -19,9 +19,11 @@ BEGIN * @param vForce Fuerza el recalculo del stock * @param vDays Numero de dias a considerar **/ + DECLARE vAvailabled DATETIME; + SET vAvailabled = ADDTIME(util.VN_CURDATE(), vTime); - CALL `cache`.stock_refresh(vForce); - CALL item_getMinacum(NULL, util.VN_CURDATE(), vDays, vTime, NULL); + CALL item_getStock(vWarehouseFk, vAvailabled, NULL); + CALL item_getMinacum(NULL, vAvailabled, vDays, NULL); CALL item_getMinETD(); CALL item_zoneClosure(); @@ -32,24 +34,24 @@ BEGIN i.`size`, i.category, w.name warehouse, - SUM(IFNULL(sub.amount,0)) lack, + SUM(IFNULL(sub.visible,0)) lack, i.inkFk, IFNULL(im.timed, util.midnight()) timed, IFNULL(izc.timed, util.midnight()) minTimed, o.name originFk - FROM (SELECT item_id, - warehouse_id, - amount - FROM cache.stock - WHERE amount > 0 + FROM (SELECT itemFk, + vWarehouseFk warehouseFk, + visible + FROM tmp.itemList + WHERE visible <> 0 UNION ALL SELECT itemFk, warehouseFk, amount FROM tmp.itemMinacum ) sub - JOIN warehouse w ON w.id = sub.warehouse_id - JOIN item i ON i.id = sub.item_id + JOIN warehouse w ON w.id = sub.warehouseFk + JOIN item i ON i.id = sub.itemFk LEFT JOIN producer p ON p.id = i.producerFk JOIN itemType it ON it.id = i.typeFk JOIN itemCategory ic ON ic.id = it.categoryFk @@ -65,11 +67,12 @@ BEGIN AND (vColor IS NULL OR vColor = i.inkFk) AND (vSize IS NULL OR vSize = i.`size`) AND (vOrigen IS NULL OR vOrigen = w.id) - AND (vLack IS NULL OR vLack = sub.amount) + AND (vLack IS NULL OR vLack = sub.visible) AND (vWarehouseFk IS NULL OR vWarehouseFk = w.id) GROUP BY i.id, w.id HAVING lack < 0; + DROP TEMPORARY TABLE tmp.itemList; DROP TEMPORARY TABLE tmp.itemMinacum; DROP TEMPORARY TABLE tmp.itemMinETD; DROP TEMPORARY TABLE tmp.itemZoneClosure; diff --git a/db/routines/vn/procedures/item_getMinacum.sql b/db/routines/vn/procedures/item_getMinacum.sql index 65c458c8a8..9efd597dc2 100644 --- a/db/routines/vn/procedures/item_getMinacum.sql +++ b/db/routines/vn/procedures/item_getMinacum.sql @@ -3,7 +3,6 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getMinacum`( vWarehouseFk TINYINT, vAvailabled DATETIME, vRange INT, - vTime TIME, vItemFk INT ) BEGIN @@ -18,7 +17,7 @@ BEGIN * @return tmp.itemMinacum */ DECLARE vDated DATE DEFAULT DATE(vAvailabled); - DECLARE vDatedTo DATETIME DEFAULT ADDTIME(util.dayEnd(vDated + INTERVAL vRange DAY), IFNULL(vTime,'00:00:00')); + DECLARE vDatedTo DATETIME DEFAULT util.dayEnd(vDated + INTERVAL vRange DAY); CREATE OR REPLACE TEMPORARY TABLE tmp.itemCalc (INDEX (itemFk, warehouseFk)) diff --git a/db/routines/vn/procedures/ticket_canAdvance.sql b/db/routines/vn/procedures/ticket_canAdvance.sql index eceb72b2b0..1dfaddae1c 100644 --- a/db/routines/vn/procedures/ticket_canAdvance.sql +++ b/db/routines/vn/procedures/ticket_canAdvance.sql @@ -14,7 +14,6 @@ BEGIN vWarehouseFk, vDateToAdvance, DATEDIFF(DATE_SUB(vDateFuture, INTERVAL 1 DAY), vDateToAdvance), - NULL, NULL ); diff --git a/db/routines/vn/procedures/ticket_getMovable.sql b/db/routines/vn/procedures/ticket_getMovable.sql index 26b0722aa5..06841f0f22 100644 --- a/db/routines/vn/procedures/ticket_getMovable.sql +++ b/db/routines/vn/procedures/ticket_getMovable.sql @@ -27,7 +27,6 @@ BEGIN vWarehouseFk, vNewShipped, DATEDIFF(DATE_SUB(vOldShipped, INTERVAL 1 DAY), DATE(vNewShipped)), - NULL, NULL ); diff --git a/db/routines/vn/triggers/travel_beforeUpdate.sql b/db/routines/vn/triggers/travel_beforeUpdate.sql index 6efad4a658..b3971d4892 100644 --- a/db/routines/vn/triggers/travel_beforeUpdate.sql +++ b/db/routines/vn/triggers/travel_beforeUpdate.sql @@ -40,10 +40,14 @@ BEGIN IF (NOT(NEW.awbFk <=> OLD.awbFk)) AND NEW.awbFk IS NOT NULL THEN CALL travel_throwAwb(NEW.id); END IF; - + IF NEW.availabled < NEW.landed THEN SET NEW.availabled = NEW.landed; END IF; - + + IF NEW.isReceived <> OLD.isReceived AND NEW.landed >= CURDATE() THEN + SET NEW.landed = CURDATE(); + SET NEW.availabled = NOW(); + END IF; END$$ DELIMITER ; diff --git a/modules/ticket/back/methods/ticket/itemLack.js b/modules/ticket/back/methods/ticket/itemLack.js index 7cda324598..36945e0dfd 100644 --- a/modules/ticket/back/methods/ticket/itemLack.js +++ b/modules/ticket/back/methods/ticket/itemLack.js @@ -47,6 +47,7 @@ module.exports = Self => { { arg: 'warehouseFk', type: 'number', + required: true, description: 'The warehouse id', }, { @@ -58,6 +59,11 @@ module.exports = Self => { arg: 'days', type: 'number', description: 'The range days', + }, + { + arg: 'time', + type: 'string', + description: 'The time', } ], returns: [ @@ -80,7 +86,7 @@ module.exports = Self => { Object.assign(myOptions, options); const filterKeyOrder = [ - 'id', 'force', 'days', 'longname', 'supplier', + 'id', 'force', 'days', 'time', 'longname', 'supplier', 'colour', 'size', 'originFk', 'lack', 'warehouseFk' ]; @@ -99,6 +105,8 @@ module.exports = Self => { if (!procedureParams[forceIndex])procedureParams[forceIndex] = true; const daysIndex = filterKeyOrder.indexOf('days'); if (!procedureParams[daysIndex])procedureParams[daysIndex] = 2; + const timeIndex = filterKeyOrder.indexOf('time'); + if (!procedureParams[timeIndex])procedureParams[timeIndex] = '23:59'; const procedureArgs = Array(procedureParams.length).fill('?').join(', '); let query = `CALL vn.item_getLack(${procedureArgs})`; diff --git a/modules/ticket/back/methods/ticket/specs/itemLack.spec.js b/modules/ticket/back/methods/ticket/specs/itemLack.spec.js index c746d989d9..b9f0278678 100644 --- a/modules/ticket/back/methods/ticket/specs/itemLack.spec.js +++ b/modules/ticket/back/methods/ticket/specs/itemLack.spec.js @@ -1,8 +1,9 @@ const {models} = require('vn-loopback/server/server'); -describe('Item Lack', () => { +fdescribe('Item Lack', () => { let options; let tx; + const warehouseId = {warehouseFk: 1, time: '23:59'}; const ctx = beforeAll.getCtx(); beforeAll.mockLoopBackContext(); @@ -17,7 +18,7 @@ describe('Item Lack', () => { }); it('should return data with NO filters', async() => { - const filter = {}; + const filter = {...warehouseId}; const result = await models.Ticket.itemLack(ctx, filter, options); expect(result.length).toEqual(2); @@ -25,6 +26,7 @@ describe('Item Lack', () => { it('should return data with filter.id', async() => { const filter = { + ...warehouseId, id: 5 }; const result = await models.Ticket.itemLack(ctx, filter, options); @@ -34,6 +36,7 @@ describe('Item Lack', () => { it('should return data with filter.longname', async() => { const filter = { + ...warehouseId, longname: 'Ranged weapon pistol 9mm' }; const result = await models.Ticket.itemLack(ctx, filter, options); @@ -43,6 +46,7 @@ describe('Item Lack', () => { it('should return data with filter.color', async() => { const filter = { + ...warehouseId, colour: 'WHT' }; const result = await models.Ticket.itemLack(ctx, filter, options); @@ -52,6 +56,7 @@ describe('Item Lack', () => { it('should return data with filter.origen', async() => { const filter = { + ...warehouseId, originFk: 1 }; const result = await models.Ticket.itemLack(ctx, filter, options); @@ -61,6 +66,7 @@ describe('Item Lack', () => { it('should return data with filter.size', async() => { const filter = { + ...warehouseId, size: '15' }; const result = await models.Ticket.itemLack(ctx, filter, options); @@ -70,6 +76,7 @@ describe('Item Lack', () => { it('should return data with filter.lack', async() => { const filter = { + ...warehouseId, lack: '-15' }; From f95e0cacdb2332d1220f645857b87d12278370b7 Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 5 Mar 2025 13:40:26 +0100 Subject: [PATCH 05/10] fix(item_getInfo): modified availabled --- db/routines/vn/procedures/item_getInfo.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/db/routines/vn/procedures/item_getInfo.sql b/db/routines/vn/procedures/item_getInfo.sql index bd59728f7e..aa8eb428f7 100644 --- a/db/routines/vn/procedures/item_getInfo.sql +++ b/db/routines/vn/procedures/item_getInfo.sql @@ -14,12 +14,12 @@ BEGIN DECLARE vCacheAvailableFk INT; DECLARE vVisibleItemShelving INT; DECLARE vItemFk INT; - DECLARE vDated DATE; + DECLARE vAvailabled DATETIME; - SELECT barcodeToItem(vBarcode), util.VN_CURDATE() INTO vItemFk, vDated; + SELECT barcodeToItem(vBarcode), util.VN_NOW() INTO vItemFk, vAvailabled; CALL cache.visible_refresh(vCacheVisibleFk, FALSE, vWarehouseFk); - CALL cache.available_refresh(vCacheAvailableFk, FALSE, vWarehouseFk, vDated); + CALL cache.available_refresh(vCacheAvailableFk, FALSE, vWarehouseFk, vAvailabled); CALL buy_getUltimate(vItemFk, vWarehouseFk, vDated); SELECT SUM(visible) INTO vVisibleItemShelving From 9ee40a49312c8b234abe5880416982a8965360ec Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 5 Mar 2025 13:44:08 +0100 Subject: [PATCH 06/10] fix: lost vDated --- db/routines/vn/procedures/item_getInfo.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/routines/vn/procedures/item_getInfo.sql b/db/routines/vn/procedures/item_getInfo.sql index aa8eb428f7..829eb3463b 100644 --- a/db/routines/vn/procedures/item_getInfo.sql +++ b/db/routines/vn/procedures/item_getInfo.sql @@ -20,7 +20,7 @@ BEGIN CALL cache.visible_refresh(vCacheVisibleFk, FALSE, vWarehouseFk); CALL cache.available_refresh(vCacheAvailableFk, FALSE, vWarehouseFk, vAvailabled); - CALL buy_getUltimate(vItemFk, vWarehouseFk, vDated); + CALL buy_getUltimate(vItemFk, vWarehouseFk, DATE(vAvailabled)); SELECT SUM(visible) INTO vVisibleItemShelving FROM itemShelvingStock From 5959a9e9e07206cf84cb770d2e4fd8ae8f61baae Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 5 Mar 2025 13:45:25 +0100 Subject: [PATCH 07/10] fix: sin foco --- modules/ticket/back/methods/ticket/specs/itemLack.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ticket/back/methods/ticket/specs/itemLack.spec.js b/modules/ticket/back/methods/ticket/specs/itemLack.spec.js index b9f0278678..b6c890487c 100644 --- a/modules/ticket/back/methods/ticket/specs/itemLack.spec.js +++ b/modules/ticket/back/methods/ticket/specs/itemLack.spec.js @@ -1,6 +1,6 @@ const {models} = require('vn-loopback/server/server'); -fdescribe('Item Lack', () => { +describe('Item Lack', () => { let options; let tx; const warehouseId = {warehouseFk: 1, time: '23:59'}; From f0b5044b65b52e2c3209635102960b336db3fce8 Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 5 Mar 2025 14:14:26 +0100 Subject: [PATCH 08/10] fix: shipment --- 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 4b8d121697..d6dd337c95 100644 --- a/db/routines/vn/procedures/item_getBalance.sql +++ b/db/routines/vn/procedures/item_getBalance.sql @@ -130,7 +130,7 @@ BEGIN ) SELECT 'ticket', s.ticketFk, - util.dayEnd(s.shipped), + s.shipped, NULL `in`, s.quantity, s.alertLevel, @@ -155,7 +155,7 @@ BEGIN orders AS ( SELECT 'order' originType, o.id originId, - r.shipment, + util.dayEnd(r.shipment), NULL 'in', r.amount, NULL alertLevel, From 5cef80e981fab39d9af9caff30240e447b761e3b Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 5 Mar 2025 15:05:09 +0100 Subject: [PATCH 09/10] fix: casting --- db/routines/vn/procedures/item_getLack.sql | 2 +- db/routines/vn/procedures/item_getMinacum.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/db/routines/vn/procedures/item_getLack.sql b/db/routines/vn/procedures/item_getLack.sql index 67e16bacec..2e43512a48 100644 --- a/db/routines/vn/procedures/item_getLack.sql +++ b/db/routines/vn/procedures/item_getLack.sql @@ -34,7 +34,7 @@ BEGIN i.`size`, i.category, w.name warehouse, - SUM(IFNULL(sub.visible,0)) lack, + CAST(SUM(IFNULL(sub.visible,0)) AS SIGNED) lack, i.inkFk, IFNULL(im.timed, util.midnight()) timed, IFNULL(izc.timed, util.midnight()) minTimed, diff --git a/db/routines/vn/procedures/item_getMinacum.sql b/db/routines/vn/procedures/item_getMinacum.sql index 9efd597dc2..2b820fa622 100644 --- a/db/routines/vn/procedures/item_getMinacum.sql +++ b/db/routines/vn/procedures/item_getMinacum.sql @@ -67,7 +67,7 @@ BEGIN AND NOT t.isRaid UNION ALL SELECT r.itemFk, - r.shipment, + util.dayEnd(r.shipment), -r.amount, r.warehouseFk FROM hedera.orderRow r From daef11e48f7666f81e4f5b8f151856bcc1243d7b Mon Sep 17 00:00:00 2001 From: alexm Date: Thu, 6 Mar 2025 07:36:56 +0100 Subject: [PATCH 10/10] fix: change JOIN to LEFT JOIN for user in expedition state query --- modules/ticket/back/methods/expedition-state/filter.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ticket/back/methods/expedition-state/filter.js b/modules/ticket/back/methods/expedition-state/filter.js index 3a4e7a87c5..2da29fc0ca 100644 --- a/modules/ticket/back/methods/expedition-state/filter.js +++ b/modules/ticket/back/methods/expedition-state/filter.js @@ -30,9 +30,9 @@ module.exports = Self => { const stmt = new ParameterizedSQL( `SELECT es.created, u.name, u.id workerFk, est.description state, es.isScanned - FROM vn.expeditionState es + FROM vn.expeditionState es JOIN vn.expeditionStateType est ON est.id = es.typeFk - JOIN account.user u ON u.id = es.userFk + LEFT JOIN account.user u ON u.id = es.userFk `); stmt.merge(Self.buildSuffix(filter, 'es'));