From d1e0afaa276dce26fa8205674be5c346a83ebad9 Mon Sep 17 00:00:00 2001 From: Ebed-meleck Date: Tue, 23 Apr 2024 23:05:27 +0100 Subject: [PATCH] add mobile stock adjustement --- .DS_Store | Bin 0 -> 8196 bytes server/controllers/stock/index.js | 46 ++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..001cc4dea2e0be46c7a17c43ddf7a7d998c48136 GIT binary patch literal 8196 zcmeHM&ubGw6n@h#X|#e7L<(N^l$*ug)Erz(^dusL;vs^XWNj=-H>8P3DKrN!Jrw){ z6npXR#k&_l)Ez=eNIkWpGqCfPd2i6X)I1@?!={7k7DG+VJq+h7&23RnfK0#*U5z~7<(p4n8g zDd)cO+S)2$75Fa|pyz{&7goqPz5EOdqgW6l`PIQZ8)I-z zX)&A!T;3oaW5}a!;KQT2K|9BNv-bV$)~4KBvJc0L`V1U#m2e#B(5yuERK7ry82UKg z+sF3@zmxfg&ypm+fqUjD;U2>E(2*+{pZRiMn>z~JQ^`@BOXgk3C1E_S#OO$apM1?E zini>70^EHkNfr*8%3RndWN&(>%OT}44*SU3!2j$u>UN`ZgLUBE1Wf!a{ sgxX~~jyC+m5bs^>^R(?LiykZo@FBo>M=;JGd;ZHgvFE>(;h(O410XjJi2wiq literal 0 HcmV?d00001 diff --git a/server/controllers/stock/index.js b/server/controllers/stock/index.js index 1223f4abec..5437ed92c2 100644 --- a/server/controllers/stock/index.js +++ b/server/controllers/stock/index.js @@ -289,11 +289,16 @@ function createIntegration(req, res, next) { /** * POST /stock/inventory_adjustment - * Stock inventory adjustement + * Stock inventory adjustment */ async function createInventoryAdjustment(req, res, next) { try { - const movement = req.body; + let movement = req.body; + const isMobileSync = movement.sync_mobile; + + if (isMobileSync === 1) { + movement = await movementsFromMobile(movement); + } let filteredInvalidData = []; const paramsStock = { @@ -423,10 +428,20 @@ async function createInventoryAdjustment(req, res, next) { // reset all previous lots await trx.execute(); + if (isMobileSync === 1) { + const uuids = lots.map(l => l.uuid).join(','); + return res.status(201) + .json({ + uuid: uniqueAdjustmentUuid, + date: new Date(movement.date), + user: req.session.user.id, + uuids, + }); + } // await normalMovement(document, movement, req.session); - res.status(201).json({ uuid : uniqueAdjustmentUuid, date : new Date(movement.date), user : req.session.user.id }); + return res.status(201).json({ uuid : uniqueAdjustmentUuid, date : new Date(movement.date), user : req.session.user.id }); } catch (err) { - next(err); + return next(err); } } @@ -507,7 +522,28 @@ async function movementsFromMobile(params) { }), }; } - + // stock adjustment + if (mobile.isExit && mobile.fluxId === 15) { + return mobileLots.length ? { + flux_id: mobile.fluxId, + is_exit: mobile.isExit, + depot_uuid: mobile.depotUuid, + entity_uuid: db.bid(mobile.depotUuid), + date: mobile.date, + description: mobile.description, + lots: mobileLots.map(item => { + return { + unique_line: item.uuid, + uuid: item.lotUuid, + inventory_uuid: item.inventoryUuid, + description: item.description, + oldQuantity: item.oldQuantity, + quantity: item.quantity, + unit_cost: item.unitCost, + }; + }), + } : {}; + } // default stock exit movement return mobileLots.length ? { flux_id : mobile.fluxId,