@things-factory/worksheet-base 4.3.516 → 4.3.520

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 (22) hide show
  1. package/dist-server/controllers/outbound/packing-worksheet-controller.js +7 -0
  2. package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
  3. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +11 -4
  4. package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
  5. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +3 -0
  6. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  7. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +13 -12
  8. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  9. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +17 -14
  10. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +56 -69
  12. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +7 -2
  14. package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
  15. package/package.json +18 -18
  16. package/server/controllers/outbound/packing-worksheet-controller.ts +8 -0
  17. package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +15 -6
  18. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +4 -1
  19. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +17 -14
  20. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +21 -18
  21. package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +67 -87
  22. package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +8 -4
@@ -1,86 +1,73 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completePutaway = exports.completePutawayResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
4
5
  const auth_base_1 = require("@things-factory/auth-base");
5
6
  const integration_marketplace_1 = require("@things-factory/integration-marketplace");
6
7
  const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
7
8
  const sales_base_1 = require("@things-factory/sales-base");
9
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
8
10
  const biz_base_1 = require("@things-factory/biz-base");
9
11
  const controllers_1 = require("../../../../controllers");
10
12
  const ecommerce_1 = require("../../../../controllers/ecommerce");
11
13
  const entities_1 = require("../../../../entities");
12
14
  exports.completePutawayResolver = {
13
15
  async completePutaway(_, { arrivalNoticeNo }, context) {
14
- const { tx, user, domain } = context.state;
15
- await completePutaway(tx, domain, user, arrivalNoticeNo);
16
- const arrivalNotice = await tx.getRepository(sales_base_1.ArrivalNotice).findOne({
17
- where: { domain, name: arrivalNoticeNo },
18
- relations: [
19
- 'purchaseOrder',
20
- 'bizplace',
21
- 'bizplace.domain',
22
- 'bizplace.company',
23
- 'bizplace.company.domain',
24
- 'orderProducts',
25
- 'orderProducts.product',
26
- 'orderProducts.product.productDetails',
27
- 'orderProducts.product.productDetails.childProductDetail',
28
- 'orderProducts.productDetail'
29
- ]
30
- });
31
- // search for any active marketplace connection
32
- const companyDomain = arrivalNotice.bizplace.company.domain;
33
- const customerDomain = arrivalNotice.bizplace.domain;
34
- const customerBizplaceId = arrivalNotice.bizplace.id;
35
- const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
36
- // const orderSource: string = arrivalNotice.source
37
- // switch (orderSource) {
38
- // case ApplicationType.SELLERCRAFT:
39
- // const sellercraft: Sellercraft = await tx
40
- // .getRepository(Sellercraft)
41
- // .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
42
- // if (sellercraft) {
43
- // const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
44
- // await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice)
45
- // }
46
- // break
47
- // case ApplicationType.MMS:
48
- // const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
49
- // where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
50
- // relations: ['marketplaceDistributors']
51
- // })
52
- // if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
53
- // const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
54
- // await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
55
- // }
56
- // break
57
- // default:
58
- // break
59
- // }
60
- const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
61
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
62
- relations: ['marketplaceDistributors']
63
- });
64
- const sellercraft = await tx
65
- .getRepository(integration_sellercraft_1.Sellercraft)
66
- .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
67
- const application = await tx
68
- .getRepository(auth_base_1.Application)
69
- .findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: auth_base_1.ApplicationType.POWRUP });
70
- if (sellercraft) {
71
- const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
72
- // allow async run to skip user wait time
73
- sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
74
- }
75
- if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
76
- const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
77
- // allow async run to skip user wait time
78
- ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
16
+ try {
17
+ const { tx, user, domain } = context.state;
18
+ await completePutaway(tx, domain, user, arrivalNoticeNo);
19
+ const arrivalNotice = await tx.getRepository(sales_base_1.ArrivalNotice).findOne({
20
+ where: { domain, name: arrivalNoticeNo },
21
+ relations: [
22
+ 'purchaseOrder',
23
+ 'bizplace',
24
+ 'bizplace.domain',
25
+ 'bizplace.company',
26
+ 'bizplace.company.domain',
27
+ 'orderProducts',
28
+ 'orderProducts.product',
29
+ 'orderProducts.product.productDetails',
30
+ 'orderProducts.product.productDetails.childProductDetail',
31
+ 'orderProducts.productDetail'
32
+ ]
33
+ });
34
+ // search for any active marketplace connection
35
+ const companyDomain = arrivalNotice.bizplace.company.domain;
36
+ const customerDomain = arrivalNotice.bizplace.domain;
37
+ const customerBizplaceId = arrivalNotice.bizplace.id;
38
+ const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
39
+ const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
40
+ where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
41
+ relations: ['marketplaceDistributors']
42
+ });
43
+ const sellercraft = await tx
44
+ .getRepository(integration_sellercraft_1.Sellercraft)
45
+ .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
46
+ if (sellercraft) {
47
+ const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
48
+ // allow async run to skip user wait time
49
+ sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
50
+ }
51
+ if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
52
+ const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
53
+ // allow async run to skip user wait time
54
+ ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
55
+ }
56
+ const application = await tx.getRepository(auth_base_1.Application).find({
57
+ domain: companyBizplace.domain,
58
+ status: 'ACTIVE',
59
+ type: (0, typeorm_1.In)([auth_base_1.ApplicationType.POWRUP, auth_base_1.ApplicationType.WEBSPERT])
60
+ });
61
+ if (application.find(app => app.type == auth_base_1.ApplicationType.POWRUP)) {
62
+ const powrupController = new sales_base_1.PowrupController();
63
+ powrupController.updateStock(arrivalNotice.orderProducts, customerDomain, user);
64
+ }
65
+ if (application.find(app => app.type == auth_base_1.ApplicationType.WEBSPERT)) {
66
+ warehouse_base_1.WebspertController.updateStock(arrivalNotice.orderProducts.map(op => op.productDetail), arrivalNotice.bizplace, domain, user, tx);
67
+ }
79
68
  }
80
- if (application) {
81
- const powrupController = new sales_base_1.PowrupController();
82
- // allow async run to skip user wait time
83
- powrupController.updateStock(arrivalNotice.orderProducts, customerDomain, user);
69
+ catch (error) {
70
+ throw error;
84
71
  }
85
72
  }
86
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":";;;AAEA,yDAA8E;AAC9E,qFAA0E;AAC1E,qFAAwF;AACxF,2DAA4E;AAE5E,uDAAuE;AAEvE,yDAAoE;AACpE,iEAA8F;AAC9F,mDAAgD;AAEnC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,eAAe,CAAC,CAAM,EAAE,EAAE,eAAe,EAAE,EAAE,OAAY;QAC7D,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAC7F,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,CAAA;QAExD,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,OAAO,CAAC;YACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;YACxC,SAAS,EAAE;gBACT,eAAe;gBACf,UAAU;gBACV,iBAAiB;gBACjB,kBAAkB;gBAClB,yBAAyB;gBACzB,eAAe;gBACf,uBAAuB;gBACvB,sCAAsC;gBACtC,yDAAyD;gBACzD,6BAA6B;aAC9B;SACF,CAAC,CAAA;QAEF,+CAA+C;QAC/C,MAAM,aAAa,GAAW,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAA;QACnE,MAAM,cAAc,GAAW,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC5D,MAAM,kBAAkB,GAAW,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAA;QAC5D,MAAM,eAAe,GAAa,MAAM,IAAA,6BAAkB,EAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAEhG,mDAAmD;QACnD,yBAAyB;QACzB,sCAAsC;QACtC,gDAAgD;QAChD,oCAAoC;QACpC,+EAA+E;QAE/E,yBAAyB;QACzB,mGAAmG;QACnG,iFAAiF;QACjF,QAAQ;QACR,YAAY;QAEZ,8BAA8B;QAC9B,oGAAoG;QACpG,wFAAwF;QACxF,+CAA+C;QAC/C,SAAS;QAET,sGAAsG;QACtG,6FAA6F;QAC7F,uHAAuH;QACvH,QAAQ;QACR,YAAY;QAEZ,aAAa;QACb,YAAY;QACZ,IAAI;QAEJ,MAAM,iBAAiB,GAAuB,MAAM,EAAE,CAAC,aAAa,CAAC,0CAAgB,CAAC,CAAC,IAAI,CAAC;YAC1F,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;YAC9E,SAAS,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC,CAAA;QAEF,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,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,uBAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAAe,CAAC,MAAM,EAAE,CAAC,CAAA;QAE9F,IAAI,WAAW,EAAE;YACf,MAAM,eAAe,GAA0B,IAAI,iCAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAE1F,yCAAyC;YACzC,eAAe,CAAC,sBAAsB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;SACnE;QAED,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,KAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YAC5F,MAAM,aAAa,GAAwB,IAAI,+BAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAEpF,yCAAyC;YACzC,aAAa,CAAC,2BAA2B,CAAC,iBAAiB,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;SACzG;QAED,IAAI,WAAW,EAAE;YACf,MAAM,gBAAgB,GAAqB,IAAI,6BAAgB,EAAE,CAAA;YAEjE,yCAAyC;YACzC,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAA;SAChF;IACH,CAAC;CACF,CAAA;AAEM,KAAK,UAAU,eAAe,CACnC,EAAiB,EACjB,MAAc,EACd,IAAU,EACV,eAAuB;;IAEvB,MAAM,mBAAmB,GAA+B,IAAI,wCAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxG,IAAI,SAAS,GAAc,MAAM,mBAAmB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;IAErF;;OAEG;IACH,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,IAAI,CAAA,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,EAAE,CAAA,EAAE;QAC7D,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE;YAClE,SAAS,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;SACzC,CAAC,CAAA;KACH;AACH,CAAC;AAjBD,0CAiBC"}
1
+ {"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completePutawayReturn = exports.completePutawayReturnResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
4
5
  const auth_base_1 = require("@things-factory/auth-base");
5
6
  const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
6
7
  const sales_base_1 = require("@things-factory/sales-base");
8
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
7
9
  const biz_base_1 = require("@things-factory/biz-base");
8
10
  const controllers_1 = require("../../../../controllers");
9
11
  const ecommerce_1 = require("../../../../controllers/ecommerce");
@@ -32,15 +34,18 @@ exports.completePutawayReturnResolver = {
32
34
  const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
33
35
  const application = await tx
34
36
  .getRepository(auth_base_1.Application)
35
- .findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: auth_base_1.ApplicationType.POWRUP });
37
+ .find({ domain: companyBizplace.domain, status: 'ACTIVE', type: (0, typeorm_1.In)([auth_base_1.ApplicationType.POWRUP, auth_base_1.ApplicationType.WEBSPERT]) });
36
38
  if (sellercraft) {
37
39
  const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
38
40
  await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder);
39
41
  }
40
- if (application) {
42
+ if (application.find(app => app.type == auth_base_1.ApplicationType.POWRUP)) {
41
43
  const powrupController = new sales_base_1.PowrupController();
42
44
  powrupController.updateStock(returnOrder.orderInventories, customerDomain, user, tx);
43
45
  }
46
+ if (application.find(app => app.type == auth_base_1.ApplicationType.WEBSPERT)) {
47
+ warehouse_base_1.WebspertController.updateStock(returnOrder.orderInventories.map(oi => oi.productDetail), returnOrder.bizplace, domain, user, tx);
48
+ }
44
49
  }
45
50
  };
46
51
  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":";;;AAEA,yDAA8E;AAC9E,qFAAwF;AACxF,2DAA0E;AAE1E,uDAAuE;AAEvE,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;gBACzC,gCAAgC;aACjC;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,MAAM,kBAAkB,GAAW,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAA;QAC1D,MAAM,eAAe,GAAa,MAAM,IAAA,6BAAkB,EAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAChG,MAAM,WAAW,GAAgB,MAAM,EAAE;aACtC,aAAa,CAAC,uBAAW,CAAC;aAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAAe,CAAC,MAAM,EAAE,CAAC,CAAA;QAE9F,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;QAED,IAAI,WAAW,EAAE;YACf,MAAM,gBAAgB,GAAqB,IAAI,6BAAgB,EAAE,CAAA;YACjE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;SACrF;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"}
1
+ {"version":3,"file":"complete-putaway-return.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.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.516",
3
+ "version": "4.3.520",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -23,27 +23,27 @@
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.452",
27
- "@things-factory/biz-base": "^4.3.452",
26
+ "@things-factory/auth-base": "^4.3.518",
27
+ "@things-factory/biz-base": "^4.3.518",
28
28
  "@things-factory/document-template-base": "^4.3.434",
29
- "@things-factory/id-rule-base": "^4.3.452",
30
- "@things-factory/integration-accounting": "^4.3.512",
31
- "@things-factory/integration-base": "^4.3.512",
32
- "@things-factory/integration-lmd": "^4.3.512",
33
- "@things-factory/integration-marketplace": "^4.3.512",
34
- "@things-factory/integration-powrup": "^4.3.512",
35
- "@things-factory/integration-sellercraft": "^4.3.512",
36
- "@things-factory/integration-sftp": "^4.3.512",
37
- "@things-factory/marketplace-base": "^4.3.512",
38
- "@things-factory/notification": "^4.3.452",
39
- "@things-factory/sales-base": "^4.3.516",
40
- "@things-factory/setting-base": "^4.3.452",
29
+ "@things-factory/id-rule-base": "^4.3.518",
30
+ "@things-factory/integration-accounting": "^4.3.518",
31
+ "@things-factory/integration-base": "^4.3.518",
32
+ "@things-factory/integration-lmd": "^4.3.518",
33
+ "@things-factory/integration-marketplace": "^4.3.518",
34
+ "@things-factory/integration-powrup": "^4.3.518",
35
+ "@things-factory/integration-sellercraft": "^4.3.518",
36
+ "@things-factory/integration-sftp": "^4.3.518",
37
+ "@things-factory/marketplace-base": "^4.3.518",
38
+ "@things-factory/notification": "^4.3.518",
39
+ "@things-factory/sales-base": "^4.3.520",
40
+ "@things-factory/setting-base": "^4.3.518",
41
41
  "@things-factory/shell": "^4.3.434",
42
- "@things-factory/transport-base": "^4.3.452",
43
- "@things-factory/warehouse-base": "^4.3.516",
42
+ "@things-factory/transport-base": "^4.3.518",
43
+ "@things-factory/warehouse-base": "^4.3.520",
44
44
  "jspdf": "2.5.1",
45
45
  "puppeteer": "21.0.3",
46
46
  "uuid": "^9.0.0"
47
47
  },
48
- "gitHead": "e978cd97325cd1fe187d81e566f393f5d94093ea"
48
+ "gitHead": "5b8fa6d6bef3ece5265eef8b11afb8942b74ca05"
49
49
  }
@@ -13,6 +13,7 @@ import {
13
13
  OrderPackageItem,
14
14
  OrderProduct,
15
15
  PowrupController,
16
+ WebspertController,
16
17
  ReleaseGood
17
18
  } from '@things-factory/sales-base'
18
19
  import {
@@ -157,6 +158,13 @@ export class PackingWorksheetController extends VasWorksheetController {
157
158
  }
158
159
  break
159
160
 
161
+ case ApplicationType.WEBSPERT:
162
+ // releaseGood: ReleaseGood,
163
+ // orderPackages: OrderPackage[],
164
+ // domain: Domain,
165
+ // user: User,
166
+ await WebspertController.initiateShipment(releaseGood, [], this.domain, this.user)
167
+ break
160
168
  default:
161
169
  break
162
170
  }
@@ -12,7 +12,7 @@ import {
12
12
  OrderInventory,
13
13
  OrderVas,
14
14
  ReleaseGood,
15
- PowrupController
15
+ PowrupController,
16
16
  } from '@things-factory/sales-base'
17
17
  import { Domain } from '@things-factory/shell'
18
18
  import {
@@ -21,7 +21,8 @@ import {
21
21
  INVENTORY_STATUS,
22
22
  INVENTORY_TRANSACTION_TYPE,
23
23
  Location,
24
- ProductDetailStock
24
+ ProductDetailStock,
25
+ WebspertController
25
26
  } from '@things-factory/warehouse-base'
26
27
  import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
27
28
 
@@ -316,11 +317,19 @@ async function updateStockForOrderInventories(
316
317
  const application: Application = await tx.getRepository(Application).findOne({
317
318
  domain: companyBizplace.domain,
318
319
  status: 'ACTIVE',
319
- type: ApplicationType.POWRUP
320
+ type: In([ApplicationType.POWRUP, ApplicationType.WEBSPERT])
320
321
  })
321
- if (application) {
322
- const powrupController: PowrupController = new PowrupController()
323
- powrupController.updateStock(orderInventories, customerDomain, user, tx)
322
+
323
+ switch (application.type) {
324
+ case ApplicationType.POWRUP:
325
+ const powrupController: PowrupController = new PowrupController()
326
+ powrupController.updateStock(orderInventories, customerDomain, user, tx)
327
+ break;
328
+ case ApplicationType.WEBSPERT:
329
+ WebspertController.updateStock(orderInventories.map(oi => oi.productDetail), releaseGood.bizplace, domain, user, tx)
330
+ break;
331
+ default:
332
+ break;
324
333
  }
325
334
  }
326
335
  }
@@ -17,6 +17,7 @@ import {
17
17
  OrderPackage,
18
18
  OrderProduct,
19
19
  PowrupController,
20
+ WebspertController,
20
21
  ReleaseGood
21
22
  } from '@things-factory/sales-base'
22
23
  import { PartnerSetting, Setting } from '@things-factory/setting-base'
@@ -707,7 +708,9 @@ async function activatePacking(
707
708
  rtsOrderDoc(powrup, releaseGood, domain, user)
708
709
  }
709
710
  break
710
-
711
+ case ApplicationType.WEBSPERT:
712
+ WebspertController.triggerOrderProcesses(releaseGood, domain, user, true)
713
+ break
711
714
  default:
712
715
  break
713
716
  }
@@ -14,6 +14,7 @@ import {
14
14
  OrderNoGenerator,
15
15
  OrderPackage,
16
16
  PowrupController,
17
+ WebspertController,
17
18
  ReleaseGood
18
19
  } from '@things-factory/sales-base'
19
20
  import { Setting } from '@things-factory/setting-base'
@@ -129,6 +130,11 @@ export async function completeBatchPicking(
129
130
  }
130
131
 
131
132
  const orderSource: string = foundReleaseGood.source
133
+
134
+ const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
135
+ where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
136
+ }).then((setting: Setting) => { return parseInt(setting?.value || 0) })
137
+
132
138
  switch (orderSource) {
133
139
  case ApplicationType.SELLERCRAFT:
134
140
  const sellercraft: Sellercraft = await tx
@@ -136,7 +142,7 @@ export async function completeBatchPicking(
136
142
  .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
137
143
 
138
144
  if (sellercraft) {
139
- const initSCOrderShipment = async (sellercraft: Sellercraft, foundReleaseGood: ReleaseGood) => {
145
+ const initSCOrderShipment = async (sellercraft: Sellercraft, foundReleaseGood: ReleaseGood, rtsTriggerLevel) => {
140
146
  await getManager().transaction(async txMgr => {
141
147
  const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)
142
148
 
@@ -144,18 +150,14 @@ export async function completeBatchPicking(
144
150
  await sellercraftCtrl.packOrder(sellercraft, foundReleaseGood)
145
151
  }
146
152
 
147
- const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
148
- where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
149
- })
150
-
151
- if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
153
+ if (rtsTriggerLevel == 1) {
152
154
  await sellercraftCtrl.initiateOrderShipment(sellercraft, foundReleaseGood)
153
155
  }
154
156
  })
155
157
  }
156
158
 
157
159
  // asynchronouly call to initiate sellercraft order shipment/ RTS
158
- initSCOrderShipment(sellercraft, foundReleaseGood)
160
+ initSCOrderShipment(sellercraft, foundReleaseGood, rtsTriggerLevel)
159
161
  }
160
162
  break
161
163
 
@@ -163,7 +165,7 @@ export async function completeBatchPicking(
163
165
  const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true, platform: 'POWRUP' })
164
166
 
165
167
  if (powrup) {
166
- const initPowrupShipment = async (powrup: Powrup, foundReleaseGood: ReleaseGood) => {
168
+ const initPowrupShipment = async (powrup: Powrup, foundReleaseGood: ReleaseGood, rtsTriggerLevel) => {
167
169
  await getManager().transaction(async txMgr => {
168
170
  const powrupCtrl: PowrupController = new PowrupController()
169
171
 
@@ -171,18 +173,14 @@ export async function completeBatchPicking(
171
173
  await powrupCtrl.packOrder(powrup, foundReleaseGood, domain, user, txMgr)
172
174
  }
173
175
 
174
- const rtsTriggerLevel: Setting = await txMgr.getRepository(Setting).findOne({
175
- where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
176
- })
177
-
178
- if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
176
+ if (rtsTriggerLevel == 1) {
179
177
  await powrupCtrl.initiateShipment(powrup, foundReleaseGood, domain, user, txMgr)
180
178
  }
181
179
  })
182
180
  }
183
181
 
184
182
  // asynchronouly call to initiate sellercraft order shipment/ RTS
185
- initPowrupShipment(powrup, foundReleaseGood)
183
+ initPowrupShipment(powrup, foundReleaseGood, rtsTriggerLevel)
186
184
  }
187
185
  break
188
186
 
@@ -202,6 +200,11 @@ export async function completeBatchPicking(
202
200
  )
203
201
  break
204
202
 
203
+ case ApplicationType.WEBSPERT:
204
+ // Trigger Whole Order Process
205
+ WebspertController.triggerOrderProcesses(foundReleaseGood, domain, user, (rtsTriggerLevel == 1))
206
+
207
+ break
205
208
  default:
206
209
  if (!foundReleaseGood?.orderPackages?.length) {
207
210
  let orderPackage: OrderPackage = {
@@ -44,6 +44,7 @@ import {
44
44
  OrderProduct,
45
45
  OrderVas,
46
46
  PowrupController,
47
+ WebspertController,
47
48
  ReleaseGood,
48
49
  Replenishment
49
50
  } from '@things-factory/sales-base'
@@ -173,6 +174,10 @@ export async function completePicking(
173
174
 
174
175
  let foundObsoleteInventories = await pickingWSCtrl.completePicking(releaseGood, worksheet, inventories)
175
176
 
177
+ const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
178
+ where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
179
+ }).then((setting: Setting) => { return parseInt(setting?.value || 0) })
180
+
176
181
  if (foundObsoleteInventories?.type) {
177
182
  const orderSource: string = releaseGood.source
178
183
  switch (orderSource) {
@@ -182,11 +187,12 @@ export async function completePicking(
182
187
  .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
183
188
 
184
189
  if (sellercraft) {
185
- const initSCOrderShipment = async sellercraft => {
190
+ const initSCOrderShipment = async (sellercraft, rtsTriggerLevel) => {
186
191
  await getManager().transaction(async txMgr => {
187
192
  const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)
188
193
 
189
194
  if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess) {
195
+ ///// Q: why need to refetch Order Products?
190
196
  const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
191
197
  where: { releaseGood },
192
198
  relations: ['product', 'product.productDetails', 'productDetail']
@@ -194,17 +200,13 @@ export async function completePicking(
194
200
  await sellercraftCtrl.packOrder(sellercraft, { ...releaseGood, orderProducts })
195
201
  }
196
202
 
197
- const rtsTriggerLevel: Setting = await txMgr.getRepository(Setting).findOne({
198
- where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
199
- })
200
-
201
- if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
202
- await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
203
- }
203
+ // Trigger if RTS Trigger Level Setting == 1
204
+ if (rtsTriggerLevel == 1) await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
204
205
  })
205
206
  }
207
+
206
208
  // asynchronouly call to initiate sellercraft order shipment/ RTS
207
- initSCOrderShipment(sellercraft)
209
+ initSCOrderShipment(sellercraft, rtsTriggerLevel)
208
210
  }
209
211
  break
210
212
 
@@ -212,11 +214,12 @@ export async function completePicking(
212
214
  const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true, platform: 'POWRUP' })
213
215
 
214
216
  if (powrup) {
215
- const initPowrupShipment = async powrup => {
217
+ const initPowrupShipment = async (powrup, rtsTriggerLevel) => {
216
218
  await getManager().transaction(async txMgr => {
217
219
  const powrupController: PowrupController = new PowrupController()
218
220
 
219
221
  if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess) {
222
+ ///// Q: why need to refetch Order Products?
220
223
  const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
221
224
  where: { releaseGood },
222
225
  relations: ['product', 'productDetail']
@@ -224,17 +227,12 @@ export async function completePicking(
224
227
  await powrupController.packOrder(powrup, { ...releaseGood, orderProducts }, domain, user, txMgr)
225
228
  }
226
229
 
227
- const rtsTriggerLevel: Setting = await txMgr.getRepository(Setting).findOne({
228
- where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
229
- })
230
-
231
- if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
232
- await powrupController.initiateShipment(powrup, releaseGood, domain, user, txMgr)
233
- }
230
+ // Trigger if RTS Trigger Level Setting == 1
231
+ if (rtsTriggerLevel == 1) await powrupController.initiateShipment(powrup, releaseGood, domain, user, txMgr)
234
232
  })
235
233
  }
236
234
  // asynchronouly call to initiate powrup order shipment/ RTS
237
- initPowrupShipment(powrup)
235
+ initPowrupShipment(powrup, rtsTriggerLevel)
238
236
  }
239
237
  break
240
238
 
@@ -356,6 +354,11 @@ export async function completePicking(
356
354
  }
357
355
  break
358
356
 
357
+ case ApplicationType.WEBSPERT:
358
+ // Trigger Whole Order Process
359
+ WebspertController.triggerOrderProcesses(releaseGood, domain, user, (rtsTriggerLevel == 1))
360
+
361
+ break
359
362
  default:
360
363
  if (!releaseGood?.orderPackages?.length) {
361
364
  let orderPackage: OrderPackage = {