@things-factory/worksheet-base 4.3.89 → 4.3.94

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 (34) hide show
  1. package/dist-server/controllers/ecommerce/ecommerce-controller.js +1 -1
  2. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  3. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +67 -28
  4. package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
  5. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +23 -8
  6. package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
  7. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +30 -7
  8. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
  9. package/dist-server/graphql/resolvers/worksheet/packing/packing.js +23 -8
  10. package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +25 -8
  12. package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +60 -12
  14. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  15. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +51 -25
  16. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +37 -29
  18. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  19. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +132 -118
  20. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  21. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +39 -14
  22. package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
  23. package/package.json +17 -17
  24. package/server/controllers/ecommerce/ecommerce-controller.ts +1 -1
  25. package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +77 -33
  26. package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +26 -9
  27. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +34 -9
  28. package/server/graphql/resolvers/worksheet/packing/packing.ts +26 -9
  29. package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +28 -9
  30. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +69 -13
  31. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +60 -30
  32. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +46 -40
  33. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +142 -131
  34. package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +45 -15
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completePutaway = exports.completePutawayResolver = void 0;
4
+ const auth_base_1 = require("@things-factory/auth-base");
4
5
  const integration_marketplace_1 = require("@things-factory/integration-marketplace");
5
6
  const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
6
7
  const sales_base_1 = require("@things-factory/sales-base");
@@ -28,21 +29,45 @@ exports.completePutawayResolver = {
28
29
  // search for any active marketplace connection
29
30
  const companyDomain = arrivalNotice.bizplace.company.domain;
30
31
  const customerDomain = arrivalNotice.bizplace.domain;
31
- const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
32
- where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
33
- relations: ['marketplaceDistributors']
34
- });
35
- const sellercraft = await tx
36
- .getRepository(integration_sellercraft_1.Sellercraft)
37
- .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
38
- if (sellercraft) {
39
- const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
40
- await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
41
- }
42
- if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
43
- const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
44
- await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
32
+ const orderSource = arrivalNotice.source;
33
+ switch (orderSource) {
34
+ case auth_base_1.ApplicationType.SELLERCRAFT:
35
+ const sellercraft = await tx
36
+ .getRepository(integration_sellercraft_1.Sellercraft)
37
+ .findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
38
+ if (sellercraft) {
39
+ const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
40
+ await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
41
+ }
42
+ break;
43
+ case auth_base_1.ApplicationType.MMS:
44
+ const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
45
+ where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
46
+ relations: ['marketplaceDistributors']
47
+ });
48
+ if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
49
+ const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
50
+ await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
51
+ }
52
+ break;
53
+ default:
54
+ break;
45
55
  }
56
+ // const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
57
+ // where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
58
+ // relations: ['marketplaceDistributors']
59
+ // })
60
+ // const sellercraft: Sellercraft = await tx
61
+ // .getRepository(Sellercraft)
62
+ // .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
63
+ // if (sellercraft) {
64
+ // const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
65
+ // await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice)
66
+ // }
67
+ // if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
68
+ // const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
69
+ // await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
70
+ // }
46
71
  }
47
72
  };
48
73
  async function completePutaway(tx, domain, user, arrivalNoticeNo) {
@@ -1 +1 @@
1
- {"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.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.89",
3
+ "version": "4.3.94",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,21 +24,21 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/auth-base": "^4.3.86",
28
- "@things-factory/biz-base": "^4.3.86",
29
- "@things-factory/document-template-base": "^4.3.86",
30
- "@things-factory/id-rule-base": "^4.3.86",
31
- "@things-factory/integration-lmd": "^4.3.86",
32
- "@things-factory/integration-marketplace": "^4.3.89",
33
- "@things-factory/integration-sellercraft": "^4.3.89",
34
- "@things-factory/integration-sftp": "^4.3.86",
35
- "@things-factory/marketplace-base": "^4.3.89",
36
- "@things-factory/notification": "^4.3.86",
37
- "@things-factory/sales-base": "^4.3.89",
38
- "@things-factory/setting-base": "^4.3.86",
39
- "@things-factory/shell": "^4.3.86",
40
- "@things-factory/transport-base": "^4.3.86",
41
- "@things-factory/warehouse-base": "^4.3.89"
27
+ "@things-factory/auth-base": "^4.3.94",
28
+ "@things-factory/biz-base": "^4.3.94",
29
+ "@things-factory/document-template-base": "^4.3.94",
30
+ "@things-factory/id-rule-base": "^4.3.94",
31
+ "@things-factory/integration-lmd": "^4.3.94",
32
+ "@things-factory/integration-marketplace": "^4.3.94",
33
+ "@things-factory/integration-sellercraft": "^4.3.94",
34
+ "@things-factory/integration-sftp": "^4.3.94",
35
+ "@things-factory/marketplace-base": "^4.3.94",
36
+ "@things-factory/notification": "^4.3.94",
37
+ "@things-factory/sales-base": "^4.3.94",
38
+ "@things-factory/setting-base": "^4.3.94",
39
+ "@things-factory/shell": "^4.3.94",
40
+ "@things-factory/transport-base": "^4.3.94",
41
+ "@things-factory/warehouse-base": "^4.3.94"
42
42
  },
43
- "gitHead": "7bcc26bb32589c622ab05813a6b5012729aa3b9e"
43
+ "gitHead": "cce6db86fba56ab1ad7b050f67f0ad013bad87f3"
44
44
  }
@@ -174,7 +174,7 @@ export class EcommerceController extends WorksheetController {
174
174
  marketplaceOrderItem.marketplaceOrderShippingItems
175
175
  marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
176
176
  if (marketplaceOrderShippingItem?.marketplaceOrderShipping.id == marketplaceOrderShipping.id) {
177
- orderItems.push(marketplaceOrderItem)
177
+ orderItems.push({ name: marketplaceOrderItem.name, qty: marketplaceOrderShippingItem.qty })
178
178
  }
179
179
  })
180
180
  })
@@ -1,6 +1,6 @@
1
1
  import { EntityManager } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { Bizplace, Company } from '@things-factory/biz-base'
5
5
  import { FulfillmentCenter } from '@things-factory/integration-fulfillment'
6
6
  import { Sftp, SftpAPI } from '@things-factory/integration-sftp'
@@ -58,42 +58,86 @@ export async function completeLoading(
58
58
  const warehouseCompanyBizplaces: Bizplace[] = warehouseBizplaces.filter(biz => biz.domain.extType == 'company')
59
59
  const warehouseCompanyDomain: Domain = warehouseCompanyBizplaces[0].domain
60
60
 
61
- const customerDomain: Domain = releaseGood.bizplace.domain
62
- const fulfillmentCenter: FulfillmentCenter = await tx
63
- .getRepository(FulfillmentCenter)
64
- .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })
65
-
66
- if (fulfillmentCenter) {
67
- let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
68
- where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
69
- })
70
- if (customerAvailableSftp) {
71
- const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)
72
-
73
- let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
74
- where: { domain, outboundOrderId: releaseGood.id }
75
- })
76
-
77
- // if (responseFileTypes.enableShipment) {
78
- // let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
79
- // releaseGood,
80
- // orderInventories: targetInventories,
81
- // sftp: customerAvailableSftp
82
- // })
83
- // customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
84
- // }
85
-
86
- if (responseFileTypes.enableSerialNumber) {
87
- let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
88
- releaseGood,
89
- inventoryItems,
90
- sftp: customerAvailableSftp
61
+ const orderSource: string = releaseGood.source
62
+ switch (orderSource) {
63
+ case ApplicationType.SFTP:
64
+ const customerDomain: Domain = releaseGood.bizplace.domain
65
+ const fulfillmentCenter: FulfillmentCenter = await tx
66
+ .getRepository(FulfillmentCenter)
67
+ .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })
68
+
69
+ if (fulfillmentCenter) {
70
+ let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
71
+ where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
91
72
  })
92
- customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
73
+ if (customerAvailableSftp) {
74
+ const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)
75
+
76
+ let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
77
+ where: { domain, outboundOrderId: releaseGood.id }
78
+ })
79
+
80
+ // if (responseFileTypes.enableShipment) {
81
+ // let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
82
+ // releaseGood,
83
+ // orderInventories: targetInventories,
84
+ // sftp: customerAvailableSftp
85
+ // })
86
+ // customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
87
+ // }
88
+
89
+ if (responseFileTypes.enableSerialNumber) {
90
+ let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
91
+ releaseGood,
92
+ inventoryItems,
93
+ sftp: customerAvailableSftp
94
+ })
95
+ customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
96
+ }
97
+ }
93
98
  }
94
- }
99
+ break
100
+
101
+ default:
102
+ break
95
103
  }
96
104
 
105
+ // const customerDomain: Domain = releaseGood.bizplace.domain
106
+ // const fulfillmentCenter: FulfillmentCenter = await tx
107
+ // .getRepository(FulfillmentCenter)
108
+ // .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })
109
+
110
+ // if (fulfillmentCenter) {
111
+ // let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
112
+ // where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
113
+ // })
114
+ // if (customerAvailableSftp) {
115
+ // const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)
116
+
117
+ // let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
118
+ // where: { domain, outboundOrderId: releaseGood.id }
119
+ // })
120
+
121
+ // // if (responseFileTypes.enableShipment) {
122
+ // // let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
123
+ // // releaseGood,
124
+ // // orderInventories: targetInventories,
125
+ // // sftp: customerAvailableSftp
126
+ // // })
127
+ // // customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
128
+ // // }
129
+
130
+ // if (responseFileTypes.enableSerialNumber) {
131
+ // let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
132
+ // releaseGood,
133
+ // inventoryItems,
134
+ // sftp: customerAvailableSftp
135
+ // })
136
+ // customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
137
+ // }
138
+ // }
139
+ // }
140
+
97
141
  await worksheetController.completeLoading(releaseGoodNo)
98
142
 
99
143
  if (remainInventories.length) {
@@ -1,6 +1,6 @@
1
1
  import { EntityManager, getManager } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
5
  import { ReleaseGood } from '@things-factory/sales-base'
6
6
  import { Domain } from '@things-factory/shell'
@@ -38,15 +38,32 @@ export async function activatePacking(
38
38
  const worksheet = await worksheetController.activatePacking(worksheetNo)
39
39
  let releaseGood: ReleaseGood = worksheet.releaseGood
40
40
 
41
- if (releaseGood.type == 'b2c') {
42
- const sellercraft: Sellercraft = await tx
43
- .getRepository(Sellercraft)
44
- .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
41
+ const orderSource: string = releaseGood.source
42
+ switch (orderSource) {
43
+ case ApplicationType.SELLERCRAFT:
44
+ const sellercraft: Sellercraft = await tx
45
+ .getRepository(Sellercraft)
46
+ .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
45
47
 
46
- if (sellercraft) {
47
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
48
- sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
49
- }
48
+ if (sellercraft) {
49
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
50
+ sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
51
+ }
52
+ break
53
+
54
+ default:
55
+ break
50
56
  }
57
+
58
+ // if (releaseGood.type == 'b2c') {
59
+ // const sellercraft: Sellercraft = await tx
60
+ // .getRepository(Sellercraft)
61
+ // .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
62
+
63
+ // if (sellercraft) {
64
+ // const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
65
+ // sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
66
+ // }
67
+ // }
51
68
  return worksheet
52
69
  }
@@ -1,9 +1,8 @@
1
1
  import { EntityManager } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
5
5
  import { MarketplaceStore } from '@things-factory/integration-marketplace'
6
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
7
6
  import { MarketplaceOrder } from '@things-factory/marketplace-base'
8
7
  import { ReleaseGood } from '@things-factory/sales-base'
9
8
  import { Domain } from '@things-factory/shell'
@@ -29,12 +28,9 @@ export const completePackingResolver = {
29
28
  ]
30
29
  })
31
30
 
32
- if (releaseGood.type === 'b2c') {
33
- const sellercraft: Sellercraft = await tx
34
- .getRepository(Sellercraft)
35
- .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
36
-
37
- if (!sellercraft) {
31
+ const orderSource: string = releaseGood.source
32
+ switch (orderSource) {
33
+ case ApplicationType.MMS:
38
34
  const companyDomain: Domain = releaseGood.bizplace.company.domain
39
35
  const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
40
36
  where: { orderNo: releaseGood.refNo, domain: companyDomain },
@@ -52,9 +48,38 @@ export const completePackingResolver = {
52
48
  const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
53
49
  await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)
54
50
  }
55
- }
51
+ break
52
+
53
+ default:
54
+ break
56
55
  }
57
56
 
57
+ // if (releaseGood.type === 'b2c') {
58
+ // const sellercraft: Sellercraft = await tx
59
+ // .getRepository(Sellercraft)
60
+ // .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
61
+
62
+ // if (!sellercraft) {
63
+ // const companyDomain: Domain = releaseGood.bizplace.company.domain
64
+ // const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
65
+ // where: { orderNo: releaseGood.refNo, domain: companyDomain },
66
+ // relations: [
67
+ // 'marketplaceOrderItems',
68
+ // 'marketplaceOrderItems.marketplaceOrderShippingItems',
69
+ // 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
70
+ // 'marketplaceStore',
71
+ // 'marketplaceStore.marketplaceDistributors'
72
+ // ]
73
+ // })
74
+ // const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
75
+
76
+ // if (marketplaceStore.isAutoUpdateShipment) {
77
+ // const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
78
+ // await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)
79
+ // }
80
+ // }
81
+ // }
82
+
58
83
  const bizplace: Bizplace = await getMyBizplace(domain, user)
59
84
  const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)
60
85
  await worksheetController.notifyToCustomer(bizplace, {
@@ -1,6 +1,6 @@
1
1
  import { EntityManager } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
5
  import { ReleaseGood } from '@things-factory/sales-base'
6
6
  import { Domain } from '@things-factory/shell'
@@ -29,14 +29,31 @@ export async function packing(
29
29
  let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
30
30
  const worksheet: Worksheet = worksheetDetail.worksheet
31
31
 
32
- if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
33
- const sellercraft: Sellercraft = await tx
34
- .getRepository(Sellercraft)
35
- .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
32
+ const orderSource: string = releaseGood.source
33
+ switch (orderSource) {
34
+ case ApplicationType.SELLERCRAFT:
35
+ const sellercraft: Sellercraft = await tx
36
+ .getRepository(Sellercraft)
37
+ .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
36
38
 
37
- if (sellercraft) {
38
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
39
- await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
40
- }
39
+ if (sellercraft) {
40
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
41
+ await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
42
+ }
43
+ break
44
+
45
+ default:
46
+ break
41
47
  }
48
+
49
+ // if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
50
+ // const sellercraft: Sellercraft = await tx
51
+ // .getRepository(Sellercraft)
52
+ // .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
53
+
54
+ // if (sellercraft) {
55
+ // const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
56
+ // await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
57
+ // }
58
+ // }
42
59
  }
@@ -1,6 +1,6 @@
1
1
  import { EntityManager } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
5
  import { ReleaseGood } from '@things-factory/sales-base'
6
6
  import { Domain } from '@things-factory/shell'
@@ -34,17 +34,36 @@ export async function scanProductPacking(
34
34
  let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
35
35
  const worksheet: Worksheet = worksheetDetail.worksheet
36
36
 
37
- if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
38
- const sellercraft: Sellercraft = await tx
39
- .getRepository(Sellercraft)
40
- .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
37
+ const orderSource: string = releaseGood.source
38
+ switch (orderSource) {
39
+ case ApplicationType.SELLERCRAFT:
40
+ if (!releaseGood?.airwayBill) {
41
+ const sellercraft: Sellercraft = await tx
42
+ .getRepository(Sellercraft)
43
+ .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
41
44
 
42
- if (sellercraft) {
43
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
44
- sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
45
- }
45
+ if (sellercraft) {
46
+ const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
47
+ sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
48
+ }
49
+ }
50
+
51
+ break
52
+
53
+ default:
54
+ break
46
55
  }
47
56
 
57
+ // if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
58
+ // const sellercraft: Sellercraft = await tx
59
+ // .getRepository(Sellercraft)
60
+ // .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
61
+
62
+ // if (sellercraft) {
63
+ // const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
64
+ // sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
65
+ // }
66
+ // }
48
67
  } catch (error) {
49
68
  throw error
50
69
  }
@@ -1,6 +1,6 @@
1
- import { EntityManager, SelectQueryBuilder, getManager } from 'typeorm'
1
+ import { EntityManager, getManager, SelectQueryBuilder } from 'typeorm'
2
2
 
3
- import { User } from '@things-factory/auth-base'
3
+ import { ApplicationType, User } from '@things-factory/auth-base'
4
4
  import { logger } from '@things-factory/env'
5
5
  import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
6
6
  import {
@@ -10,6 +10,7 @@ import {
10
10
  MarketplaceOrderShippingItem
11
11
  } from '@things-factory/marketplace-base'
12
12
  import { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
13
+ import { PartnerSetting, Setting } from '@things-factory/setting-base'
13
14
  import { Domain } from '@things-factory/shell'
14
15
  import { Inventory, Location } from '@things-factory/warehouse-base'
15
16
 
@@ -17,7 +18,6 @@ import { WORKSHEET_TYPE } from '../../../constants'
17
18
  import { PackingWorksheetController, SellercraftController } from '../../../controllers'
18
19
  import { Worksheet, WorksheetDetail } from '../../../entities'
19
20
  import { fetchExecutingWorksheet } from '../../../utils'
20
- import { PartnerSetting, Setting } from '@things-factory/setting-base'
21
21
 
22
22
  export const packingWorksheetResolver = {
23
23
  async packingWorksheet(_: any, { releaseGoodNo }, context: any) {
@@ -146,16 +146,21 @@ export const packingWorksheetResolver = {
146
146
  let shippingProvider: string
147
147
  let marketplaceStatus: string
148
148
 
149
- if (releaseGood.type === 'b2c') {
150
- const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
151
- domain: worksheet.bizplace.domain,
152
- status: SellercraftStatus.ACTIVE
153
- })
149
+ const orderSource: string = releaseGood.source
150
+ switch (orderSource) {
151
+ case ApplicationType.SELLERCRAFT:
152
+ const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
153
+ domain: worksheet.bizplace.domain,
154
+ status: SellercraftStatus.ACTIVE
155
+ })
154
156
 
155
- if (sellercraft) {
156
- // asynchronously get document from sellercraft
157
- getSellercraftDocument(sellercraft, releaseGood, domain, user)
158
- } else {
157
+ if (sellercraft) {
158
+ // asynchronously get document from sellercraft
159
+ getSellercraftDocument(sellercraft, releaseGood, domain, user)
160
+ }
161
+ break
162
+
163
+ case ApplicationType.MMS:
159
164
  marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
160
165
  where: { orderNo: releaseGood.refNo },
161
166
  relations: [
@@ -191,9 +196,60 @@ export const packingWorksheetResolver = {
191
196
 
192
197
  marketplaceStore = marketplaceOrder?.marketplaceStore
193
198
  marketplaceStatus = marketplaceOrder?.status
194
- }
199
+ break
200
+
201
+ default:
202
+ break
195
203
  }
196
204
 
205
+ // if (releaseGood.type === 'b2c') {
206
+ // const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({
207
+ // domain: worksheet.bizplace.domain,
208
+ // status: SellercraftStatus.ACTIVE
209
+ // })
210
+
211
+ // if (sellercraft) {
212
+ // // asynchronously get document from sellercraft
213
+ // getSellercraftDocument(sellercraft, releaseGood, domain, user)
214
+ // } else {
215
+ // marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
216
+ // where: { orderNo: releaseGood.refNo },
217
+ // relations: [
218
+ // 'domain',
219
+ // 'marketplaceStore',
220
+ // 'marketplaceOrderItems',
221
+ // 'marketplaceOrderItems.marketplaceOrderShippingItems',
222
+ // 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping'
223
+ // ]
224
+ // })
225
+
226
+ // if (!marketplaceOrder) {
227
+ // throw new Error('Failed to retrieve ecommerce information, kindly contact our support team for this issue.')
228
+ // }
229
+
230
+ // let marketplaceOrderShipping: MarketplaceOrderShipping
231
+ // if (marketplaceOrder.isSplitted) {
232
+ // marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
233
+ // where: { subOrderNoRef: worksheet.releaseGood.refNo2 }
234
+ // })
235
+ // } else {
236
+ // marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
237
+ // where: { orderNoRef: worksheet.releaseGood.refNo }
238
+ // })
239
+ // }
240
+
241
+ // trackingNo = marketplaceOrderShipping.ownTrackingNo
242
+ // ? marketplaceOrderShipping.ownTrackingNo
243
+ // : marketplaceOrderShipping.trackingNo
244
+ // shippingProvider = marketplaceOrderShipping.ownTransporter
245
+ // ? marketplaceOrderShipping.ownTransporter
246
+ // : marketplaceOrderShipping.transporter
247
+
248
+ // marketplaceStore = marketplaceOrder?.marketplaceStore
249
+ // marketplaceStatus = marketplaceOrder?.status
250
+ // }
251
+ // }
252
+
197
253
  return {
198
254
  worksheetInfo: {
199
255
  releaseGood,