@things-factory/worksheet-base 4.3.87 → 4.3.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/ecommerce/ecommerce-controller.js +1 -1
- package/dist-server/controllers/ecommerce/ecommerce-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +7 -4
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js +67 -28
- package/dist-server/graphql/resolvers/worksheet/loading/complete-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js +23 -8
- package/dist-server/graphql/resolvers/worksheet/packing/activate-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js +30 -7
- package/dist-server/graphql/resolvers/worksheet/packing/complete-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js +23 -8
- package/dist-server/graphql/resolvers/worksheet/packing/packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +25 -8
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +61 -13
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +51 -25
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js +37 -29
- package/dist-server/graphql/resolvers/worksheet/picking/complete-batch-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +132 -118
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js +39 -14
- package/dist-server/graphql/resolvers/worksheet/putaway/complete-putaway.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-order-info.js +1 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
- package/package.json +17 -17
- package/server/controllers/ecommerce/ecommerce-controller.ts +1 -1
- package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +7 -6
- package/server/graphql/resolvers/worksheet/loading/complete-loading.ts +77 -33
- package/server/graphql/resolvers/worksheet/packing/activate-packing.ts +26 -9
- package/server/graphql/resolvers/worksheet/packing/complete-packing.ts +34 -9
- package/server/graphql/resolvers/worksheet/packing/packing.ts +26 -9
- package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +28 -9
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +70 -14
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +60 -30
- package/server/graphql/resolvers/worksheet/picking/complete-batch-picking.ts +46 -40
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +142 -131
- package/server/graphql/resolvers/worksheet/putaway/complete-putaway.ts +45 -15
- package/server/graphql/types/worksheet/delivery-order-info.ts +1 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.completePutaway = exports.completePutawayResolver = void 0;
|
|
4
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
4
5
|
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
5
6
|
const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
|
|
6
7
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
@@ -28,21 +29,45 @@ exports.completePutawayResolver = {
|
|
|
28
29
|
// search for any active marketplace connection
|
|
29
30
|
const companyDomain = arrivalNotice.bizplace.company.domain;
|
|
30
31
|
const customerDomain = arrivalNotice.bizplace.domain;
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
const orderSource = arrivalNotice.source;
|
|
33
|
+
switch (orderSource) {
|
|
34
|
+
case auth_base_1.ApplicationType.SELLERCRAFT:
|
|
35
|
+
const sellercraft = await tx
|
|
36
|
+
.getRepository(integration_sellercraft_1.Sellercraft)
|
|
37
|
+
.findOne({ domain: customerDomain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
|
|
38
|
+
if (sellercraft) {
|
|
39
|
+
const sellercraftCtrl = new ecommerce_1.SellercraftController(tx, domain, user);
|
|
40
|
+
await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice);
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
case auth_base_1.ApplicationType.MMS:
|
|
44
|
+
const marketplaceStores = await tx.getRepository(integration_marketplace_1.MarketplaceStore).find({
|
|
45
|
+
where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
|
|
46
|
+
relations: ['marketplaceDistributors']
|
|
47
|
+
});
|
|
48
|
+
if ((marketplaceStores === null || marketplaceStores === void 0 ? void 0 : marketplaceStores.length) && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
49
|
+
const ecommerceCtrl = new ecommerce_1.EcommerceController(tx, domain, user);
|
|
50
|
+
await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain);
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
break;
|
|
45
55
|
}
|
|
56
|
+
// const marketplaceStores: MarketplaceStore[] = await tx.getRepository(MarketplaceStore).find({
|
|
57
|
+
// where: { domain: companyDomain, status: 'ACTIVE', isAutoUpdateStockQty: true },
|
|
58
|
+
// relations: ['marketplaceDistributors']
|
|
59
|
+
// })
|
|
60
|
+
// const sellercraft: Sellercraft = await tx
|
|
61
|
+
// .getRepository(Sellercraft)
|
|
62
|
+
// .findOne({ domain: customerDomain, status: SellercraftStatus.ACTIVE })
|
|
63
|
+
// if (sellercraft) {
|
|
64
|
+
// const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
65
|
+
// await sellercraftCtrl.registerProductInbound(sellercraft, arrivalNotice)
|
|
66
|
+
// }
|
|
67
|
+
// if (marketplaceStores?.length && marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
68
|
+
// const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
|
|
69
|
+
// await ecommerceCtrl.updateProductVariationStock(marketplaceStores, arrivalNotice.orderProducts, companyDomain)
|
|
70
|
+
// }
|
|
46
71
|
}
|
|
47
72
|
};
|
|
48
73
|
async function completePutaway(tx, domain, user, arrivalNoticeNo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"complete-putaway.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/putaway/complete-putaway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-order-info.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/delivery-order-info.ts"],"names":[],"mappings":";;;AAAA,yDAAuC;AAE1B,QAAA,iBAAiB,GAAG,IAAA,uBAAG,EAAA
|
|
1
|
+
{"version":3,"file":"delivery-order-info.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/delivery-order-info.ts"],"names":[],"mappings":";;;AAAA,yDAAuC;AAE1B,QAAA,iBAAiB,GAAG,IAAA,uBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;CAsBnC,CAAA"}
|
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.94",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -24,21 +24,21 @@
|
|
|
24
24
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@things-factory/auth-base": "^4.3.
|
|
28
|
-
"@things-factory/biz-base": "^4.3.
|
|
29
|
-
"@things-factory/document-template-base": "^4.3.
|
|
30
|
-
"@things-factory/id-rule-base": "^4.3.
|
|
31
|
-
"@things-factory/integration-lmd": "^4.3.
|
|
32
|
-
"@things-factory/integration-marketplace": "^4.3.
|
|
33
|
-
"@things-factory/integration-sellercraft": "^4.3.
|
|
34
|
-
"@things-factory/integration-sftp": "^4.3.
|
|
35
|
-
"@things-factory/marketplace-base": "^4.3.
|
|
36
|
-
"@things-factory/notification": "^4.3.
|
|
37
|
-
"@things-factory/sales-base": "^4.3.
|
|
38
|
-
"@things-factory/setting-base": "^4.3.
|
|
39
|
-
"@things-factory/shell": "^4.3.
|
|
40
|
-
"@things-factory/transport-base": "^4.3.
|
|
41
|
-
"@things-factory/warehouse-base": "^4.3.
|
|
27
|
+
"@things-factory/auth-base": "^4.3.94",
|
|
28
|
+
"@things-factory/biz-base": "^4.3.94",
|
|
29
|
+
"@things-factory/document-template-base": "^4.3.94",
|
|
30
|
+
"@things-factory/id-rule-base": "^4.3.94",
|
|
31
|
+
"@things-factory/integration-lmd": "^4.3.94",
|
|
32
|
+
"@things-factory/integration-marketplace": "^4.3.94",
|
|
33
|
+
"@things-factory/integration-sellercraft": "^4.3.94",
|
|
34
|
+
"@things-factory/integration-sftp": "^4.3.94",
|
|
35
|
+
"@things-factory/marketplace-base": "^4.3.94",
|
|
36
|
+
"@things-factory/notification": "^4.3.94",
|
|
37
|
+
"@things-factory/sales-base": "^4.3.94",
|
|
38
|
+
"@things-factory/setting-base": "^4.3.94",
|
|
39
|
+
"@things-factory/shell": "^4.3.94",
|
|
40
|
+
"@things-factory/transport-base": "^4.3.94",
|
|
41
|
+
"@things-factory/warehouse-base": "^4.3.94"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "cce6db86fba56ab1ad7b050f67f0ad013bad87f3"
|
|
44
44
|
}
|
|
@@ -174,7 +174,7 @@ export class EcommerceController extends WorksheetController {
|
|
|
174
174
|
marketplaceOrderItem.marketplaceOrderShippingItems
|
|
175
175
|
marketplaceOrderShippingItems.map(marketplaceOrderShippingItem => {
|
|
176
176
|
if (marketplaceOrderShippingItem?.marketplaceOrderShipping.id == marketplaceOrderShipping.id) {
|
|
177
|
-
orderItems.push(marketplaceOrderItem)
|
|
177
|
+
orderItems.push({ name: marketplaceOrderItem.name, qty: marketplaceOrderShippingItem.qty })
|
|
178
178
|
}
|
|
179
179
|
})
|
|
180
180
|
})
|
|
@@ -7,7 +7,7 @@ import { logger } from '@things-factory/env'
|
|
|
7
7
|
|
|
8
8
|
export const deliveryOrderByWorksheetResolver = {
|
|
9
9
|
async deliveryOrderByWorksheet(_: any, { name }, context: any) {
|
|
10
|
-
const { domain, tx }: { domain: Domain
|
|
10
|
+
const { domain, tx }: { domain: Domain; tx: EntityManager } = context.state
|
|
11
11
|
try {
|
|
12
12
|
const foundDO: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({
|
|
13
13
|
where: {
|
|
@@ -19,7 +19,9 @@ export const deliveryOrderByWorksheetResolver = {
|
|
|
19
19
|
|
|
20
20
|
if (!foundDO) throw new Error('Delivery order not found!')
|
|
21
21
|
|
|
22
|
-
const foundOI: any = await tx
|
|
22
|
+
const foundOI: any = await tx
|
|
23
|
+
.getRepository(OrderInventory)
|
|
24
|
+
.createQueryBuilder('oi')
|
|
23
25
|
.select('p.name', 'name')
|
|
24
26
|
.addSelect('p.sku', 'sku')
|
|
25
27
|
.addSelect('p.type', 'type')
|
|
@@ -74,10 +76,10 @@ export const deliveryOrderByWorksheetResolver = {
|
|
|
74
76
|
reusablePallet: foundDO.reusablePallet || '',
|
|
75
77
|
createdDate: foundDO.createdAt.toISOString().split('T')[0],
|
|
76
78
|
isManualDo: foundDO.releaseGood ? false : true,
|
|
77
|
-
attentionTo: foundDO.attentionTo,
|
|
79
|
+
attentionTo: foundDO.attentionTo || '',
|
|
78
80
|
releaseGood: {
|
|
79
81
|
...foundDO.releaseGood,
|
|
80
|
-
attentionTo: foundDO.attentionTo || foundDO.releaseGood
|
|
82
|
+
attentionTo: foundDO.attentionTo || foundDO.releaseGood?.attentionTo,
|
|
81
83
|
bizplace: partnerBiz
|
|
82
84
|
},
|
|
83
85
|
productList: foundOI
|
|
@@ -91,12 +93,11 @@ export const deliveryOrderByWorksheetResolver = {
|
|
|
91
93
|
phone: cp.phone || '',
|
|
92
94
|
contactName: cp.name || ''
|
|
93
95
|
}
|
|
94
|
-
})
|
|
96
|
+
})
|
|
95
97
|
}
|
|
96
98
|
} catch (error) {
|
|
97
99
|
logger.error(`delivery-order-by-worksheet:(data:${JSON.stringify({ name, domain })}) ${error} `)
|
|
98
100
|
throw new Error('Something went wrong. Please contact support.')
|
|
99
101
|
}
|
|
100
|
-
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Bizplace, Company } from '@things-factory/biz-base'
|
|
5
5
|
import { FulfillmentCenter } from '@things-factory/integration-fulfillment'
|
|
6
6
|
import { Sftp, SftpAPI } from '@things-factory/integration-sftp'
|
|
@@ -58,42 +58,86 @@ export async function completeLoading(
|
|
|
58
58
|
const warehouseCompanyBizplaces: Bizplace[] = warehouseBizplaces.filter(biz => biz.domain.extType == 'company')
|
|
59
59
|
const warehouseCompanyDomain: Domain = warehouseCompanyBizplaces[0].domain
|
|
60
60
|
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
|
|
74
|
-
where: { domain, outboundOrderId: releaseGood.id }
|
|
75
|
-
})
|
|
76
|
-
|
|
77
|
-
// if (responseFileTypes.enableShipment) {
|
|
78
|
-
// let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
|
|
79
|
-
// releaseGood,
|
|
80
|
-
// orderInventories: targetInventories,
|
|
81
|
-
// sftp: customerAvailableSftp
|
|
82
|
-
// })
|
|
83
|
-
// customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
|
|
84
|
-
// }
|
|
85
|
-
|
|
86
|
-
if (responseFileTypes.enableSerialNumber) {
|
|
87
|
-
let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
|
|
88
|
-
releaseGood,
|
|
89
|
-
inventoryItems,
|
|
90
|
-
sftp: customerAvailableSftp
|
|
61
|
+
const orderSource: string = releaseGood.source
|
|
62
|
+
switch (orderSource) {
|
|
63
|
+
case ApplicationType.SFTP:
|
|
64
|
+
const customerDomain: Domain = releaseGood.bizplace.domain
|
|
65
|
+
const fulfillmentCenter: FulfillmentCenter = await tx
|
|
66
|
+
.getRepository(FulfillmentCenter)
|
|
67
|
+
.findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })
|
|
68
|
+
|
|
69
|
+
if (fulfillmentCenter) {
|
|
70
|
+
let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
|
|
71
|
+
where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
|
|
91
72
|
})
|
|
92
|
-
|
|
73
|
+
if (customerAvailableSftp) {
|
|
74
|
+
const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)
|
|
75
|
+
|
|
76
|
+
let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
|
|
77
|
+
where: { domain, outboundOrderId: releaseGood.id }
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
// if (responseFileTypes.enableShipment) {
|
|
81
|
+
// let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
|
|
82
|
+
// releaseGood,
|
|
83
|
+
// orderInventories: targetInventories,
|
|
84
|
+
// sftp: customerAvailableSftp
|
|
85
|
+
// })
|
|
86
|
+
// customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
|
|
87
|
+
// }
|
|
88
|
+
|
|
89
|
+
if (responseFileTypes.enableSerialNumber) {
|
|
90
|
+
let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
|
|
91
|
+
releaseGood,
|
|
92
|
+
inventoryItems,
|
|
93
|
+
sftp: customerAvailableSftp
|
|
94
|
+
})
|
|
95
|
+
customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
93
98
|
}
|
|
94
|
-
|
|
99
|
+
break
|
|
100
|
+
|
|
101
|
+
default:
|
|
102
|
+
break
|
|
95
103
|
}
|
|
96
104
|
|
|
105
|
+
// const customerDomain: Domain = releaseGood.bizplace.domain
|
|
106
|
+
// const fulfillmentCenter: FulfillmentCenter = await tx
|
|
107
|
+
// .getRepository(FulfillmentCenter)
|
|
108
|
+
// .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })
|
|
109
|
+
|
|
110
|
+
// if (fulfillmentCenter) {
|
|
111
|
+
// let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
|
|
112
|
+
// where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
|
|
113
|
+
// })
|
|
114
|
+
// if (customerAvailableSftp) {
|
|
115
|
+
// const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)
|
|
116
|
+
|
|
117
|
+
// let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
|
|
118
|
+
// where: { domain, outboundOrderId: releaseGood.id }
|
|
119
|
+
// })
|
|
120
|
+
|
|
121
|
+
// // if (responseFileTypes.enableShipment) {
|
|
122
|
+
// // let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
|
|
123
|
+
// // releaseGood,
|
|
124
|
+
// // orderInventories: targetInventories,
|
|
125
|
+
// // sftp: customerAvailableSftp
|
|
126
|
+
// // })
|
|
127
|
+
// // customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
|
|
128
|
+
// // }
|
|
129
|
+
|
|
130
|
+
// if (responseFileTypes.enableSerialNumber) {
|
|
131
|
+
// let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
|
|
132
|
+
// releaseGood,
|
|
133
|
+
// inventoryItems,
|
|
134
|
+
// sftp: customerAvailableSftp
|
|
135
|
+
// })
|
|
136
|
+
// customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
|
|
137
|
+
// }
|
|
138
|
+
// }
|
|
139
|
+
// }
|
|
140
|
+
|
|
97
141
|
await worksheetController.completeLoading(releaseGoodNo)
|
|
98
142
|
|
|
99
143
|
if (remainInventories.length) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityManager, getManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
5
5
|
import { ReleaseGood } from '@things-factory/sales-base'
|
|
6
6
|
import { Domain } from '@things-factory/shell'
|
|
@@ -38,15 +38,32 @@ export async function activatePacking(
|
|
|
38
38
|
const worksheet = await worksheetController.activatePacking(worksheetNo)
|
|
39
39
|
let releaseGood: ReleaseGood = worksheet.releaseGood
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
const orderSource: string = releaseGood.source
|
|
42
|
+
switch (orderSource) {
|
|
43
|
+
case ApplicationType.SELLERCRAFT:
|
|
44
|
+
const sellercraft: Sellercraft = await tx
|
|
45
|
+
.getRepository(Sellercraft)
|
|
46
|
+
.findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
if (sellercraft) {
|
|
49
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
50
|
+
sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
|
|
51
|
+
}
|
|
52
|
+
break
|
|
53
|
+
|
|
54
|
+
default:
|
|
55
|
+
break
|
|
50
56
|
}
|
|
57
|
+
|
|
58
|
+
// if (releaseGood.type == 'b2c') {
|
|
59
|
+
// const sellercraft: Sellercraft = await tx
|
|
60
|
+
// .getRepository(Sellercraft)
|
|
61
|
+
// .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
62
|
+
|
|
63
|
+
// if (sellercraft) {
|
|
64
|
+
// const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
65
|
+
// sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
|
|
66
|
+
// }
|
|
67
|
+
// }
|
|
51
68
|
return worksheet
|
|
52
69
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Bizplace, getMyBizplace } from '@things-factory/biz-base'
|
|
5
5
|
import { MarketplaceStore } from '@things-factory/integration-marketplace'
|
|
6
|
-
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
7
6
|
import { MarketplaceOrder } from '@things-factory/marketplace-base'
|
|
8
7
|
import { ReleaseGood } from '@things-factory/sales-base'
|
|
9
8
|
import { Domain } from '@things-factory/shell'
|
|
@@ -29,12 +28,9 @@ export const completePackingResolver = {
|
|
|
29
28
|
]
|
|
30
29
|
})
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
.findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
36
|
-
|
|
37
|
-
if (!sellercraft) {
|
|
31
|
+
const orderSource: string = releaseGood.source
|
|
32
|
+
switch (orderSource) {
|
|
33
|
+
case ApplicationType.MMS:
|
|
38
34
|
const companyDomain: Domain = releaseGood.bizplace.company.domain
|
|
39
35
|
const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
40
36
|
where: { orderNo: releaseGood.refNo, domain: companyDomain },
|
|
@@ -52,9 +48,38 @@ export const completePackingResolver = {
|
|
|
52
48
|
const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
|
|
53
49
|
await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)
|
|
54
50
|
}
|
|
55
|
-
|
|
51
|
+
break
|
|
52
|
+
|
|
53
|
+
default:
|
|
54
|
+
break
|
|
56
55
|
}
|
|
57
56
|
|
|
57
|
+
// if (releaseGood.type === 'b2c') {
|
|
58
|
+
// const sellercraft: Sellercraft = await tx
|
|
59
|
+
// .getRepository(Sellercraft)
|
|
60
|
+
// .findOne({ domain: releaseGood.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
61
|
+
|
|
62
|
+
// if (!sellercraft) {
|
|
63
|
+
// const companyDomain: Domain = releaseGood.bizplace.company.domain
|
|
64
|
+
// const marketplaceOrder: MarketplaceOrder = await tx.getRepository(MarketplaceOrder).findOne({
|
|
65
|
+
// where: { orderNo: releaseGood.refNo, domain: companyDomain },
|
|
66
|
+
// relations: [
|
|
67
|
+
// 'marketplaceOrderItems',
|
|
68
|
+
// 'marketplaceOrderItems.marketplaceOrderShippingItems',
|
|
69
|
+
// 'marketplaceOrderItems.marketplaceOrderShippingItems.marketplaceOrderShipping',
|
|
70
|
+
// 'marketplaceStore',
|
|
71
|
+
// 'marketplaceStore.marketplaceDistributors'
|
|
72
|
+
// ]
|
|
73
|
+
// })
|
|
74
|
+
// const marketplaceStore: MarketplaceStore = marketplaceOrder.marketplaceStore
|
|
75
|
+
|
|
76
|
+
// if (marketplaceStore.isAutoUpdateShipment) {
|
|
77
|
+
// const ecommerceCtrl: EcommerceController = new EcommerceController(tx, domain, user)
|
|
78
|
+
// await ecommerceCtrl.createOrderShip(releaseGood, marketplaceStore, marketplaceOrder, companyDomain)
|
|
79
|
+
// }
|
|
80
|
+
// }
|
|
81
|
+
// }
|
|
82
|
+
|
|
58
83
|
const bizplace: Bizplace = await getMyBizplace(domain, user)
|
|
59
84
|
const worksheetController: WorksheetController = new WorksheetController(tx, domain, user)
|
|
60
85
|
await worksheetController.notifyToCustomer(bizplace, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
5
5
|
import { ReleaseGood } from '@things-factory/sales-base'
|
|
6
6
|
import { Domain } from '@things-factory/shell'
|
|
@@ -29,14 +29,31 @@ export async function packing(
|
|
|
29
29
|
let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
|
|
30
30
|
const worksheet: Worksheet = worksheetDetail.worksheet
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const orderSource: string = releaseGood.source
|
|
33
|
+
switch (orderSource) {
|
|
34
|
+
case ApplicationType.SELLERCRAFT:
|
|
35
|
+
const sellercraft: Sellercraft = await tx
|
|
36
|
+
.getRepository(Sellercraft)
|
|
37
|
+
.findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
if (sellercraft) {
|
|
40
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
41
|
+
await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
|
|
42
|
+
}
|
|
43
|
+
break
|
|
44
|
+
|
|
45
|
+
default:
|
|
46
|
+
break
|
|
41
47
|
}
|
|
48
|
+
|
|
49
|
+
// if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
|
|
50
|
+
// const sellercraft: Sellercraft = await tx
|
|
51
|
+
// .getRepository(Sellercraft)
|
|
52
|
+
// .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
53
|
+
|
|
54
|
+
// if (sellercraft) {
|
|
55
|
+
// const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
56
|
+
// await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
|
|
57
|
+
// }
|
|
58
|
+
// }
|
|
42
59
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm'
|
|
2
2
|
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
3
|
+
import { ApplicationType, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
5
5
|
import { ReleaseGood } from '@things-factory/sales-base'
|
|
6
6
|
import { Domain } from '@things-factory/shell'
|
|
@@ -34,17 +34,36 @@ export async function scanProductPacking(
|
|
|
34
34
|
let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
|
|
35
35
|
const worksheet: Worksheet = worksheetDetail.worksheet
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
const orderSource: string = releaseGood.source
|
|
38
|
+
switch (orderSource) {
|
|
39
|
+
case ApplicationType.SELLERCRAFT:
|
|
40
|
+
if (!releaseGood?.airwayBill) {
|
|
41
|
+
const sellercraft: Sellercraft = await tx
|
|
42
|
+
.getRepository(Sellercraft)
|
|
43
|
+
.findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
if (sellercraft) {
|
|
46
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
47
|
+
sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
break
|
|
52
|
+
|
|
53
|
+
default:
|
|
54
|
+
break
|
|
46
55
|
}
|
|
47
56
|
|
|
57
|
+
// if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
|
|
58
|
+
// const sellercraft: Sellercraft = await tx
|
|
59
|
+
// .getRepository(Sellercraft)
|
|
60
|
+
// .findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
61
|
+
|
|
62
|
+
// if (sellercraft) {
|
|
63
|
+
// const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
64
|
+
// sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
|
|
65
|
+
// }
|
|
66
|
+
// }
|
|
48
67
|
} catch (error) {
|
|
49
68
|
throw error
|
|
50
69
|
}
|