From ae3d00bad198a9449c74fcbbb81905ed8d26c626 Mon Sep 17 00:00:00 2001 From: joan Date: Tue, 22 Sep 2020 07:38:20 +0200 Subject: [PATCH] Added new method --- .../front/basic-data/step-one/index.html | 2 +- .../ticket/front/basic-data/step-one/index.js | 10 +++- .../back/methods/zone/includingExpired.js | 60 +++++++++++++++++++ modules/zone/back/models/zone.js | 1 + 4 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 modules/zone/back/methods/zone/includingExpired.js diff --git a/modules/ticket/front/basic-data/step-one/index.html b/modules/ticket/front/basic-data/step-one/index.html index eb2fe95605..59435635ed 100644 --- a/modules/ticket/front/basic-data/step-one/index.html +++ b/modules/ticket/front/basic-data/step-one/index.html @@ -70,7 +70,7 @@ { + Self.remoteMethod('includingExpired', { + description: 'Returns a list of agencies from a warehouse', + accepts: [{ + arg: 'filter', + type: 'Object', + description: `Filter defining where, order, offset, and limit - must be a JSON-encoded string` + }], + returns: { + type: ['object'], + root: true + }, + http: { + path: `/includingExpired`, + verb: 'GET' + } + }); + + Self.includingExpired = async filter => { + const conn = Self.dataSource.connector; + const where = filter.where; + // filter = mergeFilters(filter, {where}); + const stmts = []; + let stmt; + + console.log(where); + + if (where.agencyModeFk) { + stmt = new ParameterizedSQL(`CALL vn.zone_getLanded(?, ?, ?, ?, ?)`, [ + where.shipped, + where.addressFk, + where.agencyModeFk, + where.warehouseFk, + true]); + stmts.push(stmt); + } + + stmt = new ParameterizedSQL( + `SELECT id, name, agencyModeFk + FROM vn.zone z`); + + if (where.agencyModeFk) + stmt.merge(`JOIN tmp.zoneGetLanded zgl ON zgl.zoneFk = z.id`); + + stmt.merge(conn.makePagination(filter)); + + let index; + if (stmts.length) + index = stmts.push(stmt) - 1; + else stmts.push(stmt); + + const sql = ParameterizedSQL.join(stmts, ';'); + const result = await conn.executeStmt(sql); + + return index ? result[index] : result; + }; +}; diff --git a/modules/zone/back/models/zone.js b/modules/zone/back/models/zone.js index b0f21c998d..0b1b9d106e 100644 --- a/modules/zone/back/models/zone.js +++ b/modules/zone/back/models/zone.js @@ -5,6 +5,7 @@ module.exports = Self => { require('../methods/zone/toggleIsIncluded')(Self); require('../methods/zone/getUpcomingDeliveries')(Self); require('../methods/zone/deleteZone')(Self); + require('../methods/zone/includingExpired')(Self); Self.validatesPresenceOf('agencyModeFk', { message: `Agency cannot be blank`