@things-factory/operato-hub 4.3.401 → 4.3.402

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.
@@ -2,55 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLmdAwbResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
+ const env_1 = require("@things-factory/env");
5
6
  const sales_base_1 = require("@things-factory/sales-base");
6
7
  const worksheet_base_1 = require("@things-factory/worksheet-base");
7
- const integration_sellercraft_1 = require("@things-factory/integration-sellercraft");
8
- const auth_base_1 = require("@things-factory/auth-base");
9
- const setting_base_1 = require("@things-factory/setting-base");
10
- const env_1 = require("@things-factory/env");
11
8
  exports.getLmdAwbResolver = {
12
9
  async getLmdAwb(_, {}, context) {
13
- const qb = (0, typeorm_1.getRepository)(sales_base_1.OrderPackage)
14
- .createQueryBuilder('op')
15
- .innerJoinAndSelect('op.releaseGood', 'rg')
16
- .innerJoinAndSelect('rg.domain', 'd')
17
- .innerJoinAndSelect('rg.bizplace', 'b')
18
- .innerJoinAndSelect('b.domain', 'd2')
19
- .leftJoinAndSelect('rg.lastMileDelivery', 'lmd')
20
- .where('rg.lmd_option = true')
21
- .andWhere('rg.status NOT IN (:...statuses)', {
22
- statuses: [sales_base_1.ORDER_STATUS.CANCELLED, sales_base_1.ORDER_STATUS.PENDING_CANCEL, sales_base_1.ORDER_STATUS.DONE]
23
- })
24
- .andWhere('op.parcel_id IS NOT NULL')
25
- .andWhere('op.airway_bill IS NULL');
26
- const orderPackages = await qb.getMany();
27
- await (0, worksheet_base_1.processAwbAndTrackingNo)(orderPackages);
28
- const releaseOrders = orderPackages.map(op => { return op.releaseGood; });
29
10
  try {
30
- let uniqueReleaseOrders = [...new Map(releaseOrders.map(item => [item['id'], item])).values()];
31
- for (let releaseOrder of uniqueReleaseOrders) {
32
- const orderSource = releaseOrder.source;
33
- if (orderSource == auth_base_1.ApplicationType.SELLERCRAFT) {
34
- const sellercraft = await (0, typeorm_1.getRepository)(integration_sellercraft_1.Sellercraft).findOne({
35
- domain: releaseOrder.bizplace.domain,
36
- status: integration_sellercraft_1.SellercraftStatus.ACTIVE
37
- });
38
- if (sellercraft) {
39
- await (0, typeorm_1.getConnection)().transaction(async (tx) => {
40
- const sellercraftCtrl = new worksheet_base_1.SellercraftController(tx, null, null);
41
- const rtsTriggerLevel = await tx.getRepository(setting_base_1.Setting).findOne({
42
- where: { domain: releaseOrder.domain, category: 'id-rule', name: 'rts-trigger-level' }
43
- });
44
- if (rtsTriggerLevel && parseInt((rtsTriggerLevel === null || rtsTriggerLevel === void 0 ? void 0 : rtsTriggerLevel.value) || 0) == 1) {
45
- await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseOrder);
46
- }
47
- });
48
- }
49
- }
50
- }
11
+ const qb = (0, typeorm_1.getRepository)(sales_base_1.OrderPackage)
12
+ .createQueryBuilder('op')
13
+ .innerJoinAndSelect('op.releaseGood', 'rg')
14
+ .innerJoinAndSelect('rg.domain', 'd')
15
+ .innerJoinAndSelect('rg.bizplace', 'b')
16
+ .innerJoinAndSelect('b.domain', 'd2')
17
+ .leftJoinAndSelect('rg.lastMileDelivery', 'lmd')
18
+ .where('rg.lmd_option = true')
19
+ .andWhere('rg.status NOT IN (:...statuses)', {
20
+ statuses: [sales_base_1.ORDER_STATUS.CANCELLED, sales_base_1.ORDER_STATUS.PENDING_CANCEL, sales_base_1.ORDER_STATUS.DONE]
21
+ })
22
+ .andWhere('op.parcel_id IS NOT NULL')
23
+ .andWhere('op.airway_bill IS NULL');
24
+ const orderPackages = await qb.getMany();
25
+ (0, worksheet_base_1.processAwbAndTrackingNo)(orderPackages);
51
26
  }
52
27
  catch (e) {
53
- env_1.logger.error(`[get-lmd-awb-sof-trigger]: ${e}`);
28
+ env_1.logger.error(`[getLmdAwb]: ${e}`);
54
29
  }
55
30
  }
56
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get-lmd-awb.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/get-lmd-awb.ts"],"names":[],"mappings":";;;AAAA,qCAA0E;AAE1E,2DAAoF;AACpF,mEAA+F;AAC/F,qFAAwF;AACxF,yDAA2D;AAC3D,+DAAsD;AACtD,6CAA4C;AAE/B,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,SAAS,CAAC,CAAM,EAAE,EAAE,EAAE,OAAY;QACtC,MAAM,EAAE,GAAqC,IAAA,uBAAa,EAAC,yBAAY,CAAC;aACrE,kBAAkB,CAAC,IAAI,CAAC;aACxB,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC;aAC1C,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;aACpC,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC;aACtC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC;aACpC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,CAAC;aAC/C,KAAK,CAAC,sBAAsB,CAAC;aAC7B,QAAQ,CAAC,iCAAiC,EAAE;YAC3C,QAAQ,EAAE,CAAC,yBAAY,CAAC,SAAS,EAAE,yBAAY,CAAC,cAAc,EAAE,yBAAY,CAAC,IAAI,CAAC;SACnF,CAAC;aACD,QAAQ,CAAC,0BAA0B,CAAC;aACpC,QAAQ,CAAC,wBAAwB,CAAC,CAAA;QAErC,MAAM,aAAa,GAAmB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;QAExD,MAAM,IAAA,wCAAuB,EAAC,aAAa,CAAC,CAAA;QAE5C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,WAAW,CAAA,CAAC,CAAC,CAAC,CAAA;QAExE,IAAI;YACF,IAAI,mBAAmB,GAAgB,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;YAE3G,KAAK,IAAI,YAAY,IAAI,mBAAmB,EAAE;gBAC5C,MAAM,WAAW,GAAW,YAAY,CAAC,MAAM,CAAA;gBAE/C,IAAI,WAAW,IAAI,2BAAe,CAAC,WAAW,EAAE;oBAC9C,MAAM,WAAW,GAAgB,MAAM,IAAA,uBAAa,EAAC,qCAAW,CAAC,CAAC,OAAO,CAAC;wBACxE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM;wBACpC,MAAM,EAAE,2CAAiB,CAAC,MAAM;qBACjC,CAAC,CAAA;oBACF,IAAI,WAAW,EAAE;wBACf,MAAM,IAAA,uBAAa,GAAE,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;4BAC3C,MAAM,eAAe,GAA0B,IAAI,sCAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;4BACxF,MAAM,eAAe,GAAY,MAAM,EAAE,CAAC,aAAa,CAAC,sBAAO,CAAC,CAAC,OAAO,CAAC;gCACvE,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE;6BACvF,CAAC,CAAA;4BAEF,IAAI,eAAe,IAAI,QAAQ,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,KAAI,CAAC,CAAC,IAAI,CAAC,EAAE;gCACjE,MAAM,eAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;6BACvE;wBACH,CAAC,CAAC,CAAA;qBACH;iBACF;aACF;SACF;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAA;SAChD;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"get-lmd-awb.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/get-lmd-awb.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAE3D,6CAA4C;AAC5C,2DAAuE;AACvE,mEAAwE;AAE3D,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,SAAS,CAAC,CAAM,EAAE,EAAE,EAAE,OAAY;QACtC,IAAI;YACF,MAAM,EAAE,GAAqC,IAAA,uBAAa,EAAC,yBAAY,CAAC;iBACrE,kBAAkB,CAAC,IAAI,CAAC;iBACxB,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC;iBAC1C,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC;iBACpC,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC;iBACtC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC;iBACpC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,CAAC;iBAC/C,KAAK,CAAC,sBAAsB,CAAC;iBAC7B,QAAQ,CAAC,iCAAiC,EAAE;gBAC3C,QAAQ,EAAE,CAAC,yBAAY,CAAC,SAAS,EAAE,yBAAY,CAAC,cAAc,EAAE,yBAAY,CAAC,IAAI,CAAC;aACnF,CAAC;iBACD,QAAQ,CAAC,0BAA0B,CAAC;iBACpC,QAAQ,CAAC,wBAAwB,CAAC,CAAA;YAErC,MAAM,aAAa,GAAmB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;YAExD,IAAA,wCAAuB,EAAC,aAAa,CAAC,CAAA;SACvC;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;SAClC;IACH,CAAC;CACF,CAAA"}
@@ -9,46 +9,45 @@ const worksheet_base_1 = require("@things-factory/worksheet-base");
9
9
  exports.retryCreateLmdParcelsResolver = {
10
10
  async retryCreateLmdParcels(_, {}, context) {
11
11
  try {
12
- await (0, typeorm_1.getConnection)().transaction(async (tx) => {
13
- try {
14
- let releaseGoodQb = tx
15
- .getRepository(sales_base_1.ReleaseGood)
16
- .createQueryBuilder('rg')
17
- .innerJoinAndSelect('rg.lastMileDelivery', 'lmd')
18
- .innerJoinAndSelect('rg.domain', 'domain')
19
- .innerJoinAndSelect('rg.bizplace', 'bizplace')
20
- .innerJoinAndSelect('rg.creator', 'creator')
21
- .leftJoinAndMapOne('rg.marketplaceOrder', marketplace_base_1.MarketplaceOrder, 'mo', 'mo.order_no = rg.ref_no')
22
- .where(`rg.lmd_option = true`)
23
- .andWhere(`rg.status IN (:...status)`, {
24
- status: [sales_base_1.ORDER_STATUS.PICKING, sales_base_1.ORDER_STATUS.READY_TO_PACK, sales_base_1.ORDER_STATUS.PACKING]
25
- })
26
- .andWhere(`COALESCE(rg.count_parcel,0) <= 5`)
27
- .andWhere(qb => {
28
- const subQuery = qb
29
- .subQuery()
30
- .from(worksheet_base_1.Worksheet, 'ws')
31
- .innerJoin('ws.worksheetDetails', 'wsd')
32
- .innerJoin('wsd.targetInventory', 'oi')
33
- .where('rg.id = oi.release_good_id')
34
- .andWhere('ws.type IN (:...wsType)', { wsType: ['PICKING', 'BATCH_PICKING'] })
35
- .andWhere('EXTRACT(EPOCH FROM(CURRENT_TIMESTAMP-ws.started_at)) > 240')
36
- .getQuery();
37
- return 'EXISTS ' + subQuery;
38
- })
39
- .andWhere(qb => {
40
- const subQuery = qb
41
- .subQuery()
42
- .from(sales_base_1.OrderPackage, 'opk')
43
- .where('rg.id = opk.release_good_id')
44
- .andWhere('opk.parcel_id ISNULL')
45
- .getQuery();
46
- return 'EXISTS ' + subQuery;
47
- })
48
- .limit(500);
49
- let releaseGoods = await releaseGoodQb.getMany();
50
- if (releaseGoods === null || releaseGoods === void 0 ? void 0 : releaseGoods.length) {
51
- await Promise.all(releaseGoods.map(async (releaseGood) => {
12
+ try {
13
+ let releaseGoodQb = (0, typeorm_1.getRepository)(sales_base_1.ReleaseGood)
14
+ .createQueryBuilder('rg')
15
+ .innerJoinAndSelect('rg.lastMileDelivery', 'lmd')
16
+ .innerJoinAndSelect('rg.domain', 'domain')
17
+ .innerJoinAndSelect('rg.bizplace', 'bizplace')
18
+ .innerJoinAndSelect('rg.creator', 'creator')
19
+ .leftJoinAndMapOne('rg.marketplaceOrder', marketplace_base_1.MarketplaceOrder, 'mo', 'mo.order_no = rg.ref_no')
20
+ .where(`rg.lmd_option = true`)
21
+ .andWhere(`rg.status IN (:...status)`, {
22
+ status: [sales_base_1.ORDER_STATUS.PICKING, sales_base_1.ORDER_STATUS.READY_TO_PACK, sales_base_1.ORDER_STATUS.PACKING]
23
+ })
24
+ .andWhere(`COALESCE(rg.count_parcel,0) <= 5`)
25
+ .andWhere(qb => {
26
+ const subQuery = qb
27
+ .subQuery()
28
+ .from(worksheet_base_1.Worksheet, 'ws')
29
+ .innerJoin('ws.worksheetDetails', 'wsd')
30
+ .innerJoin('wsd.targetInventory', 'oi')
31
+ .where('rg.id = oi.release_good_id')
32
+ .andWhere('ws.type IN (:...wsType)', { wsType: ['PICKING', 'BATCH_PICKING'] })
33
+ .andWhere('EXTRACT(EPOCH FROM(CURRENT_TIMESTAMP-ws.started_at)) > 240')
34
+ .getQuery();
35
+ return 'EXISTS ' + subQuery;
36
+ })
37
+ .andWhere(qb => {
38
+ const subQuery = qb
39
+ .subQuery()
40
+ .from(sales_base_1.OrderPackage, 'opk')
41
+ .where('rg.id = opk.release_good_id')
42
+ .andWhere('opk.parcel_id ISNULL')
43
+ .getQuery();
44
+ return 'EXISTS ' + subQuery;
45
+ })
46
+ .limit(500);
47
+ let releaseGoods = await releaseGoodQb.getMany();
48
+ if (releaseGoods === null || releaseGoods === void 0 ? void 0 : releaseGoods.length) {
49
+ for (const releaseGood of releaseGoods) {
50
+ await (0, typeorm_1.getConnection)().transaction(async (tx) => {
52
51
  let newReleaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
53
52
  where: { id: releaseGood.id },
54
53
  relations: [
@@ -61,14 +60,14 @@ exports.retryCreateLmdParcelsResolver = {
61
60
  'orderPackages.orderPackageItems.orderProduct.productDetail'
62
61
  ]
63
62
  });
64
- await (0, worksheet_base_1.createLmdParcel)([newReleaseGood], tx, newReleaseGood.domain, releaseGood.user, releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrder);
65
- }));
63
+ (0, worksheet_base_1.createLmdParcel)([newReleaseGood], tx, newReleaseGood.domain, releaseGood.user, releaseGood === null || releaseGood === void 0 ? void 0 : releaseGood.marketplaceOrder);
64
+ });
66
65
  }
67
66
  }
68
- catch (e) {
69
- env_1.logger.error(`retryCreateLmdParcels[GetTrackingNo]: ${e}`);
70
- }
71
- });
67
+ }
68
+ catch (e) {
69
+ env_1.logger.error(`retryCreateLmdParcels[GetTrackingNo]: ${e}`);
70
+ }
72
71
  }
73
72
  catch (e) {
74
73
  env_1.logger.error(`retryCreateLmdParcels[MainError]: ${e}`);
@@ -1 +1 @@
1
- {"version":3,"file":"retry-create-lmd-parcels.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/retry-create-lmd-parcels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-create-lmd-parcels.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/synchronization/retry-create-lmd-parcels.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/operato-hub",
3
- "version": "4.3.401",
3
+ "version": "4.3.402",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -121,5 +121,5 @@
121
121
  "resolutions": {
122
122
  "core-js": "^3.16.0"
123
123
  },
124
- "gitHead": "5ef38f001614fb100f1785f012bf8e61f7232b8e"
124
+ "gitHead": "9dc6193d01e0b821a44bacdd410a8679ef272a16"
125
125
  }
@@ -1,61 +1,31 @@
1
- import { getRepository, getConnection, SelectQueryBuilder } from 'typeorm'
1
+ import { getRepository, SelectQueryBuilder } from 'typeorm'
2
2
 
3
- import { OrderPackage, ORDER_STATUS, ReleaseGood } from '@things-factory/sales-base'
4
- import { processAwbAndTrackingNo, SellercraftController } from '@things-factory/worksheet-base'
5
- import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
6
- import { ApplicationType } from '@things-factory/auth-base'
7
- import { Setting } from '@things-factory/setting-base'
8
3
  import { logger } from '@things-factory/env'
4
+ import { ORDER_STATUS, OrderPackage } from '@things-factory/sales-base'
5
+ import { processAwbAndTrackingNo } from '@things-factory/worksheet-base'
9
6
 
10
7
  export const getLmdAwbResolver = {
11
8
  async getLmdAwb(_: any, {}, context: any) {
12
- const qb: SelectQueryBuilder<OrderPackage> = getRepository(OrderPackage)
13
- .createQueryBuilder('op')
14
- .innerJoinAndSelect('op.releaseGood', 'rg')
15
- .innerJoinAndSelect('rg.domain', 'd')
16
- .innerJoinAndSelect('rg.bizplace', 'b')
17
- .innerJoinAndSelect('b.domain', 'd2')
18
- .leftJoinAndSelect('rg.lastMileDelivery', 'lmd')
19
- .where('rg.lmd_option = true')
20
- .andWhere('rg.status NOT IN (:...statuses)', {
21
- statuses: [ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL, ORDER_STATUS.DONE]
22
- })
23
- .andWhere('op.parcel_id IS NOT NULL')
24
- .andWhere('op.airway_bill IS NULL')
25
-
26
- const orderPackages: OrderPackage[] = await qb.getMany()
27
-
28
- await processAwbAndTrackingNo(orderPackages)
9
+ try {
10
+ const qb: SelectQueryBuilder<OrderPackage> = getRepository(OrderPackage)
11
+ .createQueryBuilder('op')
12
+ .innerJoinAndSelect('op.releaseGood', 'rg')
13
+ .innerJoinAndSelect('rg.domain', 'd')
14
+ .innerJoinAndSelect('rg.bizplace', 'b')
15
+ .innerJoinAndSelect('b.domain', 'd2')
16
+ .leftJoinAndSelect('rg.lastMileDelivery', 'lmd')
17
+ .where('rg.lmd_option = true')
18
+ .andWhere('rg.status NOT IN (:...statuses)', {
19
+ statuses: [ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL, ORDER_STATUS.DONE]
20
+ })
21
+ .andWhere('op.parcel_id IS NOT NULL')
22
+ .andWhere('op.airway_bill IS NULL')
29
23
 
30
- const releaseOrders = orderPackages.map(op => { return op.releaseGood })
24
+ const orderPackages: OrderPackage[] = await qb.getMany()
31
25
 
32
- try {
33
- let uniqueReleaseOrders: ReleaseGood = [...new Map(releaseOrders.map(item => [item['id'], item])).values()]
34
-
35
- for (let releaseOrder of uniqueReleaseOrders) {
36
- const orderSource: string = releaseOrder.source
37
-
38
- if (orderSource == ApplicationType.SELLERCRAFT) {
39
- const sellercraft: Sellercraft = await getRepository(Sellercraft).findOne({
40
- domain: releaseOrder.bizplace.domain,
41
- status: SellercraftStatus.ACTIVE
42
- })
43
- if (sellercraft) {
44
- await getConnection().transaction(async tx => {
45
- const sellercraftCtrl: SellercraftController = new SellercraftController(tx, null, null)
46
- const rtsTriggerLevel: Setting = await tx.getRepository(Setting).findOne({
47
- where: { domain: releaseOrder.domain, category: 'id-rule', name: 'rts-trigger-level' }
48
- })
49
-
50
- if (rtsTriggerLevel && parseInt(rtsTriggerLevel?.value || 0) == 1) {
51
- await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseOrder)
52
- }
53
- })
54
- }
55
- }
56
- }
26
+ processAwbAndTrackingNo(orderPackages)
57
27
  } catch (e) {
58
- logger.error(`[get-lmd-awb-sof-trigger]: ${e}`)
28
+ logger.error(`[getLmdAwb]: ${e}`)
59
29
  }
60
30
  }
61
31
  }
@@ -1,4 +1,4 @@
1
- import { getConnection } from 'typeorm'
1
+ import { getConnection, getRepository } from 'typeorm'
2
2
 
3
3
  import { logger } from '@things-factory/env'
4
4
  import { MarketplaceOrder } from '@things-factory/marketplace-base'
@@ -8,75 +8,72 @@ import { createLmdParcel, Worksheet } from '@things-factory/worksheet-base'
8
8
  export const retryCreateLmdParcelsResolver = {
9
9
  async retryCreateLmdParcels(_: void, {}, context: any): Promise<void> {
10
10
  try {
11
- await getConnection().transaction(async tx => {
12
- try {
13
- let releaseGoodQb = tx
14
- .getRepository(ReleaseGood)
15
- .createQueryBuilder('rg')
16
- .innerJoinAndSelect('rg.lastMileDelivery', 'lmd')
17
- .innerJoinAndSelect('rg.domain', 'domain')
18
- .innerJoinAndSelect('rg.bizplace', 'bizplace')
19
- .innerJoinAndSelect('rg.creator', 'creator')
20
- .leftJoinAndMapOne('rg.marketplaceOrder', MarketplaceOrder, 'mo', 'mo.order_no = rg.ref_no')
21
- .where(`rg.lmd_option = true`)
22
- .andWhere(`rg.status IN (:...status)`, {
23
- status: [ORDER_STATUS.PICKING, ORDER_STATUS.READY_TO_PACK, ORDER_STATUS.PACKING]
24
- })
25
- .andWhere(`COALESCE(rg.count_parcel,0) <= 5`)
26
- .andWhere(qb => {
27
- const subQuery = qb
28
- .subQuery()
29
- .from(Worksheet, 'ws')
30
- .innerJoin('ws.worksheetDetails', 'wsd')
31
- .innerJoin('wsd.targetInventory', 'oi')
32
- .where('rg.id = oi.release_good_id')
33
- .andWhere('ws.type IN (:...wsType)', { wsType: ['PICKING', 'BATCH_PICKING'] })
34
- .andWhere('EXTRACT(EPOCH FROM(CURRENT_TIMESTAMP-ws.started_at)) > 240')
35
- .getQuery()
36
- return 'EXISTS ' + subQuery
37
- })
38
- .andWhere(qb => {
39
- const subQuery = qb
40
- .subQuery()
41
- .from(OrderPackage, 'opk')
42
- .where('rg.id = opk.release_good_id')
43
- .andWhere('opk.parcel_id ISNULL')
44
- .getQuery()
45
- return 'EXISTS ' + subQuery
46
- })
47
- .limit(500)
11
+ try {
12
+ let releaseGoodQb = getRepository(ReleaseGood)
13
+ .createQueryBuilder('rg')
14
+ .innerJoinAndSelect('rg.lastMileDelivery', 'lmd')
15
+ .innerJoinAndSelect('rg.domain', 'domain')
16
+ .innerJoinAndSelect('rg.bizplace', 'bizplace')
17
+ .innerJoinAndSelect('rg.creator', 'creator')
18
+ .leftJoinAndMapOne('rg.marketplaceOrder', MarketplaceOrder, 'mo', 'mo.order_no = rg.ref_no')
19
+ .where(`rg.lmd_option = true`)
20
+ .andWhere(`rg.status IN (:...status)`, {
21
+ status: [ORDER_STATUS.PICKING, ORDER_STATUS.READY_TO_PACK, ORDER_STATUS.PACKING]
22
+ })
23
+ .andWhere(`COALESCE(rg.count_parcel,0) <= 5`)
24
+ .andWhere(qb => {
25
+ const subQuery = qb
26
+ .subQuery()
27
+ .from(Worksheet, 'ws')
28
+ .innerJoin('ws.worksheetDetails', 'wsd')
29
+ .innerJoin('wsd.targetInventory', 'oi')
30
+ .where('rg.id = oi.release_good_id')
31
+ .andWhere('ws.type IN (:...wsType)', { wsType: ['PICKING', 'BATCH_PICKING'] })
32
+ .andWhere('EXTRACT(EPOCH FROM(CURRENT_TIMESTAMP-ws.started_at)) > 240')
33
+ .getQuery()
34
+ return 'EXISTS ' + subQuery
35
+ })
36
+ .andWhere(qb => {
37
+ const subQuery = qb
38
+ .subQuery()
39
+ .from(OrderPackage, 'opk')
40
+ .where('rg.id = opk.release_good_id')
41
+ .andWhere('opk.parcel_id ISNULL')
42
+ .getQuery()
43
+ return 'EXISTS ' + subQuery
44
+ })
45
+ .limit(500)
48
46
 
49
- let releaseGoods: ReleaseGood[] = await releaseGoodQb.getMany()
47
+ let releaseGoods: ReleaseGood[] = await releaseGoodQb.getMany()
50
48
 
51
- if (releaseGoods?.length) {
52
- await Promise.all(
53
- releaseGoods.map(async releaseGood => {
54
- let newReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
55
- where: { id: releaseGood.id },
56
- relations: [
57
- 'domain',
58
- 'lastMileDelivery',
59
- 'orderPackages',
60
- 'orderPackages.orderPackageItems',
61
- 'orderPackages.orderPackageItems.orderProduct',
62
- 'orderPackages.orderPackageItems.orderProduct.product',
63
- 'orderPackages.orderPackageItems.orderProduct.productDetail'
64
- ]
65
- })
66
- await createLmdParcel(
67
- [newReleaseGood],
68
- tx,
69
- newReleaseGood.domain,
70
- releaseGood.user,
71
- releaseGood?.marketplaceOrder
72
- )
49
+ if (releaseGoods?.length) {
50
+ for (const releaseGood of releaseGoods) {
51
+ await getConnection().transaction(async tx => {
52
+ let newReleaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
53
+ where: { id: releaseGood.id },
54
+ relations: [
55
+ 'domain',
56
+ 'lastMileDelivery',
57
+ 'orderPackages',
58
+ 'orderPackages.orderPackageItems',
59
+ 'orderPackages.orderPackageItems.orderProduct',
60
+ 'orderPackages.orderPackageItems.orderProduct.product',
61
+ 'orderPackages.orderPackageItems.orderProduct.productDetail'
62
+ ]
73
63
  })
74
- )
64
+ createLmdParcel(
65
+ [newReleaseGood],
66
+ tx,
67
+ newReleaseGood.domain,
68
+ releaseGood.user,
69
+ releaseGood?.marketplaceOrder
70
+ )
71
+ })
75
72
  }
76
- } catch (e) {
77
- logger.error(`retryCreateLmdParcels[GetTrackingNo]: ${e}`)
78
73
  }
79
- })
74
+ } catch (e) {
75
+ logger.error(`retryCreateLmdParcels[GetTrackingNo]: ${e}`)
76
+ }
80
77
  } catch (e) {
81
78
  logger.error(`retryCreateLmdParcels[MainError]: ${e}`)
82
79
  }