@things-factory/worksheet-base 4.3.516 → 4.3.520
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +7 -0
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +11 -4
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +3 -0
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +13 -12
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +17 -14
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +56 -69
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +7 -2
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
- package/package.json +18 -18
- package/server/controllers/outbound/packing-worksheet-controller.ts +8 -0
- package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +15 -6
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +4 -1
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +17 -14
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +21 -18
- package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +67 -87
- package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +8 -4
|
@@ -1,86 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.completePutaway = exports.completePutawayResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
6
|
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
6
7
|
const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
|
|
7
8
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
9
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
8
10
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
9
11
|
const controllers_1 = require("../../../../controllers");
|
|
10
12
|
const ecommerce_1 = require("../../../../controllers/ecommerce");
|
|
11
13
|
const entities_1 = require("../../../../entities");
|
|
12
14
|
exports.completePutawayResolver = {
|
|
13
15
|
async completePutaway(_, { arrivalNoticeNo }, context) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
|
|
67
|
-
const application = await tx
|
|
68
|
-
.getRepository(auth_base_1.Application)
|
|
69
|
-
.findOne({ domain: companyBizplace.domain, status: 'ACTIVE', type: auth_base_1.ApplicationType.POWRUP });
|
|
70
|
-
if (sellercraft) {
|
|
71
|
-
const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
|
|
72
|
-
// allow async run to skip user wait time
|
|
73
|
-
sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
|
|
74
|
-
}
|
|
75
|
-
if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
76
|
-
const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
|
|
77
|
-
// allow async run to skip user wait time
|
|
78
|
-
ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
|
|
16
|
+
try {
|
|
17
|
+
const { tx, user, domain } = context.state;
|
|
18
|
+
await completePutaway(tx, domain, user, arrivalNoticeNo);
|
|
19
|
+
const arrivalNotice = await tx.getRepository(sales_base_1.ArrivalNotice).findOne({
|
|
20
|
+
where: { domain, name: arrivalNoticeNo },
|
|
21
|
+
relations: [
|
|
22
|
+
'purchaseOrder',
|
|
23
|
+
'bizplace',
|
|
24
|
+
'bizplace.domain',
|
|
25
|
+
'bizplace.company',
|
|
26
|
+
'bizplace.company.domain',
|
|
27
|
+
'orderProducts',
|
|
28
|
+
'orderProducts.product',
|
|
29
|
+
'orderProducts.product.productDetails',
|
|
30
|
+
'orderProducts.product.productDetails.childProductDetail',
|
|
31
|
+
'orderProducts.productDetail'
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
// search for any active marketplace connection
|
|
35
|
+
const companyDomain = arrivalNotice.bizplace.company.domain;
|
|
36
|
+
const customerDomain = arrivalNotice.bizplace.domain;
|
|
37
|
+
const customerBizplaceId = arrivalNotice.bizplace.id;
|
|
38
|
+
const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
|
|
39
|
+
const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
|
|
40
|
+
where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
|
|
41
|
+
relations: ['marketplaceDistributors']
|
|
42
|
+
});
|
|
43
|
+
const sellercraft = await tx
|
|
44
|
+
.getRepository(integration_sellercraft_1.Sellercraft)
|
|
45
|
+
.findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
|
|
46
|
+
if (sellercraft) {
|
|
47
|
+
const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
|
|
48
|
+
// allow async run to skip user wait time
|
|
49
|
+
sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
|
|
50
|
+
}
|
|
51
|
+
if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
52
|
+
const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
|
|
53
|
+
// allow async run to skip user wait time
|
|
54
|
+
ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
|
|
55
|
+
}
|
|
56
|
+
const application = await tx.getRepository(auth_base_1.Application).find({
|
|
57
|
+
domain: companyBizplace.domain,
|
|
58
|
+
status: 'ACTIVE',
|
|
59
|
+
type: (0, typeorm_1.In)([auth_base_1.ApplicationType.POWRUP, auth_base_1.ApplicationType.WEBSPERT])
|
|
60
|
+
});
|
|
61
|
+
if (application.find(app => app.type == auth_base_1.ApplicationType.POWRUP)) {
|
|
62
|
+
const powrupController = new sales_base_1.PowrupController();
|
|
63
|
+
powrupController.updateStock(arrivalNotice.orderProducts, customerDomain, user);
|
|
64
|
+
}
|
|
65
|
+
if (application.find(app => app.type == auth_base_1.ApplicationType.WEBSPERT)) {
|
|
66
|
+
warehouse_base_1.WebspertController.updateStock(arrivalNotice.orderProducts.map(op => op.productDetail), arrivalNotice.bizplace, domain, user, tx);
|
|
67
|
+
}
|
|
79
68
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// allow async run to skip user wait time
|
|
83
|
-
powrupController.updateStock(arrivalNotice.orderProducts, customerDomain, user);
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw error;
|
|
84
71
|
}
|
|
85
72
|
}
|
|
86
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.completePutawayReturn = exports.completePutawayReturnResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
5
6
|
const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
|
|
6
7
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
8
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
7
9
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
8
10
|
const controllers_1 = require("../../../../controllers");
|
|
9
11
|
const ecommerce_1 = require("../../../../controllers/ecommerce");
|
|
@@ -32,15 +34,18 @@ exports.completePutawayReturnResolver = {
|
|
|
32
34
|
const companyBizplace = await (0, biz_base_1.getCompanyBizplace)(domain, null, customerBizplaceId, tx);
|
|
33
35
|
const application = await tx
|
|
34
36
|
.getRepository(auth_base_1.Application)
|
|
35
|
-
.
|
|
37
|
+
.find({ domain: companyBizplace.domain, status: 'ACTIVE', type: (0, typeorm_1.In)([auth_base_1.ApplicationType.POWRUP, auth_base_1.ApplicationType.WEBSPERT]) });
|
|
36
38
|
if (sellercraft) {
|
|
37
39
|
const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
|
|
38
40
|
await sellercraftCtrl.registerProductReturn(sellercraft, returnOrder);
|
|
39
41
|
}
|
|
40
|
-
if (application) {
|
|
42
|
+
if (application.find(app => app.type == auth_base_1.ApplicationType.POWRUP)) {
|
|
41
43
|
const powrupController = new sales_base_1.PowrupController();
|
|
42
44
|
powrupController.updateStock(returnOrder.orderInventories, customerDomain, user, tx);
|
|
43
45
|
}
|
|
46
|
+
if (application.find(app => app.type == auth_base_1.ApplicationType.WEBSPERT)) {
|
|
47
|
+
warehouse_base_1.WebspertController.updateStock(returnOrder.orderInventories.map(oi => oi.productDetail), returnOrder.bizplace, domain, user, tx);
|
|
48
|
+
}
|
|
44
49
|
}
|
|
45
50
|
};
|
|
46
51
|
async function completePutawayReturn(tx, domain, user, returnOrderNo) {
|
package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete-putaway-return.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"complete-putaway-return.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/worksheet-base",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.520",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -23,27 +23,27 @@
|
|
|
23
23
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@things-factory/auth-base": "^4.3.
|
|
27
|
-
"@things-factory/biz-base": "^4.3.
|
|
26
|
+
"@things-factory/auth-base": "^4.3.518",
|
|
27
|
+
"@things-factory/biz-base": "^4.3.518",
|
|
28
28
|
"@things-factory/document-template-base": "^4.3.434",
|
|
29
|
-
"@things-factory/id-rule-base": "^4.3.
|
|
30
|
-
"@things-factory/integration-accounting": "^4.3.
|
|
31
|
-
"@things-factory/integration-base": "^4.3.
|
|
32
|
-
"@things-factory/integration-lmd": "^4.3.
|
|
33
|
-
"@things-factory/integration-marketplace": "^4.3.
|
|
34
|
-
"@things-factory/integration-powrup": "^4.3.
|
|
35
|
-
"@things-factory/integration-sellercraft": "^4.3.
|
|
36
|
-
"@things-factory/integration-sftp": "^4.3.
|
|
37
|
-
"@things-factory/marketplace-base": "^4.3.
|
|
38
|
-
"@things-factory/notification": "^4.3.
|
|
39
|
-
"@things-factory/sales-base": "^4.3.
|
|
40
|
-
"@things-factory/setting-base": "^4.3.
|
|
29
|
+
"@things-factory/id-rule-base": "^4.3.518",
|
|
30
|
+
"@things-factory/integration-accounting": "^4.3.518",
|
|
31
|
+
"@things-factory/integration-base": "^4.3.518",
|
|
32
|
+
"@things-factory/integration-lmd": "^4.3.518",
|
|
33
|
+
"@things-factory/integration-marketplace": "^4.3.518",
|
|
34
|
+
"@things-factory/integration-powrup": "^4.3.518",
|
|
35
|
+
"@things-factory/integration-sellercraft": "^4.3.518",
|
|
36
|
+
"@things-factory/integration-sftp": "^4.3.518",
|
|
37
|
+
"@things-factory/marketplace-base": "^4.3.518",
|
|
38
|
+
"@things-factory/notification": "^4.3.518",
|
|
39
|
+
"@things-factory/sales-base": "^4.3.520",
|
|
40
|
+
"@things-factory/setting-base": "^4.3.518",
|
|
41
41
|
"@things-factory/shell": "^4.3.434",
|
|
42
|
-
"@things-factory/transport-base": "^4.3.
|
|
43
|
-
"@things-factory/warehouse-base": "^4.3.
|
|
42
|
+
"@things-factory/transport-base": "^4.3.518",
|
|
43
|
+
"@things-factory/warehouse-base": "^4.3.520",
|
|
44
44
|
"jspdf": "2.5.1",
|
|
45
45
|
"puppeteer": "21.0.3",
|
|
46
46
|
"uuid": "^9.0.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "5b8fa6d6bef3ece5265eef8b11afb8942b74ca05"
|
|
49
49
|
}
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
OrderPackageItem,
|
|
14
14
|
OrderProduct,
|
|
15
15
|
PowrupController,
|
|
16
|
+
WebspertController,
|
|
16
17
|
ReleaseGood
|
|
17
18
|
} from '@things-factory/sales-base'
|
|
18
19
|
import {
|
|
@@ -157,6 +158,13 @@ export class PackingWorksheetController extends VasWorksheetController {
|
|
|
157
158
|
}
|
|
158
159
|
break
|
|
159
160
|
|
|
161
|
+
case ApplicationType.WEBSPERT:
|
|
162
|
+
// releaseGood: ReleaseGood,
|
|
163
|
+
// orderPackages: OrderPackage[],
|
|
164
|
+
// domain: Domain,
|
|
165
|
+
// user: User,
|
|
166
|
+
await WebspertController.initiateShipment(releaseGood, [], this.domain, this.user)
|
|
167
|
+
break
|
|
160
168
|
default:
|
|
161
169
|
break
|
|
162
170
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
OrderInventory,
|
|
13
13
|
OrderVas,
|
|
14
14
|
ReleaseGood,
|
|
15
|
-
PowrupController
|
|
15
|
+
PowrupController,
|
|
16
16
|
} from '@things-factory/sales-base'
|
|
17
17
|
import { Domain } from '@things-factory/shell'
|
|
18
18
|
import {
|
|
@@ -21,7 +21,8 @@ import {
|
|
|
21
21
|
INVENTORY_STATUS,
|
|
22
22
|
INVENTORY_TRANSACTION_TYPE,
|
|
23
23
|
Location,
|
|
24
|
-
ProductDetailStock
|
|
24
|
+
ProductDetailStock,
|
|
25
|
+
WebspertController
|
|
25
26
|
} from '@things-factory/warehouse-base'
|
|
26
27
|
import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
|
|
27
28
|
|
|
@@ -316,11 +317,19 @@ async function updateStockForOrderInventories(
|
|
|
316
317
|
const application: Application = await tx.getRepository(Application).findOne({
|
|
317
318
|
domain: companyBizplace.domain,
|
|
318
319
|
status: 'ACTIVE',
|
|
319
|
-
type: ApplicationType.POWRUP
|
|
320
|
+
type: In([ApplicationType.POWRUP, ApplicationType.WEBSPERT])
|
|
320
321
|
})
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
322
|
+
|
|
323
|
+
switch (application.type) {
|
|
324
|
+
case ApplicationType.POWRUP:
|
|
325
|
+
const powrupController: PowrupController = new PowrupController()
|
|
326
|
+
powrupController.updateStock(orderInventories, customerDomain, user, tx)
|
|
327
|
+
break;
|
|
328
|
+
case ApplicationType.WEBSPERT:
|
|
329
|
+
WebspertController.updateStock(orderInventories.map(oi => oi.productDetail), releaseGood.bizplace, domain, user, tx)
|
|
330
|
+
break;
|
|
331
|
+
default:
|
|
332
|
+
break;
|
|
324
333
|
}
|
|
325
334
|
}
|
|
326
335
|
}
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
OrderPackage,
|
|
18
18
|
OrderProduct,
|
|
19
19
|
PowrupController,
|
|
20
|
+
WebspertController,
|
|
20
21
|
ReleaseGood
|
|
21
22
|
} from '@things-factory/sales-base'
|
|
22
23
|
import { PartnerSetting, Setting } from '@things-factory/setting-base'
|
|
@@ -707,7 +708,9 @@ async function activatePacking(
|
|
|
707
708
|
rtsOrderDoc(powrup, releaseGood, domain, user)
|
|
708
709
|
}
|
|
709
710
|
break
|
|
710
|
-
|
|
711
|
+
case ApplicationType.WEBSPERT:
|
|
712
|
+
WebspertController.triggerOrderProcesses(releaseGood, domain, user, true)
|
|
713
|
+
break
|
|
711
714
|
default:
|
|
712
715
|
break
|
|
713
716
|
}
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
OrderNoGenerator,
|
|
15
15
|
OrderPackage,
|
|
16
16
|
PowrupController,
|
|
17
|
+
WebspertController,
|
|
17
18
|
ReleaseGood
|
|
18
19
|
} from '@things-factory/sales-base'
|
|
19
20
|
import { Setting } from '@things-factory/setting-base'
|
|
@@ -129,6 +130,11 @@ export async function completeBatchPicking(
|
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
const orderSource: string = foundReleaseGood.source
|
|
133
|
+
|
|
134
|
+
const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
|
|
135
|
+
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
136
|
+
}).then((setting: Setting) => { return parseInt(setting?.value || 0) })
|
|
137
|
+
|
|
132
138
|
switch (orderSource) {
|
|
133
139
|
case ApplicationType.SELLERCRAFT:
|
|
134
140
|
const sellercraft: Sellercraft = await tx
|
|
@@ -136,7 +142,7 @@ export async function completeBatchPicking(
|
|
|
136
142
|
.findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
137
143
|
|
|
138
144
|
if (sellercraft) {
|
|
139
|
-
const initSCOrderShipment = async (sellercraft: Sellercraft, foundReleaseGood: ReleaseGood) => {
|
|
145
|
+
const initSCOrderShipment = async (sellercraft: Sellercraft, foundReleaseGood: ReleaseGood, rtsTriggerLevel) => {
|
|
140
146
|
await getManager().transaction(async txMgr => {
|
|
141
147
|
const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)
|
|
142
148
|
|
|
@@ -144,18 +150,14 @@ export async function completeBatchPicking(
|
|
|
144
150
|
await sellercraftCtrl.packOrder(sellercraft, foundReleaseGood)
|
|
145
151
|
}
|
|
146
152
|
|
|
147
|
-
|
|
148
|
-
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
153
|
+
if (rtsTriggerLevel == 1) {
|
|
152
154
|
await sellercraftCtrl.initiateOrderShipment(sellercraft, foundReleaseGood)
|
|
153
155
|
}
|
|
154
156
|
})
|
|
155
157
|
}
|
|
156
158
|
|
|
157
159
|
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
158
|
-
initSCOrderShipment(sellercraft, foundReleaseGood)
|
|
160
|
+
initSCOrderShipment(sellercraft, foundReleaseGood, rtsTriggerLevel)
|
|
159
161
|
}
|
|
160
162
|
break
|
|
161
163
|
|
|
@@ -163,7 +165,7 @@ export async function completeBatchPicking(
|
|
|
163
165
|
const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true, platform: 'POWRUP' })
|
|
164
166
|
|
|
165
167
|
if (powrup) {
|
|
166
|
-
const initPowrupShipment = async (powrup: Powrup, foundReleaseGood: ReleaseGood) => {
|
|
168
|
+
const initPowrupShipment = async (powrup: Powrup, foundReleaseGood: ReleaseGood, rtsTriggerLevel) => {
|
|
167
169
|
await getManager().transaction(async txMgr => {
|
|
168
170
|
const powrupCtrl: PowrupController = new PowrupController()
|
|
169
171
|
|
|
@@ -171,18 +173,14 @@ export async function completeBatchPicking(
|
|
|
171
173
|
await powrupCtrl.packOrder(powrup, foundReleaseGood, domain, user, txMgr)
|
|
172
174
|
}
|
|
173
175
|
|
|
174
|
-
|
|
175
|
-
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
176
|
-
})
|
|
177
|
-
|
|
178
|
-
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
176
|
+
if (rtsTriggerLevel == 1) {
|
|
179
177
|
await powrupCtrl.initiateShipment(powrup, foundReleaseGood, domain, user, txMgr)
|
|
180
178
|
}
|
|
181
179
|
})
|
|
182
180
|
}
|
|
183
181
|
|
|
184
182
|
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
185
|
-
initPowrupShipment(powrup, foundReleaseGood)
|
|
183
|
+
initPowrupShipment(powrup, foundReleaseGood, rtsTriggerLevel)
|
|
186
184
|
}
|
|
187
185
|
break
|
|
188
186
|
|
|
@@ -202,6 +200,11 @@ export async function completeBatchPicking(
|
|
|
202
200
|
)
|
|
203
201
|
break
|
|
204
202
|
|
|
203
|
+
case ApplicationType.WEBSPERT:
|
|
204
|
+
// Trigger Whole Order Process
|
|
205
|
+
WebspertController.triggerOrderProcesses(foundReleaseGood, domain, user, (rtsTriggerLevel == 1))
|
|
206
|
+
|
|
207
|
+
break
|
|
205
208
|
default:
|
|
206
209
|
if (!foundReleaseGood?.orderPackages?.length) {
|
|
207
210
|
let orderPackage: OrderPackage = {
|
|
@@ -44,6 +44,7 @@ import {
|
|
|
44
44
|
OrderProduct,
|
|
45
45
|
OrderVas,
|
|
46
46
|
PowrupController,
|
|
47
|
+
WebspertController,
|
|
47
48
|
ReleaseGood,
|
|
48
49
|
Replenishment
|
|
49
50
|
} from '@things-factory/sales-base'
|
|
@@ -173,6 +174,10 @@ export async function completePicking(
|
|
|
173
174
|
|
|
174
175
|
let foundObsoleteInventories = await pickingWSCtrl.completePicking(releaseGood, worksheet, inventories)
|
|
175
176
|
|
|
177
|
+
const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
|
|
178
|
+
where: { domain, category: 'id-rule', name: 'rts-trigger-level' }
|
|
179
|
+
}).then((setting: Setting) => { return parseInt(setting?.value || 0) })
|
|
180
|
+
|
|
176
181
|
if (foundObsoleteInventories?.type) {
|
|
177
182
|
const orderSource: string = releaseGood.source
|
|
178
183
|
switch (orderSource) {
|
|
@@ -182,11 +187,12 @@ export async function completePicking(
|
|
|
182
187
|
.findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
183
188
|
|
|
184
189
|
if (sellercraft) {
|
|
185
|
-
const initSCOrderShipment = async sellercraft => {
|
|
190
|
+
const initSCOrderShipment = async (sellercraft, rtsTriggerLevel) => {
|
|
186
191
|
await getManager().transaction(async txMgr => {
|
|
187
192
|
const sellercraftCtrl: SellercraftController = new SellercraftController(txMgr, domain, user)
|
|
188
193
|
|
|
189
194
|
if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess) {
|
|
195
|
+
///// Q: why need to refetch Order Products?
|
|
190
196
|
const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
|
|
191
197
|
where: { releaseGood },
|
|
192
198
|
relations: ['product', 'product.productDetails', 'productDetail']
|
|
@@ -194,17 +200,13 @@ export async function completePicking(
|
|
|
194
200
|
await sellercraftCtrl.packOrder(sellercraft, { ...releaseGood, orderProducts })
|
|
195
201
|
}
|
|
196
202
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
})
|
|
200
|
-
|
|
201
|
-
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
202
|
-
await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
203
|
-
}
|
|
203
|
+
// Trigger if RTS Trigger Level Setting == 1
|
|
204
|
+
if (rtsTriggerLevel == 1) await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
204
205
|
})
|
|
205
206
|
}
|
|
207
|
+
|
|
206
208
|
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
207
|
-
initSCOrderShipment(sellercraft)
|
|
209
|
+
initSCOrderShipment(sellercraft, rtsTriggerLevel)
|
|
208
210
|
}
|
|
209
211
|
break
|
|
210
212
|
|
|
@@ -212,11 +214,12 @@ export async function completePicking(
|
|
|
212
214
|
const powrup: Powrup = await tx.getRepository(Powrup).findOne({ active: true, platform: 'POWRUP' })
|
|
213
215
|
|
|
214
216
|
if (powrup) {
|
|
215
|
-
const initPowrupShipment = async powrup => {
|
|
217
|
+
const initPowrupShipment = async (powrup, rtsTriggerLevel) => {
|
|
216
218
|
await getManager().transaction(async txMgr => {
|
|
217
219
|
const powrupController: PowrupController = new PowrupController()
|
|
218
220
|
|
|
219
221
|
if (!releaseGood?.orderPackages?.length && !releaseGood?.marketPackCallSuccess) {
|
|
222
|
+
///// Q: why need to refetch Order Products?
|
|
220
223
|
const orderProducts: OrderProduct[] = await txMgr.getRepository(OrderProduct).find({
|
|
221
224
|
where: { releaseGood },
|
|
222
225
|
relations: ['product', 'productDetail']
|
|
@@ -224,17 +227,12 @@ export async function completePicking(
|
|
|
224
227
|
await powrupController.packOrder(powrup, { ...releaseGood, orderProducts }, domain, user, txMgr)
|
|
225
228
|
}
|
|
226
229
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
})
|
|
230
|
-
|
|
231
|
-
if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
|
|
232
|
-
await powrupController.initiateShipment(powrup, releaseGood, domain, user, txMgr)
|
|
233
|
-
}
|
|
230
|
+
// Trigger if RTS Trigger Level Setting == 1
|
|
231
|
+
if (rtsTriggerLevel == 1) await powrupController.initiateShipment(powrup, releaseGood, domain, user, txMgr)
|
|
234
232
|
})
|
|
235
233
|
}
|
|
236
234
|
// asynchronouly call to initiate powrup order shipment/ RTS
|
|
237
|
-
initPowrupShipment(powrup)
|
|
235
|
+
initPowrupShipment(powrup, rtsTriggerLevel)
|
|
238
236
|
}
|
|
239
237
|
break
|
|
240
238
|
|
|
@@ -356,6 +354,11 @@ export async function completePicking(
|
|
|
356
354
|
}
|
|
357
355
|
break
|
|
358
356
|
|
|
357
|
+
case ApplicationType.WEBSPERT:
|
|
358
|
+
// Trigger Whole Order Process
|
|
359
|
+
WebspertController.triggerOrderProcesses(releaseGood, domain, user, (rtsTriggerLevel == 1))
|
|
360
|
+
|
|
361
|
+
break
|
|
359
362
|
default:
|
|
360
363
|
if (!releaseGood?.orderPackages?.length) {
|
|
361
364
|
let orderPackage: OrderPackage = {
|