@things-factory/worksheet-base 4.3.67 → 4.3.70
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/sellercraft-controller.js +31 -25
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js +81 -52
- package/dist-server/graphql/resolvers/worksheet/delivery-order-by-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js +57 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-document.js.map +1 -0
- package/dist-server/graphql/resolvers/worksheet/index.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +2 -3
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js +16 -11
- package/dist-server/graphql/resolvers/worksheet/packing/scan-product-packing.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +38 -8
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +20 -17
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/types/worksheet/delivery-order-info.js +3 -0
- package/dist-server/graphql/types/worksheet/delivery-order-info.js.map +1 -1
- package/dist-server/graphql/types/worksheet/index.js +6 -6
- package/dist-server/graphql/types/worksheet/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet/sellercraft-document.js +11 -0
- package/dist-server/graphql/types/worksheet/sellercraft-document.js.map +1 -0
- package/package.json +17 -17
- package/server/controllers/ecommerce/sellercraft-controller.ts +42 -29
- package/server/graphql/resolvers/worksheet/delivery-order-by-worksheet.ts +86 -51
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-document.ts +62 -0
- package/server/graphql/resolvers/worksheet/index.ts +2 -2
- package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +2 -5
- package/server/graphql/resolvers/worksheet/packing/scan-product-packing.ts +23 -18
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +36 -9
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +23 -19
- package/server/graphql/types/worksheet/delivery-order-info.ts +3 -0
- package/server/graphql/types/worksheet/index.ts +6 -6
- package/server/graphql/types/worksheet/sellercraft-document.ts +8 -0
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js +0 -25
- package/dist-server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.js.map +0 -1
- package/dist-server/graphql/types/worksheet/airwaybill.js +0 -10
- package/dist-server/graphql/types/worksheet/airwaybill.js.map +0 -1
- package/server/graphql/resolvers/worksheet/fetch-sellercraft-airway-bill.ts +0 -30
- package/server/graphql/types/worksheet/airwaybill.ts +0 -7
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.completePicking = exports.completePickingResolver = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
6
|
const integration_lmd_1 = require("@things-factory/integration-lmd");
|
|
6
7
|
const integration_marketplace_1 = require("@things-factory/integration-marketplace");
|
|
@@ -49,25 +50,27 @@ async function completePicking(tx, domain, user, releaseGoodNo) {
|
|
|
49
50
|
const pickedTargetInventories = targetInventories.filter(targetInventory => targetInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.PICKED);
|
|
50
51
|
await pickingWSCtrl.completePicking(releaseGoodNo);
|
|
51
52
|
if (releaseGood.type == 'b2c') {
|
|
52
|
-
const sellercraft = await tx
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
const sellercraft = await tx.getRepository(integration_sellercraft_1.Sellercraft).findOne({ domain: releaseGood.bizplace.domain, status: integration_sellercraft_1.SellercraftStatus.ACTIVE });
|
|
54
|
+
const initSCOrderShipment = async (sellercraft) => {
|
|
55
|
+
if (sellercraft) {
|
|
56
|
+
await (0, typeorm_1.getManager)().transaction(async (txMgr) => {
|
|
57
|
+
const sellercraftCtrl = new controllers_1.SellercraftController(txMgr, domain, user);
|
|
58
|
+
if (!(releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId)) {
|
|
59
|
+
const orderProducts = await tx.getRepository(sales_base_1.OrderProduct).find({
|
|
60
|
+
where: { releaseGood },
|
|
61
|
+
relations: ['product', 'product.productDetails']
|
|
62
|
+
});
|
|
63
|
+
releaseGood = await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, releaseGood), { orderProducts }));
|
|
64
|
+
if (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId) {
|
|
65
|
+
await txMgr.getRepository(sales_base_1.ReleaseGood).update({ id: releaseGood.id }, { packageId: releaseGood.packageId, updater: releaseGood.updater });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood);
|
|
61
69
|
});
|
|
62
|
-
releaseGood = await sellercraftCtrl.packOrder(sellercraft, Object.assign(Object.assign({}, releaseGood), { orderProducts }));
|
|
63
|
-
if (releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.packageId) {
|
|
64
|
-
await tx
|
|
65
|
-
.getRepository(sales_base_1.ReleaseGood)
|
|
66
|
-
.update({ id: releaseGood.id }, { packageId: releaseGood.packageId, updater: releaseGood.updater });
|
|
67
|
-
}
|
|
68
70
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
};
|
|
72
|
+
// asynchronouly call to initiate sellercraft order shipment/ RTS
|
|
73
|
+
initSCOrderShipment(sellercraft);
|
|
71
74
|
const companyDomain = releaseGood.bizplace.company.domain;
|
|
72
75
|
let marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
|
|
73
76
|
where: { orderNo: releaseGood.refNo, domain: companyDomain },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"complete-picking.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/complete-picking.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.DeliveryOrderInfo = void 0;
|
|
|
4
4
|
const apollo_server_koa_1 = require("apollo-server-koa");
|
|
5
5
|
exports.DeliveryOrderInfo = (0, apollo_server_koa_1.gql) `
|
|
6
6
|
type DeliveryOrderInfo {
|
|
7
|
+
name: String
|
|
7
8
|
ownCollection: Boolean
|
|
8
9
|
doStatus: String
|
|
9
10
|
truckNo: String
|
|
@@ -19,6 +20,8 @@ exports.DeliveryOrderInfo = (0, apollo_server_koa_1.gql) `
|
|
|
19
20
|
reusablePallet: String
|
|
20
21
|
createdDate: String
|
|
21
22
|
isManualDo: Boolean
|
|
23
|
+
releaseGood: ReleaseGood
|
|
24
|
+
productList: [Product]
|
|
22
25
|
}
|
|
23
26
|
`;
|
|
24
27
|
//# sourceMappingURL=delivery-order-info.js.map
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;CAqBnC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Types = exports.Query = exports.Mutation = void 0;
|
|
4
|
-
const
|
|
4
|
+
const sellercraft_document_1 = require("./sellercraft-document");
|
|
5
5
|
const arrival_notice_worksheet_1 = require("./arrival-notice-worksheet");
|
|
6
6
|
const contact_point_info_1 = require("./contact-point-info");
|
|
7
7
|
const cycle_count_worksheet_1 = require("./cycle-count-worksheet");
|
|
@@ -70,9 +70,9 @@ exports.Mutation = `
|
|
|
70
70
|
releaseGoodNos: [String!]
|
|
71
71
|
): Boolean @privilege(category: "worksheet_control", privilege: "mutation") @transaction
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
):
|
|
73
|
+
fetchSellercraftDocument (
|
|
74
|
+
releaseGoodId: String!
|
|
75
|
+
): SellercraftDocument @privilege(category: "worksheet_control", privilege: "mutation") @transaction
|
|
76
76
|
|
|
77
77
|
generateSortingWorksheet (
|
|
78
78
|
worksheetNo: String!
|
|
@@ -629,7 +629,7 @@ exports.Query = `
|
|
|
629
629
|
|
|
630
630
|
deliveryOrderByWorksheet (
|
|
631
631
|
name: String!
|
|
632
|
-
): GoodsDeliveryNote @privilege(category: "worksheet", privilege: "query")
|
|
632
|
+
): GoodsDeliveryNote @privilege(category: "worksheet", privilege: "query") @transaction
|
|
633
633
|
|
|
634
634
|
fetchDeliveryOrderRO (
|
|
635
635
|
name: String!
|
|
@@ -718,7 +718,7 @@ exports.Query = `
|
|
|
718
718
|
`;
|
|
719
719
|
exports.Types = [
|
|
720
720
|
worksheet_1.Worksheet,
|
|
721
|
-
|
|
721
|
+
sellercraft_document_1.SellercraftDocument,
|
|
722
722
|
new_worksheet_1.NewWorksheet,
|
|
723
723
|
worksheet_patch_1.WorksheetPatch,
|
|
724
724
|
worksheet_list_1.WorksheetList,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAC5D,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,2DAAqD;AACrD,6DAAwD;AACxD,+DAA0D;AAC1D,qFAA4E;AAC5E,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AACrE,2EAAmE;AAEtD,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8hBrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJlC,CAAA;AAEY,QAAA,KAAK,GAAgB;IAChC,qBAAS;IACT,0CAAmB;IACnB,4BAAY;IACZ,gCAAc;IACd,8BAAa;IACb,iDAAsB;IACtB,6CAAoB;IACpB,2CAAmB;IACnB,6CAAoB;IACpB,mDAAuB;IACvB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,8BAAa;IACb,4BAAY;IACZ,sCAAiB;IACjB,2CAAmB;IACnB,wCAAkB;IAClB,+CAAqB;IACrB,kCAAe;IACf,mDAAuB;IACvB,mDAAuB;IACvB,wDAAyB;IACzB,0DAAyB;IACzB,mCAAe;IACf,iDAAqB;CACtB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SellercraftDocument = void 0;
|
|
4
|
+
const apollo_server_koa_1 = require("apollo-server-koa");
|
|
5
|
+
exports.SellercraftDocument = (0, apollo_server_koa_1.gql) `
|
|
6
|
+
type SellercraftDocument {
|
|
7
|
+
airwayBill: String,
|
|
8
|
+
invoice: String
|
|
9
|
+
}
|
|
10
|
+
`;
|
|
11
|
+
//# sourceMappingURL=sellercraft-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sellercraft-document.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/sellercraft-document.ts"],"names":[],"mappings":";;;AAAA,yDAAuC;AAE1B,QAAA,mBAAmB,GAAG,IAAA,uBAAG,EAAA;;;;;CAKrC,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.70",
|
|
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.69",
|
|
28
|
+
"@things-factory/biz-base": "^4.3.69",
|
|
29
|
+
"@things-factory/document-template-base": "^4.3.69",
|
|
30
|
+
"@things-factory/id-rule-base": "^4.3.69",
|
|
31
|
+
"@things-factory/integration-lmd": "^4.3.69",
|
|
32
|
+
"@things-factory/integration-marketplace": "^4.3.69",
|
|
33
|
+
"@things-factory/integration-sellercraft": "^4.3.69",
|
|
34
|
+
"@things-factory/integration-sftp": "^4.3.69",
|
|
35
|
+
"@things-factory/marketplace-base": "^4.3.69",
|
|
36
|
+
"@things-factory/notification": "^4.3.69",
|
|
37
|
+
"@things-factory/sales-base": "^4.3.70",
|
|
38
|
+
"@things-factory/setting-base": "^4.3.69",
|
|
39
|
+
"@things-factory/shell": "^4.3.69",
|
|
40
|
+
"@things-factory/transport-base": "^4.3.69",
|
|
41
|
+
"@things-factory/warehouse-base": "^4.3.69"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "635bb41ac43a80787b3d21812a1f44156037a6c5"
|
|
44
44
|
}
|
|
@@ -276,7 +276,7 @@ export class SellercraftController extends WorksheetController {
|
|
|
276
276
|
packageId: releaseGood.packageId
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
-
SellercraftAPI.initiateOrderShipment(sellercraft, {
|
|
279
|
+
await SellercraftAPI.initiateOrderShipment(sellercraft, {
|
|
280
280
|
...orderInformation,
|
|
281
281
|
context: { state: { domain: this?.domain, user: this?.user } }
|
|
282
282
|
})
|
|
@@ -296,7 +296,7 @@ export class SellercraftController extends WorksheetController {
|
|
|
296
296
|
orderId: releaseGood.refNo2,
|
|
297
297
|
packageId: releaseGood.packageId
|
|
298
298
|
}
|
|
299
|
-
SellercraftAPI.initiateOrderDocument(sellercraft, {
|
|
299
|
+
await SellercraftAPI.initiateOrderDocument(sellercraft, {
|
|
300
300
|
...orderInformation,
|
|
301
301
|
context: { state: { domain: this?.domain, user: this?.user } }
|
|
302
302
|
})
|
|
@@ -304,38 +304,51 @@ export class SellercraftController extends WorksheetController {
|
|
|
304
304
|
}
|
|
305
305
|
|
|
306
306
|
async fetchOrderDocument(sellercraft: Sellercraft, releaseGood: ReleaseGood): Promise<ReleaseGood> {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
307
|
+
try {
|
|
308
|
+
let sellercraftSetting: any = sellercraft.sellercraftSetting
|
|
309
|
+
let disableFetchOrderDocument: boolean =
|
|
310
|
+
sellercraftSetting?.disableFetchOrderDocument && sellercraftSetting?.disableFetchOrderDocument == 1 ? true : false
|
|
311
|
+
|
|
312
|
+
if (!disableFetchOrderDocument) {
|
|
313
|
+
const orderInformation: any = {
|
|
314
|
+
accountId: sellercraft.accountId,
|
|
315
|
+
orderId: releaseGood.refNo2,
|
|
316
|
+
packageId: releaseGood.packageId
|
|
317
|
+
}
|
|
318
|
+
const { documents, trackingNo, transporter }: { documents: any[]; trackingNo: string; transporter: string } =
|
|
319
|
+
await SellercraftAPI.fetchOrderDocument(sellercraft, {
|
|
320
|
+
...orderInformation,
|
|
321
|
+
context: { state: { domain: this?.domain, user: this?.user } }
|
|
322
|
+
})
|
|
310
323
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
context: { state: { domain: this?.domain, user: this?.user } }
|
|
321
|
-
})
|
|
324
|
+
let updateInfo: any
|
|
325
|
+
if (documents?.length) {
|
|
326
|
+
documents.map(document => {
|
|
327
|
+
if (document.type === 'invoice') {
|
|
328
|
+
updateInfo = { ...updateInfo, invoice: document.download_url }
|
|
329
|
+
} else if (document.type === 'airway_bill') {
|
|
330
|
+
updateInfo = { ...updateInfo, airwayBill: document.download_url }
|
|
331
|
+
}
|
|
332
|
+
})
|
|
322
333
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
releaseGood.airwayBill = document.download_url
|
|
334
|
+
updateInfo = {
|
|
335
|
+
...updateInfo,
|
|
336
|
+
trackingNo: trackingNo,
|
|
337
|
+
transporter: transporter,
|
|
338
|
+
updater: this.user
|
|
329
339
|
}
|
|
330
|
-
})
|
|
331
340
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
341
|
+
// releaseGood = await this.trxMgr.getRepository(ReleaseGood).save(releaseGood)
|
|
342
|
+
|
|
343
|
+
await this.trxMgr.getRepository(ReleaseGood).update({ id: releaseGood.id }, { ...updateInfo })
|
|
344
|
+
releaseGood = await this.trxMgr.getRepository(ReleaseGood).findOne({ id: releaseGood.id })
|
|
345
|
+
}
|
|
336
346
|
}
|
|
337
|
-
}
|
|
338
347
|
|
|
339
|
-
|
|
348
|
+
return releaseGood
|
|
349
|
+
|
|
350
|
+
} catch (error) {
|
|
351
|
+
throw error
|
|
352
|
+
}
|
|
340
353
|
}
|
|
341
354
|
}
|
|
@@ -1,67 +1,102 @@
|
|
|
1
1
|
import { Bizplace, ContactPoint } from '@things-factory/biz-base'
|
|
2
|
-
import { DeliveryOrder } from '@things-factory/sales-base'
|
|
2
|
+
import { DeliveryOrder, OrderInventory } from '@things-factory/sales-base'
|
|
3
3
|
import { Domain } from '@things-factory/shell'
|
|
4
|
-
import {
|
|
4
|
+
import { EntityManager } from 'typeorm'
|
|
5
5
|
import { TransportDriver } from '@things-factory/transport-base'
|
|
6
|
+
import { logger } from '@things-factory/env'
|
|
6
7
|
|
|
7
8
|
export const deliveryOrderByWorksheetResolver = {
|
|
8
9
|
async deliveryOrderByWorksheet(_: any, { name }, context: any) {
|
|
9
|
-
const { domain }: { domain: Domain } = context.state
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const { domain, tx }: { domain: Domain, tx: EntityManager } = context.state
|
|
11
|
+
try {
|
|
12
|
+
const foundDO: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({
|
|
13
|
+
where: {
|
|
14
|
+
domain,
|
|
15
|
+
name
|
|
16
|
+
},
|
|
17
|
+
relations: ['domain', 'bizplace', 'transportDriver', 'transportVehicle', 'releaseGood', 'creator', 'updater']
|
|
18
|
+
})
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
if (!foundDO) throw new Error('Delivery order not found!')
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
const foundOI: any = await tx.getRepository(OrderInventory).createQueryBuilder('oi')
|
|
23
|
+
.select('p.name', 'name')
|
|
24
|
+
.addSelect('p.sku', 'sku')
|
|
25
|
+
.addSelect('p.type', 'type')
|
|
26
|
+
.addSelect('oi.batch_id', 'batchNo')
|
|
27
|
+
.addSelect('oi.uom', 'uom')
|
|
28
|
+
.addSelect('sum(oi.release_qty)', 'loadedQty')
|
|
29
|
+
.addSelect('sum(oi.release_uom_value)', 'uomValue')
|
|
30
|
+
.innerJoin('products', 'p', 'p.id = oi.product_id')
|
|
31
|
+
.groupBy('p.name')
|
|
32
|
+
.addGroupBy('p.sku')
|
|
33
|
+
.addGroupBy('p.type')
|
|
34
|
+
.addGroupBy('oi.batch_id')
|
|
35
|
+
.addGroupBy('oi.uom')
|
|
36
|
+
.where('oi.domain_id = :domainId', { domainId: domain.id })
|
|
37
|
+
.andWhere('oi.delivery_order_id = :deliveryOrderId', { deliveryOrderId: foundDO.id })
|
|
38
|
+
.orderBy('p.sku')
|
|
39
|
+
.addOrderBy('oi.batch_id')
|
|
40
|
+
.getRawMany()
|
|
23
41
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
42
|
+
const partnerBiz: Bizplace = await tx.getRepository(Bizplace).findOne({
|
|
43
|
+
where: { id: foundDO.bizplace.id }
|
|
44
|
+
})
|
|
27
45
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
foundTransportDriver = await getRepository(TransportDriver).findOne({
|
|
31
|
-
where: { domain, id: foundDO.transportDriver.id }
|
|
46
|
+
const partnerContactPoint: ContactPoint[] = await tx.getRepository(ContactPoint).find({
|
|
47
|
+
where: { domain, bizplace: partnerBiz }
|
|
32
48
|
})
|
|
33
49
|
|
|
34
|
-
|
|
35
|
-
|
|
50
|
+
let foundTransportDriver: TransportDriver = { name: '' }
|
|
51
|
+
if (foundDO.transportDriver) {
|
|
52
|
+
foundTransportDriver = await tx.getRepository(TransportDriver).findOne({
|
|
53
|
+
where: { domain, id: foundDO.transportDriver.id }
|
|
54
|
+
})
|
|
36
55
|
|
|
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
|
-
|
|
56
|
+
if (!foundTransportDriver) throw new Error('transport driver is not found')
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
deliveryOrderInfo: {
|
|
61
|
+
name: foundDO.name,
|
|
62
|
+
ownCollection: foundDO.ownCollection,
|
|
63
|
+
doStatus: foundDO.status,
|
|
64
|
+
truckNo: foundDO.truckNo,
|
|
65
|
+
bizplace: foundDO.bizplace,
|
|
66
|
+
deliverTo: foundDO.contactPointRefId || '',
|
|
67
|
+
deliveryDate: foundDO.deliveryDate || '',
|
|
68
|
+
driverName: foundTransportDriver.name,
|
|
69
|
+
otherDestination: foundDO.otherDestination || false,
|
|
70
|
+
contactName: foundDO.contactName || '',
|
|
71
|
+
otherDriver: foundDO.otherDriver || '',
|
|
72
|
+
looseItem: foundDO.looseItem || false,
|
|
73
|
+
remark: foundDO.remark || '',
|
|
74
|
+
reusablePallet: foundDO.reusablePallet || '',
|
|
75
|
+
createdDate: foundDO.createdAt.toISOString().split('T')[0],
|
|
76
|
+
isManualDo: foundDO.releaseGood ? false : true,
|
|
77
|
+
attentionTo: foundDO.attentionTo,
|
|
78
|
+
releaseGood: {
|
|
79
|
+
...foundDO.releaseGood,
|
|
80
|
+
attentionTo: foundDO.attentionTo || foundDO.releaseGood.attentionTo,
|
|
81
|
+
bizplace: partnerBiz
|
|
82
|
+
},
|
|
83
|
+
productList: foundOI
|
|
84
|
+
},
|
|
85
|
+
contactPointInfo: partnerContactPoint.map(async (cp: ContactPoint) => {
|
|
86
|
+
return {
|
|
87
|
+
id: cp.id,
|
|
88
|
+
address: cp.address || '',
|
|
89
|
+
email: cp.email || '',
|
|
90
|
+
fax: cp.fax || '',
|
|
91
|
+
phone: cp.phone || '',
|
|
92
|
+
contactName: cp.name || ''
|
|
93
|
+
}
|
|
94
|
+
}),
|
|
95
|
+
}
|
|
96
|
+
} catch (error) {
|
|
97
|
+
logger.error(`delivery-order-by-worksheet:(data:${JSON.stringify({ name, domain })}) ${error} `)
|
|
98
|
+
throw new Error('Something went wrong. Please contact support.')
|
|
65
99
|
}
|
|
100
|
+
|
|
66
101
|
}
|
|
67
102
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { EntityManager, getRepository } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
5
|
+
import { ReleaseGood } from '@things-factory/sales-base'
|
|
6
|
+
import { Domain } from '@things-factory/shell'
|
|
7
|
+
import { logger } from '@things-factory/env'
|
|
8
|
+
|
|
9
|
+
import { SellercraftController } from '../../../controllers'
|
|
10
|
+
|
|
11
|
+
export const fetchSellercraftDocumentResolver = {
|
|
12
|
+
async fetchSellercraftDocument(_: any, { releaseGoodId }, context: any) {
|
|
13
|
+
const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
|
|
14
|
+
|
|
15
|
+
//find release goods base on id
|
|
16
|
+
let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({ where: { domain, id: releaseGoodId }, relations: ['bizplace', 'bizplace.domain'] })
|
|
17
|
+
|
|
18
|
+
//find user sellercraft data
|
|
19
|
+
const sellercraft: Sellercraft = await getRepository(Sellercraft).findOne({
|
|
20
|
+
domain: releaseGood.bizplace.domain,
|
|
21
|
+
status: SellercraftStatus.ACTIVE
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
// instantiate sellercraft controller
|
|
25
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
// fetch document if not found
|
|
29
|
+
if (sellercraft && !releaseGood?.airwayBill) {
|
|
30
|
+
try {
|
|
31
|
+
// try fetch order document / AWB
|
|
32
|
+
releaseGood = await sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
|
|
33
|
+
} catch (error) {
|
|
34
|
+
try {
|
|
35
|
+
// retry initiate order document
|
|
36
|
+
await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
|
|
37
|
+
} catch (error) {
|
|
38
|
+
try {
|
|
39
|
+
// retry initiate order shipment / RTS
|
|
40
|
+
await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
41
|
+
} catch (error) {
|
|
42
|
+
throw new Error(`initiateOrderShipment: ${error}`)
|
|
43
|
+
}
|
|
44
|
+
throw new Error(`initiateOrderDocument: ${error}`)
|
|
45
|
+
}
|
|
46
|
+
throw new Error(`fetchOrderDocument: ${error}`)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const airwayBill: string = releaseGood?.airwayBill
|
|
51
|
+
const invoice: string = releaseGood?.invoice
|
|
52
|
+
return { airwayBill, invoice }
|
|
53
|
+
|
|
54
|
+
} catch (error) {
|
|
55
|
+
// await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
56
|
+
logger.error(`packing-worksheet[getSellercraftDocument]:(data:${JSON.stringify({ sellercraft, releaseGood, domain, user })}) ${error} `)
|
|
57
|
+
|
|
58
|
+
throw new Error('Waiting for AWB from marketplace. Please retry in awhile')
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -9,7 +9,7 @@ import { cycleCountWorksheetResolver } from './cycle-count-worksheet'
|
|
|
9
9
|
import { deleteWorksheet } from './delete-worksheet'
|
|
10
10
|
import { deliveryOrderByWorksheetResolver } from './delivery-order-by-worksheet'
|
|
11
11
|
import { fetchDeliveryOrderROResolver } from './fetch-delivery-order-ro'
|
|
12
|
-
import {
|
|
12
|
+
import { fetchSellercraftDocumentResolver } from './fetch-sellercraft-document'
|
|
13
13
|
import { findReleaseOrdersByTaskNoResolver } from './find-release-orders-by-task-no'
|
|
14
14
|
import { findSortingReleaseOrdersByTaskNoResolver } from './find-sorting-release-orders-by-task-no'
|
|
15
15
|
import { Mutations as GenerateWorksheetMutations } from './generate-worksheet'
|
|
@@ -137,6 +137,6 @@ export const Mutation = {
|
|
|
137
137
|
...crossDockPickingResolver,
|
|
138
138
|
...unpackingResolver,
|
|
139
139
|
...palletizingPallets,
|
|
140
|
-
...
|
|
140
|
+
...fetchSellercraftDocumentResolver,
|
|
141
141
|
...cancelDraftReleaseOrder
|
|
142
142
|
}
|
|
@@ -31,11 +31,8 @@ export const inventoriesByPalletResolver = {
|
|
|
31
31
|
params.filters.find(filter => filter.name === 'bizplace').relation = true
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
const locationFilters = params.filters.find(x => x.name == '
|
|
35
|
-
|
|
36
|
-
const removeLocationIndex = params.filters.findIndex(x => x.name == 'location')
|
|
37
|
-
|
|
38
|
-
params.filters.splice(removeLocationIndex, 1)
|
|
34
|
+
const locationFilters = params.filters.find(x => x.name == 'locationName')
|
|
35
|
+
params.filters = params.filters.filter(x => x.name != 'locationName')
|
|
39
36
|
|
|
40
37
|
const qb: SelectQueryBuilder<Inventory> = getRepository(Inventory).createQueryBuilder('iv')
|
|
41
38
|
buildQuery(qb, params, context)
|
|
@@ -23,24 +23,29 @@ export async function scanProductPacking(
|
|
|
23
23
|
productBarcode: string,
|
|
24
24
|
serialNumber?: string
|
|
25
25
|
) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
26
|
+
try {
|
|
27
|
+
const worksheetController: PackingWorksheetController = new PackingWorksheetController(tx, domain, user)
|
|
28
|
+
const worksheetDetail = await worksheetController.scanProductPacking(
|
|
29
|
+
worksheetDetailName,
|
|
30
|
+
productBarcode,
|
|
31
|
+
serialNumber
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
let releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
|
|
35
|
+
const worksheet: Worksheet = worksheetDetail.worksheet
|
|
36
|
+
|
|
37
|
+
if (releaseGood.type === 'b2c' && !releaseGood?.airwayBill) {
|
|
38
|
+
const sellercraft: Sellercraft = await tx
|
|
39
|
+
.getRepository(Sellercraft)
|
|
40
|
+
.findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
41
|
+
|
|
42
|
+
if (sellercraft) {
|
|
43
|
+
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
44
|
+
sellercraftCtrl.fetchOrderDocument(sellercraft, releaseGood)
|
|
45
|
+
}
|
|
44
46
|
}
|
|
47
|
+
|
|
48
|
+
} catch (error) {
|
|
49
|
+
throw error
|
|
45
50
|
}
|
|
46
51
|
}
|