@things-factory/operato-hub 4.3.400 → 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 = :status`, {
24
- status: sales_base_1.ORDER_STATUS.PICKING
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.400",
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": "0a3bf5e96428db2877bcb82c4c0d9b363263c30f"
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 = :status`, {
23
- status: ORDER_STATUS.PICKING
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
  }