fix: fixed createWarehouseSchema API
This commit is contained in:
@@ -60,7 +60,7 @@ const createAreas = async (areas, zone) => {
|
|||||||
|
|
||||||
await areaObj.save();
|
await areaObj.save();
|
||||||
if (area.rows) {
|
if (area.rows) {
|
||||||
areaObj.rows = await createRows(zone.areas, area);
|
areaObj.rows = await createRows(area.rows, areaObj);
|
||||||
}
|
}
|
||||||
areasArr.push(areaObj);
|
areasArr.push(areaObj);
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ const createRows = async (rows, area) => {
|
|||||||
|
|
||||||
await rowObj.save();
|
await rowObj.save();
|
||||||
if (row.bays) {
|
if (row.bays) {
|
||||||
rowObj.bays = await createBays(row.bays, row);
|
rowObj.bays = await createBays(row.bays, rowObj);
|
||||||
}
|
}
|
||||||
rowsArr.push(rowObj);
|
rowsArr.push(rowObj);
|
||||||
}
|
}
|
||||||
@@ -101,7 +101,7 @@ const createBays = async (bays, row) => {
|
|||||||
|
|
||||||
await bayObj.save();
|
await bayObj.save();
|
||||||
if (bay.levels) {
|
if (bay.levels) {
|
||||||
bayObj.levels = await createLevels(bay.levels, bay);
|
bayObj.levels = await createLevels(bay.levels, bayObj);
|
||||||
}
|
}
|
||||||
baysArr.push(bayObj);
|
baysArr.push(bayObj);
|
||||||
}
|
}
|
||||||
@@ -120,8 +120,8 @@ const createLevels = async (levels, bay) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await levelObj.save();
|
await levelObj.save();
|
||||||
if (level.levels) {
|
if (level.subLevels) {
|
||||||
levelObj.subLevels = await createSublevels(level.subLevels, level);
|
levelObj.sub_levels = await createSublevels(level.subLevels, levelObj);
|
||||||
}
|
}
|
||||||
levelsArr.push(levelObj);
|
levelsArr.push(levelObj);
|
||||||
}
|
}
|
||||||
@@ -129,7 +129,7 @@ const createLevels = async (levels, bay) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const createSublevels = async (subLevels, level, parent = undefined, depth = 0) => {
|
const createSublevels = async (subLevels, level, parent = undefined, depth = 0) => {
|
||||||
const subLevelsArr = [];
|
const sub_levels_list = [];
|
||||||
for (const subLevel of subLevels) {
|
for (const subLevel of subLevels) {
|
||||||
const subLevelObj = await Sublevel.create({
|
const subLevelObj = await Sublevel.create({
|
||||||
name: subLevel.name,
|
name: subLevel.name,
|
||||||
@@ -137,28 +137,30 @@ const createSublevels = async (subLevels, level, parent = undefined, depth = 0)
|
|||||||
specs: subLevel.specs,
|
specs: subLevel.specs,
|
||||||
main_level_id: level._id,
|
main_level_id: level._id,
|
||||||
current_depth: depth,
|
current_depth: depth,
|
||||||
parent_subLevel_id: parent ? parent._id : undefined,
|
parent_sublevel_id: parent ? parent._id : undefined,
|
||||||
has_inventory: subLevel.has_inventory,
|
has_inventory: subLevel.has_inventory,
|
||||||
inventory: subLevel.inventory,
|
preferred_inventory: subLevel.preferred_inventory,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (subLevel.sub_levels) {
|
const sub_levels = {
|
||||||
const subSubLevels = await createSublevels(subLevel.sub_levels, level, subLevelObj, depth + 1);
|
positions: subLevel.positions,
|
||||||
|
type: subLevel.type,
|
||||||
|
sub_level_id: subLevelObj._id,
|
||||||
|
};
|
||||||
|
sub_levels_list.push(sub_levels);
|
||||||
|
|
||||||
subLevelObj.sub_levels = subSubLevels.map((_) => {
|
if (depth > 0 && parent) {
|
||||||
return {
|
parent.sub_levels = parent.sub_levels.concat(sub_levels);
|
||||||
type: _.type,
|
|
||||||
depth: _.depth,
|
|
||||||
sub_level_id: _._id,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
await subLevelObj.save();
|
await parent.save();
|
||||||
}
|
}
|
||||||
|
|
||||||
subLevelsArr.push(subLevelObj);
|
if (subLevel.sub_levels) {
|
||||||
|
subLevelObj.sub_levels = await createSublevels(subLevel.sub_levels, level, subLevelObj, depth + 1);
|
||||||
|
await subLevelObj.save();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return subLevelsArr;
|
return sub_levels_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
const createInventory = async ({ name, type }) => {
|
const createInventory = async ({ name, type }) => {
|
||||||
@@ -251,7 +253,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
warehouseSchema.warehouse = warehouse;
|
warehouseSchema.warehouse = warehouse;
|
||||||
if (!req.body.warehouse.zones) {
|
if (req.body.warehouse.zones !== undefined && Array.isArray(req.body.warehouse.zones)) {
|
||||||
const zones = await createZones(req.body.warehouse.zones, warehouse);
|
const zones = await createZones(req.body.warehouse.zones, warehouse);
|
||||||
if (!zones) {
|
if (!zones) {
|
||||||
res.status(400).send({
|
res.status(400).send({
|
||||||
|
|||||||
Reference in New Issue
Block a user