@things-factory/worksheet-base 4.3.154 → 4.3.156

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist-server/controllers/ecommerce/sellercraft-controller.js +5 -3
  2. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  3. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js +3 -1
  4. package/dist-server/controllers/inbound/putaway-returning-worksheet-controller.js.map +1 -1
  5. package/dist-server/controllers/inbound/putaway-worksheet-controller.js +3 -1
  6. package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
  7. package/dist-server/controllers/outbound/picking-worksheet-controller.js +16 -13
  8. package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
  9. package/dist-server/controllers/worksheet-controller.js +9 -17
  10. package/dist-server/controllers/worksheet-controller.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +4 -0
  12. package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +2 -1
  14. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  15. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +146 -118
  16. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +245 -216
  18. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  19. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +22 -0
  20. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
  21. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js +0 -10
  22. package/dist-server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.js.map +1 -1
  23. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js +12 -4
  24. package/dist-server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.js.map +1 -1
  25. package/dist-server/utils/inventory-util.js +29 -1
  26. package/dist-server/utils/inventory-util.js.map +1 -1
  27. package/package.json +18 -18
  28. package/server/controllers/ecommerce/sellercraft-controller.ts +33 -27
  29. package/server/controllers/inbound/putaway-returning-worksheet-controller.ts +3 -1
  30. package/server/controllers/inbound/putaway-worksheet-controller.ts +3 -1
  31. package/server/controllers/outbound/picking-worksheet-controller.ts +23 -15
  32. package/server/controllers/worksheet-controller.ts +13 -17
  33. package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +7 -0
  34. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +8 -26
  35. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +168 -131
  36. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +272 -237
  37. package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +35 -4
  38. package/server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts +0 -12
  39. package/server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts +17 -7
  40. package/server/utils/inventory-util.ts +36 -0
@@ -1,12 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completePutawayReturn = exports.completePutawayReturnResolver = void 0;
4
+ const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
5
+ const sales_base_1 = require("@things-factory/sales-base");
4
6
  const controllers_1 = require("../../../../controllers");
7
+ const ecommerce_1 = require("../../../../controllers/ecommerce");
5
8
  const entities_1 = require("../../../../entities");
6
9
  exports.completePutawayReturnResolver = {
7
10
  async completePutawayReturn(_, { returnOrderNo }, context) {
8
11
  const { tx, domain, user } = context.state;
9
12
  await completePutawayReturn(tx, domain, user, returnOrderNo);
13
+ const returnOrder = await tx.getRepository(sales_base_1.ReturnOrder).findOne({
14
+ where: { domain, name: returnOrderNo },
15
+ relations: [
16
+ 'bizplace',
17
+ 'bizplace.domain',
18
+ 'orderInventories',
19
+ 'orderInventories.inventory',
20
+ 'orderInventories.product',
21
+ 'orderInventories.product.productDetails'
22
+ ]
23
+ });
24
+ const customerDomain = returnOrder.bizplace.domain;
25
+ const sellercraft = await tx
26
+ .getRepository(integration_sellercraft_1.Sellercraft)
27
+ .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
28
+ if (sellercraft) {
29
+ const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
30
+ await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder);
31
+ }
10
32
  }
11
33
  };
12
34
  async function completePutawayReturn(tx, domain, user, returnOrderNo) {
@@ -1 +1 @@
1
- {"version":3,"file":"complete-putaway-return.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts"],"names":[],"mappings":";;;AAGA,yDAA6E;AAC7E,mDAAgD;AAEnC,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAY;QAC/D,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;IAChE,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,qBAAqB,CACzC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqB;;IAErB,MAAM,mBAAmB,GAAwC,IAAI,iDAAmC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1H,IAAI,SAAS,GAAc,MAAM,mBAAmB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;IAEzF;;OAEG;IACH,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,WAAW,0CAAE,IAAI,CAAA,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,EAAE,CAAA,EAAE;QAC3D,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE;YAClE,SAAS,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;SACvC,CAAC,CAAA;KACH;AACH,CAAC;AAjBD,sDAiBC"}
1
+ {"version":3,"file":"complete-putaway-return.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts"],"names":[],"mappings":";;;AAGA,qFAAwF;AACxF,2DAAwD;AAGxD,yDAA6E;AAC7E,iEAAyE;AACzE,mDAAgD;AAEnC,QAAA,6BAA6B,GAAG;IAC3C,KAAK,CAAC,qBAAqB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,EAAE,OAAY;QACjE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;QAE5D,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;YACtC,SAAS,EAAE;gBACT,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,4BAA4B;gBAC5B,0BAA0B;gBAC1B,yCAAyC;aAC1C;SACF,CAAC,CAAA;QAEF,MAAM,cAAc,GAAW,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC1D,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,qCAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,2CAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;QAExE,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,iCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC1F,MAAM,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;SACtE;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,qBAAqB,CACzC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqB;;IAErB,MAAM,mBAAmB,GAAwC,IAAI,iDAAmC,CACtG,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAA;IACD,IAAI,SAAS,GAAc,MAAM,mBAAmB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAA;IAEzF;;OAEG;IACH,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,WAAW,0CAAE,IAAI,CAAA,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,EAAE,CAAA,EAAE;QAC3D,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE;YAClE,SAAS,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;SACvC,CAAC,CAAA;KACH;AACH,CAAC;AArBD,sDAqBC"}
@@ -2,12 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completeUnloadReturning = exports.completeUnloadReturningResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
- const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
6
5
  const sales_base_1 = require("@things-factory/sales-base");
7
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
8
7
  const constants_1 = require("../../../../constants");
9
8
  const controllers_1 = require("../../../../controllers");
10
- const ecommerce_1 = require("../../../../controllers/ecommerce");
11
9
  exports.completeUnloadReturningResolver = {
12
10
  async completeUnloadReturning(_, { returnOrderNo, worksheetDetails }, context) {
13
11
  const { tx, domain, user } = context.state;
@@ -23,14 +21,6 @@ exports.completeUnloadReturningResolver = {
23
21
  'orderInventories.product.productDetails'
24
22
  ]
25
23
  });
26
- const customerDomain = returnOrder.bizplace.domain;
27
- const sellercraft = await tx
28
- .getRepository(integration_sellercraft_1.Sellercraft)
29
- .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
30
- if (sellercraft) {
31
- const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
32
- await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder);
33
- }
34
24
  const putawayWSCtrl = new controllers_1.PutawayReturningWorksheetController(tx, domain, user);
35
25
  let putawayWorksheet;
36
26
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"complete-unload-returning.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-unload-returning.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/unloading-return/complete-unload-returning.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAG3C,2DAAwD;AAExD,mEAA4E;AAE5E,qDAAwE;AACxE,yDAAoH;AAGvG,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,OAAY;QACrF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAA;QAEhF,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,wBAAW,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;YACtC,SAAS,EAAE;gBACT,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,4BAA4B;gBAC5B,0BAA0B;gBAC1B,yCAAyC;aAC1C;SACF,CAAC,CAAA;QAEF,MAAM,aAAa,GAAwC,IAAI,iDAAmC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACpH,IAAI,gBAA2B,CAAA;QAE/B,IAAI;YACF,gBAAgB,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,aAAa,EAAE,0BAAc,CAAC,cAAc,CAAC,CAAA;SAC7G;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,WAAW,GAAgB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAS,CAAC,CAAC,IAAI,CAAC;gBACtE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAA,YAAE,EAAC,CAAC,iCAAgB,CAAC,QAAQ,EAAE,iCAAgB,CAAC,OAAO,CAAC,CAAC,EAAE;aACjH,CAAC,CAAA;YACF,gBAAgB,GAAG,MAAM,aAAa,CAAC,8BAA8B,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;SACrG;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,4BAAgB,CAAC,WAAW,EAAE;YAC5D,MAAM,aAAa,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;SACvG;QAED,MAAM,mBAAmB,GAA0C,IAAI,mDAAqC,CAC1G,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAA;QACD,mBAAmB,CAAC,mBAAmB,CAAC;YACtC,KAAK,EAAE,wBAAwB,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,GAAG;YAChF,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,uBAAuB;YAChD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC3B,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;SACtC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,uBAAuB,CAC3C,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,aAAqB,EACrB,+BAA2D;IAE3D,MAAM,mBAAmB,GAA0C,IAAI,mDAAqC,CAC1G,EAAE,EACF,MAAM,EACN,IAAI,CACL,CAAA;IACD,MAAM,mBAAmB,CAAC,uBAAuB,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAA;AACnG,CAAC;AAbD,0DAaC"}
@@ -41,10 +41,18 @@ async function regenerateReleaseGoodWorksheetDetails(tx, domain, user, worksheet
41
41
  const prevOrderInventories = prevWSDs.map((wsd) => wsd.targetInventory);
42
42
  await Promise.all(prevOrderInventories.map(async (prevOI) => {
43
43
  if (prevOI === null || prevOI === void 0 ? void 0 : prevOI.inventory) {
44
- await tx.getRepository(warehouse_base_1.Inventory).update({ id: prevOI.inventory.id }, {
45
- lockedQty: prevOI.inventory.lockedQty - prevOI.releaseQty,
46
- lockedUomValue: prevOI.inventory.lockedUomValue - prevOI.releaseUomValue
47
- });
44
+ if (prevOI.pickedQty == prevOI.releaseQty) {
45
+ await tx.getRepository(warehouse_base_1.Inventory).update({ id: prevOI.inventory.id }, {
46
+ qty: prevOI.inventory.qty + prevOI.pickedQty,
47
+ uomValue: prevOI.inventory.uomValue + prevOI.pickedUomValue
48
+ });
49
+ }
50
+ else {
51
+ await tx.getRepository(warehouse_base_1.Inventory).update({ id: prevOI.inventory.id }, {
52
+ lockedQty: prevOI.inventory.lockedQty - prevOI.releaseQty,
53
+ lockedUomValue: prevOI.inventory.lockedUomValue - prevOI.releaseUomValue
54
+ });
55
+ }
48
56
  }
49
57
  }));
50
58
  await tx.getRepository(entities_1.WorksheetDetail).delete(wsdIds);
@@ -1 +1 @@
1
- {"version":3,"file":"regenerate-release-good-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regenerate-release-good-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/regenerate-release-good-worksheet-details.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = void 0;
3
+ exports.isInventoryObsolete = exports.isInventoryExpiring = exports.inventoriesByStrategy = exports.checkPalletIdenticallity = exports.checkPalletDuplication = exports.switchLocationStatus = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const product_base_1 = require("@things-factory/product-base");
6
6
  const warehouse_base_1 = require("@things-factory/warehouse-base");
@@ -102,6 +102,8 @@ async function inventoriesByStrategy({ worksheetId, batchId, bizplaceId, product
102
102
  .andWhere('"LOC"."type" NOT IN (:...locationTypes)', {
103
103
  locationTypes: [warehouse_base_1.LOCATION_TYPE.QUARANTINE, warehouse_base_1.LOCATION_TYPE.RESERVE]
104
104
  })
105
+ .andWhere('"INV"."obsolete" = false')
106
+ .andWhere('case when "INV"."expiration_date" is not null and "PROD"."shelf_life" is not null then CURRENT_DATE < "INV"."expiration_date" - "PROD"."shelf_life" else true end')
105
107
  .setParameters({
106
108
  domainId: domain.id,
107
109
  productId,
@@ -203,4 +205,30 @@ async function isInventoryExpiring(inventory) {
203
205
  return expiryDate < acceptBefore;
204
206
  }
205
207
  exports.isInventoryExpiring = isInventoryExpiring;
208
+ async function isInventoryObsolete(inventories) {
209
+ if ((inventories === null || inventories === void 0 ? void 0 : inventories.length) < 1)
210
+ throw new Error('No inventory id provided');
211
+ let obsoleteInventories = [];
212
+ for (let i = 0; i < inventories.length; i++) {
213
+ let product = inventories[0].product;
214
+ if (!product) {
215
+ let inventory = await (0, typeorm_1.getRepository)(warehouse_base_1.Inventory).findOne(inventories[0].id, {
216
+ relations: ['product']
217
+ });
218
+ product = inventory.product;
219
+ }
220
+ let { expirationDate } = inventories[0];
221
+ const { shelfLife } = product;
222
+ if (shelfLife && expirationDate) {
223
+ let date = new Date();
224
+ expirationDate = new Date(expirationDate);
225
+ const releaseBefore = new Date(expirationDate.setDate(expirationDate.getDate() - shelfLife));
226
+ if (date > releaseBefore) {
227
+ obsoleteInventories.push(inventories[0].id);
228
+ }
229
+ }
230
+ }
231
+ return obsoleteInventories;
232
+ }
233
+ exports.isInventoryObsolete = isInventoryObsolete;
206
234
  //# sourceMappingURL=inventory-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "4.3.154",
3
+ "version": "4.3.156",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -23,22 +23,22 @@
23
23
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
24
24
  },
25
25
  "dependencies": {
26
- "@things-factory/auth-base": "^4.3.151",
27
- "@things-factory/biz-base": "^4.3.151",
28
- "@things-factory/document-template-base": "^4.3.151",
29
- "@things-factory/id-rule-base": "^4.3.151",
30
- "@things-factory/integration-accounting": "^4.3.151",
31
- "@things-factory/integration-lmd": "^4.3.151",
32
- "@things-factory/integration-marketplace": "^4.3.151",
33
- "@things-factory/integration-sellercraft": "^4.3.151",
34
- "@things-factory/integration-sftp": "^4.3.151",
35
- "@things-factory/marketplace-base": "^4.3.154",
36
- "@things-factory/notification": "^4.3.151",
37
- "@things-factory/sales-base": "^4.3.154",
38
- "@things-factory/setting-base": "^4.3.151",
39
- "@things-factory/shell": "^4.3.151",
40
- "@things-factory/transport-base": "^4.3.151",
41
- "@things-factory/warehouse-base": "^4.3.154"
26
+ "@things-factory/auth-base": "^4.3.156",
27
+ "@things-factory/biz-base": "^4.3.156",
28
+ "@things-factory/document-template-base": "^4.3.156",
29
+ "@things-factory/id-rule-base": "^4.3.156",
30
+ "@things-factory/integration-accounting": "^4.3.156",
31
+ "@things-factory/integration-lmd": "^4.3.156",
32
+ "@things-factory/integration-marketplace": "^4.3.156",
33
+ "@things-factory/integration-sellercraft": "^4.3.156",
34
+ "@things-factory/integration-sftp": "^4.3.156",
35
+ "@things-factory/marketplace-base": "^4.3.156",
36
+ "@things-factory/notification": "^4.3.156",
37
+ "@things-factory/sales-base": "^4.3.156",
38
+ "@things-factory/setting-base": "^4.3.156",
39
+ "@things-factory/shell": "^4.3.156",
40
+ "@things-factory/transport-base": "^4.3.156",
41
+ "@things-factory/warehouse-base": "^4.3.156"
42
42
  },
43
- "gitHead": "54afac5cc6ad93bcbfa3a54b2426af01c98273f7"
43
+ "gitHead": "cbdf5546969663ba03bb1f4f10666599aa6d00bc"
44
44
  }
@@ -1,6 +1,8 @@
1
+ import { getRepository } from 'typeorm'
2
+
1
3
  import { Bizplace } from '@things-factory/biz-base'
2
- import { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'
3
4
  import { logger } from '@things-factory/env'
5
+ import { Sellercraft, SellercraftAPI } from '@things-factory/integration-sellercraft'
4
6
  import { Product, ProductDetail } from '@things-factory/product-base'
5
7
  import {
6
8
  ArrivalNotice,
@@ -18,8 +20,6 @@ import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/ware
18
20
 
19
21
  import { WorksheetController } from '../worksheet-controller'
20
22
 
21
- import { getRepository } from 'typeorm'
22
-
23
23
  export class SellercraftController extends WorksheetController {
24
24
  async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
25
25
  let sellercraftSetting: any = sellercraft.sellercraftSetting
@@ -93,7 +93,10 @@ export class SellercraftController extends WorksheetController {
93
93
 
94
94
  await this.trxMgr
95
95
  .getRepository(ReleaseGood)
96
- .update({ id: releaseGood.id }, { packageId: packages[0].packageId, marketPackCallSuccess: new Date(), updatedAt: new Date() })
96
+ .update(
97
+ { id: releaseGood.id },
98
+ { packageId: packages[0].packageId, marketPackCallSuccess: new Date(), updatedAt: new Date() }
99
+ )
97
100
  }
98
101
  } catch (error) {
99
102
  logger.error(`sellercraft-controller[packOrder]: ${error}`)
@@ -329,36 +332,39 @@ export class SellercraftController extends WorksheetController {
329
332
 
330
333
  if (orderPackages?.length) {
331
334
  await Promise.all(
332
- orderPackages.filter(op => op?.marketRtsCallSuccess == undefined).map(async op => {
333
- if (!op?.packageId) throw new Error('Order package id is not found')
334
-
335
- const orderInformation: any = {
336
- accountId: sellercraft.accountId,
337
- orderId: releaseGood.refNo2,
338
- packageId: op.packageId
339
- }
335
+ orderPackages
336
+ .filter(op => op?.marketRtsCallSuccess == undefined)
337
+ .map(async op => {
338
+ if (!op?.packageId) throw new Error('Order package id is not found')
339
+
340
+ const orderInformation: any = {
341
+ accountId: sellercraft.accountId,
342
+ orderId: releaseGood.refNo2,
343
+ packageId: op.packageId
344
+ }
340
345
 
341
- try {
342
- await SellercraftAPI.initiateOrderShipment(sellercraft, {
343
- ...orderInformation,
344
- context: { state: { domain: this?.domain, user: this?.user } }
345
- })
346
- await getRepository(OrderPackage).update({ id: op.id }, { marketRtsCallSuccess: new Date() })
347
- } catch (error) {
348
- logger.error(`sellercraft-controller[initiateOrderShipment]: ${JSON.stringify({
349
- ...orderInformation,
350
- context: { state: { domain: this?.domain, user: this?.user } },
351
- error: error
352
- })}`)
353
- }
354
- })
346
+ try {
347
+ await SellercraftAPI.initiateOrderShipment(sellercraft, {
348
+ ...orderInformation,
349
+ context: { state: { domain: this?.domain, user: this?.user } }
350
+ })
351
+ await getRepository(OrderPackage).update({ id: op.id }, { marketRtsCallSuccess: new Date() })
352
+ } catch (error) {
353
+ logger.error(
354
+ `sellercraft-controller[initiateOrderShipment]: ${JSON.stringify({
355
+ ...orderInformation,
356
+ context: { state: { domain: this?.domain, user: this?.user } },
357
+ error: error
358
+ })}`
359
+ )
360
+ }
361
+ })
355
362
  )
356
363
  }
357
364
  }
358
365
  } catch (error) {
359
366
  throw error
360
367
  }
361
-
362
368
  }
363
369
 
364
370
  async initiateOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<void> {
@@ -147,7 +147,9 @@ export class PutawayReturningWorksheetController extends VasWorksheetController
147
147
  if (unloadingWorksheetCnt) throw new Error(`Unloading is not completed yet`)
148
148
 
149
149
  const putawayWorksheet: Worksheet = await this.findWorksheetByRefOrder(returnOrder, WORKSHEET_TYPE.PUTAWAY_RETURN, [
150
- 'bufferLocation'
150
+ 'bufferLocation',
151
+ 'worksheetDetails',
152
+ 'worksheetDetails.targetInventory'
151
153
  ])
152
154
  await switchLocationStatus(this.domain, putawayWorksheet.bufferLocation, this.user, this.trxMgr)
153
155
  return await this.completeWorksheet(putawayWorksheet, ORDER_STATUS.DONE)
@@ -158,7 +158,9 @@ export class PutawayWorksheetController extends VasWorksheetController {
158
158
  if (unloadingWorksheetCnt) throw new Error(`Unloading is not completed yet`)
159
159
 
160
160
  const putawayWorksheet: Worksheet = await this.findWorksheetByRefOrder(arrivalNotice, WORKSHEET_TYPE.PUTAWAY, [
161
- 'bufferLocation'
161
+ 'bufferLocation',
162
+ 'worksheetDetails',
163
+ 'worksheetDetails.targetInventory'
162
164
  ])
163
165
  await switchLocationStatus(this.domain, putawayWorksheet.bufferLocation, this.user, this.trxMgr)
164
166
  return await this.completeWorksheet(putawayWorksheet, ORDER_STATUS.DONE)
@@ -38,7 +38,7 @@ import {
38
38
  import { TASK_NUMBER_RULE_TYPE, TASK_NUMBER_SETTING_KEY, WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../constants'
39
39
  import { SellercraftController } from '../../controllers'
40
40
  import { Worksheet, WorksheetDetail } from '../../entities'
41
- import { WorksheetNoGenerator } from '../../utils'
41
+ import { WorksheetNoGenerator, isInventoryObsolete } from '../../utils'
42
42
  import { VasWorksheetController } from '../vas/vas-worksheet-controller'
43
43
 
44
44
  export class PickingWorksheetController extends VasWorksheetController {
@@ -1224,13 +1224,7 @@ export class PickingWorksheetController extends VasWorksheetController {
1224
1224
  }
1225
1225
  }
1226
1226
 
1227
- async completePicking(releaseGoodNo: string): Promise<Worksheet> {
1228
- let releaseGood: ReleaseGood = await this.findRefOrder(ReleaseGood, {
1229
- domain: this.domain,
1230
- name: releaseGoodNo,
1231
- status: ORDER_STATUS.PICKING
1232
- })
1233
-
1227
+ async completePicking(releaseGood: ReleaseGood, worksheet: Worksheet, inventories: Inventory[]): Promise<any> {
1234
1228
  const foundNotSealedOrderTote = await this.trxMgr
1235
1229
  .getRepository(OrderTote)
1236
1230
  .findOne({ where: { releaseGood, closedDate: IsNull() } })
@@ -1239,10 +1233,13 @@ export class PickingWorksheetController extends VasWorksheetController {
1239
1233
  throw new Error('Please seal the tote(s) before completing')
1240
1234
  }
1241
1235
 
1242
- let worksheet: Worksheet = await this.findWorksheetByRefOrder(releaseGood, WORKSHEET_TYPE.PICKING, [
1243
- 'worksheetDetails',
1244
- 'worksheetDetails.targetInventory'
1245
- ])
1236
+ //check if any inventories is obsolete
1237
+ let foundObsoleteInventories = await isInventoryObsolete(inventories)
1238
+
1239
+ if (foundObsoleteInventories?.length > 0) {
1240
+ return foundObsoleteInventories
1241
+ }
1242
+
1246
1243
  await this.checkRecordValidity(worksheet, { status: WORKSHEET_STATUS.EXECUTING })
1247
1244
 
1248
1245
  let inventoryItems: InventoryItem = await this.trxMgr
@@ -1280,7 +1277,8 @@ export class PickingWorksheetController extends VasWorksheetController {
1280
1277
  'bizplace.domain',
1281
1278
  'worksheetDetails',
1282
1279
  'worksheetDetails.targetInventory',
1283
- 'worksheetDetails.targetInventory.releaseGood'
1280
+ 'worksheetDetails.targetInventory.releaseGood',
1281
+ 'worksheetDetails.targetInventory.inventory'
1284
1282
  ]
1285
1283
  })
1286
1284
 
@@ -1289,14 +1287,12 @@ export class PickingWorksheetController extends VasWorksheetController {
1289
1287
  worksheet.status = WORKSHEET_STATUS.DONE
1290
1288
  worksheet.endedAt = new Date()
1291
1289
  worksheet.updater = this.user
1292
- worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
1293
1290
 
1294
1291
  const worksheetDetails: any = worksheet.worksheetDetails.filter(wsD => wsD.status != 'MISSING')
1295
1292
  worksheetDetails.forEach((wsd: WorksheetDetail) => {
1296
1293
  wsd.status = WORKSHEET_STATUS.DONE
1297
1294
  wsd.updater = this.user
1298
1295
  })
1299
- await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
1300
1296
 
1301
1297
  const targetInventories: OrderInventory[] = worksheetDetails.map((wsd: WorksheetDetail) => {
1302
1298
  let targetInventory: OrderInventory = wsd.targetInventory
@@ -1304,6 +1300,18 @@ export class PickingWorksheetController extends VasWorksheetController {
1304
1300
  targetInventory.updater = this.user
1305
1301
  return targetInventory
1306
1302
  })
1303
+
1304
+ const inventories: Inventory[] = targetInventories.map((ti: OrderInventory) => ti.inventory)
1305
+
1306
+ //check if any inventories is obsolete
1307
+ let foundObsoleteInventories = await isInventoryObsolete(inventories)
1308
+
1309
+ if (foundObsoleteInventories?.length > 0) {
1310
+ return foundObsoleteInventories
1311
+ }
1312
+
1313
+ worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
1314
+ await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
1307
1315
  await this.updateOrderTargets(targetInventories)
1308
1316
 
1309
1317
  const releaseGoods: ReleaseGood[] = worksheetDetails.map((wsd: WorksheetDetail) => {
@@ -703,28 +703,24 @@ export class WorksheetController {
703
703
  async completeWorksheet(worksheet: Worksheet, updatedRefOrderStatus?: string): Promise<Worksheet> {
704
704
  if (!worksheet.id) throw new Error(this.ERROR_MSG.UPDATE.ID_NOT_EXISTS)
705
705
 
706
- worksheet.status = WORKSHEET_STATUS.DONE
707
- worksheet.endedAt = new Date()
708
- worksheet.updater = this.user
709
- worksheet = await this.trxMgr.getRepository(Worksheet).save(worksheet)
706
+ await this.trxMgr
707
+ .getRepository(Worksheet)
708
+ .update({ id: worksheet.id }, { status: WORKSHEET_STATUS.DONE, endedAt: new Date(), updater: this.user })
710
709
 
711
710
  const worksheetType: string = worksheet.type
712
- worksheet = await this.findWorksheet(worksheet, [
713
- 'worksheetDetails',
714
- 'worksheetDetails.targetProduct',
715
- 'worksheetDetails.targetInventory',
716
- 'worksheetDetails.targetVas'
717
- ])
718
711
 
719
712
  let worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
720
713
 
721
- worksheetDetails
722
- .filter((wsd: WorksheetDetail) => wsd.status !== ORDER_INVENTORY_STATUS.REPLACED)
723
- .forEach((wsd: WorksheetDetail) => {
724
- wsd.status = WORKSHEET_STATUS.DONE
725
- wsd.updater = this.user
726
- })
727
- await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
714
+ await this.trxMgr.getRepository(WorksheetDetail).update(
715
+ {
716
+ id: In(
717
+ worksheetDetails.map(wd => {
718
+ if (wd.status !== ORDER_INVENTORY_STATUS.REPLACED) return wd.id
719
+ })
720
+ )
721
+ },
722
+ { status: WORKSHEET_STATUS.DONE, updater: this.user }
723
+ )
728
724
 
729
725
  if (worksheetType === WORKSHEET_TYPE.UNLOADING) {
730
726
  let targetProducts: OrderProduct[] = worksheet.worksheetDetails.map((wsd: WorksheetDetail) => {
@@ -74,6 +74,13 @@ export const inventoriesByPalletResolver = {
74
74
  qb.andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')
75
75
  }
76
76
 
77
+ if (recallFilters?.value === true) {
78
+ qb.orWhere('iv.obsolete = true')
79
+ qb.orWhere(
80
+ 'case when iv.expiration_date is not null and product.shell_life is not null then CURRENT_DATE > iv.expiration_date - product.shell_life else true end'
81
+ )
82
+ }
83
+
77
84
  if (locationFilters) {
78
85
  qb.andWhere(`location.name ilike '${locationFilters.value}'`)
79
86
  }
@@ -1,18 +1,8 @@
1
- import {
2
- EntityManager,
3
- getManager,
4
- SelectQueryBuilder
5
- } from 'typeorm'
1
+ import { EntityManager, getManager, SelectQueryBuilder } from 'typeorm'
6
2
 
7
- import {
8
- ApplicationType,
9
- User
10
- } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
11
4
  import { logger } from '@things-factory/env'
12
- import {
13
- Sellercraft,
14
- SellercraftStatus
15
- } from '@things-factory/integration-sellercraft'
5
+ import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
16
6
  import {
17
7
  MarketplaceOrder,
18
8
  MarketplaceOrderItem,
@@ -27,21 +17,12 @@ import {
27
17
  OrderProduct,
28
18
  ReleaseGood
29
19
  } from '@things-factory/sales-base'
30
- import {
31
- PartnerSetting,
32
- Setting
33
- } from '@things-factory/setting-base'
20
+ import { PartnerSetting, Setting } from '@things-factory/setting-base'
34
21
  import { Domain } from '@things-factory/shell'
35
22
  import { Location } from '@things-factory/warehouse-base'
36
23
 
37
- import {
38
- WORKSHEET_STATUS,
39
- WORKSHEET_TYPE
40
- } from '../../../constants'
41
- import {
42
- PackingWorksheetController,
43
- SellercraftController
44
- } from '../../../controllers'
24
+ import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
25
+ import { PackingWorksheetController, SellercraftController } from '../../../controllers'
45
26
  import { Worksheet } from '../../../entities'
46
27
 
47
28
  export const packingWorksheetResolver = {
@@ -170,7 +151,8 @@ export const packingWorksheetResolver = {
170
151
  'orderPackageItems',
171
152
  'orderPackageItems.orderProduct',
172
153
  'orderPackageItems.orderProduct.product',
173
- 'orderPackageItems.orderProduct.product.productDetails'
154
+ 'orderPackageItems.orderProduct.product.productDetails',
155
+ 'orderPackageItems.orderProduct.product.productDetails.productBarcodes'
174
156
  ]
175
157
  })
176
158