@things-factory/worksheet-base 4.1.18 → 4.1.22

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.
@@ -25,9 +25,39 @@ exports.confirmCancellationReleaseOrder = {
25
25
  let foundOVs = releaseGood.orderVass;
26
26
  // 1. Check Order Inventory status
27
27
  // 1a. separate into two groups, group 1: pending cancel, group 2: picked
28
- let cancelOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.PENDING_CANCEL);
29
- let pickedOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.PENDING_REVERSE);
30
- let replacedOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.REPLACED);
28
+ let cancelOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.PENDING_CANCEL).reduce((acc, oi) => {
29
+ let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id);
30
+ if (existingRecordIdx >= 0) {
31
+ acc[existingRecordIdx].releaseQty += oi.releaseQty;
32
+ acc[existingRecordIdx].releaseUomValue += oi.releaseQty;
33
+ }
34
+ else {
35
+ acc.push(oi);
36
+ }
37
+ return acc;
38
+ }, []);
39
+ let pickedOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.PENDING_REVERSE).reduce((acc, oi) => {
40
+ let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id);
41
+ if (existingRecordIdx >= 0) {
42
+ acc[existingRecordIdx].releaseQty += oi.releaseQty;
43
+ acc[existingRecordIdx].releaseUomValue += oi.releaseQty;
44
+ }
45
+ else {
46
+ acc.push(oi);
47
+ }
48
+ return acc;
49
+ }, []);
50
+ let replacedOI = targetOIs.filter((oi) => oi.status === sales_base_1.ORDER_INVENTORY_STATUS.REPLACED).reduce((acc, oi) => {
51
+ let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id);
52
+ if (existingRecordIdx >= 0) {
53
+ acc[existingRecordIdx].releaseQty += oi.releaseQty;
54
+ acc[existingRecordIdx].releaseUomValue += oi.releaseQty;
55
+ }
56
+ else {
57
+ acc.push(oi);
58
+ }
59
+ return acc;
60
+ }, []);
31
61
  if (pickedOI && (pickedOI === null || pickedOI === void 0 ? void 0 : pickedOI.length)) {
32
62
  await tx.getRepository(sales_base_1.OrderInventory).save(await Promise.all(pickedOI.map(async (orderInventory) => {
33
63
  let inventory = orderInventory.inventory;
@@ -36,6 +66,7 @@ exports.confirmCancellationReleaseOrder = {
36
66
  cancelledTargetInventory.status = sales_base_1.ORDER_INVENTORY_STATUS.CANCELLED;
37
67
  cancelledTargetInventory.updater = user;
38
68
  if (inventory) {
69
+ inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({ id: inventory.id });
39
70
  inventory.qty += orderInventory.releaseQty;
40
71
  inventory.uomValue += orderInventory.releaseUomValue;
41
72
  inventory.status = warehouse_base_1.INVENTORY_STATUS.STORED;
@@ -57,6 +88,7 @@ exports.confirmCancellationReleaseOrder = {
57
88
  await tx.getRepository(sales_base_1.OrderInventory).save(await Promise.all(cancelOI.map(async (orderInventory) => {
58
89
  let inventory = orderInventory.inventory;
59
90
  if (inventory) {
91
+ inventory = await tx.getRepository(warehouse_base_1.Inventory).findOne({ id: inventory.id });
60
92
  inventory.lockedQty -= orderInventory.releaseQty;
61
93
  inventory.lockedUomValue -= orderInventory.releaseUomValue;
62
94
  await tx.getRepository(warehouse_base_1.Inventory).save(inventory);
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-cancellation-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-cancellation-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePickingWorksheetDetailsResolver = void 0;
4
+ const sales_base_1 = require("@things-factory/sales-base");
5
+ const setting_base_1 = require("@things-factory/setting-base");
6
+ const warehouse_base_1 = require("@things-factory/warehouse-base");
7
+ const constants_1 = require("../../../constants");
8
+ const entities_1 = require("../../../entities");
9
+ const utils_1 = require("../../../utils");
10
+ exports.generatePickingWorksheetDetailsResolver = {
11
+ async generatePickingWorksheetDetails(_, { bizplaceId, selectedItems, pickingStrategy, worksheetNo, locationSortingRules }, context) {
12
+ const { tx, user, domain } = context.state;
13
+ // 1. find related worksheet
14
+ const worksheet = await tx.getRepository(entities_1.Worksheet).findOne({
15
+ where: { name: worksheetNo, status: constants_1.WORKSHEET_STATUS.DEACTIVATED, domain },
16
+ relations: ['releaseGood']
17
+ });
18
+ if (!worksheet)
19
+ throw new Error('picking worksheet not found');
20
+ const worksheetId = worksheet.id;
21
+ // 2. search for sorting rules
22
+ const inventoryAssignmentSetting = await tx.getRepository(setting_base_1.Setting).findOne({
23
+ where: { domain, name: 'rule-for-inventory-assignment' }
24
+ });
25
+ if (!locationSortingRules && inventoryAssignmentSetting) {
26
+ locationSortingRules = [];
27
+ let locationSetting = JSON.parse(inventoryAssignmentSetting.value);
28
+ for (const key in locationSetting) {
29
+ locationSortingRules.push({ name: key, desc: locationSetting[key] == 'ASC' ? false : true });
30
+ }
31
+ }
32
+ try {
33
+ // 3. get all related inventories by strategy
34
+ let inventories = await (0, warehouse_base_1.getInventoriesByStrategy)(domain.id, bizplaceId, worksheetId, selectedItems, pickingStrategy, locationSortingRules, tx);
35
+ // 4. get worksheet details
36
+ let worksheetDetails = selectedItems.reduce((accWSD, oi) => {
37
+ const relatedInventories = inventories.filter(inv => inv.productId == oi.productId &&
38
+ inv.batchId == oi.batchId &&
39
+ inv.packingType == oi.packingType &&
40
+ inv.packingSize == oi.packingSize &&
41
+ inv.uom == oi.uom &&
42
+ inv.remainQty);
43
+ if (relatedInventories.length &&
44
+ oi.releaseQty <= inventories.reduce((totalQty, inv) => totalQty + inv.remainQty, 0)) {
45
+ let composedWSD = _composeWorksheetDetails(domain, user, worksheet.releaseGood, bizplaceId, oi, relatedInventories);
46
+ accWSD.push(...composedWSD);
47
+ }
48
+ return accWSD;
49
+ }, []);
50
+ let targetInventories = worksheetDetails.map((wsd) => wsd.targetInventory);
51
+ // 5. remove existing worksheet details and its target inventory if there's any
52
+ await _removeOldWorksheetDetails(targetInventories, worksheet.id, tx);
53
+ targetInventories = await tx.getRepository(sales_base_1.OrderInventory).save(targetInventories);
54
+ let newWorksheetDetails = [];
55
+ for (let i = 0, l = targetInventories.length; i < l; i++) {
56
+ const targetInventory = targetInventories[i];
57
+ // 6. update inventory lockedQty and lockedUomValue
58
+ await tx
59
+ .createQueryBuilder()
60
+ .update(warehouse_base_1.Inventory)
61
+ .set({
62
+ lockedQty: () => `COALESCE("locked_qty", 0) + ${targetInventory.releaseQty}`,
63
+ lockedUomValue: () => `COALESCE("locked_uom_value", 0) + ${targetInventory.releaseUomValue}`,
64
+ updater: user
65
+ })
66
+ .where('id = :id', { id: targetInventory.inventory.id })
67
+ .execute();
68
+ // 7. collect new worksheet details records
69
+ const worksheetDetail = Object.assign(new entities_1.WorksheetDetail(), {
70
+ domain,
71
+ bizplace: { id: bizplaceId },
72
+ worksheet,
73
+ name: utils_1.WorksheetNoGenerator.pickingDetail(),
74
+ seq: 0,
75
+ targetInventory,
76
+ type: constants_1.WORKSHEET_TYPE.PICKING,
77
+ status: constants_1.WORKSHEET_STATUS.DEACTIVATED,
78
+ creator: user,
79
+ updater: user
80
+ });
81
+ newWorksheetDetails.push(worksheetDetail);
82
+ }
83
+ // 8. save worksheet details
84
+ await tx.getRepository(entities_1.WorksheetDetail).save(newWorksheetDetails);
85
+ return true;
86
+ }
87
+ catch (error) {
88
+ throw error;
89
+ }
90
+ }
91
+ };
92
+ function _composeWorksheetDetails(domain, user, releaseGood, bizplaceId, record, inventories) {
93
+ let leftReleaseQty = record.releaseQty;
94
+ let leftReleaseUomValue = record.releaseUomValue;
95
+ let compReleaseQty = 0;
96
+ let compReleaseUomValue = 0;
97
+ let worksheetDetails = [];
98
+ let idx = 0;
99
+ while (compReleaseQty < record.releaseQty) {
100
+ const inv = inventories[idx];
101
+ let releaseQty = 0;
102
+ let releaseUomValue = 0;
103
+ if (inv.remainQty > leftReleaseQty) {
104
+ compReleaseQty += leftReleaseQty;
105
+ compReleaseUomValue += leftReleaseUomValue;
106
+ releaseQty = leftReleaseQty;
107
+ releaseUomValue = leftReleaseUomValue;
108
+ }
109
+ else {
110
+ compReleaseQty += inv.remainQty;
111
+ compReleaseUomValue += inv.remainUomValue;
112
+ leftReleaseQty -= inv.remainQty;
113
+ leftReleaseUomValue -= inv.remainUomValue;
114
+ releaseQty = inv.remainQty;
115
+ releaseUomValue = inv.remainUomValue;
116
+ }
117
+ let worksheetDetail = Object.assign(new entities_1.WorksheetDetail(), {
118
+ targetInventory: {
119
+ domain,
120
+ bizplace: { id: bizplaceId },
121
+ name: sales_base_1.OrderNoGenerator.orderInventory(),
122
+ releaseGood,
123
+ inventory: { id: inv.id },
124
+ product: { id: inv.productId },
125
+ batchId: inv.batchId,
126
+ batchIdRef: inv.batchIdRef,
127
+ packingType: inv.packingType,
128
+ packingSize: inv.packingSize,
129
+ releaseQty,
130
+ releaseUomValue,
131
+ creator: user,
132
+ updater: user,
133
+ status: sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK,
134
+ type: sales_base_1.ORDER_TYPES.RELEASE_OF_GOODS.value
135
+ }
136
+ });
137
+ worksheetDetails.push(worksheetDetail);
138
+ idx++;
139
+ }
140
+ return worksheetDetails;
141
+ }
142
+ async function _removeOldWorksheetDetails(targetInventories, worksheetId, tx) {
143
+ let orderProductJson = JSON.stringify(targetInventories.map((target) => {
144
+ return {
145
+ product_id: target.product.id,
146
+ batch_id: target.batchId,
147
+ packing_type: target.packingType,
148
+ packing_size: target.packingSize
149
+ };
150
+ }));
151
+ // get worksheetDetail IDs and their targetInventory IDs
152
+ let existingOIandWSD = await tx.query(`
153
+ SELECT wsd.id AS "worksheetDetailId", oi.id AS "orderInventoryId"
154
+ FROM order_inventories oi
155
+ INNER JOIN JSON_POPULATE_RECORDSET(NULL::order_products, $1) js ON oi.batch_id = js.batch_id
156
+ AND oi.product_id = js.product_id
157
+ AND oi.packing_type = js.packing_type
158
+ AND oi.packing_size = js.packing_size
159
+ LEFT JOIN worksheet_details wsd ON oi.id = wsd.target_inventory_id
160
+ WHERE oi.release_good_id = $2
161
+ `, [orderProductJson, worksheetId]);
162
+ // if found the records then delete, so that we can create new records
163
+ if (existingOIandWSD.length) {
164
+ await tx.getRepository(entities_1.WorksheetDetail).delete(existingOIandWSD.map((wsd) => wsd.worksheetDetailId));
165
+ await tx.getRepository(sales_base_1.OrderInventory).delete(existingOIandWSD.map((wsd) => wsd.orderInventoryId));
166
+ }
167
+ }
168
+ //# sourceMappingURL=generate-picking-worksheet-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-picking-worksheet-details.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/generate-picking-worksheet-details.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Mutation = exports.Query = void 0;
4
+ const check_progressing_pallet_1 = require("./check-progressing-pallet");
4
5
  const create_worksheet_detail_1 = require("./create-worksheet-detail");
5
6
  const delete_worksheet_detail_1 = require("./delete-worksheet-detail");
6
- const generate_release_good_worksheet_details_1 = require("./generate-release-good-worksheet-details");
7
7
  const generate_batch_picking_worksheet_details_1 = require("./generate-batch-picking-worksheet-details");
8
8
  const generate_batch_picking_worksheet_details_by_bulk_1 = require("./generate-batch-picking-worksheet-details-by-bulk");
9
- const check_progressing_pallet_1 = require("./check-progressing-pallet");
10
- const generate_pallet_id_1 = require("./generate-pallet-id");
11
9
  const generate_carton_id_1 = require("./generate-carton-id");
10
+ const generate_pallet_id_1 = require("./generate-pallet-id");
11
+ const generate_picking_worksheet_details_1 = require("./generate-picking-worksheet-details");
12
+ const generate_release_good_worksheet_details_1 = require("./generate-release-good-worksheet-details");
12
13
  const update_worksheet_detail_1 = require("./update-worksheet-detail");
13
14
  const worksheet_detail_1 = require("./worksheet-detail");
14
15
  const worksheet_details_1 = require("./worksheet-details");
15
16
  const worksheet_details_by_product_group_1 = require("./worksheet-details-by-product-group");
16
17
  exports.Query = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, worksheet_details_1.worksheetDetailsResolver), worksheet_detail_1.worksheetDetailResolver), worksheet_details_by_product_group_1.worksheetDetailsByProductGroupResolver), check_progressing_pallet_1.checkProgressingPalletResolver), generate_pallet_id_1.generatePalletIdResolver), generate_carton_id_1.generateCartonIdResolver);
17
- exports.Mutation = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, update_worksheet_detail_1.updateWorksheetDetail), create_worksheet_detail_1.createWorksheetDetail), delete_worksheet_detail_1.deleteWorksheetDetail), generate_batch_picking_worksheet_details_1.generateBatchPickingWorksheetDetailsResolver), generate_batch_picking_worksheet_details_by_bulk_1.generateBatchPickingWorksheetDetailsByBulkResolver), generate_release_good_worksheet_details_1.generateReleaseGoodWorksheetDetailsResolver);
18
+ exports.Mutation = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, update_worksheet_detail_1.updateWorksheetDetail), create_worksheet_detail_1.createWorksheetDetail), delete_worksheet_detail_1.deleteWorksheetDetail), generate_batch_picking_worksheet_details_1.generateBatchPickingWorksheetDetailsResolver), generate_batch_picking_worksheet_details_by_bulk_1.generateBatchPickingWorksheetDetailsByBulkResolver), generate_picking_worksheet_details_1.generatePickingWorksheetDetailsResolver), generate_release_good_worksheet_details_1.generateReleaseGoodWorksheetDetailsResolver);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/index.ts"],"names":[],"mappings":";;;AAAA,uEAAiE;AACjE,uEAAiE;AACjE,uGAAuG;AACvG,yGAAyG;AACzG,yHAAuH;AACvH,yEAA2E;AAC3E,6DAA+D;AAC/D,6DAA+D;AAC/D,uEAAiE;AACjE,yDAA4D;AAC5D,2DAA8D;AAC9D,6FAA6F;AAEhF,QAAA,KAAK,2FACb,4CAAwB,GACxB,0CAAuB,GACvB,2EAAsC,GACtC,yDAA8B,GAC9B,6CAAwB,GACxB,6CAAwB,EAC5B;AAEY,QAAA,QAAQ,2FAChB,+CAAqB,GACrB,+CAAqB,GACrB,+CAAqB,GACrB,uFAA4C,GAC5C,qGAAkD,GAClD,qFAA2C,EAC/C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet-detail/index.ts"],"names":[],"mappings":";;;AAAA,yEAA2E;AAC3E,uEAAiE;AACjE,uEAAiE;AACjE,yGAAyG;AACzG,yHAAuH;AACvH,6DAA+D;AAC/D,6DAA+D;AAC/D,6FAA8F;AAC9F,uGAAuG;AACvG,uEAAiE;AACjE,yDAA4D;AAC5D,2DAA8D;AAC9D,6FAA6F;AAEhF,QAAA,KAAK,2FACb,4CAAwB,GACxB,0CAAuB,GACvB,2EAAsC,GACtC,yDAA8B,GAC9B,6CAAwB,GACxB,6CAAwB,EAC5B;AAEY,QAAA,QAAQ,yGAChB,+CAAqB,GACrB,+CAAqB,GACrB,+CAAqB,GACrB,uFAA4C,GAC5C,qGAAkD,GAClD,4EAAuC,GACvC,qFAA2C,EAC/C"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Types = exports.Query = exports.Mutation = void 0;
4
+ const inventory_detail_1 = require("./inventory-detail");
4
5
  const new_worksheet_detail_1 = require("./new-worksheet-detail");
6
+ const pallet_info_1 = require("./pallet-info");
5
7
  const worksheet_detail_1 = require("./worksheet-detail");
6
8
  const worksheet_detail_list_1 = require("./worksheet-detail-list");
7
9
  const worksheet_detail_patch_1 = require("./worksheet-detail-patch");
8
- const pallet_info_1 = require("./pallet-info");
9
- const inventory_detail_1 = require("./inventory-detail");
10
10
  exports.Mutation = `
11
11
  createWorksheetDetail (
12
12
  worksheetDetail: NewWorksheetDetail!
@@ -46,6 +46,14 @@ exports.Mutation = `
46
46
  pickingStrategy: String!
47
47
  ): Boolean @transaction
48
48
 
49
+ generatePickingWorksheetDetails(
50
+ bizplaceId: String!
51
+ selectedItems: [OrderInventoryPatch]!
52
+ pickingStrategy: String!
53
+ worksheetNo: String!
54
+ locationSortingRules: [Sorting]
55
+ ): Boolean @transaction
56
+
49
57
  `;
50
58
  exports.Query = `
51
59
  worksheetDetails(filters: [Filter], pagination: Pagination, sortings: [Sorting]): WorksheetDetailList @transaction
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet-detail/index.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAC3D,yDAAoD;AACpD,mEAA6D;AAC7D,qEAA+D;AAC/D,+CAA0C;AAC1C,yDAAoD;AAEvC,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;CAOlC,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,kCAAe;IACf,yCAAkB;IAClB,6CAAoB;IACpB,2CAAmB;IACnB,wBAAU;IACV,kCAAe;CAChB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet-detail/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,iEAA2D;AAC3D,+CAA0C;AAC1C,yDAAoD;AACpD,mEAA6D;AAC7D,qEAA+D;AAElD,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;CAOlC,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,kCAAe;IACf,yCAAkB;IAClB,6CAAoB;IACpB,2CAAmB;IACnB,wBAAU;IACV,kCAAe;CAChB,CAAA"}
@@ -8,7 +8,7 @@ const warehouse_base_1 = require("@things-factory/warehouse-base");
8
8
  * @description It will insert new record into inventory histories table.
9
9
  * seq will be calculated based on number of records for one specific pallet id (provided by inventory object)
10
10
  */
11
- async function generateInventoryHistory(inventory, refOrder, transactionType, qty, uomValue, user, trxMgr, targetInventory = {}) {
11
+ async function generateInventoryHistory(inventory, refOrder, transactionType, qty = 0, uomValue = 0, user, trxMgr, targetInventory = {}) {
12
12
  var _a, _b, _c;
13
13
  const invHistoryRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(warehouse_base_1.InventoryHistory)) || (0, typeorm_1.getRepository)(warehouse_base_1.InventoryHistory);
14
14
  const invRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(warehouse_base_1.Inventory)) || (0, typeorm_1.getRepository)(warehouse_base_1.Inventory);
@@ -57,14 +57,6 @@ async function generateInventoryHistory(inventory, refOrder, transactionType, qt
57
57
  uomValue -= prevTotalUomValue;
58
58
  }
59
59
  }
60
- else if (transactionType == 'UNDO_UNLOADING' || transactionType == 'RETURN') {
61
- qty = qty;
62
- uomValue = uomValue;
63
- }
64
- else {
65
- qty = 0;
66
- uomValue = 0;
67
- }
68
60
  let inventoryHistory = new warehouse_base_1.InventoryHistory();
69
61
  inventoryHistory.name = warehouse_base_1.InventoryNoGenerator.inventoryHistoryName();
70
62
  inventoryHistory.description = inventory.description;
@@ -100,7 +92,11 @@ async function generateInventoryHistory(inventory, refOrder, transactionType, qt
100
92
  inventoryHistory.updater = user;
101
93
  inventoryHistory = await invHistoryRepo.save(inventoryHistory);
102
94
  if (inventory.lastSeq !== seq) {
103
- await invRepo.save(Object.assign(Object.assign({}, inventory), { lastSeq: inventoryHistory.seq, updater: user }));
95
+ await invRepo.save({
96
+ id: inventory.id,
97
+ lastSeq: inventoryHistory.seq,
98
+ updater: user
99
+ });
104
100
  }
105
101
  await switchLocationStatus(domain, location, user, trxMgr);
106
102
  return inventoryHistory;
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory-util.js","sourceRoot":"","sources":["../../server/utils/inventory-util.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": "4.1.18",
3
+ "version": "4.1.22",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,21 +24,21 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@things-factory/auth-base": "^4.1.18",
28
- "@things-factory/biz-base": "^4.1.18",
29
- "@things-factory/document-template-base": "^4.1.18",
30
- "@things-factory/id-rule-base": "^4.1.18",
31
- "@things-factory/integration-lmd": "^4.1.18",
32
- "@things-factory/integration-marketplace": "^4.1.18",
33
- "@things-factory/integration-sellercraft": "^4.1.18",
34
- "@things-factory/integration-sftp": "^4.1.18",
35
- "@things-factory/marketplace-base": "^4.1.18",
36
- "@things-factory/notification": "^4.1.18",
37
- "@things-factory/sales-base": "^4.1.18",
38
- "@things-factory/setting-base": "^4.1.18",
39
- "@things-factory/shell": "^4.1.18",
40
- "@things-factory/transport-base": "^4.1.18",
41
- "@things-factory/warehouse-base": "^4.1.18"
27
+ "@things-factory/auth-base": "^4.1.22",
28
+ "@things-factory/biz-base": "^4.1.22",
29
+ "@things-factory/document-template-base": "^4.1.22",
30
+ "@things-factory/id-rule-base": "^4.1.22",
31
+ "@things-factory/integration-lmd": "^4.1.22",
32
+ "@things-factory/integration-marketplace": "^4.1.22",
33
+ "@things-factory/integration-sellercraft": "^4.1.22",
34
+ "@things-factory/integration-sftp": "^4.1.22",
35
+ "@things-factory/marketplace-base": "^4.1.22",
36
+ "@things-factory/notification": "^4.1.22",
37
+ "@things-factory/sales-base": "^4.1.22",
38
+ "@things-factory/setting-base": "^4.1.22",
39
+ "@things-factory/shell": "^4.1.22",
40
+ "@things-factory/transport-base": "^4.1.22",
41
+ "@things-factory/warehouse-base": "^4.1.22"
42
42
  },
43
- "gitHead": "64b0a3a1ddc1556e2c7bb93e195f6aca610ae823"
43
+ "gitHead": "e40b890d9a573562872298a6b79b26f600f607bf"
44
44
  }
@@ -42,13 +42,42 @@ export const confirmCancellationReleaseOrder = {
42
42
  // 1a. separate into two groups, group 1: pending cancel, group 2: picked
43
43
  let cancelOI: OrderInventory[] = targetOIs.filter(
44
44
  (oi: OrderInventory) => oi.status === ORDER_INVENTORY_STATUS.PENDING_CANCEL
45
- )
45
+ ).reduce((acc, oi) => {
46
+ let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id)
47
+ if (existingRecordIdx >= 0) {
48
+ acc[existingRecordIdx].releaseQty += oi.releaseQty
49
+ acc[existingRecordIdx].releaseUomValue += oi.releaseQty
50
+ } else {
51
+ acc.push(oi)
52
+ }
53
+ return acc
54
+ }, [])
55
+
46
56
  let pickedOI: OrderInventory[] = targetOIs.filter(
47
57
  (oi: OrderInventory) => oi.status === ORDER_INVENTORY_STATUS.PENDING_REVERSE
48
- )
58
+ ).reduce((acc, oi) => {
59
+ let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id)
60
+ if (existingRecordIdx >= 0) {
61
+ acc[existingRecordIdx].releaseQty += oi.releaseQty
62
+ acc[existingRecordIdx].releaseUomValue += oi.releaseQty
63
+ } else {
64
+ acc.push(oi)
65
+ }
66
+ return acc
67
+ }, [])
68
+
49
69
  let replacedOI: OrderInventory[] = targetOIs.filter(
50
70
  (oi: OrderInventory) => oi.status === ORDER_INVENTORY_STATUS.REPLACED
51
- )
71
+ ).reduce((acc, oi) => {
72
+ let existingRecordIdx = acc.findIndex(i => i.inventory.id == oi.inventory.id)
73
+ if (existingRecordIdx >= 0) {
74
+ acc[existingRecordIdx].releaseQty += oi.releaseQty
75
+ acc[existingRecordIdx].releaseUomValue += oi.releaseQty
76
+ } else {
77
+ acc.push(oi)
78
+ }
79
+ return acc
80
+ }, [])
52
81
 
53
82
  if (pickedOI && pickedOI?.length) {
54
83
  await tx.getRepository(OrderInventory).save(
@@ -62,6 +91,7 @@ export const confirmCancellationReleaseOrder = {
62
91
  cancelledTargetInventory.updater = user
63
92
 
64
93
  if (inventory) {
94
+ inventory = await tx.getRepository(Inventory).findOne({ id: inventory.id })
65
95
  inventory.qty += orderInventory.releaseQty
66
96
  inventory.uomValue += orderInventory.releaseUomValue
67
97
  inventory.status = INVENTORY_STATUS.STORED
@@ -100,6 +130,7 @@ export const confirmCancellationReleaseOrder = {
100
130
  let inventory: Inventory = orderInventory.inventory
101
131
 
102
132
  if (inventory) {
133
+ inventory = await tx.getRepository(Inventory).findOne({ id: inventory.id })
103
134
  inventory.lockedQty -= orderInventory.releaseQty
104
135
  inventory.lockedUomValue -= orderInventory.releaseUomValue
105
136
  await tx.getRepository(Inventory).save(inventory)
@@ -0,0 +1,243 @@
1
+ import { EntityManager } from 'typeorm'
2
+
3
+ import { User } from '@things-factory/auth-base'
4
+ import {
5
+ ORDER_INVENTORY_STATUS,
6
+ ORDER_TYPES,
7
+ OrderInventory,
8
+ OrderInventoryPatch,
9
+ OrderNoGenerator,
10
+ ReleaseGood
11
+ } from '@things-factory/sales-base'
12
+ import { Setting } from '@things-factory/setting-base'
13
+ import { Domain } from '@things-factory/shell'
14
+ import { getInventoriesByStrategy, Inventory } from '@things-factory/warehouse-base'
15
+
16
+ import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
17
+ import { Worksheet, WorksheetDetail } from '../../../entities'
18
+ import { WorksheetNoGenerator } from '../../../utils'
19
+
20
+ export const generatePickingWorksheetDetailsResolver = {
21
+ async generatePickingWorksheetDetails(
22
+ _: any,
23
+ { bizplaceId, selectedItems, pickingStrategy, worksheetNo, locationSortingRules },
24
+ context: any
25
+ ): Promise<Boolean> {
26
+ const { tx, user, domain }: { tx: EntityManager; user: User; domain: Domain } = context.state
27
+
28
+ // 1. find related worksheet
29
+ const worksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
30
+ where: { name: worksheetNo, status: WORKSHEET_STATUS.DEACTIVATED, domain },
31
+ relations: ['releaseGood']
32
+ })
33
+
34
+ if (!worksheet) throw new Error('picking worksheet not found')
35
+ const worksheetId = worksheet.id
36
+
37
+ // 2. search for sorting rules
38
+ const inventoryAssignmentSetting: Setting = await tx.getRepository(Setting).findOne({
39
+ where: { domain, name: 'rule-for-inventory-assignment' }
40
+ })
41
+
42
+ if (!locationSortingRules && inventoryAssignmentSetting) {
43
+ locationSortingRules = []
44
+ let locationSetting = JSON.parse(inventoryAssignmentSetting.value)
45
+ for (const key in locationSetting) {
46
+ locationSortingRules.push({ name: key, desc: locationSetting[key] == 'ASC' ? false : true })
47
+ }
48
+ }
49
+
50
+ try {
51
+ // 3. get all related inventories by strategy
52
+ let inventories: any[] = await getInventoriesByStrategy(
53
+ domain.id,
54
+ bizplaceId,
55
+ worksheetId,
56
+ selectedItems,
57
+ pickingStrategy,
58
+ locationSortingRules,
59
+ tx
60
+ )
61
+
62
+ // 4. get worksheet details
63
+ let worksheetDetails: WorksheetDetail[] = selectedItems.reduce(
64
+ (accWSD: WorksheetDetail[], oi: OrderInventoryPatch) => {
65
+ const relatedInventories = inventories.filter(
66
+ inv =>
67
+ inv.productId == oi.productId &&
68
+ inv.batchId == oi.batchId &&
69
+ inv.packingType == oi.packingType &&
70
+ inv.packingSize == oi.packingSize &&
71
+ inv.uom == oi.uom &&
72
+ inv.remainQty
73
+ )
74
+
75
+ if (
76
+ relatedInventories.length &&
77
+ oi.releaseQty <= inventories.reduce((totalQty: number, inv) => totalQty + inv.remainQty, 0)
78
+ ) {
79
+ let composedWSD: WorksheetDetail[] = _composeWorksheetDetails(
80
+ domain,
81
+ user,
82
+ worksheet.releaseGood,
83
+ bizplaceId,
84
+ oi,
85
+ relatedInventories
86
+ )
87
+
88
+ accWSD.push(...composedWSD)
89
+ }
90
+
91
+ return accWSD
92
+ },
93
+ []
94
+ )
95
+
96
+ let targetInventories: OrderInventory = worksheetDetails.map((wsd: WorksheetDetail) => wsd.targetInventory)
97
+
98
+ // 5. remove existing worksheet details and its target inventory if there's any
99
+ await _removeOldWorksheetDetails(targetInventories, worksheet.id, tx)
100
+
101
+ targetInventories = await tx.getRepository(OrderInventory).save(targetInventories)
102
+
103
+ let newWorksheetDetails: WorksheetDetail[] = []
104
+
105
+ for (let i = 0, l = targetInventories.length; i < l; i++) {
106
+ const targetInventory: OrderInventory = targetInventories[i]
107
+
108
+ // 6. update inventory lockedQty and lockedUomValue
109
+ await tx
110
+ .createQueryBuilder()
111
+ .update(Inventory)
112
+ .set({
113
+ lockedQty: () => `COALESCE("locked_qty", 0) + ${targetInventory.releaseQty}`,
114
+ lockedUomValue: () => `COALESCE("locked_uom_value", 0) + ${targetInventory.releaseUomValue}`,
115
+ updater: user
116
+ })
117
+ .where('id = :id', { id: targetInventory.inventory.id })
118
+ .execute()
119
+
120
+ // 7. collect new worksheet details records
121
+ const worksheetDetail: WorksheetDetail = Object.assign(new WorksheetDetail(), {
122
+ domain,
123
+ bizplace: { id: bizplaceId },
124
+ worksheet,
125
+ name: WorksheetNoGenerator.pickingDetail(),
126
+ seq: 0,
127
+ targetInventory,
128
+ type: WORKSHEET_TYPE.PICKING,
129
+ status: WORKSHEET_STATUS.DEACTIVATED,
130
+ creator: user,
131
+ updater: user
132
+ })
133
+
134
+ newWorksheetDetails.push(worksheetDetail)
135
+ }
136
+
137
+ // 8. save worksheet details
138
+ await tx.getRepository(WorksheetDetail).save(newWorksheetDetails)
139
+
140
+ return true
141
+ } catch (error) {
142
+ throw error
143
+ }
144
+ }
145
+ }
146
+
147
+ function _composeWorksheetDetails(
148
+ domain: Domain,
149
+ user: User,
150
+ releaseGood: ReleaseGood,
151
+ bizplaceId: string,
152
+ record: OrderInventoryPatch,
153
+ inventories: Inventory[]
154
+ ): WorksheetDetail[] {
155
+ let leftReleaseQty: number = record.releaseQty
156
+ let leftReleaseUomValue: number = record.releaseUomValue
157
+ let compReleaseQty: number = 0
158
+ let compReleaseUomValue: number = 0
159
+
160
+ let worksheetDetails: Partial<WorksheetDetail[]> = []
161
+ let idx = 0
162
+
163
+ while (compReleaseQty < record.releaseQty) {
164
+ const inv = inventories[idx]
165
+ let releaseQty: number = 0
166
+ let releaseUomValue: number = 0
167
+
168
+ if (inv.remainQty > leftReleaseQty) {
169
+ compReleaseQty += leftReleaseQty
170
+ compReleaseUomValue += leftReleaseUomValue
171
+ releaseQty = leftReleaseQty
172
+ releaseUomValue = leftReleaseUomValue
173
+ } else {
174
+ compReleaseQty += inv.remainQty
175
+ compReleaseUomValue += inv.remainUomValue
176
+ leftReleaseQty -= inv.remainQty
177
+ leftReleaseUomValue -= inv.remainUomValue
178
+ releaseQty = inv.remainQty
179
+ releaseUomValue = inv.remainUomValue
180
+ }
181
+
182
+ let worksheetDetail: WorksheetDetail = Object.assign(new WorksheetDetail(), {
183
+ targetInventory: {
184
+ domain,
185
+ bizplace: { id: bizplaceId },
186
+ name: OrderNoGenerator.orderInventory(),
187
+ releaseGood,
188
+ inventory: { id: inv.id },
189
+ product: { id: inv.productId },
190
+ batchId: inv.batchId,
191
+ batchIdRef: inv.batchIdRef,
192
+ packingType: inv.packingType,
193
+ packingSize: inv.packingSize,
194
+ releaseQty,
195
+ releaseUomValue,
196
+ creator: user,
197
+ updater: user,
198
+ status: ORDER_INVENTORY_STATUS.READY_TO_PICK,
199
+ type: ORDER_TYPES.RELEASE_OF_GOODS.value
200
+ }
201
+ })
202
+
203
+ worksheetDetails.push(worksheetDetail)
204
+
205
+ idx++
206
+ }
207
+
208
+ return worksheetDetails
209
+ }
210
+
211
+ async function _removeOldWorksheetDetails(targetInventories: OrderInventory[], worksheetId: string, tx: EntityManager) {
212
+ let orderProductJson = JSON.stringify(
213
+ targetInventories.map((target: OrderInventory) => {
214
+ return {
215
+ product_id: target.product.id,
216
+ batch_id: target.batchId,
217
+ packing_type: target.packingType,
218
+ packing_size: target.packingSize
219
+ }
220
+ })
221
+ )
222
+
223
+ // get worksheetDetail IDs and their targetInventory IDs
224
+ let existingOIandWSD: WorksheetDetail[] = await tx.query(
225
+ `
226
+ SELECT wsd.id AS "worksheetDetailId", oi.id AS "orderInventoryId"
227
+ FROM order_inventories oi
228
+ INNER JOIN JSON_POPULATE_RECORDSET(NULL::order_products, $1) js ON oi.batch_id = js.batch_id
229
+ AND oi.product_id = js.product_id
230
+ AND oi.packing_type = js.packing_type
231
+ AND oi.packing_size = js.packing_size
232
+ LEFT JOIN worksheet_details wsd ON oi.id = wsd.target_inventory_id
233
+ WHERE oi.release_good_id = $2
234
+ `,
235
+ [orderProductJson, worksheetId]
236
+ )
237
+
238
+ // if found the records then delete, so that we can create new records
239
+ if (existingOIandWSD.length) {
240
+ await tx.getRepository(WorksheetDetail).delete(existingOIandWSD.map((wsd: any) => wsd.worksheetDetailId))
241
+ await tx.getRepository(OrderInventory).delete(existingOIandWSD.map((wsd: any) => wsd.orderInventoryId))
242
+ }
243
+ }
@@ -1,11 +1,12 @@
1
+ import { checkProgressingPalletResolver } from './check-progressing-pallet'
1
2
  import { createWorksheetDetail } from './create-worksheet-detail'
2
3
  import { deleteWorksheetDetail } from './delete-worksheet-detail'
3
- import { generateReleaseGoodWorksheetDetailsResolver } from './generate-release-good-worksheet-details'
4
4
  import { generateBatchPickingWorksheetDetailsResolver } from './generate-batch-picking-worksheet-details'
5
5
  import { generateBatchPickingWorksheetDetailsByBulkResolver } from './generate-batch-picking-worksheet-details-by-bulk'
6
- import { checkProgressingPalletResolver } from './check-progressing-pallet'
7
- import { generatePalletIdResolver } from './generate-pallet-id'
8
6
  import { generateCartonIdResolver } from './generate-carton-id'
7
+ import { generatePalletIdResolver } from './generate-pallet-id'
8
+ import { generatePickingWorksheetDetailsResolver } from './generate-picking-worksheet-details'
9
+ import { generateReleaseGoodWorksheetDetailsResolver } from './generate-release-good-worksheet-details'
9
10
  import { updateWorksheetDetail } from './update-worksheet-detail'
10
11
  import { worksheetDetailResolver } from './worksheet-detail'
11
12
  import { worksheetDetailsResolver } from './worksheet-details'
@@ -26,5 +27,6 @@ export const Mutation = {
26
27
  ...deleteWorksheetDetail,
27
28
  ...generateBatchPickingWorksheetDetailsResolver,
28
29
  ...generateBatchPickingWorksheetDetailsByBulkResolver,
30
+ ...generatePickingWorksheetDetailsResolver,
29
31
  ...generateReleaseGoodWorksheetDetailsResolver
30
32
  }
@@ -1,9 +1,9 @@
1
+ import { InventoryDetail } from './inventory-detail'
1
2
  import { NewWorksheetDetail } from './new-worksheet-detail'
3
+ import { PalletInfo } from './pallet-info'
2
4
  import { WorksheetDetail } from './worksheet-detail'
3
5
  import { WorksheetDetailList } from './worksheet-detail-list'
4
6
  import { WorksheetDetailPatch } from './worksheet-detail-patch'
5
- import { PalletInfo } from './pallet-info'
6
- import { InventoryDetail } from './inventory-detail'
7
7
 
8
8
  export const Mutation = /* GraphQL */ `
9
9
  createWorksheetDetail (
@@ -44,6 +44,14 @@ export const Mutation = /* GraphQL */ `
44
44
  pickingStrategy: String!
45
45
  ): Boolean @transaction
46
46
 
47
+ generatePickingWorksheetDetails(
48
+ bizplaceId: String!
49
+ selectedItems: [OrderInventoryPatch]!
50
+ pickingStrategy: String!
51
+ worksheetNo: String!
52
+ locationSortingRules: [Sorting]
53
+ ): Boolean @transaction
54
+
47
55
  `
48
56
 
49
57
  export const Query = /* GraphQL */ `
@@ -22,8 +22,8 @@ export async function generateInventoryHistory(
22
22
  inventory: Inventory,
23
23
  refOrder: any,
24
24
  transactionType: string,
25
- qty: number,
26
- uomValue: number,
25
+ qty: number = 0,
26
+ uomValue: number = 0,
27
27
  user: User,
28
28
  trxMgr?: EntityManager,
29
29
  targetInventory: Inventory = {}
@@ -82,12 +82,6 @@ export async function generateInventoryHistory(
82
82
  qty -= prevTotalQty
83
83
  uomValue -= prevTotalUomValue
84
84
  }
85
- } else if (transactionType == 'UNDO_UNLOADING' || transactionType == 'RETURN') {
86
- qty = qty
87
- uomValue = uomValue
88
- } else {
89
- qty = 0
90
- uomValue = 0
91
85
  }
92
86
 
93
87
  let inventoryHistory: InventoryHistory = new InventoryHistory()
@@ -128,7 +122,7 @@ export async function generateInventoryHistory(
128
122
 
129
123
  if (inventory.lastSeq !== seq) {
130
124
  await invRepo.save({
131
- ...inventory,
125
+ id: inventory.id,
132
126
  lastSeq: inventoryHistory.seq,
133
127
  updater: user
134
128
  })