@things-factory/worksheet-base 4.3.75 → 4.3.78
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.
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +14 -2
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +6 -9
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +14 -1
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +12 -0
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js +4 -4
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js +54 -11
- package/dist-server/graphql/resolvers/worksheet/packing-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js +87 -79
- package/dist-server/graphql/resolvers/worksheet/pending-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +4 -22
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js +92 -150
- package/dist-server/graphql/resolvers/worksheet/reject-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/types/worksheet/index.js +5 -2
- package/dist-server/graphql/types/worksheet/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js +11 -0
- package/dist-server/graphql/types/worksheet/multiple-release-good-worksheet.js.map +1 -0
- package/dist-server/utils/worksheet-util.js +3 -1
- package/dist-server/utils/worksheet-util.js.map +1 -1
- package/package.json +17 -17
- package/server/controllers/outbound/packing-worksheet-controller.ts +21 -2
- package/server/controllers/outbound/picking-worksheet-controller.ts +7 -11
- package/server/controllers/worksheet-controller.ts +25 -2
- package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +13 -0
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-multiple-release-good-worksheet.ts +3 -7
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +5 -4
- package/server/graphql/resolvers/worksheet/packing-worksheet.ts +62 -12
- package/server/graphql/resolvers/worksheet/pending-cancellation-release-order.ts +99 -94
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +1 -20
- package/server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts +98 -213
- package/server/graphql/types/worksheet/index.ts +5 -2
- package/server/graphql/types/worksheet/multiple-release-good-worksheet.ts +8 -0
- package/server/utils/worksheet-util.ts +3 -1
|
@@ -1,168 +1,110 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.rejectCancellationReleaseOrder = void 0;
|
|
4
|
-
const
|
|
4
|
+
const env_1 = require("@things-factory/env");
|
|
5
5
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
6
6
|
const constants_1 = require("../../../constants");
|
|
7
7
|
const entities_1 = require("../../../entities");
|
|
8
8
|
exports.rejectCancellationReleaseOrder = {
|
|
9
9
|
async rejectCancellationReleaseOrder(_, { name }, context) {
|
|
10
10
|
const { tx, domain, user } = context.state;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
throw new Error(`Release order doesn't exists.`);
|
|
24
|
-
let targetOIs = foundRO.orderInventories;
|
|
25
|
-
let foundOVs = foundRO.orderVass;
|
|
26
|
-
let isDeactivatedPicking = false;
|
|
27
|
-
foundRO.status = sales_base_1.ORDER_STATUS.PENDING_WORKSHEET;
|
|
28
|
-
// get the worksheet based on RO number
|
|
29
|
-
let foundWS = await tx.getRepository(entities_1.Worksheet).find({
|
|
30
|
-
where: {
|
|
31
|
-
domain,
|
|
32
|
-
releaseGood: foundRO
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
// check worksheet table if started_at is not null to indicate that the worksheet has been activated
|
|
36
|
-
if (foundWS && (foundWS === null || foundWS === void 0 ? void 0 : foundWS.length)) {
|
|
37
|
-
foundWS = foundWS.map((ws) => {
|
|
38
|
-
if (ws.startedAt && !ws.endedAt) {
|
|
39
|
-
return Object.assign(Object.assign({}, ws), { status: constants_1.WORKSHEET_STATUS.EXECUTING, updater: user });
|
|
40
|
-
}
|
|
41
|
-
else if (ws.startedAt && ws.endedAt) {
|
|
42
|
-
return Object.assign(Object.assign({}, ws), { status: constants_1.WORKSHEET_STATUS.DONE, updater: user });
|
|
43
|
-
}
|
|
44
|
-
else if (!ws.startedAt && !ws.endedAt && ws.type === constants_1.WORKSHEET_TYPE.PICKING) {
|
|
45
|
-
isDeactivatedPicking = true;
|
|
46
|
-
return Object.assign(Object.assign({}, ws), { status: constants_1.WORKSHEET_STATUS.DEACTIVATED, updater: user });
|
|
47
|
-
}
|
|
11
|
+
try {
|
|
12
|
+
// find release order
|
|
13
|
+
let foundRO = await tx.getRepository(sales_base_1.ReleaseGood).findOne({
|
|
14
|
+
where: { domain, name, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
15
|
+
relations: [
|
|
16
|
+
'bizplace',
|
|
17
|
+
'orderInventories',
|
|
18
|
+
'orderInventories.inventory',
|
|
19
|
+
'orderInventories.inventory.location',
|
|
20
|
+
'orderInventories.deliveryOrder',
|
|
21
|
+
'orderVass'
|
|
22
|
+
]
|
|
48
23
|
});
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.PICKING:
|
|
89
|
-
wsd.status = constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
90
|
-
break;
|
|
91
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.REPLACED:
|
|
92
|
-
wsd.status = constants_1.WORKSHEET_STATUS.REPLACED;
|
|
93
|
-
break;
|
|
94
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.PICKED:
|
|
95
|
-
wsd.status = constants_1.WORKSHEET_STATUS.DONE;
|
|
96
|
-
break;
|
|
97
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.LOADING:
|
|
98
|
-
wsd.status = constants_1.WORKSHEET_STATUS.DONE;
|
|
99
|
-
break;
|
|
100
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.LOADED:
|
|
101
|
-
wsd.status = constants_1.WORKSHEET_STATUS.DONE;
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
else if (((_b = wsd.targetInventory) === null || _b === void 0 ? void 0 : _b.id) === oi.id && wsd.type === constants_1.WORKSHEET_TYPE.LOADING) {
|
|
106
|
-
switch (oi.status) {
|
|
107
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.LOADING:
|
|
108
|
-
wsd.status = constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
109
|
-
break;
|
|
110
|
-
case sales_base_1.ORDER_INVENTORY_STATUS.LOADED:
|
|
111
|
-
wsd.status = constants_1.WORKSHEET_STATUS.DONE;
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
24
|
+
if (!foundRO)
|
|
25
|
+
throw new Error(`Release order doesn't exists.`);
|
|
26
|
+
let targetOIs = foundRO.orderInventories;
|
|
27
|
+
// perform update on all order inventories and worksheet
|
|
28
|
+
let worksheetDetails = await Promise.all(targetOIs.map(async (orderInventory) => {
|
|
29
|
+
let existingWorksheetDetail = await tx.getRepository(entities_1.WorksheetDetail).createQueryBuilder('wd')
|
|
30
|
+
.innerJoinAndSelect('wd.worksheet', 'ws')
|
|
31
|
+
.where('wd.target_inventory_id = :orderInventoryId', { orderInventoryId: orderInventory.id })
|
|
32
|
+
.orderBy('ws.created_at', 'DESC')
|
|
33
|
+
.addOrderBy('wd.name')
|
|
34
|
+
.getOne();
|
|
35
|
+
if (existingWorksheetDetail) {
|
|
36
|
+
const startedAt = existingWorksheetDetail.worksheet.startedAt;
|
|
37
|
+
const wdType = existingWorksheetDetail.worksheet.type;
|
|
38
|
+
let wdStatus, oiStatus, roStatus, wStatus;
|
|
39
|
+
switch (wdType) {
|
|
40
|
+
case 'PICKING':
|
|
41
|
+
case 'BATCH_PICKING':
|
|
42
|
+
wdStatus = !startedAt ? constants_1.WORKSHEET_STATUS.DEACTIVATED : orderInventory.pickedQty == orderInventory.releaseQty ? constants_1.WORKSHEET_STATUS.DONE : constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
43
|
+
oiStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK : orderInventory.pickedQty == orderInventory.releaseQty ? sales_base_1.ORDER_INVENTORY_STATUS.PICKED : sales_base_1.ORDER_INVENTORY_STATUS.PICKING;
|
|
44
|
+
roStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PICK : sales_base_1.ORDER_INVENTORY_STATUS.PICKING;
|
|
45
|
+
break;
|
|
46
|
+
case 'PACKING':
|
|
47
|
+
wdStatus = !startedAt ? constants_1.WORKSHEET_STATUS.DEACTIVATED : orderInventory.packedQty == orderInventory.releaseQty ? constants_1.WORKSHEET_STATUS.DONE : constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
48
|
+
oiStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PACK : orderInventory.packedQty == orderInventory.releaseQty ? sales_base_1.ORDER_INVENTORY_STATUS.PACKED : sales_base_1.ORDER_INVENTORY_STATUS.PACKING;
|
|
49
|
+
roStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_PACK : sales_base_1.ORDER_INVENTORY_STATUS.PACKING;
|
|
50
|
+
break;
|
|
51
|
+
case 'SORTING':
|
|
52
|
+
wdStatus = !startedAt ? constants_1.WORKSHEET_STATUS.DEACTIVATED : orderInventory.sortedQty == orderInventory.releaseQty ? constants_1.WORKSHEET_STATUS.DONE : constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
53
|
+
oiStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_SORT : orderInventory.sortedQty == orderInventory.releaseQty ? sales_base_1.ORDER_INVENTORY_STATUS.PICKED : sales_base_1.ORDER_INVENTORY_STATUS.SORTING;
|
|
54
|
+
roStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_SORT : sales_base_1.ORDER_INVENTORY_STATUS.SORTING;
|
|
55
|
+
break;
|
|
56
|
+
case 'LOADING':
|
|
57
|
+
wdStatus = !startedAt ? constants_1.WORKSHEET_STATUS.DEACTIVATED : (orderInventory === null || orderInventory === void 0 ? void 0 : orderInventory.deliveryOrder) ? constants_1.WORKSHEET_STATUS.DONE : constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
58
|
+
oiStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_LOAD : (orderInventory === null || orderInventory === void 0 ? void 0 : orderInventory.deliveryOrder) ? sales_base_1.ORDER_INVENTORY_STATUS.LOADED : sales_base_1.ORDER_INVENTORY_STATUS.LOADING;
|
|
59
|
+
roStatus = !startedAt ? sales_base_1.ORDER_INVENTORY_STATUS.READY_TO_LOAD : sales_base_1.ORDER_INVENTORY_STATUS.LOADING;
|
|
60
|
+
break;
|
|
61
|
+
default:
|
|
62
|
+
break;
|
|
114
63
|
}
|
|
64
|
+
wStatus = !startedAt ? constants_1.WORKSHEET_STATUS.DEACTIVATED : constants_1.WORKSHEET_STATUS.EXECUTING;
|
|
65
|
+
await tx.getRepository(entities_1.WorksheetDetail).update({ id: existingWorksheetDetail.id }, { status: wdStatus, updatedAt: new Date(), updater: user });
|
|
66
|
+
await tx.getRepository(sales_base_1.OrderInventory).update({ id: orderInventory.id }, { status: oiStatus, updatedAt: new Date(), updater: user });
|
|
67
|
+
return { worksheet: existingWorksheetDetail.worksheet, wStatus, roStatus };
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
await tx.getRepository(sales_base_1.OrderInventory).update({ id: orderInventory.id }, { status: sales_base_1.ORDER_INVENTORY_STATUS.PENDING_WORKSHEET, updatedAt: new Date(), updater: user });
|
|
71
|
+
return { worksheet: null, wStatus: null, roStatus: sales_base_1.ORDER_STATUS.PENDING_WORKSHEET };
|
|
72
|
+
}
|
|
73
|
+
}));
|
|
74
|
+
if (worksheetDetails[0].worksheet) {
|
|
75
|
+
await tx.getRepository(entities_1.Worksheet).update({ id: worksheetDetails[0].worksheet.id }, {
|
|
76
|
+
status: worksheetDetails[0].wStatus,
|
|
77
|
+
updatedAt: new Date(),
|
|
78
|
+
updater: user
|
|
115
79
|
});
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
// update status of order vass to accordingly
|
|
122
|
-
foundOVs = foundOVs.map((orderVas) => {
|
|
123
|
-
if (!isLoadingStage)
|
|
124
|
-
orderVas.status = sales_base_1.ORDER_VAS_STATUS.READY_TO_PROCESS;
|
|
125
|
-
else
|
|
126
|
-
orderVas.status = sales_base_1.ORDER_VAS_STATUS.COMPLETED;
|
|
127
|
-
return Object.assign(Object.assign({}, orderVas), { updater: user });
|
|
128
|
-
});
|
|
129
|
-
await tx.getRepository(sales_base_1.OrderVas).save(foundOVs);
|
|
130
|
-
}
|
|
131
|
-
// find DO and change status to previous status
|
|
132
|
-
let foundDO = await tx.getRepository(sales_base_1.DeliveryOrder).find({
|
|
133
|
-
where: { domain, releaseGood: foundRO, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
134
|
-
relations: ['transportVehicle']
|
|
135
|
-
});
|
|
136
|
-
if (foundDO && (foundDO === null || foundDO === void 0 ? void 0 : foundDO.length)) {
|
|
137
|
-
foundDO = foundDO.map((deliveryOrder) => {
|
|
138
|
-
return Object.assign(Object.assign({}, deliveryOrder), { status: sales_base_1.ORDER_STATUS.READY_TO_DISPATCH, updater: user });
|
|
80
|
+
}
|
|
81
|
+
await tx.getRepository(sales_base_1.ReleaseGood).update({ id: foundRO.id }, {
|
|
82
|
+
status: worksheetDetails[0].roStatus,
|
|
83
|
+
updatedAt: new Date(),
|
|
84
|
+
updater: user
|
|
139
85
|
});
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
ws.status === constants_1.WORKSHEET_STATUS.EXECUTING);
|
|
144
|
-
if (isLoadingRO)
|
|
145
|
-
foundRO.status = sales_base_1.ORDER_STATUS.LOADING;
|
|
146
|
-
else {
|
|
147
|
-
var isReadyToLoadRO = foundWS.some((ws) => ws.type === constants_1.WORKSHEET_TYPE.LOADING &&
|
|
148
|
-
ws.status === constants_1.WORKSHEET_STATUS.DEACTIVATED);
|
|
149
|
-
}
|
|
150
|
-
if (isReadyToLoadRO)
|
|
151
|
-
foundRO.status = sales_base_1.ORDER_STATUS.READY_TO_LOAD;
|
|
152
|
-
else {
|
|
153
|
-
var isPickingRO = foundWS.some((ws) => ws.type === constants_1.WORKSHEET_TYPE.PICKING &&
|
|
154
|
-
ws.status === constants_1.WORKSHEET_STATUS.EXECUTING);
|
|
86
|
+
// reverse DO status
|
|
87
|
+
await reverseDO(foundRO, context);
|
|
88
|
+
return;
|
|
155
89
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
var isReadyToPickRO = foundWS.some((ws) => ws.type === constants_1.WORKSHEET_TYPE.PICKING &&
|
|
160
|
-
ws.status === constants_1.WORKSHEET_STATUS.DEACTIVATED);
|
|
90
|
+
catch (error) {
|
|
91
|
+
env_1.logger.error(`reject-cancellation-release-order[rejectCancellationReleaseOrder]:(data:${JSON.stringify({ name, tx, domain, user })}) ${error}`);
|
|
92
|
+
throw new Error('Something went wrong. Please contact support.');
|
|
161
93
|
}
|
|
162
|
-
if (isReadyToPickRO)
|
|
163
|
-
foundRO.status = sales_base_1.ORDER_STATUS.READY_TO_PICK;
|
|
164
|
-
await tx.getRepository(sales_base_1.ReleaseGood).save(Object.assign(Object.assign({}, foundRO), { updater: user }));
|
|
165
|
-
return;
|
|
166
94
|
}
|
|
167
95
|
};
|
|
96
|
+
async function reverseDO(releaseGood, context) {
|
|
97
|
+
const { tx, domain, user } = context.state;
|
|
98
|
+
// find DO and change status to previous status
|
|
99
|
+
let foundDO = await tx.getRepository(sales_base_1.DeliveryOrder).find({
|
|
100
|
+
where: { domain, releaseGood, status: sales_base_1.ORDER_STATUS.PENDING_CANCEL },
|
|
101
|
+
relations: ['transportVehicle']
|
|
102
|
+
});
|
|
103
|
+
if (foundDO && (foundDO === null || foundDO === void 0 ? void 0 : foundDO.length)) {
|
|
104
|
+
foundDO = foundDO.map((deliveryOrder) => {
|
|
105
|
+
return Object.assign(Object.assign({}, deliveryOrder), { status: sales_base_1.ORDER_STATUS.READY_TO_DISPATCH, updater: user });
|
|
106
|
+
});
|
|
107
|
+
await tx.getRepository(sales_base_1.DeliveryOrder).save(foundDO);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
168
110
|
//# sourceMappingURL=reject-cancellation-release-order.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reject-cancellation-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"reject-cancellation-release-order.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/worksheet/reject-cancellation-release-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ const worksheet_list_1 = require("./worksheet-list");
|
|
|
28
28
|
const worksheet_patch_1 = require("./worksheet-patch");
|
|
29
29
|
const worksheet_with_pagination_1 = require("./worksheet-with-pagination");
|
|
30
30
|
const batch_pick_worksheet_info_1 = require("./batch-pick-worksheet-info");
|
|
31
|
+
const multiple_release_good_worksheet_1 = require("./multiple-release-good-worksheet");
|
|
31
32
|
exports.Mutation = `
|
|
32
33
|
createWorksheet (
|
|
33
34
|
worksheet: NewWorksheet!
|
|
@@ -64,10 +65,11 @@ exports.Mutation = `
|
|
|
64
65
|
|
|
65
66
|
generateReleaseGoodWorksheet (
|
|
66
67
|
releaseGoodNo: String!
|
|
68
|
+
currentStatus: String
|
|
67
69
|
): ReleaseGoodWorksheet @privilege(category: "worksheet_control", privilege: "mutation") @transaction
|
|
68
70
|
|
|
69
71
|
generateMultipleReleaseGoodWorksheet (
|
|
70
|
-
|
|
72
|
+
releaseGoods: [MultipleReleaseGoodWorksheet!]
|
|
71
73
|
): Boolean @privilege(category: "worksheet_control", privilege: "mutation") @transaction
|
|
72
74
|
|
|
73
75
|
fetchSellercraftDocument (
|
|
@@ -743,6 +745,7 @@ exports.Types = [
|
|
|
743
745
|
my_picking_assignment_status_1.MyPickingAssignmentStatus,
|
|
744
746
|
find_release_orders_by_task_no_1.FindReleaseOrdersByTaskNo,
|
|
745
747
|
delivery_order_ro_1.DeliveryOrderRO,
|
|
746
|
-
batch_pick_worksheet_info_1.GenerateBatchPickInfo
|
|
748
|
+
batch_pick_worksheet_info_1.GenerateBatchPickInfo,
|
|
749
|
+
multiple_release_good_worksheet_1.MultipleReleaseGoodWorksheet
|
|
747
750
|
];
|
|
748
751
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAC5D,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,2DAAqD;AACrD,6DAAwD;AACxD,+DAA0D;AAC1D,qFAA4E;AAC5E,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AACrE,2EAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAC5D,yEAAmE;AACnE,6DAAuD;AACvD,mEAA6D;AAC7D,mDAA8C;AAC9C,+DAAyD;AACzD,2DAAqD;AACrD,6DAAwD;AACxD,+DAA0D;AAC1D,qFAA4E;AAC5E,+DAAyD;AACzD,2EAAqE;AACrE,uEAAiE;AACjE,iFAA0E;AAC1E,mDAA8C;AAC9C,2EAAqE;AACrE,yDAAoD;AACpD,qEAA+D;AAC/D,qEAA+D;AAC/D,+DAAyD;AACzD,2CAAuC;AACvC,mEAA6D;AAC7D,qDAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,2EAAqE;AACrE,2EAAmE;AACnE,uFAAgF;AAEnE,QAAA,QAAQ,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+hBrC,CAAA;AAEY,QAAA,KAAK,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJlC,CAAA;AAEY,QAAA,KAAK,GAAgB;IAChC,qBAAS;IACT,0CAAmB;IACnB,4BAAY;IACZ,gCAAc;IACd,8BAAa;IACb,iDAAsB;IACtB,6CAAoB;IACpB,2CAAmB;IACnB,6CAAoB;IACpB,mDAAuB;IACvB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAgB;IAChB,uCAAiB;IACjB,8BAAa;IACb,4BAAY;IACZ,sCAAiB;IACjB,2CAAmB;IACnB,wCAAkB;IAClB,+CAAqB;IACrB,kCAAe;IACf,mDAAuB;IACvB,mDAAuB;IACvB,wDAAyB;IACzB,0DAAyB;IACzB,mCAAe;IACf,iDAAqB;IACrB,8DAA4B;CAC7B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultipleReleaseGoodWorksheet = void 0;
|
|
4
|
+
const apollo_server_koa_1 = require("apollo-server-koa");
|
|
5
|
+
exports.MultipleReleaseGoodWorksheet = (0, apollo_server_koa_1.gql) `
|
|
6
|
+
input MultipleReleaseGoodWorksheet {
|
|
7
|
+
name: String
|
|
8
|
+
status: String
|
|
9
|
+
}
|
|
10
|
+
`;
|
|
11
|
+
//# sourceMappingURL=multiple-release-good-worksheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiple-release-good-worksheet.js","sourceRoot":"","sources":["../../../../server/graphql/types/worksheet/multiple-release-good-worksheet.ts"],"names":[],"mappings":";;;AAAA,yDAAuC;AAE1B,QAAA,4BAA4B,GAAG,IAAA,uBAAG,EAAA;;;;;CAK9C,CAAA"}
|
|
@@ -37,7 +37,9 @@ async function fetchExecutingWorksheet(domain, bizplace, relations, type, refOrd
|
|
|
37
37
|
throw new Error(`Worksheet is completed already`);
|
|
38
38
|
}
|
|
39
39
|
else if (worksheet.status === constants_1.WORKSHEET_STATUS.DEACTIVATED) {
|
|
40
|
-
|
|
40
|
+
//@oscarchuaweiwen-fsd this function is being used in quite some place, for packing worksheet you have handled the status DEACTIVATED, but for loading worksheet it's not being handled
|
|
41
|
+
//won't there be issue if it doesn't throw error for places that didnt handle the status DEACTIVATED?
|
|
42
|
+
return worksheet;
|
|
41
43
|
}
|
|
42
44
|
else {
|
|
43
45
|
throw new Error(`Current worksheet status (${worksheet.status}) is not proper to execute it.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worksheet-util.js","sourceRoot":"","sources":["../../server/utils/worksheet-util.ts"],"names":[],"mappings":";;;AACA,2DAA8F;AAE9F,qCAAkF;AAClF,4CAA+C;AAC/C,0CAAuC;AAEhC,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,QAAkB,EAClB,SAAmB,EACnB,IAAY,EACZ,QAA8D,EAC9D,MAAsB;IAEtB,MAAM,MAAM,GAA0B,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,oBAAS,CAAC,KAAI,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAA;IAClG,MAAM,aAAa,GAAmB;QACpC,KAAK,EAAE;YACL,MAAM;YACN,QAAQ;YACR,IAAI;SACL;QACD,SAAS;KACV,CAAA;IAED,IAAI,QAAQ,YAAY,0BAAa,EAAE;QACrC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAA;KAChD;SAAM,IAAI,QAAQ,YAAY,wBAAW,EAAE;QAC1C,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAA;KAC9C;SAAM,IAAI,QAAQ,YAAY,qBAAQ,EAAE;QACvC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;KAC3C;SAAM,IAAI,QAAQ,YAAY,wBAAW,EAAE;QAC1C,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAA;KAC9C;IAED,MAAM,SAAS,GAAc,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAChE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;IAEzF,IAAI,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,SAAS,EAAE;QACnD,OAAO,SAAS,CAAA;KACjB;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,IAAI,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;KAClD;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,4BAAgB,CAAC,WAAW,EAAE;QAC5D,
|
|
1
|
+
{"version":3,"file":"worksheet-util.js","sourceRoot":"","sources":["../../server/utils/worksheet-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.3.
|
|
3
|
+
"version": "4.3.78",
|
|
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.3.
|
|
28
|
-
"@things-factory/biz-base": "^4.3.
|
|
29
|
-
"@things-factory/document-template-base": "^4.3.
|
|
30
|
-
"@things-factory/id-rule-base": "^4.3.
|
|
31
|
-
"@things-factory/integration-lmd": "^4.3.
|
|
32
|
-
"@things-factory/integration-marketplace": "^4.3.
|
|
33
|
-
"@things-factory/integration-sellercraft": "^4.3.
|
|
34
|
-
"@things-factory/integration-sftp": "^4.3.
|
|
35
|
-
"@things-factory/marketplace-base": "^4.3.
|
|
36
|
-
"@things-factory/notification": "^4.3.
|
|
37
|
-
"@things-factory/sales-base": "^4.3.
|
|
38
|
-
"@things-factory/setting-base": "^4.3.
|
|
39
|
-
"@things-factory/shell": "^4.3.
|
|
40
|
-
"@things-factory/transport-base": "^4.3.
|
|
41
|
-
"@things-factory/warehouse-base": "^4.3.
|
|
27
|
+
"@things-factory/auth-base": "^4.3.78",
|
|
28
|
+
"@things-factory/biz-base": "^4.3.78",
|
|
29
|
+
"@things-factory/document-template-base": "^4.3.78",
|
|
30
|
+
"@things-factory/id-rule-base": "^4.3.78",
|
|
31
|
+
"@things-factory/integration-lmd": "^4.3.78",
|
|
32
|
+
"@things-factory/integration-marketplace": "^4.3.78",
|
|
33
|
+
"@things-factory/integration-sellercraft": "^4.3.78",
|
|
34
|
+
"@things-factory/integration-sftp": "^4.3.78",
|
|
35
|
+
"@things-factory/marketplace-base": "^4.3.78",
|
|
36
|
+
"@things-factory/notification": "^4.3.78",
|
|
37
|
+
"@things-factory/sales-base": "^4.3.78",
|
|
38
|
+
"@things-factory/setting-base": "^4.3.78",
|
|
39
|
+
"@things-factory/shell": "^4.3.78",
|
|
40
|
+
"@things-factory/transport-base": "^4.3.78",
|
|
41
|
+
"@things-factory/warehouse-base": "^4.3.78"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "90e997e892d476732961326f4731ca47b22a45bc"
|
|
44
44
|
}
|
|
@@ -193,15 +193,17 @@ export class PackingWorksheetController extends VasWorksheetController {
|
|
|
193
193
|
'targetInventory.inventory',
|
|
194
194
|
'targetInventory.inventory.product',
|
|
195
195
|
'targetInventory.inventory.product.productDetails',
|
|
196
|
+
'targetInventory.inventory.product.productDetails.childProductDetail',
|
|
196
197
|
'targetInventory.inventory.location'
|
|
197
198
|
]
|
|
198
199
|
)
|
|
199
200
|
const releaseGood: ReleaseGood = worksheetDetail.targetInventory.releaseGood
|
|
200
201
|
const product: Product = worksheetDetail.targetInventory.inventory.product
|
|
202
|
+
const filterProductDetails: ProductDetail[] = product?.productDetails.filter(detail => !detail.deletedAt)
|
|
201
203
|
let targetInventory: OrderInventory = worksheetDetail.targetInventory
|
|
202
204
|
let inventory: Inventory = targetInventory.inventory
|
|
203
205
|
let packedQty: number = 1
|
|
204
|
-
|
|
206
|
+
let pickedQty: number = targetInventory.releaseQty
|
|
205
207
|
|
|
206
208
|
// search for matching product barcode
|
|
207
209
|
const productDetail: ProductDetail = product?.productDetails
|
|
@@ -212,7 +214,24 @@ export class PackingWorksheetController extends VasWorksheetController {
|
|
|
212
214
|
detail.packingType === inventory.packingType &&
|
|
213
215
|
detail.packingSize === inventory.packingSize
|
|
214
216
|
)
|
|
215
|
-
|
|
217
|
+
|
|
218
|
+
if (!productDetail && !product?.isRequireSerialNumberScanningOutbound) {
|
|
219
|
+
let roProductDetail: ProductDetail = product?.productDetails.find(
|
|
220
|
+
(parentDetail: ProductDetail) =>
|
|
221
|
+
parentDetail.packingType === inventory.packingType && parentDetail.packingSize == inventory.packingSize
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
roProductDetail.product = product
|
|
225
|
+
|
|
226
|
+
let childQty = await this.getChildQty(filterProductDetails, productBarcode, roProductDetail)
|
|
227
|
+
packedQty *= childQty
|
|
228
|
+
} else if (!productDetail) {
|
|
229
|
+
throw new Error(this.ERROR_MSG.FIND.NO_RESULT(productBarcode))
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
if (packedQty + targetInventory.packedQty > pickedQty) {
|
|
233
|
+
throw new Error(this.ERROR_MSG.VALIDITY.CANT_PROCEED_STEP_BY('picking', `over release`))
|
|
234
|
+
}
|
|
216
235
|
|
|
217
236
|
// Serial Number scanning for batch picking
|
|
218
237
|
if (targetInventory?.refWorksheetId) {
|
|
@@ -40,7 +40,7 @@ import { VasWorksheetController } from '../vas/vas-worksheet-controller'
|
|
|
40
40
|
import { SellercraftController } from '../../controllers'
|
|
41
41
|
|
|
42
42
|
export class PickingWorksheetController extends VasWorksheetController {
|
|
43
|
-
async generatePickingWorksheet(releaseGoodNo: string): Promise<Worksheet> {
|
|
43
|
+
async generatePickingWorksheet(releaseGoodNo: string, currentStatus: string = null): Promise<Worksheet> {
|
|
44
44
|
let releaseGood: ReleaseGood = await this.findRefOrder(
|
|
45
45
|
ReleaseGood,
|
|
46
46
|
{
|
|
@@ -78,7 +78,7 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
78
78
|
|
|
79
79
|
releaseGood.status = ORDER_STATUS.READY_TO_PICK
|
|
80
80
|
releaseGood.updater = this.user
|
|
81
|
-
await this.updateRefOrder(releaseGood)
|
|
81
|
+
await this.updateRefOrder(releaseGood, null, currentStatus)
|
|
82
82
|
|
|
83
83
|
return worksheet
|
|
84
84
|
}
|
|
@@ -254,13 +254,14 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
254
254
|
|
|
255
255
|
worksheet = await this.activateWorksheet(worksheet, worksheetDetails, [])
|
|
256
256
|
|
|
257
|
-
|
|
258
|
-
|
|
257
|
+
// retrieve order inventory
|
|
258
|
+
const pickingOrderInventory: OrderInventory[] = await this.trxMgr.getRepository(OrderInventory).find({
|
|
259
|
+
where: { domain: this.domain, refWorksheetId: worksheet.id, status: ORDER_STATUS.PICKING },
|
|
259
260
|
relations: ['releaseGood']
|
|
260
261
|
})
|
|
261
262
|
|
|
262
|
-
let releaseGoods: ReleaseGood[] =
|
|
263
|
-
|
|
263
|
+
let releaseGoods: ReleaseGood[] = pickingOrderInventory.map((oi: OrderInventory) => oi.releaseGood)
|
|
264
|
+
|
|
264
265
|
if (releaseGoods?.length) {
|
|
265
266
|
releaseGoods = releaseGoods.map((rg: ReleaseGood) => {
|
|
266
267
|
return {
|
|
@@ -272,11 +273,6 @@ export class PickingWorksheetController extends VasWorksheetController {
|
|
|
272
273
|
await this.trxMgr.getRepository(ReleaseGood).save(releaseGoods)
|
|
273
274
|
}
|
|
274
275
|
|
|
275
|
-
if (completeSplitOIs?.length) {
|
|
276
|
-
const ids: string[] = completeSplitOIs.map((oi: OrderInventory) => oi.id)
|
|
277
|
-
await this.trxMgr.getRepository(OrderInventory).delete(ids)
|
|
278
|
-
}
|
|
279
|
-
|
|
280
276
|
return worksheet
|
|
281
277
|
}
|
|
282
278
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityManager, EntitySchema, Equal, FindOneOptions, In, Not } from 'typeorm'
|
|
1
|
+
import { EntityManager, EntitySchema, Equal, FindOneOptions, In, Not, getRepository } from 'typeorm'
|
|
2
2
|
|
|
3
3
|
import { Role, User } from '@things-factory/auth-base'
|
|
4
4
|
import { Bizplace, getDomainUsers } from '@things-factory/biz-base'
|
|
@@ -489,7 +489,11 @@ export class WorksheetController {
|
|
|
489
489
|
* @description
|
|
490
490
|
* Update reference order like (ArrivalNotice, ReleaseGood, VasOrder, InventoryCheck)
|
|
491
491
|
*/
|
|
492
|
-
async updateRefOrder(
|
|
492
|
+
async updateRefOrder(
|
|
493
|
+
refOrder: ReferenceOrderType,
|
|
494
|
+
entitySchema?: EntitySchema,
|
|
495
|
+
currentStatus?: string
|
|
496
|
+
): Promise<any> {
|
|
493
497
|
if (!entitySchema) {
|
|
494
498
|
if (refOrder instanceof ArrivalNotice) {
|
|
495
499
|
entitySchema = ArrivalNotice
|
|
@@ -507,6 +511,25 @@ export class WorksheetController {
|
|
|
507
511
|
if (!refOrder.id) throw new Error(this.ERROR_MSG.UPDATE.ID_NOT_EXISTS)
|
|
508
512
|
if (!refOrder.updater?.id) refOrder = this.setStamp(refOrder)
|
|
509
513
|
|
|
514
|
+
if (currentStatus && entitySchema == ReleaseGood) {
|
|
515
|
+
|
|
516
|
+
let res = await getRepository(entitySchema).query(
|
|
517
|
+
`
|
|
518
|
+
update release_goods
|
|
519
|
+
set status = $1
|
|
520
|
+
where id = $2
|
|
521
|
+
and status = $3
|
|
522
|
+
returning id
|
|
523
|
+
`,
|
|
524
|
+
[refOrder.status, refOrder.id, currentStatus]
|
|
525
|
+
)
|
|
526
|
+
|
|
527
|
+
if (res[1] == 0) {
|
|
528
|
+
this.trxMgr.queryRunner.rollbackTransaction()
|
|
529
|
+
throw new Error('Worksheet has already been created')
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
510
533
|
return await this.trxMgr.getRepository(entitySchema).save(refOrder)
|
|
511
534
|
}
|
|
512
535
|
|
|
@@ -96,6 +96,19 @@ export const confirmCancellationReleaseOrder = {
|
|
|
96
96
|
})
|
|
97
97
|
.where('id = :id', { id: inventory.id })
|
|
98
98
|
.execute()
|
|
99
|
+
|
|
100
|
+
// @ChrisLim-git commented for further review as it causes qty to add into inventory
|
|
101
|
+
// await tx
|
|
102
|
+
// .createQueryBuilder()
|
|
103
|
+
// .update(Inventory)
|
|
104
|
+
// .set({
|
|
105
|
+
// qty: () => `COALESCE("qty", 0) + ${orderInventory.releaseQty}`,
|
|
106
|
+
// uomValue: () => `COALESCE("uom_value", 0) + ${orderInventory.releaseUomValue}`,
|
|
107
|
+
// status: INVENTORY_STATUS.STORED,
|
|
108
|
+
// updater: user
|
|
109
|
+
// })
|
|
110
|
+
// .where('id = :id', { id: inventory.id })
|
|
111
|
+
// .execute()
|
|
99
112
|
}
|
|
100
113
|
|
|
101
114
|
return orderInventory
|