diff --git a/modules/item/back/methods/item-shelving/getSale.js b/modules/item/back/methods/item-shelving/getSale.js new file mode 100644 index 000000000..084f7351f --- /dev/null +++ b/modules/item/back/methods/item-shelving/getSale.js @@ -0,0 +1,58 @@ +module.exports = Self => { + Self.remoteMethod('getSale', { + description: 'Update the visible items', + accessType: 'WRITE', + accepts: [ + { + arg: 'sectorCollectionFk', + type: 'number', + required: true, + }, + { + arg: 'sectorFk', + type: 'number', + required: true + } + ], + returns: { + type: ['object'], + root: true + }, + http: { + path: `/getSale`, + verb: 'GET' + }, + }); + + Self.getSale = async(sectorCollectionFk, sectorFk, options) => { + const myOptions = {}; + + if (typeof options == 'object') Object.assign(myOptions, options); + + const sales = await Self.rawSql('CALL vn.sectorCollection_getSale(?)', [sectorCollectionFk]); + + const itemShelvings = []; + for (let sale of sales) { + const [carros] = await Self.rawSql( + 'CALL vn.itemPlacementSupplyStockGetTargetList(?, ?)', + [sale.itemFk, sectorFk] + ); + + itemShelvings.push({ + id: sale.ticketFk, + itemFk: sale.itemFk, + longName: sale.longName, + packingType: sale.itemPackingTypeFk, + subName: sale.subName, + quantity: {saldo: sale.quantity}, + trabajador: sale.workerCode, + idMovimiento: sale.saleFk, + salesPersonFk: sale.salesPersonFk, + picked: sale.pickedQuantity, + carros + }); + } + + return itemShelvings; + }; +}; diff --git a/modules/item/back/models/item-shelving.js b/modules/item/back/models/item-shelving.js index 4eb5374e8..e349b9c34 100644 --- a/modules/item/back/models/item-shelving.js +++ b/modules/item/back/models/item-shelving.js @@ -4,4 +4,5 @@ module.exports = Self => { require('../methods/item-shelving/makeMulti')(Self); require('../methods/item-shelving/return')(Self); require('../methods/item-shelving/updateFromSale')(Self); + require('../methods/item-shelving/getSale')(Self); };