@things-factory/sales-base 4.3.241 → 4.3.246

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.
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ecommerce-controller"), exports);
18
18
  __exportStar(require("./sellercraft-controller"), exports);
19
+ __exportStar(require("./powrup-controller"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,2DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,2DAAwC;AACxC,sDAAmC"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PowrupController = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const biz_base_1 = require("@things-factory/biz-base");
6
+ const env_1 = require("@things-factory/env");
7
+ const integration_powrup_1 = require("@things-factory/integration-powrup");
8
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
9
+ const datetime_util_1 = require("../../utils/datetime-util");
10
+ const constants_1 = require("../../constants");
11
+ const utils_1 = require("../../utils");
12
+ const order_package_1 = require("../../service/order-package/order-package");
13
+ const order_package_item_1 = require("../../service/order-package-item/order-package-item");
14
+ const release_good_1 = require("../../service/release-good/release-good");
15
+ class PowrupController {
16
+ async packOrder(powrup, releaseGood, domain, user, trxMgr) {
17
+ try {
18
+ const orderProducts = releaseGood.orderProducts;
19
+ const orderInformation = {
20
+ refOrderId: releaseGood.refOrderId
21
+ };
22
+ if ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lastMarketPackCall) &&
23
+ datetime_util_1.DateTimeDifference.timeDifferenceInSeconds(releaseGood.lastMarketPackCall, new Date()) <= 5) {
24
+ return;
25
+ }
26
+ await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).update({ id: releaseGood.id }, {
27
+ lastMarketPackCall: new Date()
28
+ });
29
+ const orderPack = await integration_powrup_1.PowrupAPI.packOrder(powrup, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: domain || null, user: user || null } } }));
30
+ if (orderPack === null || orderPack === void 0 ? void 0 : orderPack.packages) {
31
+ const packages = orderPack.packages;
32
+ await Promise.all(packages.map(async (pkg) => {
33
+ const items = pkg.items;
34
+ const orderPackage = {
35
+ name: utils_1.OrderNoGenerator.orderPackage(),
36
+ packageId: pkg.packageId,
37
+ status: constants_1.ORDER_STATUS.PROCESSING,
38
+ releaseGood,
39
+ domain: releaseGood.domain,
40
+ bizplace: releaseGood.bizplace,
41
+ creator: releaseGood.creator,
42
+ updater: releaseGood.updater
43
+ };
44
+ let savedOrderPackage = await trxMgr.getRepository(order_package_1.OrderPackage).save(orderPackage);
45
+ const orderPackageItems = items.map(itm => {
46
+ const { refCode, qty } = itm;
47
+ const matchedOrderProduct = orderProducts.find(op => op.productDetail.refCode == refCode);
48
+ return {
49
+ name: utils_1.OrderNoGenerator.orderPackageItem(),
50
+ orderProduct: matchedOrderProduct,
51
+ status: constants_1.ORDER_STATUS.PROCESSING,
52
+ releaseQty: qty,
53
+ orderPackage: savedOrderPackage,
54
+ domain: releaseGood.domain,
55
+ bizplace: releaseGood.bizplace,
56
+ creator: releaseGood.creator,
57
+ updater: releaseGood.updater
58
+ };
59
+ });
60
+ await trxMgr.getRepository(order_package_item_1.OrderPackageItem).save(orderPackageItems);
61
+ }));
62
+ await trxMgr.getRepository(release_good_1.ReleaseGood).update({ id: releaseGood.id }, {
63
+ packageId: packages[0].packageId,
64
+ marketPackCallSuccess: new Date(),
65
+ lastMarketPackCall: new Date(),
66
+ updatedAt: new Date()
67
+ });
68
+ }
69
+ }
70
+ catch (error) {
71
+ env_1.logger.error(`powrup-controller[packOrder]: ${error}`);
72
+ throw error;
73
+ }
74
+ return releaseGood;
75
+ }
76
+ async updateStock(inventories, customerDomain, user, trxMgr) {
77
+ const bizplace = await trxMgr.getRepository(biz_base_1.Bizplace).findOne({ domain: customerDomain });
78
+ const powrup = await trxMgr
79
+ .getRepository(integration_powrup_1.Powrup)
80
+ .findOne({ where: { platform: integration_powrup_1.Platform.POWRUP, active: true } });
81
+ if (powrup) {
82
+ for (let inventory of inventories) {
83
+ let product = inventory.product;
84
+ const productDetail = inventory.productDetail;
85
+ const warehouseDomainId = inventory.domainId;
86
+ let qb = await trxMgr.getRepository(warehouse_base_1.Inventory).createQueryBuilder('inv');
87
+ qb.leftJoinAndSelect('inv.location', 'loc')
88
+ .andWhere('"inv"."domain_id" = :domainId')
89
+ .andWhere('"inv"."bizplace_id" = :bizplaceId')
90
+ .andWhere('"inv"."product_id" = :productId')
91
+ .andWhere('"inv"."product_detail_id" = :productDetailId')
92
+ .andWhere('"inv"."status" = :status')
93
+ .andWhere('"loc"."type" NOT IN (:...locationTypes)')
94
+ .setParameters({
95
+ domainId: warehouseDomainId,
96
+ bizplaceId: bizplace.id,
97
+ productId: product.id,
98
+ productDetailId: productDetail.id,
99
+ status: warehouse_base_1.INVENTORY_STATUS.STORED,
100
+ locationTypes: [warehouse_base_1.LOCATION_TYPE.QUARANTINE]
101
+ });
102
+ let inventories = await qb.getMany();
103
+ let inventoryTotalQty = 0;
104
+ let inventoryTotalLockedQty = 0;
105
+ let inventoryBufferQty = 0;
106
+ inventories.forEach((inventory) => {
107
+ const { qty, lockedQty } = inventory;
108
+ inventoryTotalQty += qty;
109
+ inventoryTotalLockedQty += lockedQty;
110
+ if (inventory.location.type === warehouse_base_1.LOCATION_TYPE.RESERVE) {
111
+ inventoryBufferQty += qty;
112
+ }
113
+ });
114
+ const powrupInvs = [
115
+ {
116
+ refCode: productDetail.refCode,
117
+ stock: {
118
+ quantityTotal: inventoryTotalQty - inventoryTotalLockedQty - inventoryBufferQty || 0,
119
+ quantityReserved: inventoryTotalLockedQty - inventoryBufferQty || 0,
120
+ quantityBuffer: inventoryBufferQty || 0
121
+ }
122
+ }
123
+ ];
124
+ await integration_powrup_1.PowrupAPI.updateStock(powrup, {
125
+ context: { state: { domain: customerDomain || null, user: user || user } },
126
+ warehouseDomainId,
127
+ powrupInvs
128
+ });
129
+ }
130
+ }
131
+ }
132
+ async initiateShipment(powrup, releaseGood, domain, user, trxMgr) {
133
+ try {
134
+ let orderPackages = await trxMgr
135
+ .getRepository(order_package_1.OrderPackage)
136
+ .find({ where: { releaseGood, bizplace: releaseGood.bizplace } });
137
+ if (orderPackages === null || orderPackages === void 0 ? void 0 : orderPackages.length) {
138
+ await Promise.all(orderPackages
139
+ .filter(op => (op === null || op === void 0 ? void 0 : op.marketRtsCallSuccess) == undefined)
140
+ .map(async (op) => {
141
+ if (!(op === null || op === void 0 ? void 0 : op.packageId))
142
+ throw new Error('Order package id is not found');
143
+ if (releaseGood.lmdOption && !(op === null || op === void 0 ? void 0 : op.parcelId))
144
+ return;
145
+ let orderInformation = {
146
+ refOrderId: releaseGood.refOrderId,
147
+ packageId: op.packageId
148
+ };
149
+ if (releaseGood.lmdOption) {
150
+ let releaseGoodQuery = await (0, typeorm_1.getRepository)(release_good_1.ReleaseGood).findOne({
151
+ where: { id: releaseGood.id },
152
+ relations: ['lastMileDelivery']
153
+ });
154
+ orderInformation = Object.assign(Object.assign({}, orderInformation), { awb: op.airwayBill, trackingNo: op.trackingNo, lmdOption: releaseGood.lmdOption, shipperName: releaseGoodQuery.lastMileDelivery.platform });
155
+ }
156
+ try {
157
+ await integration_powrup_1.PowrupAPI.initiateShipment(powrup, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain, user } } }));
158
+ await (0, typeorm_1.getRepository)(order_package_1.OrderPackage).update({ id: op.id }, { marketRtsCallSuccess: new Date() });
159
+ }
160
+ catch (error) {
161
+ env_1.logger.error(`powrup-controller[initiateShipment]: ${JSON.stringify(Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: domain || null, user: user || null } }, error: error }))}`);
162
+ }
163
+ }));
164
+ }
165
+ }
166
+ catch (error) {
167
+ throw error;
168
+ }
169
+ }
170
+ async fetchDocument(powrup, releaseGood, domain, user, trxMgr) {
171
+ if ((releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.ownTransport) && (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.lmdOption)) {
172
+ return;
173
+ }
174
+ try {
175
+ let orderPackages = await trxMgr
176
+ .getRepository(order_package_1.OrderPackage)
177
+ .find({ where: { releaseGood, bizplace: releaseGood.bizplace } });
178
+ if (orderPackages === null || orderPackages === void 0 ? void 0 : orderPackages.length) {
179
+ await Promise.all(orderPackages.map(async (op) => {
180
+ if (!(op === null || op === void 0 ? void 0 : op.packageId))
181
+ throw new Error('Order package id is not found');
182
+ const orderInformation = {
183
+ refOrderId: releaseGood.refOrderId,
184
+ packageId: op.packageId
185
+ };
186
+ const { documents, trackingNo, transporter } = await integration_powrup_1.PowrupAPI.fetchDocument(powrup, Object.assign(Object.assign({}, orderInformation), { context: { state: { domain: domain || null, user: user || null } } }));
187
+ let updateInfo;
188
+ if (documents === null || documents === void 0 ? void 0 : documents.length) {
189
+ documents.map(document => {
190
+ if (document.type === 'invoice') {
191
+ updateInfo = Object.assign(Object.assign({}, updateInfo), { invoice: document.download_url });
192
+ }
193
+ else if (document.type === 'airway_bill') {
194
+ updateInfo = Object.assign(Object.assign({}, updateInfo), { airwayBill: document.download_url });
195
+ }
196
+ });
197
+ updateInfo = Object.assign(Object.assign({}, updateInfo), { trackingNo: trackingNo, transporter: transporter, updater: user });
198
+ await trxMgr.getRepository(order_package_1.OrderPackage).update({ id: op.id }, Object.assign({}, updateInfo));
199
+ }
200
+ }));
201
+ releaseGood = await trxMgr.getRepository(release_good_1.ReleaseGood).findOne({ id: releaseGood.id });
202
+ }
203
+ return releaseGood;
204
+ }
205
+ catch (error) {
206
+ throw error;
207
+ }
208
+ }
209
+ }
210
+ exports.PowrupController = PowrupController;
211
+ //# sourceMappingURL=powrup-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"powrup-controller.js","sourceRoot":"","sources":["../../../server/controllers/ecommerce/powrup-controller.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,5 @@ __exportStar(require("./migrations"), exports);
19
19
  __exportStar(require("./utils"), exports);
20
20
  __exportStar(require("./constants"), exports);
21
21
  __exportStar(require("./controllers/ecommerce/sellercraft-controller"), exports);
22
+ __exportStar(require("./controllers/ecommerce/powrup-controller"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,+CAA4B;AAC5B,0CAAuB;AACvB,8CAA2B;AAC3B,iFAA8D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,+CAA4B;AAC5B,0CAAuB;AACvB,8CAA2B;AAC3B,iFAA8D;AAC9D,4EAAyD"}
@@ -684,17 +684,17 @@ async function confirmReleaseGood(name, context, tx) {
684
684
  await sellercraftCtrl.updateSellercraftStock(sellercraft, foundOPs, 'CONFIRM_ORDER');
685
685
  }
686
686
  };
687
- // const customerBizplaceId: string = foundReleaseGood.bizplace.id
688
- // const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
689
- // const powrup: Powrup = await tx
690
- // .getRepository(Application)
691
- // .findOne({ domain: companyBizplace.domain, status: 'ACTIVE' })
692
- // let updatePowrupStock = async powrup => {
693
- // if (powrup) {
694
- // const powrupController: PowrupController = new PowrupController(tx, domain, user)
695
- // await powrupController.updateStock(powrup, foundOPs)
696
- // }
697
- // }
687
+ const customerBizplaceId = foundReleaseGood.bizplace.id;
688
+ const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
689
+ const application = await tx
690
+ .getRepository(auth_base_1.Application)
691
+ .findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: auth_base_1.ApplicationType.POWRUP });
692
+ let updatePowrupStock = async (powrup) => {
693
+ if (application) {
694
+ const powrupController = new controllers_1.PowrupController();
695
+ await powrupController.updateStock(foundOPs, domain, user, tx);
696
+ }
697
+ };
698
698
  const orderSource = foundReleaseGood.source;
699
699
  switch (orderSource) {
700
700
  case auth_base_1.ApplicationType.MMS:
@@ -767,9 +767,9 @@ async function confirmReleaseGood(name, context, tx) {
767
767
  }
768
768
  updateSCStock(sellercraft);
769
769
  break;
770
- // case ApplicationType.POWRUP:
771
- // updatePowrupStock(powrup)
772
- // break
770
+ case auth_base_1.ApplicationType.POWRUP:
771
+ updatePowrupStock(application);
772
+ break;
773
773
  default:
774
774
  updateSCStock(sellercraft);
775
775
  break;
@@ -942,17 +942,17 @@ async function rejectReleaseGood(tx, context, name, remark) {
942
942
  await sellercraftCtrl.updateSellercraftStock(sellercraft, foundOPs, 'REJECT_ORDER');
943
943
  }
944
944
  break;
945
- // case ApplicationType.POWRUP:
946
- // const customerBizplaceId: string = releaseGood.bizplace.id
947
- // const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
948
- // const powrup: Powrup = await tx
949
- // .getRepository(Application)
950
- // .findOne({ domain: companyBizplace.domain, status: 'ACTIVE' })
951
- // if (powrup) {
952
- // const powrupController: PowrupController = new PowrupController(tx, domain, user)
953
- // await powrupController.updateStock(powrup, foundOPs)
954
- // }
955
- // break
945
+ case auth_base_1.ApplicationType.POWRUP:
946
+ const customerBizplaceId = releaseGood.bizplace.id;
947
+ const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
948
+ const application = await tx
949
+ .getRepository(auth_base_1.Application)
950
+ .findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: auth_base_1.ApplicationType.POWRUP });
951
+ if (application) {
952
+ const powrupController = new controllers_1.PowrupController();
953
+ await powrupController.updateStock(foundOPs, companyBizplace.domain, user, tx);
954
+ }
955
+ break;
956
956
  default:
957
957
  break;
958
958
  }
@@ -1 +1 @@
1
- {"version":3,"file":"release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/release-good/release-good-mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-good-mutation.js","sourceRoot":"","sources":["../../../server/service/release-good/release-good-mutation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/sales-base",
3
- "version": "4.3.241",
3
+ "version": "4.3.246",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -28,13 +28,14 @@
28
28
  "@things-factory/biz-base": "^4.3.237",
29
29
  "@things-factory/code-base": "^4.3.237",
30
30
  "@things-factory/integration-accounting": "^4.3.239",
31
+ "@things-factory/integration-powrup": "^4.3.244",
31
32
  "@things-factory/integration-sftp": "^4.3.239",
32
33
  "@things-factory/notification": "^4.3.237",
33
34
  "@things-factory/product-base": "^4.3.237",
34
35
  "@things-factory/setting-base": "^4.3.237",
35
36
  "@things-factory/shell": "^4.3.237",
36
37
  "@things-factory/transport-base": "^4.3.237",
37
- "@things-factory/warehouse-base": "^4.3.241"
38
+ "@things-factory/warehouse-base": "^4.3.246"
38
39
  },
39
- "gitHead": "507fce6438f95509d660bc61cd1ddc615c868ee3"
40
+ "gitHead": "7e218f27deddcbd2c4585870c45f06cd889f74d3"
40
41
  }
@@ -1,2 +1,3 @@
1
1
  export * from './ecommerce-controller'
2
2
  export * from './sellercraft-controller'
3
+ export * from './powrup-controller'
@@ -0,0 +1,301 @@
1
+ import { getRepository, EntityManager } from 'typeorm'
2
+
3
+ import { Bizplace } from '@things-factory/biz-base'
4
+ import { logger } from '@things-factory/env'
5
+ import { Powrup, PowrupAPI, Platform } from '@things-factory/integration-powrup'
6
+ import { Product, ProductDetail } from '@things-factory/product-base'
7
+ import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'
8
+ import { Domain, User } from '@things-factory/shell'
9
+
10
+ import { DateTimeDifference } from '../../utils/datetime-util'
11
+ import { ORDER_STATUS } from '../../constants'
12
+ import { OrderNoGenerator } from '../../utils'
13
+ import { OrderPackage } from '../../service/order-package/order-package'
14
+ import { OrderPackageItem } from '../../service/order-package-item/order-package-item'
15
+ import { OrderProduct } from '../../service/order-product/order-product'
16
+ import { ReleaseGood } from '../../service/release-good/release-good'
17
+
18
+ export class PowrupController {
19
+ async packOrder(
20
+ powrup: Powrup,
21
+ releaseGood: ReleaseGood,
22
+ domain?: Domain,
23
+ user?: User,
24
+ trxMgr?: EntityManager
25
+ ): Promise<ReleaseGood> {
26
+ try {
27
+ const orderProducts: OrderProduct[] = releaseGood.orderProducts
28
+ const orderInformation: any = {
29
+ refOrderId: releaseGood.refOrderId
30
+ }
31
+
32
+ if (
33
+ releaseGood?.lastMarketPackCall &&
34
+ DateTimeDifference.timeDifferenceInSeconds(releaseGood.lastMarketPackCall, new Date()) <= 5
35
+ ) {
36
+ return
37
+ }
38
+
39
+ await getRepository(ReleaseGood).update(
40
+ { id: releaseGood.id },
41
+ {
42
+ lastMarketPackCall: new Date()
43
+ }
44
+ )
45
+
46
+ const orderPack: any = await PowrupAPI.packOrder(powrup, {
47
+ ...orderInformation,
48
+ context: { state: { domain: domain || null, user: user || null } }
49
+ })
50
+
51
+ if (orderPack?.packages) {
52
+ const packages: any[] = orderPack.packages
53
+
54
+ await Promise.all(
55
+ packages.map(async pkg => {
56
+ const items = pkg.items
57
+ const orderPackage: any = {
58
+ name: OrderNoGenerator.orderPackage(),
59
+ packageId: pkg.packageId,
60
+ status: ORDER_STATUS.PROCESSING,
61
+ releaseGood,
62
+ domain: releaseGood.domain,
63
+ bizplace: releaseGood.bizplace,
64
+ creator: releaseGood.creator,
65
+ updater: releaseGood.updater
66
+ }
67
+
68
+ let savedOrderPackage: OrderPackage = await trxMgr.getRepository(OrderPackage).save(orderPackage)
69
+
70
+ const orderPackageItems: OrderPackageItem[] = items.map(itm => {
71
+ const { refCode, qty } = itm
72
+ const matchedOrderProduct: OrderProduct = orderProducts.find(op => op.productDetail.refCode == refCode)
73
+
74
+ return {
75
+ name: OrderNoGenerator.orderPackageItem(),
76
+ orderProduct: matchedOrderProduct,
77
+ status: ORDER_STATUS.PROCESSING,
78
+ releaseQty: qty,
79
+ orderPackage: savedOrderPackage,
80
+ domain: releaseGood.domain,
81
+ bizplace: releaseGood.bizplace,
82
+ creator: releaseGood.creator,
83
+ updater: releaseGood.updater
84
+ }
85
+ })
86
+
87
+ await trxMgr.getRepository(OrderPackageItem).save(orderPackageItems)
88
+ })
89
+ )
90
+
91
+ await trxMgr.getRepository(ReleaseGood).update(
92
+ { id: releaseGood.id },
93
+ {
94
+ packageId: packages[0].packageId,
95
+ marketPackCallSuccess: new Date(),
96
+ lastMarketPackCall: new Date(),
97
+ updatedAt: new Date()
98
+ }
99
+ )
100
+ }
101
+ } catch (error) {
102
+ logger.error(`powrup-controller[packOrder]: ${error}`)
103
+ throw error
104
+ }
105
+
106
+ return releaseGood
107
+ }
108
+
109
+ async updateStock(
110
+ inventories: Inventory[],
111
+ customerDomain: Domain,
112
+ user?: User,
113
+ trxMgr?: EntityManager
114
+ ): Promise<void> {
115
+ const bizplace: Bizplace = await trxMgr.getRepository(Bizplace).findOne({ domain: customerDomain })
116
+ const powrup: Powrup = await trxMgr
117
+ .getRepository(Powrup)
118
+ .findOne({ where: { platform: Platform.POWRUP, active: true } })
119
+
120
+ if (powrup) {
121
+ for (let inventory of inventories) {
122
+ let product: Product = inventory.product
123
+ const productDetail: ProductDetail = inventory.productDetail
124
+ const warehouseDomainId: string = inventory.domainId
125
+ let qb = await trxMgr.getRepository(Inventory).createQueryBuilder('inv')
126
+ qb.leftJoinAndSelect('inv.location', 'loc')
127
+ .andWhere('"inv"."domain_id" = :domainId')
128
+ .andWhere('"inv"."bizplace_id" = :bizplaceId')
129
+ .andWhere('"inv"."product_id" = :productId')
130
+ .andWhere('"inv"."product_detail_id" = :productDetailId')
131
+ .andWhere('"inv"."status" = :status')
132
+ .andWhere('"loc"."type" NOT IN (:...locationTypes)')
133
+ .setParameters({
134
+ domainId: warehouseDomainId,
135
+ bizplaceId: bizplace.id,
136
+ productId: product.id,
137
+ productDetailId: productDetail.id,
138
+ status: INVENTORY_STATUS.STORED,
139
+ locationTypes: [LOCATION_TYPE.QUARANTINE]
140
+ })
141
+
142
+ let inventories: Inventory[] = await qb.getMany()
143
+ let inventoryTotalQty: number = 0
144
+ let inventoryTotalLockedQty: number = 0
145
+ let inventoryBufferQty: number = 0
146
+
147
+ inventories.forEach((inventory: Inventory) => {
148
+ const { qty, lockedQty } = inventory
149
+ inventoryTotalQty += qty
150
+ inventoryTotalLockedQty += lockedQty
151
+ if (inventory.location.type === LOCATION_TYPE.RESERVE) {
152
+ inventoryBufferQty += qty
153
+ }
154
+ })
155
+
156
+ const powrupInvs: any[] = [
157
+ {
158
+ refCode: productDetail.refCode,
159
+ stock: {
160
+ quantityTotal: inventoryTotalQty - inventoryTotalLockedQty - inventoryBufferQty || 0,
161
+ quantityReserved: inventoryTotalLockedQty - inventoryBufferQty || 0,
162
+ quantityBuffer: inventoryBufferQty || 0
163
+ }
164
+ }
165
+ ]
166
+
167
+ await PowrupAPI.updateStock(powrup, {
168
+ context: { state: { domain: customerDomain || null, user: user || user } },
169
+ warehouseDomainId,
170
+ powrupInvs
171
+ })
172
+ }
173
+ }
174
+ }
175
+
176
+ async initiateShipment(
177
+ powrup: Powrup,
178
+ releaseGood: ReleaseGood,
179
+ domain?: Domain,
180
+ user?: User,
181
+ trxMgr?: EntityManager
182
+ ): Promise<void> {
183
+ try {
184
+ let orderPackages: OrderPackage[] = await trxMgr
185
+ .getRepository(OrderPackage)
186
+ .find({ where: { releaseGood, bizplace: releaseGood.bizplace } })
187
+
188
+ if (orderPackages?.length) {
189
+ await Promise.all(
190
+ orderPackages
191
+ .filter(op => op?.marketRtsCallSuccess == undefined)
192
+ .map(async op => {
193
+ if (!op?.packageId) throw new Error('Order package id is not found')
194
+ if (releaseGood.lmdOption && !op?.parcelId) return
195
+
196
+ let orderInformation: any = {
197
+ refOrderId: releaseGood.refOrderId,
198
+ packageId: op.packageId
199
+ }
200
+ if (releaseGood.lmdOption) {
201
+ let releaseGoodQuery: ReleaseGood = await getRepository(ReleaseGood).findOne({
202
+ where: { id: releaseGood.id },
203
+ relations: ['lastMileDelivery']
204
+ })
205
+ orderInformation = {
206
+ ...orderInformation,
207
+ awb: op.airwayBill,
208
+ trackingNo: op.trackingNo,
209
+ lmdOption: releaseGood.lmdOption,
210
+ shipperName: releaseGoodQuery.lastMileDelivery.platform
211
+ }
212
+ }
213
+
214
+ try {
215
+ await PowrupAPI.initiateShipment(powrup, {
216
+ ...orderInformation,
217
+ context: { state: { domain, user } }
218
+ })
219
+ await getRepository(OrderPackage).update({ id: op.id }, { marketRtsCallSuccess: new Date() })
220
+ } catch (error) {
221
+ logger.error(
222
+ `powrup-controller[initiateShipment]: ${JSON.stringify({
223
+ ...orderInformation,
224
+ context: { state: { domain: domain || null, user: user || null } },
225
+ error: error
226
+ })}`
227
+ )
228
+ }
229
+ })
230
+ )
231
+ }
232
+ } catch (error) {
233
+ throw error
234
+ }
235
+ }
236
+
237
+ async fetchDocument(
238
+ powrup: Powrup,
239
+ releaseGood: ReleaseGood,
240
+ domain?: Domain,
241
+ user?: User,
242
+ trxMgr?: EntityManager
243
+ ): Promise<ReleaseGood> {
244
+ if (releaseGood?.ownTransport && releaseGood?.lmdOption) {
245
+ return
246
+ }
247
+ try {
248
+ let orderPackages: OrderPackage[] = await trxMgr
249
+ .getRepository(OrderPackage)
250
+ .find({ where: { releaseGood, bizplace: releaseGood.bizplace } })
251
+
252
+ if (orderPackages?.length) {
253
+ await Promise.all(
254
+ orderPackages.map(async op => {
255
+ if (!op?.packageId) throw new Error('Order package id is not found')
256
+
257
+ const orderInformation: any = {
258
+ refOrderId: releaseGood.refOrderId,
259
+ packageId: op.packageId
260
+ }
261
+
262
+ const {
263
+ documents,
264
+ trackingNo,
265
+ transporter
266
+ }: { documents: any[]; trackingNo: string; transporter: string } = await PowrupAPI.fetchDocument(powrup, {
267
+ ...orderInformation,
268
+ context: { state: { domain: domain || null, user: user || null } }
269
+ })
270
+
271
+ let updateInfo: any
272
+ if (documents?.length) {
273
+ documents.map(document => {
274
+ if (document.type === 'invoice') {
275
+ updateInfo = { ...updateInfo, invoice: document.download_url }
276
+ } else if (document.type === 'airway_bill') {
277
+ updateInfo = { ...updateInfo, airwayBill: document.download_url }
278
+ }
279
+ })
280
+
281
+ updateInfo = {
282
+ ...updateInfo,
283
+ trackingNo: trackingNo,
284
+ transporter: transporter,
285
+ updater: user
286
+ }
287
+
288
+ await trxMgr.getRepository(OrderPackage).update({ id: op.id }, { ...updateInfo })
289
+ }
290
+ })
291
+ )
292
+
293
+ releaseGood = await trxMgr.getRepository(ReleaseGood).findOne({ id: releaseGood.id })
294
+ }
295
+
296
+ return releaseGood
297
+ } catch (error) {
298
+ throw error
299
+ }
300
+ }
301
+ }
package/server/index.ts CHANGED
@@ -3,3 +3,4 @@ export * from './migrations'
3
3
  export * from './utils'
4
4
  export * from './constants'
5
5
  export * from './controllers/ecommerce/sellercraft-controller'
6
+ export * from './controllers/ecommerce/powrup-controller'
@@ -37,7 +37,7 @@ import {
37
37
  ORDER_VAS_STATUS,
38
38
  PRODUCT_GROUP_TYPE
39
39
  } from '../../constants'
40
- import { EcommerceController, SellercraftController } from '../../controllers'
40
+ import { EcommerceController, SellercraftController, PowrupController } from '../../controllers'
41
41
  import { ValidationError } from '../../errors'
42
42
  import { InventoryUtil, OrderNoGenerator } from '../../utils'
43
43
  import { ArrivalNotice } from '../arrival-notice/arrival-notice'
@@ -944,18 +944,18 @@ export async function confirmReleaseGood(name: string, context: any, tx?: Entity
944
944
  }
945
945
  }
946
946
 
947
- // const customerBizplaceId: string = foundReleaseGood.bizplace.id
948
- // const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
949
- // const powrup: Powrup = await tx
950
- // .getRepository(Application)
951
- // .findOne({ domain: companyBizplace.domain, status: 'ACTIVE' })
947
+ const customerBizplaceId: string = foundReleaseGood.bizplace.id
948
+ const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
949
+ const application: Application = await tx
950
+ .getRepository(Application)
951
+ .findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: ApplicationType.POWRUP })
952
952
 
953
- // let updatePowrupStock = async powrup => {
954
- // if (powrup) {
955
- // const powrupController: PowrupController = new PowrupController(tx, domain, user)
956
- // await powrupController.updateStock(powrup, foundOPs)
957
- // }
958
- // }
953
+ let updatePowrupStock = async powrup => {
954
+ if (application) {
955
+ const powrupController: PowrupController = new PowrupController()
956
+ await powrupController.updateStock(foundOPs, domain, user, tx)
957
+ }
958
+ }
959
959
 
960
960
  const orderSource: string = foundReleaseGood.source
961
961
  switch (orderSource) {
@@ -1042,9 +1042,9 @@ export async function confirmReleaseGood(name: string, context: any, tx?: Entity
1042
1042
  updateSCStock(sellercraft)
1043
1043
  break
1044
1044
 
1045
- // case ApplicationType.POWRUP:
1046
- // updatePowrupStock(powrup)
1047
- // break
1045
+ case ApplicationType.POWRUP:
1046
+ updatePowrupStock(application)
1047
+ break
1048
1048
 
1049
1049
  default:
1050
1050
  updateSCStock(sellercraft)
@@ -1279,18 +1279,18 @@ export async function rejectReleaseGood(
1279
1279
  }
1280
1280
  break
1281
1281
 
1282
- // case ApplicationType.POWRUP:
1283
- // const customerBizplaceId: string = releaseGood.bizplace.id
1284
- // const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
1285
- // const powrup: Powrup = await tx
1286
- // .getRepository(Application)
1287
- // .findOne({ domain: companyBizplace.domain, status: 'ACTIVE' })
1282
+ case ApplicationType.POWRUP:
1283
+ const customerBizplaceId: string = releaseGood.bizplace.id
1284
+ const companyBizplace: Bizplace = await getCompanyBizplace(domain, null, customerBizplaceId, tx)
1285
+ const application: Application = await tx
1286
+ .getRepository(Application)
1287
+ .findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: ApplicationType.POWRUP })
1288
1288
 
1289
- // if (powrup) {
1290
- // const powrupController: PowrupController = new PowrupController(tx, domain, user)
1291
- // await powrupController.updateStock(powrup, foundOPs)
1292
- // }
1293
- // break
1289
+ if (application) {
1290
+ const powrupController: PowrupController = new PowrupController()
1291
+ await powrupController.updateStock(foundOPs, companyBizplace.domain, user, tx)
1292
+ }
1293
+ break
1294
1294
 
1295
1295
  default:
1296
1296
  break