diff --git a/db/changes/10420-valentines/00-defaultViewConfig.sql b/db/changes/10420-valentines/00-defaultViewConfig.sql new file mode 100644 index 000000000..c65c1f403 --- /dev/null +++ b/db/changes/10420-valentines/00-defaultViewConfig.sql @@ -0,0 +1,3 @@ +UPDATE salix.defaultViewConfig + SET `columns`='{"intrastat":false,"stemMultiplier":false,"landed":false,"producer":false}' + WHERE tableCode ='itemsIndex'; diff --git a/e2e/paths/05-ticket/06_basic_data_steps.spec.js b/e2e/paths/05-ticket/06_basic_data_steps.spec.js index 7a09edf06..fa118c25d 100644 --- a/e2e/paths/05-ticket/06_basic_data_steps.spec.js +++ b/e2e/paths/05-ticket/06_basic_data_steps.spec.js @@ -94,7 +94,7 @@ describe('Ticket Edit basic data path', () => { it(`should split ticket without negatives`, async() => { const newAgency = 'Silla247'; const newDate = new Date(); - newDate.setDate(newDate.getDate() + 1); + newDate.setDate(newDate.getDate() - 1); await page.accessToSearchResult('14'); await page.accessToSection('ticket.card.basicData.stepOne'); diff --git a/modules/claim/back/methods/claim/filter.js b/modules/claim/back/methods/claim/filter.js index 16f23433b..f4b0c26a2 100644 --- a/modules/claim/back/methods/claim/filter.js +++ b/modules/claim/back/methods/claim/filter.js @@ -82,6 +82,7 @@ module.exports = Self => { Self.filter = async(ctx, filter, options) => { const conn = Self.dataSource.connector; const myOptions = {}; + let to; if (typeof options == 'object') Object.assign(myOptions, options); @@ -109,7 +110,11 @@ module.exports = Self => { case 'attenderFk': return {'cl.workerFk': value}; case 'created': - return {'cl.created': value}; + value.setHours(0, 0, 0, 0); + to = new Date(value); + to.setHours(23, 59, 59, 999); + + return {'cl.created': {between: [value, to]}}; } }); diff --git a/modules/item/back/methods/item/filter.js b/modules/item/back/methods/item/filter.js index 98e78c7aa..5755de69b 100644 --- a/modules/item/back/methods/item/filter.js +++ b/modules/item/back/methods/item/filter.js @@ -161,6 +161,7 @@ module.exports = Self => { i.stemMultiplier, i.typeFk, i.isFloramondo, + pr.name AS producer, it.name AS typeName, it.workerFk AS buyerFk, u.name AS userName, diff --git a/modules/item/front/index/index.html b/modules/item/front/index/index.html index 816777a74..750dbfc4d 100644 --- a/modules/item/front/index/index.html +++ b/modules/item/front/index/index.html @@ -54,6 +54,9 @@ Active + + Producer + Landed @@ -122,6 +125,7 @@ ng-model="::item.isActive"> + {{::item.producer | dashIfEmpty}} {{::item.landed | date:'dd/MM/yyyy'}} diff --git a/modules/item/front/index/index.js b/modules/item/front/index/index.js index 915027c3c..d9e00305d 100644 --- a/modules/item/front/index/index.js +++ b/modules/item/front/index/index.js @@ -81,6 +81,8 @@ class Controller extends Section { return {'intr.description': value}; case 'name': return {'i.name': {like: `%${value}%`}}; + case 'producer': + return {'pr.name': {like: `%${value}%`}}; case 'id': case 'size': case 'subname': diff --git a/modules/monitor/back/methods/sales-monitor/salesFilter.js b/modules/monitor/back/methods/sales-monitor/salesFilter.js index 1fc405bf3..d67c5c3fc 100644 --- a/modules/monitor/back/methods/sales-monitor/salesFilter.js +++ b/modules/monitor/back/methods/sales-monitor/salesFilter.js @@ -133,6 +133,10 @@ module.exports = Self => { const where = buildFilter(ctx.args, (param, value) => { switch (param) { + case 'search': + return /^\d+$/.test(value) + ? {'t.id': {inq: value}} + : {'t.nickname': {like: `%${value}%`}}; case 'from': return {'t.shipped': {gte: value}}; case 'to': diff --git a/modules/ticket/back/methods/ticket/componentUpdate.js b/modules/ticket/back/methods/ticket/componentUpdate.js index de06212c7..2294e6d25 100644 --- a/modules/ticket/back/methods/ticket/componentUpdate.js +++ b/modules/ticket/back/methods/ticket/componentUpdate.js @@ -138,7 +138,8 @@ module.exports = Self => { const params = [args.id, args.shipped, args.warehouseFk]; const [salesMovable] = await Self.rawSql(query, params, myOptions); - const salesNewTicket = salesMovable.filter(sale => (sale.movable ?? 0) >= sale.quantity); + const salesNewTicket = salesMovable.filter(sale => (sale.movable ? sale.movable : 0) >= sale.quantity); + if (salesNewTicket.length) { const newTicket = await models.Ticket.transferSales(ctx, args.id, null, salesNewTicket, myOptions); args.id = newTicket.id; @@ -250,7 +251,7 @@ module.exports = Self => { res.id = args.id; if (tx) await tx.commit(); - + return res; } catch (e) { if (tx) await tx.rollback(); diff --git a/modules/ticket/back/methods/ticket/priceDifference.js b/modules/ticket/back/methods/ticket/priceDifference.js index c91956ece..e0ffac55a 100644 --- a/modules/ticket/back/methods/ticket/priceDifference.js +++ b/modules/ticket/back/methods/ticket/priceDifference.js @@ -112,9 +112,9 @@ module.exports = Self => { // Get items movable const ticketOrigin = await models.Ticket.findById(args.id, null, myOptions); - const differenceShipped = ticketOrigin.shipped.getTime() != args.shipped.getTime(); + const differenceShipped = ticketOrigin.shipped.getTime() > args.shipped.getTime(); const differenceWarehouse = ticketOrigin.warehouseFk != args.warehouseId; - + salesObj.haveDifferences = differenceShipped || differenceWarehouse; let query = `CALL ticket_getMovable(?,?,?)`; @@ -122,8 +122,10 @@ module.exports = Self => { const [salesMovable] = await Self.rawSql(query, params, myOptions); const itemMovable = new Map(); - for (sale of salesMovable) - itemMovable.set(sale.id, sale.movable ?? 0); + for (sale of salesMovable) { + const saleMovable = sale.movable ? sale.movable : 0; + itemMovable.set(sale.id, saleMovable); + } // Sale price component, one per sale query = `CALL vn.ticket_priceDifference(?, ?, ?, ?, ?)`; @@ -152,7 +154,7 @@ module.exports = Self => { } if (tx) await tx.commit(); - + return salesObj; } catch (e) { if (tx) await tx.rollback();