refs #6276 WIP itemShelving_return
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Jorge Penadés 2023-11-30 16:25:13 +01:00
parent 40236fdb7b
commit 3333c83702
3 changed files with 81 additions and 2 deletions

View File

@ -0,0 +1,77 @@
module.exports = Self => {
Self.remoteMethod('return', {
description: 'Returns a list of items and possible alternative locations',
accessType: 'READ',
accepts: [{
arg: 'shelvingFk',
type: 'string',
required: true,
}],
returns: {
type: 'object',
root: true
},
http: {
path: `/return`,
verb: 'POST'
}
});
Self.return = async(shelvingFk, options) => {
const models = Self.app.models;
const myOptions = {};
if (typeof options == 'object')
Object.assign(myOptions, options);
const filterItemShelvings = {
fields: ['id', 'visible', 'itemFk', 'packing', 'grouping', 'isChecked', 'shelvingFk'],
where: {shelvingFk},
include: [
{
relation: 'item',
scope: {
fields: ['longName', 'name', 'size']
}
},
{
relation: 'shelving',
scope: {
include: {
fields: ['id', 'name', 'code'],
relation: 'parking',
}
}
},
]
};
let itemShelvings = await models.ItemShelving.find(filterItemShelvings, myOptions);
let alternatives = await models.ItemShelving.rawSql('CALL vn.itemShelving_getAlternatives(?)', [shelvingFk]);
console.log(alternatives);
if (itemShelvings) {
itemShelvings = itemShelvings.map(itemShelving => {
const item = itemShelving.item();
const shelving = itemShelving.shelving();
const parking = shelving ? shelving.parking() : null;
return {
item: itemShelving.itemFk,
description: item ? item.longName || `${item.name} ${item.size}` : '',
visible: itemShelving.visible,
stickers: Math.ceil(itemShelving.visible / itemShelving.packing),
packing: itemShelving.packing,
grouping: itemShelving.grouping,
code: parking ? parking.code : '',
id: itemShelving.id,
priority: shelving ? shelving.priority : 0,
isChecked: itemShelving.isChecked
};
});
}
};
};

View File

@ -2,4 +2,5 @@ module.exports = Self => {
require('../methods/item-shelving/deleteItemShelvings')(Self); require('../methods/item-shelving/deleteItemShelvings')(Self);
require('../methods/item-shelving/getInventory')(Self); require('../methods/item-shelving/getInventory')(Self);
require('../methods/item-shelving/makeMulti')(Self); require('../methods/item-shelving/makeMulti')(Self);
require('../methods/item-shelving/return')(Self);
}; };

View File

@ -51,7 +51,8 @@
"shelving": { "shelving": {
"type": "belongsTo", "type": "belongsTo",
"model": "Shelving", "model": "Shelving",
"foreignKey": "shelvingFk" "foreignKey": "shelvingFk",
} "primaryKey": "code"
}
} }
} }