@things-factory/worksheet-base 3.8.3 → 3.8.4

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.
@@ -11,7 +11,7 @@ class PackingWorksheetController extends vas_worksheet_controller_1.VasWorksheet
11
11
  let releaseGood = await this.findRefOrder(sales_base_1.ReleaseGood, {
12
12
  domain: this.domain,
13
13
  name: releaseGoodNo
14
- }, ['orderInventories']);
14
+ }, ['orderInventories', 'orderInventories.inventory']);
15
15
  let orderInventories = releaseGood.orderInventories;
16
16
  const existingPackingWorksheet = await this.trxMgr.getRepository(entities_1.Worksheet).findOne({
17
17
  where: { domain: this.domain, releaseGood, type: constants_1.WORKSHEET_TYPE.PACKING, status: constants_1.WORKSHEET_STATUS.DEACTIVATED }
@@ -1 +1 @@
1
- {"version":3,"file":"packing-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/packing-worksheet-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packing-worksheet-controller.js","sourceRoot":"","sources":["../../../server/controllers/outbound/packing-worksheet-controller.ts"],"names":[],"mappings":";;;AACA,2DAA8G;AAC9G,mEAAsF;AAEtF,+CAAkE;AAClE,6CAA2D;AAC3D,8EAAwE;AAExE,MAAa,0BAA2B,SAAQ,iDAAsB;IACpE,KAAK,CAAC,wBAAwB,CAAC,aAAqB;QAClD,IAAI,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CACpD,wBAAW,EACX;YACE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,aAAa;SACpB,EACD,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CACnD,CAAA;QACD,IAAI,gBAAgB,GAAqB,WAAW,CAAC,gBAAgB,CAAA;QAErE,MAAM,wBAAwB,GAAc,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;YAC7F,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,0BAAc,CAAC,OAAO,EAAE,MAAM,EAAE,4BAAgB,CAAC,WAAW,EAAE;SAChH,CAAC,CAAA;QAEF,IAAI,wBAAwB;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAC5G,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,CAAC,CAAA;QAE1F,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAkB,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,SAAS,0CAAE,EAAE,CAAA,EAAA,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE;YAChG,SAAS,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAC5D,SAAS,EACT,0BAAc,CAAC,OAAO,EACtB,gBAAgB,CACjB,CAAA;SACF;QAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAkB,EAAE,EAAE;YAC9C,EAAE,CAAC,MAAM,GAAG,mCAAsB,CAAC,aAAa,CAAA;YAChD,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAE/C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,IAAI,SAAS,GAAc,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,EAAE;YAClG,aAAa;YACb,sBAAsB;YACtB,6BAA6B;YAC7B,kBAAkB;YAClB,kCAAkC;SACnC,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAsB,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,CAAA;QAC7G,MAAM,iBAAiB,GAAqB,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAoB,EAAE,EAAE;YACxF,IAAI,eAAe,GAAmB,GAAG,CAAC,eAAe,CAAA;YACzD,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,OAAO,CAAA;YACvD,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACnC,OAAO,eAAe,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QAE1C,IAAI,WAAW,GAAgB,SAAS,CAAC,WAAW,CAAA;QACpD,WAAW,CAAC,MAAM,GAAG,yBAAY,CAAC,OAAO,CAAA;QACzC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAEhC,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QAEzE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,mBAA2B,EAAE,SAAiB;QAC1D,IAAI,eAAe,GAAoB,MAAM,IAAI,CAAC,mCAAmC,CACnF,mBAAmB,EACnB,0BAAc,CAAC,OAAO,EACtB;YACE,WAAW;YACX,oBAAoB;YACpB,2BAA2B;YAC3B,iBAAiB;YACjB,6BAA6B;YAC7B,2BAA2B;YAC3B,oCAAoC;SACrC,CACF,CAAA;QACD,MAAM,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;QAC5E,IAAI,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;QACrE,IAAI,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;QACpD,MAAM,SAAS,GAAW,eAAe,CAAC,UAAU,CAAA;QAEpD,IAAI,SAAS,GAAG,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC,CAAA;SAClH;QAED,eAAe,CAAC,SAAS,GAAG,SAAS,CAAA;QACrC,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;QACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;QAEhD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,OAAO,CAAC,CAAA;QAEjG,eAAe,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;QAC9C,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACnC,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACxF,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,mBAA2B,EAAE,cAAsB;QAC1E,IAAI,eAAe,GAAoB,MAAM,IAAI,CAAC,mCAAmC,CACnF,mBAAmB,EACnB,0BAAc,CAAC,OAAO,EACtB;YACE,WAAW;YACX,oBAAoB;YACpB,2BAA2B;YAC3B,iBAAiB;YACjB,6BAA6B;YAC7B,2BAA2B;YAC3B,mCAAmC;YACnC,kDAAkD;YAClD,oCAAoC;SACrC,CACF,CAAA;QACD,MAAM,WAAW,GAAgB,eAAe,CAAC,eAAe,CAAC,WAAW,CAAA;QAC5E,MAAM,OAAO,GAAY,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAA;QAC1E,IAAI,eAAe,GAAmB,eAAe,CAAC,eAAe,CAAA;QACrE,IAAI,SAAS,GAAc,eAAe,CAAC,SAAS,CAAA;QACpD,IAAI,SAAS,GAAW,CAAC,CAAA;QACzB,MAAM,SAAS,GAAW,eAAe,CAAC,UAAU,CAAA;QAEpD,sCAAsC;QACtC,MAAM,aAAa,GAAkB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACzD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAClC,IAAI,CACH,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,IAAI,KAAK,cAAc;YAC9B,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;YAC5C,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,CAC/C,CAAA;QACH,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;QAElF,eAAe,CAAC,SAAS,GAAG,OAAO,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QACnH,IAAI,eAAe,CAAC,SAAS,GAAG,SAAS,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC,CAAA;SAClH;QAED,IAAI,eAAe,CAAC,SAAS,IAAI,SAAS,EAAE;YAC1C,eAAe,CAAC,MAAM,GAAG,mCAAsB,CAAC,MAAM,CAAA;YACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;YAChD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,2CAA0B,CAAC,OAAO,CAAC,CAAA;YAEjG,eAAe,CAAC,MAAM,GAAG,4BAAgB,CAAC,IAAI,CAAA;YAC9C,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACvE;aAAM;YACL,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACtE;QAED,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,IAAI,WAAW,GAAgB,MAAM,IAAI,CAAC,YAAY,CAAC,wBAAW,EAAE;YAClE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,yBAAY,CAAC,OAAO;SAC7B,CAAC,CAAA;QAEF,MAAM,SAAS,GAAc,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,0BAAc,CAAC,OAAO,EAAE;YACnG,kBAAkB;YAClB,kCAAkC;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,4BAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;QAE3E,IAAI,WAAmB,CAAA;QACvB,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa;YAAE,WAAW,GAAG,yBAAY,CAAC,IAAI,CAAA;;YAC1D,WAAW,GAAG,yBAAY,CAAC,OAAO,CAAA;QAEvC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC7D,CAAC;CACF;AA5KD,gEA4KC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchAndAssignPickingTaskResolver = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
5
  const auth_base_1 = require("@things-factory/auth-base");
6
+ const sales_base_1 = require("@things-factory/sales-base");
6
7
  const setting_base_1 = require("@things-factory/setting-base");
7
8
  const constants_1 = require("../../../../constants");
8
9
  const entities_1 = require("../../../../entities");
@@ -10,63 +11,72 @@ const picking_worksheet_1 = require("../picking-worksheet");
10
11
  const activate_picking_1 = require("./activate-picking");
11
12
  exports.fetchAndAssignPickingTaskResolver = {
12
13
  async fetchAndAssignPickingTask(_, {}, context) {
13
- const { tx, domain, user } = context.state;
14
- const assignee = await tx.getRepository(auth_base_1.User).findOne(user.id, { relations: ['domains'] });
15
- if (((assignee === null || assignee === void 0 ? void 0 : assignee.domains) || []).every((userDomain) => userDomain.id !== domain.id))
16
- throw new Error('Target user is not belong to current domain');
17
- if (!assignee)
18
- throw new Error('failed to find target user');
19
- let worksheet;
20
- worksheet = await tx.getRepository(entities_1.Worksheet).findOne({
21
- relations: ['releaseGood'],
22
- where: [
23
- {
24
- domain,
25
- type: constants_1.WORKSHEET_TYPE.PICKING,
26
- status: constants_1.WORKSHEET_STATUS.EXECUTING,
27
- assignee: assignee
28
- },
29
- {
30
- domain,
31
- type: constants_1.WORKSHEET_TYPE.PICKING,
32
- status: constants_1.WORKSHEET_STATUS.DEACTIVATED,
33
- assignee: assignee
34
- }
35
- ],
36
- order: {
37
- name: 'ASC'
14
+ try {
15
+ const { tx, domain, user } = context.state;
16
+ const assignee = await tx.getRepository(auth_base_1.User).findOne(user.id, { relations: ['domains'] });
17
+ if (((assignee === null || assignee === void 0 ? void 0 : assignee.domains) || []).every((userDomain) => userDomain.id !== domain.id))
18
+ throw new Error('Target user is not belong to current domain');
19
+ if (!assignee)
20
+ throw new Error('failed to find target user');
21
+ let worksheet;
22
+ let worksheetQb = await tx.getRepository(entities_1.Worksheet).createQueryBuilder('ws')
23
+ .select('ws.id')
24
+ .addSelect('ws.name')
25
+ .addSelect('ws.status')
26
+ .addSelect('ws.release_good_id')
27
+ .where('(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id =:assignee AND (ws.status = :status1 OR ws.status = :status2))', { domain_id: domain.id, type: constants_1.WORKSHEET_TYPE.PICKING, assignee: assignee.id, status1: constants_1.WORKSHEET_STATUS.EXECUTING, status2: constants_1.WORKSHEET_STATUS.DEACTIVATED })
28
+ .andWhere(qb => {
29
+ const subQuery = qb
30
+ .subQuery()
31
+ .select('COUNT(*) AS totalPS')
32
+ .from(sales_base_1.OrderInventory, 'OrderInventory')
33
+ .where('OrderInventory.release_good_id = ws.release_good_id')
34
+ .andWhere(`OrderInventory.status = 'PENDING_SPLIT'`)
35
+ .groupBy('OrderInventory.release_good_id')
36
+ .having('COUNT(*) > 0')
37
+ .getQuery();
38
+ return 'NOT EXISTS ' + subQuery;
39
+ });
40
+ worksheet = await worksheetQb.getRawOne();
41
+ if (!worksheet) {
42
+ let worksheetQb = await tx.getRepository(entities_1.Worksheet).createQueryBuilder('ws')
43
+ .select('ws.id')
44
+ .addSelect('ws.name')
45
+ .addSelect('ws.status')
46
+ .addSelect('ws.release_good_id')
47
+ .where('(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id IS NULL AND (ws.status = :status1 OR ws.status = :status2))', { domain_id: domain.id, type: constants_1.WORKSHEET_TYPE.PICKING, status1: constants_1.WORKSHEET_STATUS.EXECUTING, status2: constants_1.WORKSHEET_STATUS.DEACTIVATED })
48
+ .andWhere(qb => {
49
+ const subQuery = qb
50
+ .subQuery()
51
+ .select('COUNT(*) AS totalPS')
52
+ .from(sales_base_1.OrderInventory, 'OrderInventory')
53
+ .where('OrderInventory.release_good_id = ws.release_good_id')
54
+ .andWhere(`OrderInventory.status = 'PENDING_SPLIT'`)
55
+ .groupBy('OrderInventory.release_good_id')
56
+ .having('COUNT(*) > 0')
57
+ .getQuery();
58
+ return 'NOT EXISTS ' + subQuery;
59
+ });
60
+ worksheet = await worksheetQb.getRawOne();
61
+ if (!worksheet)
62
+ throw new Error('no suitable worksheet found');
63
+ await (0, typeorm_1.getRepository)(entities_1.Worksheet).update({ id: worksheet.id }, { assignee: assignee });
38
64
  }
39
- });
40
- if (!worksheet) {
41
- worksheet = await tx.getRepository(entities_1.Worksheet).findOne({
42
- relations: ['releaseGood'],
43
- where: [
44
- {
45
- domain,
46
- type: constants_1.WORKSHEET_TYPE.PICKING,
47
- status: constants_1.WORKSHEET_STATUS.EXECUTING,
48
- assignee: null
49
- },
50
- {
51
- domain,
52
- type: constants_1.WORKSHEET_TYPE.PICKING,
53
- status: constants_1.WORKSHEET_STATUS.DEACTIVATED,
54
- assignee: null
55
- }
56
- ]
65
+ if (worksheet.status == constants_1.WORKSHEET_STATUS.DEACTIVATED)
66
+ await (0, activate_picking_1.activatePicking)(tx, domain, user, worksheet.ws_name);
67
+ const locationSortingRules = await tx.getRepository(setting_base_1.Setting).findOne({
68
+ where: { domain, name: 'rule-for-picking-product' }
69
+ });
70
+ const sortingRule = JSON.parse(locationSortingRules.value);
71
+ const locationSortingRule = Object.keys(sortingRule).map(field => {
72
+ return { name: field, desc: sortingRule[field] === 'DESC' };
57
73
  });
58
- await (0, typeorm_1.getRepository)(entities_1.Worksheet).update({ id: worksheet.id }, { assignee: assignee });
74
+ const releaseGood = await tx.getRepository(sales_base_1.ReleaseGood).findOne(worksheet.release_good_id);
75
+ return await (0, picking_worksheet_1.pickingWorksheet)(domain, releaseGood.name, locationSortingRule, tx);
76
+ }
77
+ catch (error) {
78
+ throw error;
59
79
  }
60
- if (worksheet.status == constants_1.WORKSHEET_STATUS.DEACTIVATED)
61
- await (0, activate_picking_1.activatePicking)(tx, domain, user, worksheet.name);
62
- const locationSortingRules = await tx.getRepository(setting_base_1.Setting).findOne({
63
- where: { domain, name: 'rule-for-picking-product' }
64
- });
65
- const sortingRule = JSON.parse(locationSortingRules.value);
66
- const locationSortingRule = Object.keys(sortingRule).map(field => {
67
- return { name: field, desc: sortingRule[field] === 'DESC' };
68
- });
69
- return await (0, picking_worksheet_1.pickingWorksheet)(domain, worksheet.releaseGood.name, locationSortingRule, tx);
70
80
  }
71
81
  };
72
82
  //# sourceMappingURL=fetch-and-assign-picking-task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-and-assign-picking-task.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-and-assign-picking-task.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/picking/fetch-and-assign-picking-task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "3.8.3",
3
+ "version": "3.8.4",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -39,5 +39,5 @@
39
39
  "@things-factory/transport-base": "^3.8.0",
40
40
  "@things-factory/warehouse-base": "^3.8.3"
41
41
  },
42
- "gitHead": "b1c118ec9834b1cb4ccf9e85b70623250a8f6745"
42
+ "gitHead": "9dedf75962d3a804204ae3341588ee91533c63dd"
43
43
  }
@@ -14,7 +14,7 @@ export class PackingWorksheetController extends VasWorksheetController {
14
14
  domain: this.domain,
15
15
  name: releaseGoodNo
16
16
  },
17
- ['orderInventories']
17
+ ['orderInventories', 'orderInventories.inventory']
18
18
  )
19
19
  let orderInventories: OrderInventory[] = releaseGood.orderInventories
20
20
 
@@ -1,6 +1,7 @@
1
1
  import { EntityManager, getRepository } from 'typeorm'
2
2
 
3
3
  import { User } from '@things-factory/auth-base'
4
+ import { ReleaseGood, OrderInventory } from '@things-factory/sales-base'
4
5
  import { Setting } from '@things-factory/setting-base'
5
6
  import { Domain } from '@things-factory/shell'
6
7
 
@@ -10,69 +11,79 @@ import { pickingWorksheet } from '../picking-worksheet'
10
11
  import { activatePicking } from './activate-picking'
11
12
 
12
13
  export const fetchAndAssignPickingTaskResolver = {
13
- async fetchAndAssignPickingTask(_: any, {}, context: any) {
14
- const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
15
- const assignee: User = await tx.getRepository(User).findOne(user.id, { relations: ['domains'] })
16
- if ((assignee?.domains || []).every((userDomain: Domain) => userDomain.id !== domain.id))
17
- throw new Error('Target user is not belong to current domain')
14
+ async fetchAndAssignPickingTask(_: any, { }, context: any) {
15
+ try {
16
+ const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
17
+ const assignee: User = await tx.getRepository(User).findOne(user.id, { relations: ['domains'] })
18
+ if ((assignee?.domains || []).every((userDomain: Domain) => userDomain.id !== domain.id))
19
+ throw new Error('Target user is not belong to current domain')
18
20
 
19
- if (!assignee) throw new Error('failed to find target user')
21
+ if (!assignee) throw new Error('failed to find target user')
20
22
 
21
- let worksheet: Worksheet
22
- worksheet = await tx.getRepository(Worksheet).findOne({
23
- relations: ['releaseGood'],
24
- where: [
25
- {
26
- domain,
27
- type: WORKSHEET_TYPE.PICKING,
28
- status: WORKSHEET_STATUS.EXECUTING,
29
- assignee: assignee
30
- },
31
- {
32
- domain,
33
- type: WORKSHEET_TYPE.PICKING,
34
- status: WORKSHEET_STATUS.DEACTIVATED,
35
- assignee: assignee
36
- }
37
- ],
38
- order: {
39
- name: 'ASC'
40
- }
41
- })
23
+ let worksheet: any
24
+ let worksheetQb = await tx.getRepository(Worksheet).createQueryBuilder('ws')
25
+ .select('ws.id')
26
+ .addSelect('ws.name')
27
+ .addSelect('ws.status')
28
+ .addSelect('ws.release_good_id')
29
+ .where('(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id =:assignee AND (ws.status = :status1 OR ws.status = :status2))', { domain_id: domain.id, type: WORKSHEET_TYPE.PICKING, assignee: assignee.id, status1: WORKSHEET_STATUS.EXECUTING, status2: WORKSHEET_STATUS.DEACTIVATED })
30
+ .andWhere(qb => {
31
+ const subQuery = qb
32
+ .subQuery()
33
+ .select('COUNT(*) AS totalPS')
34
+ .from(OrderInventory, 'OrderInventory')
35
+ .where('OrderInventory.release_good_id = ws.release_good_id')
36
+ .andWhere(`OrderInventory.status = 'PENDING_SPLIT'`)
37
+ .groupBy('OrderInventory.release_good_id')
38
+ .having('COUNT(*) > 0')
39
+ .getQuery()
40
+ return 'NOT EXISTS ' + subQuery
41
+ })
42
42
 
43
- if (!worksheet) {
44
- worksheet = await tx.getRepository(Worksheet).findOne({
45
- relations: ['releaseGood'],
46
- where: [
47
- {
48
- domain,
49
- type: WORKSHEET_TYPE.PICKING,
50
- status: WORKSHEET_STATUS.EXECUTING,
51
- assignee: null
52
- },
53
- {
54
- domain,
55
- type: WORKSHEET_TYPE.PICKING,
56
- status: WORKSHEET_STATUS.DEACTIVATED,
57
- assignee: null
58
- }
59
- ]
60
- })
43
+ worksheet = await worksheetQb.getRawOne();
61
44
 
62
- await getRepository(Worksheet).update({ id: worksheet.id }, { assignee: assignee })
63
- }
45
+ if (!worksheet) {
46
+ let worksheetQb = await tx.getRepository(Worksheet).createQueryBuilder('ws')
47
+ .select('ws.id')
48
+ .addSelect('ws.name')
49
+ .addSelect('ws.status')
50
+ .addSelect('ws.release_good_id')
51
+ .where('(ws.domain_id = :domain_id AND ws.type = :type AND ws.assignee_id IS NULL AND (ws.status = :status1 OR ws.status = :status2))', { domain_id: domain.id, type: WORKSHEET_TYPE.PICKING, status1: WORKSHEET_STATUS.EXECUTING, status2: WORKSHEET_STATUS.DEACTIVATED })
52
+ .andWhere(qb => {
53
+ const subQuery = qb
54
+ .subQuery()
55
+ .select('COUNT(*) AS totalPS')
56
+ .from(OrderInventory, 'OrderInventory')
57
+ .where('OrderInventory.release_good_id = ws.release_good_id')
58
+ .andWhere(`OrderInventory.status = 'PENDING_SPLIT'`)
59
+ .groupBy('OrderInventory.release_good_id')
60
+ .having('COUNT(*) > 0')
61
+ .getQuery()
62
+ return 'NOT EXISTS ' + subQuery
63
+ })
64
+
65
+ worksheet = await worksheetQb.getRawOne();
66
+
67
+ if (!worksheet) throw new Error('no suitable worksheet found')
68
+ await getRepository(Worksheet).update({ id: worksheet.id }, { assignee: assignee })
69
+ }
64
70
 
65
- if (worksheet.status == WORKSHEET_STATUS.DEACTIVATED) await activatePicking(tx, domain, user, worksheet.name)
71
+ if (worksheet.status == WORKSHEET_STATUS.DEACTIVATED) await activatePicking(tx, domain, user, worksheet.ws_name)
66
72
 
67
- const locationSortingRules: Setting = await tx.getRepository(Setting).findOne({
68
- where: { domain, name: 'rule-for-picking-product' }
69
- })
73
+ const locationSortingRules: Setting = await tx.getRepository(Setting).findOne({
74
+ where: { domain, name: 'rule-for-picking-product' }
75
+ })
70
76
 
71
- const sortingRule = JSON.parse(locationSortingRules.value)
72
- const locationSortingRule = Object.keys(sortingRule).map(field => {
73
- return { name: field, desc: sortingRule[field] === 'DESC' }
74
- })
77
+ const sortingRule = JSON.parse(locationSortingRules.value)
78
+ const locationSortingRule = Object.keys(sortingRule).map(field => {
79
+ return { name: field, desc: sortingRule[field] === 'DESC' }
80
+ })
75
81
 
76
- return await pickingWorksheet(domain, worksheet.releaseGood.name, locationSortingRule, tx)
82
+ const releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne(worksheet.release_good_id)
83
+
84
+ return await pickingWorksheet(domain, releaseGood.name, locationSortingRule, tx)
85
+ } catch (error) {
86
+ throw error
87
+ }
77
88
  }
78
89
  }