@things-factory/worksheet-base 3.8.25 → 3.8.29

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 (25) hide show
  1. package/dist-server/constants/template.js +1 -0
  2. package/dist-server/constants/template.js.map +1 -1
  3. package/dist-server/controllers/ecommerce/sellercraft-controller.js +32 -1
  4. package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
  5. package/dist-server/controllers/render-grn.js +1 -0
  6. package/dist-server/controllers/render-grn.js.map +1 -1
  7. package/dist-server/controllers/render-invoices.js +134 -0
  8. package/dist-server/controllers/render-invoices.js.map +1 -0
  9. package/dist-server/controllers/render-ro-do.js +5 -1
  10. package/dist-server/controllers/render-ro-do.js.map +1 -1
  11. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +10 -1
  12. package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
  13. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +90 -76
  14. package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
  15. package/dist-server/routes.js +8 -0
  16. package/dist-server/routes.js.map +1 -1
  17. package/package.json +12 -12
  18. package/server/constants/template.ts +1 -0
  19. package/server/controllers/ecommerce/sellercraft-controller.ts +37 -1
  20. package/server/controllers/render-grn.ts +1 -0
  21. package/server/controllers/render-invoices.ts +148 -0
  22. package/server/controllers/render-ro-do.ts +6 -1
  23. package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +12 -1
  24. package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +96 -79
  25. package/server/routes.ts +11 -0
@@ -40,7 +40,10 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
40
40
  'bizplace.company.domain',
41
41
  'orderInventories',
42
42
  'orderInventories.inventory',
43
- 'orderInventories.product'
43
+ 'orderInventories.product',
44
+ 'orderProducts',
45
+ 'orderProducts.product',
46
+ 'orderProducts.product.productDetails'
44
47
  ]
45
48
  });
46
49
  const worksheet = await pickingWSCtrl.findWorksheetByRefOrder(releaseGood, constants_1.WORKSHEET_TYPE.PICKING, [
@@ -63,6 +66,9 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
63
66
  .findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
64
67
  if (sellercraft) {
65
68
  const sellercraftCtrl = new controllers_1.SellercraftController(tx, domain, user);
69
+ if (!(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId)) {
70
+ releaseGood = await sellercraftCtrl.packOrder(sellercraft, releaseGood);
71
+ }
66
72
  releaseGood = await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood);
67
73
  await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood);
68
74
  }
@@ -72,84 +78,92 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
72
78
  where: { orderNo: releaseGood.refNo, domain: companyDomain },
73
79
  relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
74
80
  });
75
- const marketplaceStore = marketplaceOrder.marketplaceStore;
76
- let eTraxOption;
77
- if (marketplaceStore.isAutoUpdateShipment) {
78
- const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
79
- await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, sales_base_1.ORDER_STATUS.PACKING);
80
- }
81
- if (!marketplaceOrder)
82
- throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue');
83
- eTraxOption = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore.eTrax;
84
- // if eTrax option is true
85
- if (eTraxOption) {
86
- const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
87
- // access every marketplaceOrderItems for shipping information you need
88
- // trigger the controller from integration-lmd that trigger the API, build the parameters needed
89
- // for etrax didn't support multi awb per order
90
- const marketplaceOrderShipping = marketplaceOrderItems[0].marketplaceOrderShipping;
91
- const lmd = await tx.getRepository(integration_lmd_1.LastMileDelivery).findOne({
92
- where: {
93
- domain,
94
- platform: 'eTrax'
95
- }
96
- });
97
- //Get which transporter to use
98
- const marketplaceTransporter = await tx.getRepository(integration_marketplace_1.MarketplaceTransporter).findOne({
99
- where: { marketplaceStore: marketplaceOrder.marketplaceStore },
100
- relations: ['pickupTransporter', 'deliveryTransporter']
101
- });
102
- const resp = await integration_lmd_1.LastMileAPI.createShipmentRequest(lmd, {
103
- orderNo: marketplaceOrder.orderNo,
104
- clientId: lmd.clientId,
105
- clientType: lmd.clientType,
106
- clientName: lmd.clientName,
107
- transporterId: marketplaceTransporter.pickupTransporter.transporterId,
108
- pickupName: warehouseContactPoint.name,
109
- pickupAddress1: warehouseContactPoint.address,
110
- pickupAddress2: warehouseContactPoint.address2,
111
- pickupPostcode: warehouseContactPoint.postCode,
112
- pickupState: warehouseContactPoint.state,
113
- pickupCity: warehouseContactPoint.city,
114
- pickupPhone: warehouseContactPoint.phone,
115
- pickupEmail: warehouseContactPoint.email,
116
- name: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.attentionTo) ? marketplaceOrderShipping.attentionTo.trim() : '',
117
- address1: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1.trim() : '-',
118
- address2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2.trim() : '-',
119
- postCode: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode.trim() : '',
120
- city: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city.trim() : '',
121
- state: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state.trim() : '',
122
- phone: marketplaceOrderShipping.phone1 || '',
123
- email: marketplaceOrderShipping.email || '',
124
- attentionTo: marketplaceOrderShipping.attentionTo,
125
- quantity: marketplaceOrderItems.length
126
- });
127
- const delay = (ms) => {
128
- return new Promise(resolve => setTimeout(resolve, ms));
129
- };
130
- if (resp.Status === 'SUCCESS') {
131
- //Success
132
- let awbObtained = false;
133
- let retry = 0;
134
- while (!awbObtained) {
135
- const marketplaceOrder2 = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
136
- where: { releaseOrderId: releaseGood.id },
137
- relations: ['marketplaceStore', 'marketplaceOrderItems', 'marketplaceOrderItems.marketplaceOrderShipping']
138
- });
139
- const orderShipping = marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShipping;
140
- if (orderShipping === null || orderShipping === void 0 ? void 0 : orderShipping.airwayBill) {
141
- awbObtained = true;
81
+ if (marketplaceOrder) {
82
+ const marketplaceStore = marketplaceOrder.marketplaceStore;
83
+ let eTraxOption;
84
+ if (marketplaceStore.isAutoUpdateShipment) {
85
+ const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
86
+ await ecommerceCtrl.createOrderComment(marketplaceStore, marketplaceOrder, sales_base_1.ORDER_STATUS.PACKING);
87
+ }
88
+ if (!marketplaceOrder)
89
+ throw new Error('Failed to find ecommerce order, kindly contact our support team regarding this issue');
90
+ eTraxOption = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceStore.eTrax;
91
+ // if eTrax option is true
92
+ if (eTraxOption) {
93
+ const marketplaceOrderItems = marketplaceOrder.marketplaceOrderItems;
94
+ // access every marketplaceOrderItems for shipping information you need
95
+ // trigger the controller from integration-lmd that trigger the API, build the parameters needed
96
+ // for etrax didn't support multi awb per order
97
+ const marketplaceOrderShipping = marketplaceOrderItems[0].marketplaceOrderShipping;
98
+ const lmd = await tx.getRepository(integration_lmd_1.LastMileDelivery).findOne({
99
+ where: {
100
+ domain,
101
+ platform: 'eTrax'
142
102
  }
143
- await delay(5000);
144
- //Timeout after 15sec
145
- if (++retry > 3) {
146
- break;
103
+ });
104
+ //Get which transporter to use
105
+ const marketplaceTransporter = await tx
106
+ .getRepository(integration_marketplace_1.MarketplaceTransporter)
107
+ .findOne({
108
+ where: { marketplaceStore: marketplaceOrder.marketplaceStore },
109
+ relations: ['pickupTransporter', 'deliveryTransporter']
110
+ });
111
+ const resp = await integration_lmd_1.LastMileAPI.createShipmentRequest(lmd, {
112
+ orderNo: marketplaceOrder.orderNo,
113
+ clientId: lmd.clientId,
114
+ clientType: lmd.clientType,
115
+ clientName: lmd.clientName,
116
+ transporterId: marketplaceTransporter.pickupTransporter.transporterId,
117
+ pickupName: warehouseContactPoint.name,
118
+ pickupAddress1: warehouseContactPoint.address,
119
+ pickupAddress2: warehouseContactPoint.address2,
120
+ pickupPostcode: warehouseContactPoint.postCode,
121
+ pickupState: warehouseContactPoint.state,
122
+ pickupCity: warehouseContactPoint.city,
123
+ pickupPhone: warehouseContactPoint.phone,
124
+ pickupEmail: warehouseContactPoint.email,
125
+ name: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.attentionTo) ? marketplaceOrderShipping.attentionTo.trim() : '',
126
+ address1: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address1.trim() : '-',
127
+ address2: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.address2.trim() : '-',
128
+ postCode: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.postCode.trim() : '',
129
+ city: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.city.trim() : '',
130
+ state: (marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state) ? marketplaceOrderShipping === null || marketplaceOrderShipping === void 0 ? void 0 : marketplaceOrderShipping.state.trim() : '',
131
+ phone: marketplaceOrderShipping.phone1 || '',
132
+ email: marketplaceOrderShipping.email || '',
133
+ attentionTo: marketplaceOrderShipping.attentionTo,
134
+ quantity: marketplaceOrderItems.length
135
+ });
136
+ const delay = (ms) => {
137
+ return new Promise(resolve => setTimeout(resolve, ms));
138
+ };
139
+ if (resp.Status === 'SUCCESS') {
140
+ //Success
141
+ let awbObtained = false;
142
+ let retry = 0;
143
+ while (!awbObtained) {
144
+ const marketplaceOrder2 = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
145
+ where: { releaseOrderId: releaseGood.id },
146
+ relations: [
147
+ 'marketplaceStore',
148
+ 'marketplaceOrderItems',
149
+ 'marketplaceOrderItems.marketplaceOrderShipping'
150
+ ]
151
+ });
152
+ const orderShipping = marketplaceOrder2.marketplaceOrderItems[0].marketplaceOrderShipping;
153
+ if (orderShipping === null || orderShipping === void 0 ? void 0 : orderShipping.airwayBill) {
154
+ awbObtained = true;
155
+ }
156
+ await delay(5000);
157
+ //Timeout after 15sec
158
+ if (++retry > 3) {
159
+ break;
160
+ }
147
161
  }
148
162
  }
149
- }
150
- else {
151
- throw resp;
152
- //Failed
163
+ else {
164
+ throw resp;
165
+ //Failed
166
+ }
153
167
  }
154
168
  }
155
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const render_orientage_do_1 = require("./controllers/render-orientage-do");
10
10
  const render_orientage_grn_1 = require("./controllers/render-orientage-grn");
11
11
  const render_ro_do_1 = require("./controllers/render-ro-do");
12
12
  const render_seebuu_grn_1 = require("./controllers/render-seebuu-grn");
13
+ const render_invoices_1 = require("./controllers/render-invoices");
13
14
  process.on('bootstrap-module-domain-private-route', (app, routes) => {
14
15
  routes.get('/view_document_ro_do/:doNo', async (context, next) => {
15
16
  context.body = await (0, render_ro_do_1.renderRODO)(context.params, context);
@@ -41,5 +42,12 @@ process.on('bootstrap-module-domain-private-route', (app, routes) => {
41
42
  routes.get('/view_manifest/:manifestNo', async (context, next) => {
42
43
  context.body = await (0, render_manifest_1.renderManifest)(context.params, context);
43
44
  });
45
+ routes.post('/view_invoices/:timezoneOffSet', async (context, next) => {
46
+ let req = context.request.body || {};
47
+ let timezoneOffSet = context.params.timezoneOffSet || 0;
48
+ let data = await (0, render_invoices_1.renderInvoices)({ req, timezoneOffSet }, context);
49
+ context.type = 'application/json';
50
+ context.body = data;
51
+ });
44
52
  });
45
53
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
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,mEAA8D;AAC9D,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;IAEF,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,gCAAc,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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "3.8.25",
3
+ "version": "3.8.29",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -25,20 +25,20 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@things-factory/auth-base": "^3.8.0",
28
- "@things-factory/biz-base": "^3.8.0",
29
- "@things-factory/document-template-base": "^3.8.0",
28
+ "@things-factory/biz-base": "^3.8.29",
29
+ "@things-factory/document-template-base": "^3.8.29",
30
30
  "@things-factory/id-rule-base": "^3.8.0",
31
- "@things-factory/integration-lmd": "^3.8.19",
32
- "@things-factory/integration-marketplace": "^3.8.23",
33
- "@things-factory/integration-sellercraft": "^3.8.23",
34
- "@things-factory/integration-sftp": "^3.8.21",
35
- "@things-factory/marketplace-base": "^3.8.23",
31
+ "@things-factory/integration-lmd": "^3.8.29",
32
+ "@things-factory/integration-marketplace": "^3.8.29",
33
+ "@things-factory/integration-sellercraft": "^3.8.29",
34
+ "@things-factory/integration-sftp": "^3.8.29",
35
+ "@things-factory/marketplace-base": "^3.8.29",
36
36
  "@things-factory/notification": "^3.8.0",
37
- "@things-factory/sales-base": "^3.8.25",
37
+ "@things-factory/sales-base": "^3.8.29",
38
38
  "@things-factory/setting-base": "^3.8.0",
39
39
  "@things-factory/shell": "^3.8.0",
40
- "@things-factory/transport-base": "^3.8.0",
41
- "@things-factory/warehouse-base": "^3.8.25"
40
+ "@things-factory/transport-base": "^3.8.29",
41
+ "@things-factory/warehouse-base": "^3.8.29"
42
42
  },
43
- "gitHead": "65fc6a560f15143d908bb290e70f4f87f6575c7f"
43
+ "gitHead": "aab48875c1a169b2d75f9fe8aa6af029c3d5b3dd"
44
44
  }
@@ -4,6 +4,7 @@ export const TEMPLATE_TYPE = {
4
4
  GRN_TEMPLATE: 'GRN_TEMPLATE',
5
5
  JOB_TEMPLATE: 'JOB_TEMPLATE',
6
6
  MANIFEST_TEMPLATE: 'MANIFEST_TEMPLATE',
7
+ INVOICE_TEMPLATE: 'INVOICE_TEMPLATE',
7
8
  COP: 'COP',
8
9
  SIGNATURE: 'SIGNATURE',
9
10
  LOGO: 'LOGO'
@@ -13,6 +13,32 @@ import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/ware
13
13
  import { WorksheetController } from '../worksheet-controller'
14
14
 
15
15
  export class SellercraftController extends WorksheetController {
16
+ async packOrder(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
17
+ const orderProducts: OrderProduct[] = releaseGood.orderProducts
18
+ let sellercraftOPs: any[] = []
19
+
20
+ sellercraftOPs = orderProducts.map(orderProduct => {
21
+ const product: Product = orderProduct.product
22
+
23
+ return {
24
+ sku: product.sku,
25
+ releaseQty: orderProduct.releaseQty,
26
+ uom: 'EA'
27
+ }
28
+ })
29
+
30
+ const orderInformation: any = {
31
+ accountId: sellercraft.accountId,
32
+ orderId: releaseGood.refNo2,
33
+ sellercraftOPs
34
+ }
35
+ const packageId: string = await SellercraftAPI.packMarketplaceOrder(sellercraft, { ...orderInformation })
36
+
37
+ releaseGood.packageId = packageId
38
+ releaseGood.updater = this.user
39
+ return releaseGood
40
+ }
41
+
16
42
  async registerProductInbound(sellercraft: Sellercraft, arrivalNotice: ArrivalNotice): Promise<void> {
17
43
  const orderProducts: OrderProduct[] = arrivalNotice.orderProducts
18
44
  const purchaseOrder: PurchaseOrder = arrivalNotice.purchaseOrder
@@ -87,12 +113,20 @@ export class SellercraftController extends WorksheetController {
87
113
 
88
114
  return {
89
115
  sku: product.sku,
116
+ productName: product.name,
117
+ gtin: defaultProductDetail.gtin,
90
118
  purchaseOrderQty: orderInventory.returnQty * packingSize,
91
119
  receivedQty: orderInventory.returnQty * packingSize,
92
120
  uom: 'EA',
93
121
  batchId: orderInventory.batchId,
94
122
  forceCreateProduct: false,
95
- expiryTime: 0
123
+ expiryTime: 0,
124
+ weight: defaultProductDetail.nettWeight < 1 ? 1 : defaultProductDetail.nettWeight,
125
+ packageDimension: {
126
+ length: defaultProductDetail.depth < 1 ? 1 : defaultProductDetail.depth,
127
+ width: defaultProductDetail.width < 1 ? 1 : defaultProductDetail.width,
128
+ height: defaultProductDetail.height < 1 ? 1 : defaultProductDetail.height
129
+ }
96
130
  }
97
131
  })
98
132
  )
@@ -174,6 +208,8 @@ export class SellercraftController extends WorksheetController {
174
208
  }
175
209
 
176
210
  async initiateOrderShipment(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
211
+ if (!releaseGood?.packageId) throw new Error('Order package id is not found')
212
+
177
213
  const orderInformation: any = {
178
214
  accountId: sellercraft.accountId,
179
215
  orderId: releaseGood.refNo2,
@@ -194,6 +194,7 @@ export async function renderGRN({ grnNo, timezoneOffSet }, context: any) {
194
194
  product_type: item.packingType,
195
195
  product_size: item.packingSize,
196
196
  product_batch: item.batchId,
197
+ batch_id_ref: item?.batchIdRef ? item.batchIdRef : '',
197
198
  pallet_qty: item.actualPalletQty,
198
199
  product_qty: unloadInvHistory.qty || item.actualPackQty,
199
200
  product_unit_uom_value: `${Math.round(item.uomValue * 100) / 100}`,
@@ -0,0 +1,148 @@
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, Company, ContactPoint } from '@things-factory/biz-base'
8
+ import { config } from '@things-factory/env'
9
+ import { ArrivalNotice, GoodsReceivalNote, ORDER_STATUS, OrderProduct, ReleaseGood, Invoice, InvoiceProduct } 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 renderInvoices({ req, timezoneOffSet }, context: any) {
20
+ try {
21
+ const domain: Domain = await getRepository(Domain).findOne({
22
+ where: { id: context.state.domain.id }
23
+ })
24
+
25
+ let result = await Promise.all(req.roIds.map(async roId => {
26
+ try {
27
+ const foundReleaseGoods: ReleaseGood = await getRepository(ReleaseGood).findOne({
28
+ where: { domain, id: roId },
29
+ relations: ['domain', 'bizplace', 'bizplace.domain', 'bizplace.company', 'bizplace.company.domain']
30
+ })
31
+
32
+ if (foundReleaseGoods) {
33
+ const foundInvoice: Invoice = await getRepository(Invoice).findOne({
34
+ where: { releaseGood: foundReleaseGoods },
35
+ relations: ['invoiceProducts', 'invoiceProducts.product', 'domain', 'creator', 'updater']
36
+ })
37
+
38
+ const partnerBiz: Bizplace = foundReleaseGoods.bizplace
39
+
40
+ const partnerCompanyDomain: Domain = foundReleaseGoods.bizplace.company.domain
41
+
42
+ const foundTemplate: Attachment = await getRepository(Attachment).findOne({
43
+ where: { domain: partnerCompanyDomain, category: TEMPLATE_TYPE.INVOICE_TEMPLATE }
44
+ })
45
+
46
+ const template = await STORAGE.readFile(foundTemplate.path, 'utf-8')
47
+
48
+ let fullBillingAddress = [
49
+ foundInvoice.billingAddress1,
50
+ foundInvoice.billingAddress2,
51
+ foundInvoice.billingAddress3,
52
+ foundInvoice.billingAddress4,
53
+ foundInvoice.billingAddress5
54
+ ]
55
+
56
+ let fullDeliveryAddress = [
57
+ foundInvoice.deliveryAddress1,
58
+ foundInvoice.deliveryAddress2,
59
+ foundInvoice.deliveryAddress3,
60
+ foundInvoice.deliveryAddress4,
61
+ foundInvoice.deliveryAddress5,
62
+ ]
63
+
64
+ let date = DateTimeConverter.date(new Date((foundInvoice.issuedOn || foundInvoice.createdAt) - timezoneOffSet))
65
+ const data = {
66
+ order_no: foundReleaseGoods.name,
67
+ ref_no: foundReleaseGoods.refNo,
68
+ deliver_to: foundInvoice.deliverTo,
69
+ deliver_to_phone: foundInvoice.deliverToPhone || '',
70
+ bill_to: foundInvoice.billTo,
71
+ bill_to_phone: foundInvoice.billToPhone || '',
72
+ customer_address: partnerBiz.address,
73
+ delivery_date: date,
74
+ store_name: foundInvoice.from,
75
+ billing_address_1: foundInvoice.billingAddress1,
76
+ billing_address_2: foundInvoice.billingAddress2,
77
+ billing_address_3: foundInvoice.billingAddress3,
78
+ billing_address_4: foundInvoice.billingAddress4,
79
+ billing_address_5: foundInvoice.billingAddress5,
80
+ billing_postcode: foundInvoice.billingPostcode,
81
+ billing_city: foundInvoice.billingCity,
82
+ billing_state: foundInvoice.billingState,
83
+ billing_country: foundInvoice.billingCountry,
84
+ full_billing_address: fullBillingAddress.reduce((acc, itm) => {
85
+ if (itm && itm.trim() != '') {
86
+ acc.push(itm)
87
+ }
88
+
89
+ return acc
90
+ }, []).join(' '),
91
+ delivery_address_1: foundInvoice.deliveryAddress1,
92
+ delivery_address_2: foundInvoice.deliveryAddress2,
93
+ delivery_address_3: foundInvoice.deliveryAddress3,
94
+ delivery_address_4: foundInvoice.deliveryAddress4,
95
+ delivery_address_5: foundInvoice.deliveryAddress5,
96
+ delivery_postcode: foundInvoice.deliveryPostcode,
97
+ delivery_city: foundInvoice.deliveryCity,
98
+ delivery_state: foundInvoice.deliveryState,
99
+ delivery_country: foundInvoice.deliveryCountry,
100
+ full_delivery_address: fullDeliveryAddress.reduce((acc, itm) => {
101
+ if (itm && itm.trim() != '') {
102
+ acc.push(itm)
103
+ }
104
+
105
+ return acc
106
+ }, []).join(' '),
107
+ product_list: foundInvoice.invoiceProducts.map((item, idx) => {
108
+ return {
109
+ list_no: idx + 1,
110
+ product_sku: item.sku,
111
+ product_name: item.name,
112
+ product_desc: item.description,
113
+ product_qty: item.qty,
114
+ product_other_charges: item.otherCharges,
115
+ product_paid_price: parseFloat(item.paidPrice || item.unitPrice).toFixed(2),
116
+ product_unit_price: parseFloat(item.unitPrice).toFixed(2),
117
+ product_total_paid_price: (parseFloat(item.paidPrice || item.unitPrice) * parseFloat(item.qty)).toFixed(2),
118
+ product_total_unit_price: (parseFloat(item.unitPrice) * parseFloat(item.qty)).toFixed(2)
119
+ }
120
+ })
121
+ }
122
+
123
+ const formData = new FormData()
124
+ formData.append('template', template)
125
+ formData.append('jsonString', JSON.stringify(data))
126
+
127
+ const response = await fetch(REPORT_API_URL, {
128
+ method: 'POST',
129
+ body: formData
130
+ })
131
+
132
+ return await response.text()
133
+ }
134
+ return ''
135
+ } catch (ex) {
136
+ return ''
137
+ }
138
+ }))
139
+
140
+
141
+ if (result.length <= 0) {
142
+ throw Error('No invoice found!')
143
+ }
144
+ return result.join()
145
+ } catch (ex) {
146
+ throw ex
147
+ }
148
+ }
@@ -143,6 +143,7 @@ export async function renderRODO({ doNo }, context: any) {
143
143
  product_type: inventory.packingType,
144
144
  product_size: matchedProductDetail ? matchedProductDetail.packingSize : inventory.packingSize,
145
145
  product_batch: inventory.batchId,
146
+ product_batch_ref: inventory.batchIdRef,
146
147
  product_qty: targetInventory.releaseQty,
147
148
  product_weight: targetInventory.releaseWeight,
148
149
  product_gross_weight: inventory.product.grossWeight,
@@ -159,6 +160,7 @@ export async function renderRODO({ doNo }, context: any) {
159
160
  newItem =>
160
161
  newItem.product_name === item.product_name &&
161
162
  newItem.product_batch === item.product_batch &&
163
+ newItem.product_batch_ref === item.product_batch_ref &&
162
164
  newItem.cross_docking === item.cross_docking &&
163
165
  newItem.pallet === item.pallet
164
166
  )
@@ -169,6 +171,7 @@ export async function renderRODO({ doNo }, context: any) {
169
171
  product_type: item.product_type,
170
172
  product_size: item.product_size,
171
173
  product_batch: item.product_batch,
174
+ product_batch_ref: item.product_batch_ref,
172
175
  product_qty: item.product_qty,
173
176
  product_weight: item.product_weight,
174
177
  product_gross_weight: item.product_gross_weight,
@@ -190,6 +193,7 @@ export async function renderRODO({ doNo }, context: any) {
190
193
  if (
191
194
  ni.product_name === item.product_name &&
192
195
  ni.product_batch === item.product_batch &&
196
+ ni.product_batch_ref === item.product_batch_ref &&
193
197
  ni.cross_docking === item.cross_docking &&
194
198
  ni.pallet === item.pallet
195
199
  ) {
@@ -268,7 +272,8 @@ export async function renderRODO({ doNo }, context: any) {
268
272
  : prod.pallet === ''
269
273
  ? `${prod.palletQty} PALLET(S)`
270
274
  : `${prod.palletQty} PALLET(S) (${prod.pallet})`,
271
- inventory_remark: prod?.inventory_remark ? prod.inventory_remark : ''
275
+ inventory_remark: prod?.inventory_remark ? prod.inventory_remark : '',
276
+ batch_id_ref: prod.product_batch_ref
272
277
  }
273
278
  })
274
279
  } //.. make data from do
@@ -64,7 +64,18 @@ export async function completeBatchPicking(
64
64
  await Promise.all(
65
65
  uniqueReleaseGoods.map(async releaseGood => {
66
66
  const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
67
- await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
67
+
68
+ let foundReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
69
+ where: { id: releaseGood.id },
70
+ relations: ['orderProducts', 'orderProducts.product', 'orderProducts.product.productDetails']
71
+ })
72
+
73
+ if (!foundReleaseGood?.packageId) {
74
+ foundReleaseGood = await sellercraftCtrl.packOrder(sellercraft, foundReleaseGood)
75
+ }
76
+
77
+ foundReleaseGood = await sellercraftCtrl.initiateOrderShipment(sellercraft, foundReleaseGood)
78
+ await sellercraftCtrl.initiateOrderDocument(sellercraft, foundReleaseGood)
68
79
  })
69
80
  )
70
81
  }