From 2505adf87fc5786f93d2aa7fabe74d5893d86b2f Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 26 Jul 2024 13:47:15 +0200 Subject: [PATCH 1/4] hotFix: ticketAdvanced --- modules/ticket/front/advance/index.js | 12 +++--------- modules/ticket/front/advance/index.spec.js | 18 ------------------ 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/modules/ticket/front/advance/index.js b/modules/ticket/front/advance/index.js index 1f47d8242a..15ad303e3a 100644 --- a/modules/ticket/front/advance/index.js +++ b/modules/ticket/front/advance/index.js @@ -62,8 +62,11 @@ export default class Controller extends Section { setDefaultFilter() { let today = Date.vnNew(); + today.setHours(0, 0, 0, 0); const tomorrow = new Date(today); tomorrow.setDate(tomorrow.getDate() + 1); + tomorrow.setHours(23, 59, 59, 999); + this.$http.get(`UserConfigs/getUserConfig`) .then(res => { this.filterParams = { @@ -86,15 +89,6 @@ export default class Controller extends Section { return checkedLines; } - dateRange(value) { - const minHour = new Date(value); - minHour.setHours(0, 0, 0, 0); - const maxHour = new Date(value); - maxHour.setHours(23, 59, 59, 59); - - return [minHour, maxHour]; - } - totalPriceColor(totalWithVat) { return this.isLessThan50(totalWithVat) ? 'warning' : ''; } diff --git a/modules/ticket/front/advance/index.spec.js b/modules/ticket/front/advance/index.spec.js index 883993c1cb..5caca742ce 100644 --- a/modules/ticket/front/advance/index.spec.js +++ b/modules/ticket/front/advance/index.spec.js @@ -36,24 +36,6 @@ describe('Component vnTicketAdvance', () => { }); }); - describe('dateRange()', () => { - it('should return two dates with the hours at the start and end of the given date', () => { - const now = Date.vnNew(); - - const today = now.getDate(); - - const dateRange = controller.dateRange(now); - const start = dateRange[0].toString(); - const end = dateRange[1].toString(); - - expect(start).toContain(today); - expect(start).toContain('00:00:00'); - - expect(end).toContain(today); - expect(end).toContain('23:59:59'); - }); - }); - describe('moveTicketsAdvance()', () => { it('should make an HTTP Post query', () => { jest.spyOn(controller.$.model, 'refresh'); From b876d1c2781ef674cddb6feb69cce6343d785f89 Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 26 Jul 2024 13:52:18 +0200 Subject: [PATCH 2/4] feat: refs #7644 Added item reference --- .../back/methods/client/hasCustomerRole.js | 2 +- .../reports/buy-label/assets/css/style.css | 5 +---- .../templates/reports/buy-label/buy-label.html | 18 ++++++++++++------ .../templates/reports/buy-label/locale/en.yml | 3 ++- .../templates/reports/buy-label/locale/es.yml | 3 ++- print/templates/reports/buy-label/sql/buys.sql | 3 ++- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/modules/client/back/methods/client/hasCustomerRole.js b/modules/client/back/methods/client/hasCustomerRole.js index e790d6e3ae..08e90077e4 100644 --- a/modules/client/back/methods/client/hasCustomerRole.js +++ b/modules/client/back/methods/client/hasCustomerRole.js @@ -29,7 +29,7 @@ module.exports = Self => { SELECT COUNT(*) > 0 isCustomer FROM salix.Account A JOIN salix.Role r ON r.id = A.roleFK - WHERE r.name = 'customer' + WHERE r.name IN ('customer', 'supplier') AND A.id IN (?)`; const [result] = await Self.rawSql(query, [id], myOptions); const {isCustomer} = result; diff --git a/print/templates/reports/buy-label/assets/css/style.css b/print/templates/reports/buy-label/assets/css/style.css index 0d4a2891da..3b1f2f91e3 100644 --- a/print/templates/reports/buy-label/assets/css/style.css +++ b/print/templates/reports/buy-label/assets/css/style.css @@ -33,9 +33,6 @@ span { .barcode { text-align: center; } -#variant { +.one-third { width: 314px; -} -#producer { - width: 471px; } \ No newline at end of file diff --git a/print/templates/reports/buy-label/buy-label.html b/print/templates/reports/buy-label/buy-label.html index b14e54759c..4a0d7f3fc5 100644 --- a/print/templates/reports/buy-label/buy-label.html +++ b/print/templates/reports/buy-label/buy-label.html @@ -4,7 +4,7 @@ -
+ @@ -63,18 +63,24 @@ - -
+ + + +
+ {{$t('control')}} + {{`${weekNum} / ${dayNum}`}} +
+ -
- {{$t('control')}} - {{`${weekNum} / ${dayNum}`}} + diff --git a/print/templates/reports/buy-label/locale/en.yml b/print/templates/reports/buy-label/locale/en.yml index d48d007717..3332827594 100644 --- a/print/templates/reports/buy-label/locale/en.yml +++ b/print/templates/reports/buy-label/locale/en.yml @@ -9,4 +9,5 @@ grouping: Grouping unitSale: Un. sale producer: Producer control: Control -boxNum: Box no. \ No newline at end of file +boxNum: Box no. +reference: Reference \ No newline at end of file diff --git a/print/templates/reports/buy-label/locale/es.yml b/print/templates/reports/buy-label/locale/es.yml index 33a4a499d7..af1d9aa1ce 100644 --- a/print/templates/reports/buy-label/locale/es.yml +++ b/print/templates/reports/buy-label/locale/es.yml @@ -9,4 +9,5 @@ grouping: Grouping saleUnit: Sale un. producer: Productor control: Control -boxNum: Caja nº \ No newline at end of file +boxNum: Caja nº +reference: Referencia \ No newline at end of file diff --git a/print/templates/reports/buy-label/sql/buys.sql b/print/templates/reports/buy-label/sql/buys.sql index d753668154..015a747973 100644 --- a/print/templates/reports/buy-label/sql/buys.sql +++ b/print/templates/reports/buy-label/sql/buys.sql @@ -20,7 +20,8 @@ SELECT ROW_NUMBER() OVER(ORDER BY b.id, num.n) labelNum, i.stems, b.id, b.itemFk, - p.name producer + p.name producer, + i.comment FROM buy b JOIN item i ON i.id = b.itemFk LEFT JOIN producer p ON p.id = i.producerFk From a4d3eec1e1bd7066323f06318d38b702c63754a0 Mon Sep 17 00:00:00 2001 From: guillermo Date: Fri, 26 Jul 2024 14:05:22 +0200 Subject: [PATCH 3/4] fix: refs #7580 Parking deadlock --- db/routines/vn/procedures/saleGroup_setParking.sql | 9 ++------- db/routines/vn/procedures/setParking.sql | 10 ---------- db/routines/vn/procedures/shelving_setParking.sql | 6 +++--- db/routines/vn/procedures/ticket_setParking.sql | 5 ----- 4 files changed, 5 insertions(+), 25 deletions(-) diff --git a/db/routines/vn/procedures/saleGroup_setParking.sql b/db/routines/vn/procedures/saleGroup_setParking.sql index 551ca63866..fffe5e1548 100644 --- a/db/routines/vn/procedures/saleGroup_setParking.sql +++ b/db/routines/vn/procedures/saleGroup_setParking.sql @@ -10,15 +10,10 @@ BEGIN * @param vSaleGroupFk id de la preparación previa * @param vParkingFk id del parking */ - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - RESIGNAL; - END; - UPDATE saleGroup sg SET sg.parkingFk = vParkingFk - WHERE sg.id = vSaleGroupFk - AND sg.created >= util.VN_CURDATE() - INTERVAL 1 WEEK; + WHERE sg.id = vSaleGroupFk + AND sg.created >= util.VN_CURDATE() - INTERVAL 1 WEEK; CALL ticket_setNextState(ticket_get(vSaleGroupFk)); END$$ diff --git a/db/routines/vn/procedures/setParking.sql b/db/routines/vn/procedures/setParking.sql index 1aa4f920a7..b3edf350db 100644 --- a/db/routines/vn/procedures/setParking.sql +++ b/db/routines/vn/procedures/setParking.sql @@ -13,12 +13,6 @@ BEGIN DECLARE vParkingFk INT; DECLARE vLastWeek DATE; - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - SET vParkingCode = REPLACE(vParkingCode, ' ', ''); SELECT id INTO vParkingFk @@ -29,8 +23,6 @@ BEGIN CALL util.throw('parkingNotExist'); END IF; - START TRANSACTION; - SET vLastWeek = util.VN_CURDATE() - INTERVAL 1 WEEK; -- Comprobamos si es una prep. previa, ticket, colección o shelving @@ -45,7 +37,5 @@ BEGIN ELSE CALL util.throw('paramNotExist'); END IF; - - COMMIT; END$$ DELIMITER ; diff --git a/db/routines/vn/procedures/shelving_setParking.sql b/db/routines/vn/procedures/shelving_setParking.sql index 0ff07ef5da..3e87171977 100644 --- a/db/routines/vn/procedures/shelving_setParking.sql +++ b/db/routines/vn/procedures/shelving_setParking.sql @@ -1,20 +1,20 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`shelving_setParking`(IN `vShelvingCode` VARCHAR(8), IN `vParkingFk` INT) -proc: BEGIN +BEGIN /** * Aparca una matrícula en un parking * * @param vShelvingCode code de la matrícula * @param vParkingFk id del parking */ - INSERT INTO vn.shelvingLog (originFk, userFk, action , description,changedModel,changedModelId) + INSERT INTO shelvingLog (originFk, userFk, action , description,changedModel,changedModelId) SELECT s.id, account.myUser_getId(), 'update', CONCAT("Cambio parking ",vShelvingCode," de ", p.code," a ", pNew.code),'Shelving',s.id FROM parking p JOIN shelving s ON s.parkingFk = p.id JOIN parking pNew ON pNew.id = vParkingFk WHERE s.code = vShelvingCode COLLATE utf8_unicode_ci; - UPDATE vn.shelving + UPDATE shelving SET parkingFk = vParkingFk, parked = util.VN_NOW(), isPrinted = TRUE diff --git a/db/routines/vn/procedures/ticket_setParking.sql b/db/routines/vn/procedures/ticket_setParking.sql index 7935e0d607..bd2a5370aa 100644 --- a/db/routines/vn/procedures/ticket_setParking.sql +++ b/db/routines/vn/procedures/ticket_setParking.sql @@ -21,11 +21,6 @@ BEGIN DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - RESIGNAL; - END; - INSERT INTO vn.ticketParking(ticketFk, parkingFk) SELECT IFNULL(tc2.ticketFk, t.id), vParkingFk FROM ticket t From c713c3a5c0b5dcd94e10436cf3b01cb2137f9c10 Mon Sep 17 00:00:00 2001 From: guillermo Date: Mon, 29 Jul 2024 09:21:35 +0200 Subject: [PATCH 4/4] fix: refs #6861 Unhandled error --- loopback/locale/es.json | 5 +++-- modules/item/back/methods/item-shelving/updateFromSale.js | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/loopback/locale/es.json b/loopback/locale/es.json index e2be5d013f..acc3d69f65 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -367,5 +367,6 @@ "It has been invoiced but the PDF of refund not be generated": "Se ha facturado pero no se ha podido generar el PDF del abono", "Payment method is required": "El método de pago es obligatorio", "Cannot send mail": "Não é possível enviar o email", - "CONSTRAINT `supplierAccountTooShort` failed for `vn`.`supplier`": "La cuenta debe tener exactamente 10 dígitos" -} + "CONSTRAINT `supplierAccountTooShort` failed for `vn`.`supplier`": "La cuenta debe tener exactamente 10 dígitos", + "The sale not exists in the item shelving": "La venta no existe en la estantería del artículo" +} \ No newline at end of file diff --git a/modules/item/back/methods/item-shelving/updateFromSale.js b/modules/item/back/methods/item-shelving/updateFromSale.js index 2b9f49caec..1675090746 100644 --- a/modules/item/back/methods/item-shelving/updateFromSale.js +++ b/modules/item/back/methods/item-shelving/updateFromSale.js @@ -1,3 +1,4 @@ +const UserError = require('vn-loopback/util/user-error'); module.exports = Self => { Self.remoteMethod('updateFromSale', { description: 'Update the visible items', @@ -32,6 +33,9 @@ module.exports = Self => { include: {relation: 'itemShelving'} }, myOptions); + if (!itemShelvingSale?.itemShelving()) + throw new UserError('The sale not exists in the item shelving'); + const itemShelving = itemShelvingSale.itemShelving(); const quantity = itemShelving.visible + itemShelvingSale.quantity;