@things-factory/worksheet-base 3.6.7 → 3.6.15

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 (31) hide show
  1. package/dist-server/controllers/ecommerce/ecommerce-controller.js +20 -8
  2. package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
  3. package/dist-server/controllers/index.js +1 -0
  4. package/dist-server/controllers/index.js.map +1 -1
  5. package/dist-server/controllers/render-grn.js +184 -0
  6. package/dist-server/controllers/render-grn.js.map +1 -0
  7. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +11 -6
  8. package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
  9. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +20 -4
  10. package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +1 -1
  12. package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +2 -2
  14. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  15. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js +2 -1
  16. package/dist-server/graphql/resolvers/worksheet/picking-worksheet.js.map +1 -1
  17. package/dist-server/graphql/resolvers/worksheet/worksheet.js +31 -8
  18. package/dist-server/graphql/resolvers/worksheet/worksheet.js.map +1 -1
  19. package/dist-server/routes.js +4 -0
  20. package/dist-server/routes.js.map +1 -1
  21. package/package.json +16 -16
  22. package/server/controllers/ecommerce/ecommerce-controller.ts +23 -6
  23. package/server/controllers/index.ts +1 -0
  24. package/server/controllers/render-grn.ts +210 -0
  25. package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +17 -10
  26. package/server/graphql/resolvers/worksheet/packing-worksheet.ts +25 -5
  27. package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +1 -1
  28. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +2 -2
  29. package/server/graphql/resolvers/worksheet/picking-worksheet.ts +5 -2
  30. package/server/graphql/resolvers/worksheet/worksheet.ts +67 -43
  31. package/server/routes.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/worksheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/worksheet.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const render_elccl_grn_1 = require("./controllers/render-elccl-grn");
4
+ const render_grn_1 = require("./controllers/render-grn");
4
5
  const render_job_sheet_1 = require("./controllers/render-job-sheet");
5
6
  const render_kimeda_grn_1 = require("./controllers/render-kimeda-grn");
6
7
  const render_manual_do_1 = require("./controllers/render-manual-do");
@@ -21,6 +22,9 @@ process.on('bootstrap-module-domain-private-route', (app, routes) => {
21
22
  routes.get('/view_elccl_grn/:grnNo', async (context, next) => {
22
23
  context.body = await (0, render_elccl_grn_1.renderElcclGRN)(context.params, context);
23
24
  });
25
+ routes.get('/view_grn/:grnNo/:timezoneOffSet', async (context, next) => {
26
+ context.body = await (0, render_grn_1.renderGRN)(context.params, context);
27
+ });
24
28
  routes.get('/view_kimeda_grn/:grnNo/:timezoneOffSet', async (context, next) => {
25
29
  context.body = await (0, render_kimeda_grn_1.renderKimedaGRN)(context.params, context);
26
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,qEAA+D;AAC/D,qEAA+D;AAC/D,uEAAiE;AACjE,qEAA+D;AAC/D,2EAAqE;AACrE,6EAAuE;AACvE,6DAAuD;AACvD,uEAAiE;AAEjE,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACzE,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,uCAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACnE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yCAAkB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,qEAA+D;AAC/D,yDAAoD;AACpD,qEAA+D;AAC/D,uEAAiE;AACjE,qEAA+D;AAC/D,2EAAqE;AACrE,6EAAuE;AACvE,6DAAuD;AACvD,uEAAiE;AAEjE,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACzE,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACtE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,uCAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACnE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACrE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,sBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yCAAkB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC3E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "3.6.7",
3
+ "version": "3.6.15",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,20 +24,20 @@
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": "^3.6.7",
28
- "@things-factory/biz-base": "^3.6.7",
29
- "@things-factory/document-template-base": "^3.6.7",
30
- "@things-factory/id-rule-base": "^3.6.7",
31
- "@things-factory/integration-lmd": "^3.6.7",
32
- "@things-factory/integration-marketplace": "^3.6.7",
33
- "@things-factory/integration-sellercraft": "^3.6.7",
34
- "@things-factory/marketplace-base": "^3.6.7",
35
- "@things-factory/notification": "^3.6.7",
36
- "@things-factory/sales-base": "^3.6.7",
37
- "@things-factory/setting-base": "^3.6.7",
38
- "@things-factory/shell": "^3.6.7",
39
- "@things-factory/transport-base": "^3.6.7",
40
- "@things-factory/warehouse-base": "^3.6.7"
27
+ "@things-factory/auth-base": "^3.6.13",
28
+ "@things-factory/biz-base": "^3.6.13",
29
+ "@things-factory/document-template-base": "^3.6.13",
30
+ "@things-factory/id-rule-base": "^3.6.13",
31
+ "@things-factory/integration-lmd": "^3.6.13",
32
+ "@things-factory/integration-marketplace": "^3.6.13",
33
+ "@things-factory/integration-sellercraft": "^3.6.13",
34
+ "@things-factory/marketplace-base": "^3.6.13",
35
+ "@things-factory/notification": "^3.6.13",
36
+ "@things-factory/sales-base": "^3.6.15",
37
+ "@things-factory/setting-base": "^3.6.13",
38
+ "@things-factory/shell": "^3.6.13",
39
+ "@things-factory/transport-base": "^3.6.13",
40
+ "@things-factory/warehouse-base": "^3.6.13"
41
41
  },
42
- "gitHead": "6f15856aaf04842e4b4508133753c3e17eadeec9"
42
+ "gitHead": "28b20aea481a8e2511cbd148ee8e1d62496d07d7"
43
43
  }
@@ -4,6 +4,7 @@ import {
4
4
  MarketplaceOrderShipping,
5
5
  MarketplaceProductVariation
6
6
  } from '@things-factory/marketplace-base'
7
+ import { ReleaseGood } from '@things-factory/sales-base'
7
8
  import { Domain } from '@things-factory/shell'
8
9
  import { getProductBundleInventory, Inventory } from '@things-factory/warehouse-base'
9
10
 
@@ -109,15 +110,29 @@ export class EcommerceController extends WorksheetController {
109
110
  }
110
111
 
111
112
  async createOrderShip(
113
+ releaseGood: ReleaseGood,
112
114
  marketplaceStore: MarketplaceStore,
113
115
  marketplaceOrder: MarketplaceOrder,
114
116
  companyDomain: Domain
115
117
  ): Promise<void> {
116
- const marketplaceOrderShipping: MarketplaceOrderShipping = await this.trxMgr
117
- .getRepository(MarketplaceOrderShipping)
118
- .findOne({
119
- where: { domain: companyDomain, marketplaceStore, orderNoRef: marketplaceOrder.orderNo }
118
+ let marketplaceOrderShipping: MarketplaceOrderShipping
119
+
120
+ if (marketplaceOrder.isSplitted) {
121
+ marketplaceOrderShipping = await this.trxMgr.getRepository(MarketplaceOrderShipping).findOne({
122
+ where: { domain: companyDomain, marketplaceStore, subOrderNoRef: releaseGood.refNo2 }
123
+ })
124
+ } else {
125
+ marketplaceOrderShipping = await this.trxMgr.getRepository(MarketplaceOrderShipping).findOne({
126
+ where: { domain: companyDomain, marketplaceStore, orderNoRef: releaseGood.refNo }
120
127
  })
128
+ }
129
+
130
+ const trackingNo: string = marketplaceOrderShipping.ownTrackingNo
131
+ ? marketplaceOrderShipping.ownTrackingNo
132
+ : marketplaceOrderShipping.trackingNo
133
+ const shippingProvider: string = marketplaceOrderShipping.ownTransporter
134
+ ? marketplaceOrderShipping.ownTransporter
135
+ : marketplaceOrderShipping.transporter
121
136
 
122
137
  let validMarketplaceDistributors: any[] = []
123
138
  if (marketplaceOrder.marketplaceStore.marketplaceDistributors) {
@@ -128,8 +143,10 @@ export class EcommerceController extends WorksheetController {
128
143
 
129
144
  await StoreAPI.createOrderShip(marketplaceStore, {
130
145
  orderId: marketplaceOrder.name,
131
- orderItems: marketplaceOrder.marketplaceOrderItems,
132
- shippings: [{ trackingNo: marketplaceOrderShipping.trackingNo, carrierCode: marketplaceOrder.shippingProvider }],
146
+ orderItems: marketplaceOrder.marketplaceOrderItems.filter(
147
+ item => item.marketplaceOrderShipping.id === marketplaceOrderShipping.id
148
+ ),
149
+ shippings: [{ trackingNo, carrierCode: shippingProvider }],
133
150
  sourceCodes: validMarketplaceDistributors.map(distributor => distributor.name)
134
151
  })
135
152
  }
@@ -1,4 +1,5 @@
1
1
  export * from './render-ro-do'
2
+ export * from './render-grn'
2
3
  export * from './render-manual-do'
3
4
  export * from './render-elccl-grn'
4
5
  export * from './render-job-sheet'
@@ -0,0 +1,210 @@
1
+ import FormData from 'form-data'
2
+ import fetch from 'node-fetch'
3
+ import { getRepository, IsNull, Not } from 'typeorm'
4
+
5
+ import { Attachment, STORAGE } from '@things-factory/attachment-base'
6
+ import { Partner } from '@things-factory/auth-base'
7
+ import { Bizplace, ContactPoint } from '@things-factory/biz-base'
8
+ import { config } from '@things-factory/env'
9
+ import { ArrivalNotice, GoodsReceivalNote, ORDER_STATUS, OrderProduct } from '@things-factory/sales-base'
10
+ import { Domain } from '@things-factory/shell'
11
+ import { ReducedInventoryHistory } from '@things-factory/warehouse-base'
12
+
13
+ import { TEMPLATE_TYPE, WORKSHEET_TYPE } from '../constants'
14
+ import { Worksheet } from '../entities'
15
+ import { DateTimeConverter } from '../utils/datetime-util'
16
+
17
+ const REPORT_API_URL = config.get('reportApiUrl', 'http://localhost:8888/rest/report/show_html')
18
+
19
+ export async function renderGRN({ grnNo, timezoneOffSet }, context: any) {
20
+ // 1. find domain
21
+ const domain: Domain = await getRepository(Domain).findOne({
22
+ where: { id: context.state.domain.id }
23
+ })
24
+
25
+ // 2. find grn
26
+ const foundGRN: GoodsReceivalNote = await getRepository(GoodsReceivalNote).findOne({
27
+ where: { domain, name: grnNo },
28
+ relations: ['domain', 'bizplace', 'bizplace.domain', 'bizplace.company', 'arrivalNotice']
29
+ })
30
+
31
+ // 3. find GAN
32
+ const foundGAN: ArrivalNotice = foundGRN.arrivalNotice
33
+ const ownRefNo = foundGAN.refNo
34
+
35
+ // 4. find customer bizplace
36
+ const partnerBiz: Bizplace = foundGRN.bizplace
37
+
38
+ const partnerDomain: Partner = await getRepository(Partner).findOne({
39
+ where: { partnerDomain: partnerBiz.domain },
40
+ relations: ['domain']
41
+ })
42
+
43
+ const domainOwner: Domain = partnerDomain.domain
44
+ const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({
45
+ where: { domain: domainOwner },
46
+ relations: ['company']
47
+ })
48
+
49
+ const qbReducedInventory = getRepository(ReducedInventoryHistory)
50
+ .createQueryBuilder(`ivh`)
51
+ .select(`product_id`, `productId`)
52
+ .addSelect(`batch_id`, `batchId`)
53
+ .addSelect(`reusable_pallet_id`, `reusablePalletId`)
54
+ .addSelect(`packing_type`, `packingType`)
55
+ .addSelect(`sum(qty)`, `qty`)
56
+ .addSelect(`sum(uom_value)`, `uomValue`)
57
+ .addSelect(`uom`, `uom`)
58
+ .addSelect(`count(distinct pallet_id)`, `pallet`)
59
+ .addSelect(`string_agg(distinct expiration_date::varchar,', ' order by expiration_date::varchar)`, `expiryDate`)
60
+ .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, `palletId`)
61
+ .where(`ivh.domain_id = :domainId`, { domainId: domain.id })
62
+ .andWhere(`ivh.ref_order_id = :refOrderId`, { refOrderId: foundGAN.id })
63
+ .andWhere(`ivh.transaction_type = 'UNLOADING'`)
64
+ .groupBy(`reusable_pallet_id`)
65
+ .addGroupBy(`product_id`)
66
+ .addGroupBy(`batch_id`)
67
+ .addGroupBy(`packing_type`)
68
+ .addGroupBy(`uom`)
69
+ .getRawMany()
70
+
71
+ // 5. find domain contact point
72
+ const foundCP: ContactPoint = await getRepository(ContactPoint).findOne({
73
+ where: { domain, bizplace: domainBizplace }
74
+ })
75
+
76
+ // 5. find domain contact point
77
+ const foundPartnerCP: ContactPoint = await getRepository(ContactPoint).findOne({
78
+ where: { domain, bizplace: partnerBiz }
79
+ })
80
+
81
+ // 6. find unloading worksheet
82
+ const foundWS: Worksheet = await getRepository(Worksheet).findOne({
83
+ where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.UNLOADING, status: ORDER_STATUS.DONE },
84
+ relations: ['worksheetDetails', 'updater']
85
+ })
86
+
87
+ // find putaway worksheet
88
+ const foundPutawayWS: Worksheet = await getRepository(Worksheet).findOne({
89
+ where: { domain, arrivalNotice: foundGAN, type: WORKSHEET_TYPE.PUTAWAY, status: ORDER_STATUS.DONE },
90
+ relations: ['worksheetDetails', 'updater']
91
+ })
92
+
93
+ const targetProducts: OrderProduct[] = await getRepository(OrderProduct).find({
94
+ where: { domain, arrivalNotice: foundGAN, actualPalletQty: Not(IsNull()), actualPackQty: Not(IsNull()) },
95
+ relations: ['product']
96
+ })
97
+
98
+ // 7. find grn template based on category
99
+ const foundTemplate: Attachment = await getRepository(Attachment).findOne({
100
+ where: { domain, category: TEMPLATE_TYPE.GRN_TEMPLATE }
101
+ })
102
+
103
+ // 8. find grn logo
104
+ const foundLogo: Attachment = await getRepository(Attachment).findOne({
105
+ where: {
106
+ domain,
107
+ category: TEMPLATE_TYPE.LOGO
108
+ }
109
+ })
110
+
111
+ // 9. find signature
112
+ const foundSignature: Attachment = await getRepository(Attachment).findOne({
113
+ where: {
114
+ domain,
115
+ category: TEMPLATE_TYPE.SIGNATURE
116
+ }
117
+ })
118
+
119
+ const foundCop: Attachment = await getRepository(Attachment).findOne({
120
+ where: {
121
+ domain,
122
+ category: TEMPLATE_TYPE.COP
123
+ }
124
+ })
125
+
126
+ const inboundInventories: any[] = await qbReducedInventory
127
+
128
+ const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')
129
+
130
+ let logo = null
131
+ if (foundLogo?.path) {
132
+ logo = 'data:' + foundLogo.mimetype + ';base64,' + (await STORAGE.readFile(foundLogo.path, 'base64'))
133
+ }
134
+
135
+ let signature = null
136
+ if (foundSignature?.path) {
137
+ signature = 'data:' + foundSignature.mimetype + ';base64,' + (await STORAGE.readFile(foundSignature.path, 'base64'))
138
+ }
139
+
140
+ let cop = null
141
+ if (foundCop?.path) {
142
+ cop = 'data:' + foundSignature.mimetype + ';base64,' + (await STORAGE.readFile(foundCop.path, 'base64'))
143
+ }
144
+
145
+ const data = {
146
+ logo_url: logo,
147
+ sign_url: signature,
148
+ cop_url: cop,
149
+ customer_biz: partnerBiz.name,
150
+ customer_address: partnerBiz.address,
151
+ company_domain: domainBizplace.company.name,
152
+ company_phone: foundCP.phone,
153
+ company_email: foundCP.email,
154
+ company_brn: domainBizplace.company.brn,
155
+ company_address: domainBizplace.company.address,
156
+ order_no: foundGRN.name,
157
+ gan_no: foundGAN.name,
158
+ gan_accepted_at: foundGAN.acceptedAt ? DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',
159
+ unload_date: DateTimeConverter.date(foundWS.endedAt),
160
+ ref_no: ownRefNo ? `${foundGAN.name} / ${foundGAN.refNo}` : `${foundGAN.name}`,
161
+ received_date: DateTimeConverter.date(foundWS.endedAt),
162
+ truck_no: foundGAN.truckNo || '',
163
+ container_no: foundGAN.containerNo || '',
164
+ delivery_order_no: foundGAN.deliveryOrderNo ? foundGAN.deliveryOrderNo : '',
165
+ account_no: foundPartnerCP ? foundPartnerCP.accountNo : '',
166
+ unloaded_by: foundWS ? foundWS.updater.name : '',
167
+ putaway_by: foundPutawayWS ? foundPutawayWS.updater.name : '',
168
+ product_list: targetProducts.map((item, idx) => {
169
+ let unloadInvHistory = inboundInventories.find(
170
+ ih =>
171
+ ih.productId == item.product.id &&
172
+ ih.batchId == item.batchId &&
173
+ ih.packingType == item.packingType &&
174
+ ih.uom == item.uom
175
+ )
176
+
177
+ return {
178
+ list_no: idx + 1,
179
+ product_sku: `${item.product.sku}`,
180
+ product_name: `${item.product.name}(${item.product.description})`,
181
+ product_desc: item.product.description,
182
+ product_nameOnly: item.product.name,
183
+ product_type: item.packingType,
184
+ product_size: item.packingSize,
185
+ product_batch: item.batchId,
186
+ pallet_qty: item.actualPalletQty,
187
+ product_qty: unloadInvHistory.qty || item.actualPackQty,
188
+ product_unit_uom_value: `${Math.round(item.uomValue * 100) / 100}`,
189
+ product_total_uom_value: `${
190
+ Math.round((unloadInvHistory.uomValue || item.uomValue * item.actualPackQty) * 100) / 100
191
+ }`,
192
+ product_uom: `${unloadInvHistory.uom || item.uom}`,
193
+ expiry_date: unloadInvHistory.expiryDate || ``,
194
+ reusable_pallet_id: unloadInvHistory.reusablePalletId || ``,
195
+ remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')
196
+ }
197
+ })
198
+ }
199
+
200
+ const formData = new FormData()
201
+ formData.append('template', template)
202
+ formData.append('jsonString', JSON.stringify(data))
203
+
204
+ const response = await fetch(REPORT_API_URL, {
205
+ method: 'POST',
206
+ body: formData
207
+ })
208
+
209
+ return await response.text()
210
+ }
@@ -1,15 +1,17 @@
1
- import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
2
- import { Domain } from '@things-factory/shell'
3
1
  import { EntityManager } from 'typeorm'
4
- import { LoadingWorksheetController, PackingWorksheetController } from '../../../../controllers/'
5
- import { OrderInventory, ORDER_INVENTORY_STATUS, ReleaseGood } from '@things-factory/sales-base'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
6
5
  import { MarketplaceStore } from '@things-factory/integration-marketplace'
7
6
  import { MarketplaceOrder } from '@things-factory/marketplace-base'
8
- import { User } from '@things-factory/auth-base'
7
+ import { ORDER_INVENTORY_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
8
+ import { Domain } from '@things-factory/shell'
9
+
9
10
  import { WORKSHEET_TYPE } from '../../../../constants'
10
- import { Worksheet, WorksheetDetail } from '../../../../entities'
11
- import { WorksheetController } from '../../../../controllers/worksheet-controller'
11
+ import { LoadingWorksheetController, PackingWorksheetController } from '../../../../controllers/'
12
12
  import { EcommerceController } from '../../../../controllers/ecommerce'
13
+ import { WorksheetController } from '../../../../controllers/worksheet-controller'
14
+ import { Worksheet, WorksheetDetail } from '../../../../entities'
13
15
 
14
16
  export const completePackingResolver = {
15
17
  async completePacking(_: any, { releaseGoodNo }, context: any) {
@@ -30,14 +32,19 @@ export const completePackingResolver = {
30
32
  if (releaseGood.type === 'b2c') {
31
33
  const companyDomain: Domain = releaseGood.bizplace.company.domain
32
34
  const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
33
- where: { releaseOrderId: releaseGood.id, domain: companyDomain },
34
- relations: ['marketplaceOrderItems', 'marketplaceStore', 'marketplaceStore.marketplaceDistributors']
35
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
36
+ relations: [
37
+ 'marketplaceOrderItems',
38
+ 'marketplaceOrderItems.marketplaceOrderShipping',
39
+ 'marketplaceStore',
40
+ 'marketplaceStore.marketplaceDistributors'
41
+ ]
35
42
  })
36
43
  const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
37
44
 
38
45
  if (marketplaceStore.isAutoUpdateShipment) {
39
46
  const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
40
- await ecommerceCtrl.createOrderShip(marketplaceStore, marketplaceOrder, companyDomain)
47
+ await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)
41
48
  }
42
49
  }
43
50
 
@@ -2,7 +2,7 @@ import { EntityManager } from 'typeorm'
2
2
 
3
3
  import { User } from '@things-factory/auth-base'
4
4
  import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
5
- import { MarketplaceOrder, MarketplaceOrderItem } from '@things-factory/marketplace-base'
5
+ import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
6
6
  import { OrderInventory, ReleaseGood } from '@things-factory/sales-base'
7
7
  import { Domain } from '@things-factory/shell'
8
8
  import { Inventory } from '@things-factory/warehouse-base'
@@ -69,7 +69,7 @@ export const packingWorksheetResolver = {
69
69
 
70
70
  if (!sellercraft) {
71
71
  marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
72
- where: { releaseOrderId: releaseGood.id },
72
+ where: { orderNo: releaseGood.refNo },
73
73
  relations: [
74
74
  'domain',
75
75
  'marketplaceStore',
@@ -81,10 +81,29 @@ export const packingWorksheetResolver = {
81
81
  if (!marketplaceOrder) {
82
82
  throw new Error('Failed to retrieve ecommerce information, kindly contact our support team for this issue.')
83
83
  }
84
- marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems
84
+
85
+ let marketplaceOrderShipping: MarketplaceOrderShipping
86
+ if (marketplaceOrder.isSplitted) {
87
+ marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
88
+ where: { subOrderNoRef: worksheet.releaseGood.refNo2 }
89
+ })
90
+ } else {
91
+ marketplaceOrderShipping = await tx.getRepository(MarketplaceOrderShipping).findOne({
92
+ where: { orderNoRef: worksheet.releaseGood.refNo }
93
+ })
94
+ }
95
+
96
+ trackingNo = marketplaceOrderShipping.ownTrackingNo
97
+ ? marketplaceOrderShipping.ownTrackingNo
98
+ : marketplaceOrderShipping.trackingNo
99
+ shippingProvider = marketplaceOrderShipping.ownTransporter
100
+ ? marketplaceOrderShipping.ownTransporter
101
+ : marketplaceOrderShipping.transporter
102
+
103
+ marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems.filter(
104
+ item => item.marketplaceOrderShipping.id === marketplaceOrderShipping.id
105
+ )
85
106
  marketplaceStore = marketplaceOrder?.marketplaceStore
86
- trackingNo = await getTrackingNo(marketplaceStore, marketplaceOrderItems)
87
- shippingProvider = marketplaceOrder?.shippingProvider
88
107
  marketplaceStatus = marketplaceOrder?.status
89
108
  }
90
109
  }
@@ -93,6 +112,7 @@ export const packingWorksheetResolver = {
93
112
  worksheetInfo: {
94
113
  bizplaceName: releaseGood.bizplace.name,
95
114
  refNo: releaseGood.refNo,
115
+ refNo2: releaseGood.refNo2,
96
116
  partnerDomainId: releaseGood.bizplace?.domain.id,
97
117
  startedAt: worksheet.startedAt,
98
118
  shippingProvider: shippingProvider ? shippingProvider : '',
@@ -54,7 +54,7 @@ export async function activatePicking(
54
54
  }
55
55
 
56
56
  const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
57
- where: { releaseOrderId: releaseGood.id, domain: companyDomain },
57
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
58
58
  relations: ['marketplaceStore']
59
59
  })
60
60
  const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
@@ -104,7 +104,7 @@ export async function completePicking(
104
104
  } else {
105
105
  const companyDomain: Domain = releaseGood.bizplace.company.domain
106
106
  let marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
107
- where: { releaseOrderId: releaseGood.id, domain: companyDomain },
107
+ where: { orderNo: releaseGood.refNo, domain: companyDomain },
108
108
  relations: ['marketplaceStore']
109
109
  })
110
110
  const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
@@ -116,7 +116,7 @@ export async function completePicking(
116
116
  }
117
117
 
118
118
  marketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
119
- where: { releaseOrderId: releaseGood.id },
119
+ where: { orderNo: releaseGood.refNo },
120
120
  relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
121
121
  })
122
122
 
@@ -1,10 +1,12 @@
1
1
  import { createQueryBuilder, getRepository, SelectQueryBuilder } from 'typeorm'
2
+
3
+ import { ORDER_INVENTORY_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
2
4
  import { Domain } from '@things-factory/shell'
3
- import { fetchExecutingWorksheet } from '../../../utils'
4
5
  import { Inventory } from '@things-factory/warehouse-base'
5
- import { OrderInventory, ReleaseGood, ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'
6
+
6
7
  import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
7
8
  import { WorksheetDetail } from '../../../entities'
9
+ import { fetchExecutingWorksheet } from '../../../utils'
8
10
 
9
11
  export const pickingWorksheetResolver = {
10
12
  async pickingWorksheet(_: any, { releaseGoodNo, locationSortingRules }, context: any) {
@@ -47,6 +49,7 @@ export const pickingWorksheetResolver = {
47
49
  partnerDomainId: releaseGood.bizplace?.domain.id,
48
50
  startedAt: worksheet.startedAt,
49
51
  refNo: releaseGood.refNo,
52
+ refNo2: releaseGood.refNo2,
50
53
  releaseGood
51
54
  },
52
55
  worksheetDetailInfos: worksheetDetails.map(async (pickingWSD: WorksheetDetail) => {