@things-factory/worksheet-base 4.3.461 → 4.3.464

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist-server/graphql/resolvers/worksheet/cancel-arrival-notice.js +55 -0
  2. package/dist-server/graphql/resolvers/worksheet/cancel-arrival-notice.js.map +1 -0
  3. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js +54 -31
  4. package/dist-server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.js.map +1 -1
  5. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +362 -5
  6. package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
  7. package/dist-server/graphql/resolvers/worksheet/index.js +4 -3
  8. package/dist-server/graphql/resolvers/worksheet/index.js.map +1 -1
  9. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js +12 -6
  10. package/dist-server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.js.map +1 -1
  11. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js +1 -0
  12. package/dist-server/graphql/types/worksheet/find-release-orders-by-task-no.js.map +1 -1
  13. package/dist-server/graphql/types/worksheet/index.js +5 -1
  14. package/dist-server/graphql/types/worksheet/index.js.map +1 -1
  15. package/dist-server/utils/lmd-util.js +5 -3
  16. package/dist-server/utils/lmd-util.js.map +1 -1
  17. package/package.json +9 -9
  18. package/server/graphql/resolvers/worksheet/cancel-arrival-notice.ts +80 -0
  19. package/server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts +59 -32
  20. package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +469 -8
  21. package/server/graphql/resolvers/worksheet/index.ts +5 -3
  22. package/server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts +13 -7
  23. package/server/graphql/types/worksheet/find-release-orders-by-task-no.ts +1 -0
  24. package/server/graphql/types/worksheet/index.ts +5 -1
  25. package/server/utils/lmd-util.ts +7 -4
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cancelArrivalNoticeResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const sales_base_1 = require("@things-factory/sales-base");
6
+ const constants_1 = require("../../../constants");
7
+ const entities_1 = require("../../../entities");
8
+ exports.cancelArrivalNoticeResolver = {
9
+ async cancelArrivalNotice(_, { name }, context) {
10
+ const { user, domain } = context.state;
11
+ const arrivalNotice = await (0, typeorm_1.getRepository)(sales_base_1.ArrivalNotice).findOne({
12
+ where: { domain: domain, name },
13
+ relations: ['bizplace', 'orderProducts']
14
+ });
15
+ if (!arrivalNotice)
16
+ throw new Error(`Arrival notice doesn't exists.`);
17
+ await (0, typeorm_1.getRepository)(sales_base_1.ArrivalNotice).update({ id: arrivalNotice.id }, {
18
+ status: sales_base_1.ORDER_STATUS.CANCELLED,
19
+ updater: user,
20
+ updatedAt: new Date().toISOString()
21
+ });
22
+ let foundOPs = arrivalNotice.orderProducts;
23
+ await Promise.all(foundOPs.map((op) => (0, typeorm_1.getRepository)(sales_base_1.OrderProduct).update({ id: op.id }, {
24
+ status: sales_base_1.ORDER_PRODUCT_STATUS.TERMINATED,
25
+ updater: user,
26
+ updatedAt: new Date().toISOString()
27
+ })));
28
+ let foundWorksheet = await (0, typeorm_1.getRepository)(entities_1.Worksheet).findOne({
29
+ where: {
30
+ domain,
31
+ arrivalNotice: arrivalNotice
32
+ }
33
+ });
34
+ if (foundWorksheet) {
35
+ await (0, typeorm_1.getRepository)(entities_1.Worksheet).update({ id: foundWorksheet.id }, {
36
+ status: constants_1.WORKSHEET_STATUS.CANCELLED,
37
+ updater: user,
38
+ updatedAt: new Date().toISOString()
39
+ });
40
+ let foundWorksheetDetails = await (0, typeorm_1.getRepository)(entities_1.WorksheetDetail).findOne({
41
+ where: {
42
+ domain,
43
+ worksheet: foundWorksheet
44
+ }
45
+ });
46
+ await (0, typeorm_1.getRepository)(entities_1.WorksheetDetail).update({ id: foundWorksheetDetails.id }, {
47
+ status: constants_1.WORKSHEET_STATUS.CANCELLED,
48
+ updater: user,
49
+ updatedAt: new Date().toISOString()
50
+ });
51
+ }
52
+ return true;
53
+ }
54
+ };
55
+ //# sourceMappingURL=cancel-arrival-notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel-arrival-notice.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/cancel-arrival-notice.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAGvC,2DAKmC;AAGnC,kDAAqD;AACrD,gDAG0B;AAEb,QAAA,2BAA2B,GAAG;IAC1C,KAAK,CAAC,mBAAmB,CAAC,CAAM,EAC/B,EAAE,IAAI,EAAE,EACR,OAAY;QAEZ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;QAEtE,MAAM,aAAa,GAAkB,MAAM,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,OAAO,CAAC;YAC/E,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;YAC/B,SAAS,EAAE,CAAC,UAAU,EAAE,eAAe,CAAE;SACzC,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAErE,MAAM,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE;YACnE,MAAM,EAAG,yBAAY,CAAC,SAAS;YAC/B,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAmB,aAAa,CAAC,aAAa,CAAA;QAE1D,MAAM,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAgB,EAAE,EAAE,CACjC,IAAA,uBAAa,EAAC,yBAAY,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACjD,MAAM,EAAE,iCAAoB,CAAC,UAAU;YACvC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CACF,CACD,CAAC;QAEF,IAAI,cAAc,GAAc,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YACtE,KAAK,EAAE;gBACN,MAAM;gBACN,aAAa,EAAE,aAAa;aAC5B;SACD,CAAC,CAAA;QAEF,IAAI,cAAc,EAAE;YACnB,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE;gBAChE,MAAM,EAAE,4BAAgB,CAAC,SAAS;gBAClC,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAA;YAEF,IAAI,qBAAqB,GAAoB,MAAM,IAAA,uBAAa,EAAC,0BAAe,CAAC,CAAC,OAAO,CAAC;gBACzF,KAAK,EAAE;oBACN,MAAM;oBACN,SAAS,EAAE,cAAc;iBACzB;aACD,CAAC,CAAA;YAEF,MAAM,IAAA,uBAAa,EAAC,0BAAe,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,EAAE,EAAE,EAAE;gBAC7E,MAAM,EAAE,4BAAgB,CAAC,SAAS;gBAClC,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAA;SACF;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CACD,CAAA"}
@@ -14,6 +14,27 @@ exports.findSortingReleaseOrdersByTaskNoResolver = {
14
14
  async findSortingReleaseOrdersByTaskNo(_, { taskNo }, context) {
15
15
  var _a;
16
16
  const { domain, tx, user } = context.state;
17
+ let selectedReleaseGood = null;
18
+ let ws = await tx.getRepository(entities_1.Worksheet).createQueryBuilder('ws')
19
+ .addSelect('rg.name', 'release_good_name')
20
+ .addSelect('rg.status', 'release_good_status')
21
+ .innerJoin('worksheet_details', 'wd', `ws.id = wd.worksheet_id`)
22
+ .innerJoin('order_inventories', 'oi', `wd.target_inventory_id = oi.id and wd."type" ='SORTING'`)
23
+ .innerJoin('release_goods', 'rg', `rg.id = oi.release_good_id`)
24
+ .where('rg.domain_id = :domainId', { domainId: domain.id })
25
+ .andWhere('rg.name = :name', { name: taskNo })
26
+ .andWhere('rg.status IN (:...statuses)', {
27
+ statuses: [sales_base_1.ORDER_STATUS.READY_TO_SORT, sales_base_1.ORDER_STATUS.SORTING, sales_base_1.ORDER_STATUS.LOADING, sales_base_1.ORDER_STATUS.DONE]
28
+ })
29
+ .andWhere('ws.type = :type', { type: constants_1.WORKSHEET_TYPE.SORTING })
30
+ .getRawOne();
31
+ if (ws) {
32
+ if (ws.release_good_status == 'LOADING' || ws.release_good_status == 'DONE') {
33
+ throw new Error(`Release Good already sorted`);
34
+ }
35
+ selectedReleaseGood = ws.release_good_name;
36
+ taskNo = ws.ws_task_no;
37
+ }
17
38
  let task = await tx.getRepository(entities_1.Worksheet).findOne({
18
39
  where: { taskNo, type: constants_1.WORKSHEET_TYPE.SORTING, domain },
19
40
  relations: ['bizplace', 'bizplace.domain', 'worksheetDetails']
@@ -23,37 +44,39 @@ exports.findSortingReleaseOrdersByTaskNoResolver = {
23
44
  const binLocation = await tx.getRepository(warehouse_base_1.Location).findOne({
24
45
  where: { domain, name: taskNo }
25
46
  });
26
- const qb = tx
27
- .getRepository(sales_base_1.OrderInventory)
28
- .createQueryBuilder('orderInventory');
29
- qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')
30
- .innerJoinAndSelect('worksheets', 'ws', `orderInventory.ref_worksheet_id = ws.id AND ws.type = 'BATCH_PICKING'`)
31
- .innerJoinAndSelect('worksheets', 'ws2', `ws2.task_no = ws.task_no AND ws2.type = 'SORTING'`)
32
- .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')
33
- .innerJoinAndSelect('bizplace.domain', 'domain')
34
- .where('orderInventory.domain_id = :domainId', { domainId: domain.id })
35
- .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {
36
- orderInventoryStatus: [sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_SORT, sales_base_1.ORDER_INVENTORY_STATUS.SORTING]
37
- })
38
- .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })
39
- .andWhere('releaseGood.status IN (:...statuses)', {
40
- statuses: [sales_base_1.ORDER_STATUS.READY_TO_SORT, sales_base_1.ORDER_STATUS.SORTING]
41
- });
42
- const orderInventoryByBin = await qb.getRawOne();
43
- if (orderInventoryByBin === null || orderInventoryByBin === void 0 ? void 0 : orderInventoryByBin.releaseGood_id) {
44
- taskNo = orderInventoryByBin.ws_task_no;
45
- task = await tx.getRepository(entities_1.Worksheet).findOne({
46
- where: {
47
- taskNo,
48
- status: (0, typeorm_1.In)([constants_1.WORKSHEET_STATUS.DEACTIVATED, constants_1.WORKSHEET_STATUS.EXECUTING]),
49
- type: constants_1.WORKSHEET_TYPE.SORTING,
50
- domain
51
- },
52
- relations: ['worksheetDetails']
47
+ if (binLocation) {
48
+ const qb = tx
49
+ .getRepository(sales_base_1.OrderInventory)
50
+ .createQueryBuilder('orderInventory');
51
+ qb.innerJoinAndSelect('orderInventory.releaseGood', 'releaseGood')
52
+ .innerJoinAndSelect('worksheets', 'ws', `orderInventory.ref_worksheet_id = ws.id AND ws.type = 'BATCH_PICKING'`)
53
+ .innerJoinAndSelect('worksheets', 'ws2', `ws2.task_no = ws.task_no AND ws2.type = 'SORTING'`)
54
+ .innerJoinAndSelect('releaseGood.bizplace', 'bizplace')
55
+ .innerJoinAndSelect('bizplace.domain', 'domain')
56
+ .where('orderInventory.domain_id = :domainId', { domainId: domain.id })
57
+ .andWhere('orderInventory.status IN (:...orderInventoryStatus)', {
58
+ orderInventoryStatus: [sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_SORT, sales_base_1.ORDER_INVENTORY_STATUS.SORTING]
59
+ })
60
+ .andWhere('orderInventory.bin_location_id = :locationId', { locationId: binLocation.id })
61
+ .andWhere('releaseGood.status IN (:...statuses)', {
62
+ statuses: [sales_base_1.ORDER_STATUS.READY_TO_SORT, sales_base_1.ORDER_STATUS.SORTING]
53
63
  });
54
- }
55
- else {
56
- throw new Error(`Bin do not have any batch picking order.`);
64
+ const orderInventoryByBin = await qb.getRawOne();
65
+ if (orderInventoryByBin === null || orderInventoryByBin === void 0 ? void 0 : orderInventoryByBin.releaseGood_id) {
66
+ taskNo = orderInventoryByBin.ws_task_no;
67
+ task = await tx.getRepository(entities_1.Worksheet).findOne({
68
+ where: {
69
+ taskNo,
70
+ status: (0, typeorm_1.In)([constants_1.WORKSHEET_STATUS.DEACTIVATED, constants_1.WORKSHEET_STATUS.EXECUTING]),
71
+ type: constants_1.WORKSHEET_TYPE.SORTING,
72
+ domain
73
+ },
74
+ relations: ['worksheetDetails']
75
+ });
76
+ }
77
+ else {
78
+ throw new Error(`Bin do not have any batch picking order.`);
79
+ }
57
80
  }
58
81
  }
59
82
  if (!task)
@@ -109,7 +132,7 @@ exports.findSortingReleaseOrdersByTaskNoResolver = {
109
132
  .addGroupBy('user.name')
110
133
  .orderBy('rg.createdAt', 'ASC');
111
134
  const releaseGoods = await qb.getRawMany();
112
- return { releaseGoods, taskNo };
135
+ return { releaseGoods, taskNo, selectedReleaseGood };
113
136
  }
114
137
  };
115
138
  //# sourceMappingURL=find-sorting-release-orders-by-task-no.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-sorting-release-orders-by-task-no.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-sorting-release-orders-by-task-no.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/find-sorting-release-orders-by-task-no.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generatePickingWorksheetDetail = exports.generatePickingWorksheet = exports.generateReleaseGoodWorksheetResolver = void 0;
3
+ exports.mmsRTSMarketplaceOrder = exports.mmsPackMarketplaceOrder = exports.mmsProcessOrder = exports.generatePickingWorksheetDetail = exports.generatePickingWorksheet = exports.generateReleaseGoodWorksheetResolver = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const env_1 = require("@things-factory/env");
6
+ const integration_marketplace_1 = require("@things-factory/integration-marketplace");
7
+ const marketplace_base_1 = require("@things-factory/marketplace-base");
4
8
  const sales_base_1 = require("@things-factory/sales-base");
5
9
  const setting_base_1 = require("@things-factory/setting-base");
10
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
6
11
  const controllers_1 = require("../../../../controllers/");
7
12
  const entities_1 = require("../../../../entities");
8
- const warehouse_base_1 = require("@things-factory/warehouse-base");
13
+ const utils_1 = require("../../../../utils");
9
14
  exports.generateReleaseGoodWorksheetResolver = {
10
15
  async generateReleaseGoodWorksheet(_, { releaseGoodNo, currentStatus = null }, context) {
11
16
  const { tx, domain, user } = context.state;
12
- let worksheet = await generatePickingWorksheet(tx, domain, user, releaseGoodNo, currentStatus);
17
+ let worksheet = await generatePickingWorksheet(tx, domain, user, releaseGoodNo, currentStatus, context);
13
18
  if (worksheet) {
14
19
  return true;
15
20
  }
@@ -18,7 +23,7 @@ exports.generateReleaseGoodWorksheetResolver = {
18
23
  }
19
24
  }
20
25
  };
21
- async function generatePickingWorksheet(tx, domain, user, releaseGoodNo, currentStatus = null) {
26
+ async function generatePickingWorksheet(tx, domain, user, releaseGoodNo, currentStatus = null, context) {
22
27
  try {
23
28
  const worksheetController = new controllers_1.PickingWorksheetController(tx, domain, user);
24
29
  let releaseGood = await worksheetController.findRefOrder(sales_base_1.ReleaseGood, {
@@ -32,6 +37,7 @@ async function generatePickingWorksheet(tx, domain, user, releaseGoodNo, current
32
37
  });
33
38
  if (releaseGood.type == 'b2c' && directReleaseOrder && directReleaseOrder.value.toLowerCase() == 'true') {
34
39
  const inventoryUtil = new warehouse_base_1.InventoryUtil(tx, domain, user);
40
+ await mmsProcessOrder(tx, domain, user, releaseGood, context);
35
41
  let orderInventories = await tx.getRepository(sales_base_1.OrderInventory).find({
36
42
  where: { domain, releaseGood },
37
43
  relations: ['inventory']
@@ -64,7 +70,8 @@ async function generatePickingWorksheet(tx, domain, user, releaseGoodNo, current
64
70
  return worksheet;
65
71
  }
66
72
  catch (error) {
67
- return new entities_1.Worksheet();
73
+ throw new Error(error.message);
74
+ //return new Worksheet()
68
75
  }
69
76
  }
70
77
  exports.generatePickingWorksheet = generatePickingWorksheet;
@@ -85,4 +92,354 @@ async function generatePickingWorksheetDetail(tx, domain, user, worksheet, targe
85
92
  return await worksheetController.generatePickingWorksheetDetail(worksheet, targetInventory);
86
93
  }
87
94
  exports.generatePickingWorksheetDetail = generatePickingWorksheetDetail;
95
+ async function mmsProcessOrder(tx, domain, user, foundReleaseGood, context) {
96
+ var _a, _b, _c;
97
+ try {
98
+ let marketplaceOrder;
99
+ let marketplaceOrderPackages;
100
+ let marketplaceOrderItems;
101
+ let marketplaceStore;
102
+ marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
103
+ where: {
104
+ orderNo: foundReleaseGood.refNo
105
+ },
106
+ relations: [
107
+ 'marketplaceStore',
108
+ 'marketplaceOrderPackages',
109
+ 'marketplaceOrderPackages.marketplaceOrderPackageItems',
110
+ 'marketplaceOrderPackages.marketplaceOrderPackageItems.marketplaceOrderItem',
111
+ 'marketplaceOrderPackages.marketplaceOrderPackageItems.marketplaceOrderItem.marketplaceProductVariation',
112
+ 'marketplaceOrderItems',
113
+ 'marketplaceOrderItems.marketplaceProductVariation'
114
+ ]
115
+ });
116
+ let releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
117
+ where: { id: foundReleaseGood.id, domain: domain },
118
+ relations: [
119
+ 'orderPackages',
120
+ 'orderPackages.orderPackageItems',
121
+ 'orderProducts',
122
+ 'orderProducts.product',
123
+ 'orderProducts.productDetail',
124
+ 'domain',
125
+ 'bizplace',
126
+ 'creator',
127
+ 'updater',
128
+ 'lastMileDelivery'
129
+ ]
130
+ });
131
+ if (!releaseGood)
132
+ throw new Error('unable to find release good');
133
+ marketplaceStore = marketplaceOrder.marketplaceStore;
134
+ marketplaceOrderItems = (marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderItems) ? marketplaceOrder.marketplaceOrderItems : [];
135
+ marketplaceOrderPackages = (marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderPackages)
136
+ ? marketplaceOrder.marketplaceOrderPackages
137
+ : [];
138
+ if ((marketplaceOrderPackages === null || marketplaceOrderPackages === void 0 ? void 0 : marketplaceOrderPackages.length) <= 0) {
139
+ let platform = marketplaceOrder.marketplaceStore.platform;
140
+ if (platform == 'shopee') {
141
+ let orderList = marketplaceOrder.id;
142
+ let result = await integration_marketplace_1.StoreAPI.getStoreOrderByBatch(marketplaceStore, { orderIdList: orderList });
143
+ if (result.packageList && result.packageList.length > 0) {
144
+ releaseGood = await mmsPackMarketplaceOrder(releaseGood, marketplaceOrder, marketplaceOrderItems, result, domain, tx);
145
+ }
146
+ }
147
+ else if (platform == 'lazada') {
148
+ try {
149
+ let fullOrderItemList = marketplaceOrderItems.map(moi => moi.name);
150
+ const logisticByPackage = await integration_marketplace_1.StoreAPI.getStoreLogisticsByPackage(marketplaceStore, {
151
+ orderId: marketplaceOrder.orderNo,
152
+ orderItemIds: fullOrderItemList
153
+ });
154
+ if (!logisticByPackage)
155
+ throw new Error('Shipment provider not found');
156
+ //panggil packOrder Lazada utk dapatkan packageId utk create op dan opi
157
+ let result = await integration_marketplace_1.StoreAPI.setStoreOrderStatusPackedByMarketplace(marketplaceStore, {
158
+ packOrderList: [{ orderId: marketplaceOrder.orderNo, orderItemList: fullOrderItemList }],
159
+ deliveryType: 'dropship',
160
+ shippingAllocateType: logisticByPackage.shippingAllocateType
161
+ });
162
+ //massage data frst one package
163
+ const data = result.packOrderList.map(pol => {
164
+ const groupedItems = {};
165
+ pol.orderItemList.forEach(item => {
166
+ const { packageId, shipmentProvider, trackingNumber, orderItemId } = item;
167
+ if (!groupedItems[packageId]) {
168
+ groupedItems[packageId] = { packageId, packageItem: [] };
169
+ }
170
+ groupedItems[packageId].packageItem.push({ shipmentProvider, trackingNumber, orderItemId });
171
+ });
172
+ const massagedData = Object.values(groupedItems);
173
+ result = { packOrderList: massagedData };
174
+ });
175
+ //create mop , mopi , op & opi
176
+ if (result.packOrderList && result.packOrderList.length) {
177
+ releaseGood = await mmsPackMarketplaceOrder(releaseGood, marketplaceOrder, marketplaceOrderItems, result, domain, tx);
178
+ }
179
+ }
180
+ catch (e) {
181
+ env_1.logger.error(`packOrder[lazada]: ${e}`);
182
+ throw e;
183
+ }
184
+ }
185
+ }
186
+ else {
187
+ try {
188
+ releaseGood = await mmsPackMarketplaceOrder(releaseGood, marketplaceOrder, marketplaceOrderItems, [], domain, tx, marketplaceOrderPackages);
189
+ }
190
+ catch (e) {
191
+ env_1.logger.error(`packOrder[shopee]: ${e}`);
192
+ throw e;
193
+ }
194
+ }
195
+ if (((_a = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.orderPackages) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
196
+ releaseGood.lmdOption &&
197
+ releaseGood.lastMileDelivery &&
198
+ ((_b = releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.orderPackages) === null || _b === void 0 ? void 0 : _b.some(op => op.parcelId == null))) {
199
+ try {
200
+ await (0, utils_1.createLmdParcel)([releaseGood], tx, domain, user, marketplaceOrder);
201
+ let updatedReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
202
+ where: { id: releaseGood.id },
203
+ relations: ['domain', 'bizplace', 'orderPackages', 'orderPackages.orderPackageItems']
204
+ });
205
+ let updatedMarketplaceOrderPackages = await tx
206
+ .getRepository(marketplace_base_1.MarketplaceOrderPackage)
207
+ .find({
208
+ where: { marketplaceOrder: marketplaceOrder.id },
209
+ relations: ['marketplaceOrder', 'marketplaceOrderPackageItems']
210
+ });
211
+ let updatedOrderPackage = updatedReleaseGood.orderPackages;
212
+ const hasNullAirwaybill = updatedOrderPackage.some(orderPackage => orderPackage.airwaybill === null);
213
+ // if the user had call the awb more than 5 times
214
+ if (updatedReleaseGood.countParcel > 5 && hasNullAirwaybill) {
215
+ throw new Error('It appears that we are unable to retrieve the AWB from the platform. Please reach out to support for assistance');
216
+ }
217
+ if (hasNullAirwaybill)
218
+ throw new Error('We are in the process to get the AWB. Please retry by clicking the GENERATE PICKING WORKSHEET');
219
+ for (let updatePackage of updatedOrderPackage) {
220
+ for (let mop of updatedMarketplaceOrderPackages) {
221
+ // Find match order package based on packageId and releaseGood refOrderId
222
+ if (updatePackage.packageId === mop.packageId && updatedReleaseGood.refOrderId === marketplaceOrder.id) {
223
+ await tx.getRepository(marketplace_base_1.MarketplaceOrderPackage).update({ id: mop.id }, {
224
+ airwayBill: updatePackage.airwayBill,
225
+ trackingNo: updatePackage.trackingNo,
226
+ transporter: updatePackage === null || updatePackage === void 0 ? void 0 : updatePackage.transporter
227
+ });
228
+ }
229
+ }
230
+ }
231
+ }
232
+ catch (e) {
233
+ env_1.logger.error(`mms-create-parcel-error: ${e}`);
234
+ throw e;
235
+ }
236
+ }
237
+ //ini belum test fr shopee && lazada
238
+ try {
239
+ if (((_c = marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderPackages) === null || _c === void 0 ? void 0 : _c.length) > 0) {
240
+ await mmsRTSMarketplaceOrder(marketplaceOrder, tx, domain);
241
+ }
242
+ }
243
+ catch (e) {
244
+ env_1.logger.error(`rts-mms-orders:${e}`);
245
+ throw e;
246
+ }
247
+ }
248
+ catch (e) {
249
+ console.log(e);
250
+ throw e;
251
+ }
252
+ }
253
+ exports.mmsProcessOrder = mmsProcessOrder;
254
+ async function mmsPackMarketplaceOrder(releaseGood, marketplaceOrder, marketplaceOrderItems, result, domain, tx, existingMarketplaceOrderPackage) {
255
+ try {
256
+ let newMarketplaceOrderPackage = new marketplace_base_1.MarketplaceOrderPackage();
257
+ let newMarketplaceOrderPackageItem = new marketplace_base_1.MarketplaceOrderPackageItem();
258
+ let orderPackage = new sales_base_1.OrderPackage();
259
+ let orderPackageItem = new sales_base_1.OrderPackageItem();
260
+ let newMarketplaceOrderPackages = [];
261
+ let newOrderPackages = [];
262
+ if (!existingMarketplaceOrderPackage) {
263
+ let packagePack = (result === null || result === void 0 ? void 0 : result.packageList) ? result.packageList : result.packOrderList;
264
+ for (let j = 0; j < packagePack.length; j++) {
265
+ let marketplacePackage = packagePack[j];
266
+ let packageItems = (marketplacePackage === null || marketplacePackage === void 0 ? void 0 : marketplacePackage.packageItem) || (marketplacePackage === null || marketplacePackage === void 0 ? void 0 : marketplacePackage.orderItemList);
267
+ let marketplaceOrderItem;
268
+ newMarketplaceOrderPackage.name = result.name || marketplaceOrder.name;
269
+ newMarketplaceOrderPackage.packageId = marketplacePackage.packageId;
270
+ newMarketplaceOrderPackage.transporter = marketplacePackage.transporter;
271
+ newMarketplaceOrderPackage.marketplaceOrder = marketplaceOrder;
272
+ newMarketplaceOrderPackage.domain = domain;
273
+ newMarketplaceOrderPackage.marketplaceOrderPackageItems = [];
274
+ await tx.getRepository(marketplace_base_1.MarketplaceOrderPackage).insert(newMarketplaceOrderPackage);
275
+ newMarketplaceOrderPackages.push(newMarketplaceOrderPackage);
276
+ for (let i = 0; i < packageItems.length; i++) {
277
+ let packageItem = packageItems[i];
278
+ marketplaceOrderItem = marketplaceOrderItems.find(itm => {
279
+ return itm.orderId == packageItem.orderItemId;
280
+ });
281
+ newMarketplaceOrderPackageItem.name = marketplaceOrderItem.name;
282
+ newMarketplaceOrderPackageItem.qty = marketplaceOrderItem.qty;
283
+ newMarketplaceOrderPackageItem.domain = domain;
284
+ newMarketplaceOrderPackageItem.marketplaceOrderPackage = newMarketplaceOrderPackage;
285
+ newMarketplaceOrderPackageItem.marketplaceOrderItem = marketplaceOrderItem;
286
+ await tx.getRepository(marketplace_base_1.MarketplaceOrderPackageItem).insert(newMarketplaceOrderPackageItem);
287
+ newMarketplaceOrderPackage.marketplaceOrderPackageItems.push(newMarketplaceOrderPackageItem);
288
+ }
289
+ }
290
+ marketplaceOrder.marketplaceOrderPackages = newMarketplaceOrderPackages;
291
+ existingMarketplaceOrderPackage = (marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderPackages)
292
+ ? marketplaceOrder.marketplaceOrderPackages
293
+ : [];
294
+ }
295
+ if (releaseGood.orderPackages.length <= 0) {
296
+ for (let i = 0; i < existingMarketplaceOrderPackage.length; i++) {
297
+ let mop = existingMarketplaceOrderPackage[i];
298
+ let mopi = mop.marketplaceOrderPackageItems;
299
+ orderPackage.name = sales_base_1.OrderNoGenerator.orderPackage();
300
+ orderPackage.packageId = mop === null || mop === void 0 ? void 0 : mop.packageId;
301
+ orderPackage.transporter = null;
302
+ orderPackage.airwaybill = null;
303
+ orderPackage.status = sales_base_1.ORDER_STATUS.PROCESSING;
304
+ orderPackage.releaseGood = releaseGood;
305
+ orderPackage.domain = releaseGood.domain;
306
+ orderPackage.bizplace = releaseGood.bizplace;
307
+ orderPackage.creator = releaseGood.creator;
308
+ orderPackage.updater = releaseGood.updater;
309
+ orderPackage.orderPackageItems = [];
310
+ await tx.getRepository(sales_base_1.OrderPackage).save(orderPackage);
311
+ newOrderPackages.push(orderPackage);
312
+ for (let j = 0; j < (mopi === null || mopi === void 0 ? void 0 : mopi.length); j++) {
313
+ let productVariation = mopi[j].marketplaceOrderItem.marketplaceProductVariation;
314
+ let matchedOrderProduct = releaseGood.orderProducts.find(op => op.product.sku == productVariation.sku);
315
+ orderPackageItem.name = sales_base_1.OrderNoGenerator.orderPackageItem();
316
+ orderPackageItem.orderProduct = matchedOrderProduct;
317
+ orderPackageItem.status = sales_base_1.ORDER_STATUS.PROCESSING;
318
+ orderPackageItem.orderPackage = orderPackage;
319
+ orderPackageItem.releaseQty = matchedOrderProduct.releaseQty;
320
+ orderPackageItem.domain = releaseGood.domain;
321
+ orderPackageItem.bizplace = releaseGood.bizplace;
322
+ orderPackageItem.creator = releaseGood.creator;
323
+ orderPackageItem.updater = releaseGood.updater;
324
+ orderPackageItem.productDetail = matchedOrderProduct === null || matchedOrderProduct === void 0 ? void 0 : matchedOrderProduct.productDetail;
325
+ await tx.getRepository(sales_base_1.OrderPackageItem).save(orderPackageItem);
326
+ orderPackage.orderPackageItems.push(orderPackageItem);
327
+ }
328
+ releaseGood.orderPackages = newOrderPackages;
329
+ }
330
+ }
331
+ return releaseGood;
332
+ }
333
+ catch (e) {
334
+ env_1.logger.error(`mmsPackMarketplaceOrder: ${e}`);
335
+ throw e;
336
+ }
337
+ }
338
+ exports.mmsPackMarketplaceOrder = mmsPackMarketplaceOrder;
339
+ async function mmsRTSMarketplaceOrder(mop, tx, domain) {
340
+ try {
341
+ // const { tx } = context.state
342
+ let marketplaceOrder = await tx.getRepository(marketplace_base_1.MarketplaceOrder).findOne({
343
+ where: {
344
+ id: mop.id
345
+ },
346
+ relations: [
347
+ 'marketplaceStore',
348
+ 'marketplaceOrderPackages',
349
+ 'marketplaceOrderPackages.marketplaceOrderPackageItems',
350
+ 'marketplaceOrderPackages.marketplaceOrderPackageItems.marketplaceOrderItem',
351
+ 'marketplaceOrderPackages.marketplaceOrderPackageItems.marketplaceOrderItem.marketplaceProductVariation',
352
+ 'marketplaceOrderItems',
353
+ 'marketplaceOrderItems.marketplaceProductVariation'
354
+ ]
355
+ });
356
+ let marketplaceStore = marketplaceOrder.marketplaceStore;
357
+ let marketplaceOrderPackages = marketplaceOrder.marketplaceOrderPackages;
358
+ let platform = marketplaceStore.platform;
359
+ if ((marketplaceOrder === null || marketplaceOrder === void 0 ? void 0 : marketplaceOrder.marketplaceOrderPackages.length) > 0) {
360
+ switch (platform) {
361
+ case 'shopee':
362
+ await rtsShopeeOrder(marketplaceOrder, marketplaceOrderPackages, tx, domain);
363
+ break;
364
+ case 'lazada':
365
+ await rtsLazadaOrder(marketplaceOrder, marketplaceOrderPackages, tx, domain);
366
+ break;
367
+ default:
368
+ break;
369
+ }
370
+ }
371
+ return true;
372
+ }
373
+ catch (e) {
374
+ env_1.logger.error(`mmsRTSMarketplaceOrder[main]: ${e}`);
375
+ throw e;
376
+ }
377
+ }
378
+ exports.mmsRTSMarketplaceOrder = mmsRTSMarketplaceOrder;
379
+ async function rtsShopeeOrder(marketplaceOrder, marketplaceOrderPackages, tx, domain) {
380
+ await Promise.all(marketplaceOrderPackages.map(async (marketplaceOrderPackage) => {
381
+ try {
382
+ let deliveryType = {};
383
+ let store = marketplaceOrder.marketplaceStore;
384
+ let isMultipackage = marketplaceOrderPackages.length > 1 ? true : false;
385
+ // call api to know delivery type
386
+ let shippingParams = await integration_marketplace_1.StoreAPI.getLogisticsParam(store, { orderNo: marketplaceOrder.name, packageId: marketplaceOrderPackage.packageId, isMultipackage }, tx);
387
+ //let shippingType = shippingParams?.infoNeeded
388
+ let shippingDetail = shippingParams === null || shippingParams === void 0 ? void 0 : shippingParams.logisticsDetail;
389
+ if (shippingParams === null || shippingParams === void 0 ? void 0 : shippingParams.pickup) {
390
+ deliveryType = {
391
+ pickup: {
392
+ addressId: shippingDetail.addressId,
393
+ branchId: shippingDetail.branchId
394
+ }
395
+ };
396
+ }
397
+ else if (shippingParams === null || shippingParams === void 0 ? void 0 : shippingParams.non_integrated) {
398
+ deliveryType = {
399
+ non_integrated: {
400
+ trackingNo: marketplaceOrderPackage.trackingNo
401
+ }
402
+ };
403
+ }
404
+ else if (shippingParams === null || shippingParams === void 0 ? void 0 : shippingParams.dropoff) {
405
+ deliveryType = {
406
+ dropoff: (shippingDetail === null || shippingDetail === void 0 ? void 0 : shippingDetail.branchId)
407
+ ? {
408
+ branchId: shippingDetail.branchId
409
+ }
410
+ : {}
411
+ };
412
+ }
413
+ await integration_marketplace_1.StoreAPI.initLogistics(marketplaceOrder.marketplaceStore, {
414
+ deliveryType,
415
+ orderNo: marketplaceOrder.orderNo,
416
+ packageId: marketplaceOrderPackage.packageId,
417
+ isMultipackage
418
+ });
419
+ await tx
420
+ .getRepository(sales_base_1.OrderPackage)
421
+ .update({ packageId: marketplaceOrderPackage.packageId, domain: { id: domain.id } }, { marketRtsCallSuccess: new Date() });
422
+ }
423
+ catch (e) {
424
+ env_1.logger.error(`mmsRTSMarketplaceOrder[shopee]: ${e}`);
425
+ throw e;
426
+ }
427
+ }));
428
+ }
429
+ async function rtsLazadaOrder(marketplaceOrder, marketplaceOrderPackages, tx, domain) {
430
+ const packages = marketplaceOrderPackages.map(item => {
431
+ return { packageId: item.packageId };
432
+ });
433
+ const packageIds = marketplaceOrderPackages.map(item => item.packageId);
434
+ try {
435
+ await integration_marketplace_1.StoreAPI.setStoreOrderStatusReadyToShip(marketplaceOrder.marketplaceStore, { packages });
436
+ await tx
437
+ .getRepository(sales_base_1.OrderPackage)
438
+ .update({ packageId: (0, typeorm_1.In)(packageIds), domain: { id: domain.id } }, { marketRtsCallSuccess: new Date() });
439
+ }
440
+ catch (e) {
441
+ env_1.logger.error(`mmsRTSMarketplaceOrder[lazada]: ${e}`);
442
+ throw e;
443
+ }
444
+ }
88
445
  //# sourceMappingURL=generate-release-good-worksheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-release-good-worksheet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-release-good-worksheet.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts"],"names":[],"mappings":"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"}