@things-factory/worksheet-base 4.3.324 → 4.3.327
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/inbound/putaway-worksheet-controller.js +24 -3
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +4 -4
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js +38 -21
- package/dist-server/controllers/outbound/sorting-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/vas/vas-worksheet-controller.js +2 -128
- package/dist-server/controllers/vas/vas-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +4 -2
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js +21 -19
- package/dist-server/graphql/resolvers/worksheet/confirm-cancellation-release-order.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js +3 -3
- package/dist-server/graphql/resolvers/worksheet/cycle-count-adjustment.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +356 -353
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js +1 -1
- package/dist-server/graphql/resolvers/worksheet/sorting-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js +2 -1
- package/dist-server/graphql/resolvers/worksheet/unloading/complete-unloading.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/vas/index.js +1 -2
- package/dist-server/graphql/resolvers/worksheet/vas/index.js.map +1 -1
- package/dist-server/graphql/types/worksheet/index.js +0 -6
- package/dist-server/graphql/types/worksheet/index.js.map +1 -1
- package/package.json +4 -4
- package/server/controllers/inbound/putaway-worksheet-controller.ts +30 -8
- package/server/controllers/outbound/picking-worksheet-controller.ts +4 -4
- package/server/controllers/outbound/sorting-worksheet-controller.ts +42 -21
- package/server/controllers/vas/vas-worksheet-controller.ts +2 -177
- package/server/controllers/worksheet-controller.ts +5 -3
- package/server/graphql/resolvers/worksheet/confirm-cancellation-release-order.ts +22 -21
- package/server/graphql/resolvers/worksheet/cycle-count-adjustment.ts +3 -3
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +395 -391
- package/server/graphql/resolvers/worksheet/putaway-return/complete-putaway-return.ts +1 -1
- package/server/graphql/resolvers/worksheet/sorting-worksheet.ts +2 -2
- package/server/graphql/resolvers/worksheet/unloading/complete-unloading.ts +3 -2
- package/server/graphql/resolvers/worksheet/vas/index.ts +0 -2
- package/server/graphql/types/worksheet/index.ts +0 -6
- package/dist-server/graphql/resolvers/worksheet/vas/edit-vas.js +0 -16
- package/dist-server/graphql/resolvers/worksheet/vas/edit-vas.js.map +0 -1
- package/server/graphql/resolvers/worksheet/vas/edit-vas.ts +0 -25
|
@@ -237,7 +237,7 @@ export class VasWorksheetController extends WorksheetController {
|
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
async activateVAS(worksheetNo: string, vasWorksheetDetails: Partial<WorksheetDetail>[]): Promise<Worksheet> {
|
|
240
|
-
const worksheet: Worksheet = await this.
|
|
240
|
+
const worksheet: Worksheet = await this.findWorksheetByNo(worksheetNo, [
|
|
241
241
|
'vasOrder',
|
|
242
242
|
'worksheetDetails',
|
|
243
243
|
'worksheetDetails.targetVas'
|
|
@@ -261,7 +261,7 @@ export class VasWorksheetController extends WorksheetController {
|
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
await this.updateOrderTargets(targetVass)
|
|
264
|
-
return
|
|
264
|
+
return worksheet
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
async unpackingWithPallet(
|
|
@@ -1098,179 +1098,4 @@ export class VasWorksheetController extends WorksheetController {
|
|
|
1098
1098
|
await this.COMPLETE_TRX_MAP[operationGuide](this.trxMgr, targetVas, this.user)
|
|
1099
1099
|
}
|
|
1100
1100
|
}
|
|
1101
|
-
|
|
1102
|
-
async editVas(
|
|
1103
|
-
tx: any,
|
|
1104
|
-
domain: Domain,
|
|
1105
|
-
user: User,
|
|
1106
|
-
orderVasPatch: OrderVasPatch[],
|
|
1107
|
-
orderVasItemPatch: OrderVasItemPatch[],
|
|
1108
|
-
orderNo: string
|
|
1109
|
-
): Promise<Boolean> {
|
|
1110
|
-
let results = []
|
|
1111
|
-
const releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({ where: { name: orderNo } })
|
|
1112
|
-
const orderVasRepo = getRepository(OrderVas)
|
|
1113
|
-
const orderVasItemRepo = getRepository(OrderVasItem)
|
|
1114
|
-
const worksheetDetailRepo = getRepository(WorksheetDetail)
|
|
1115
|
-
const worksheetRepo = getRepository(Worksheet)
|
|
1116
|
-
let vasWorksheet: Worksheet = await getRepository(Worksheet).findOne({
|
|
1117
|
-
where: { domain, releaseGood: releaseGood.id, type: 'VAS' }
|
|
1118
|
-
})
|
|
1119
|
-
// Order Vas
|
|
1120
|
-
if (orderVasPatch.length > 0) {
|
|
1121
|
-
const _deleteRecords = orderVasPatch.filter((patch: any) => patch.cuFlag.toUpperCase() === '-')
|
|
1122
|
-
const _createRecords = orderVasPatch.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
1123
|
-
const _updateRecords = orderVasPatch.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
1124
|
-
|
|
1125
|
-
if (_deleteRecords.length > 0) {
|
|
1126
|
-
for (let i = 0; i < _deleteRecords.length; i++) {
|
|
1127
|
-
const deleteRecord = _deleteRecords[i]
|
|
1128
|
-
if (vasWorksheet) {
|
|
1129
|
-
await worksheetDetailRepo.delete({ targetVas: deleteRecord.id })
|
|
1130
|
-
}
|
|
1131
|
-
await orderVasItemRepo.delete({ orderVas: deleteRecord.id })
|
|
1132
|
-
await orderVasRepo.delete(deleteRecord.id)
|
|
1133
|
-
}
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
|
-
if (_createRecords.length > 0) {
|
|
1137
|
-
for (let i = 0; i < _createRecords.length; i++) {
|
|
1138
|
-
const newRecord = _createRecords[i]
|
|
1139
|
-
|
|
1140
|
-
const result = await orderVasRepo.save({
|
|
1141
|
-
...newRecord,
|
|
1142
|
-
id: uuidv4(),
|
|
1143
|
-
name: `${_createRecords[i].product.name} - ${new Date()}`,
|
|
1144
|
-
domain: domain,
|
|
1145
|
-
creator: user,
|
|
1146
|
-
updater: user
|
|
1147
|
-
})
|
|
1148
|
-
|
|
1149
|
-
results.push({ ...result, cuFlag: '+' })
|
|
1150
|
-
|
|
1151
|
-
// create wds if worksheet is available
|
|
1152
|
-
if (vasWorksheet) {
|
|
1153
|
-
const orderVas: OrderVas[] = await getRepository(OrderVas).find({ where: { id: result.id } })
|
|
1154
|
-
await this.createWorksheetDetails(vasWorksheet, WORKSHEET_TYPE.VAS, orderVas)
|
|
1155
|
-
} else if (releaseGood.status === 'READY_TO_PICK' && !vasWorksheet) {
|
|
1156
|
-
const orderVas: OrderVas[] = await getRepository(OrderVas).find({ where: { id: result.id } })
|
|
1157
|
-
vasWorksheet = await this.generateWorksheet(
|
|
1158
|
-
WORKSHEET_TYPE.VAS,
|
|
1159
|
-
releaseGood,
|
|
1160
|
-
orderVas,
|
|
1161
|
-
ORDER_STATUS.READY_TO_PICK,
|
|
1162
|
-
ORDER_INVENTORY_STATUS.READY_TO_PICK
|
|
1163
|
-
)
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
// create new ovi
|
|
1167
|
-
for (let ii = 0; ii < newRecord.orderVasItemsPatch.length; ii++) {
|
|
1168
|
-
await orderVasItemRepo.save({
|
|
1169
|
-
orderVas: result.id,
|
|
1170
|
-
name: `${newRecord.orderVasItemsPatch[ii].vas.name} (${newRecord.orderVasItemsPatch[ii].vas.description})- ${result.id}`,
|
|
1171
|
-
vas: newRecord.orderVasItemsPatch[ii].vas,
|
|
1172
|
-
vasQty: newRecord.orderVasItemsPatch[ii].vasQty,
|
|
1173
|
-
domain: domain,
|
|
1174
|
-
creator: user,
|
|
1175
|
-
createdAt: new Date()
|
|
1176
|
-
})
|
|
1177
|
-
}
|
|
1178
|
-
}
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
if (_updateRecords.length > 0) {
|
|
1182
|
-
for (let i = 0; i < _updateRecords.length; i++) {
|
|
1183
|
-
const newRecord = _updateRecords[i]
|
|
1184
|
-
const orderVas: OrderVas = await orderVasRepo.findOne({
|
|
1185
|
-
where: { domain, id: newRecord.id },
|
|
1186
|
-
relations: ['product', 'productDetail', 'newProduct', 'newProductDetail', 'releaseGood', 'orderVasItems']
|
|
1187
|
-
})
|
|
1188
|
-
|
|
1189
|
-
const result = await orderVasRepo.save({
|
|
1190
|
-
...orderVas,
|
|
1191
|
-
...newRecord,
|
|
1192
|
-
updater: user
|
|
1193
|
-
})
|
|
1194
|
-
|
|
1195
|
-
results.push({ ...result, cuFlag: 'M' })
|
|
1196
|
-
|
|
1197
|
-
for (let ii = 0; ii < newRecord.orderVasItemsPatch.length; ii++) {
|
|
1198
|
-
await orderVasItemRepo.update(
|
|
1199
|
-
{ id: newRecord.orderVasItemsPatch[ii].id },
|
|
1200
|
-
{
|
|
1201
|
-
orderVas: result.id,
|
|
1202
|
-
name: `${newRecord.orderVasItemsPatch[ii].vas.name}- ${result.id}`,
|
|
1203
|
-
vas: newRecord.orderVasItemsPatch[ii].vas,
|
|
1204
|
-
vasQty: newRecord.orderVasItemsPatch[ii].vasQty,
|
|
1205
|
-
domain: domain,
|
|
1206
|
-
creator: user,
|
|
1207
|
-
createdAt: new Date()
|
|
1208
|
-
}
|
|
1209
|
-
)
|
|
1210
|
-
}
|
|
1211
|
-
}
|
|
1212
|
-
}
|
|
1213
|
-
}
|
|
1214
|
-
|
|
1215
|
-
// order Vas Item
|
|
1216
|
-
if (orderVasItemPatch?.length > 0) {
|
|
1217
|
-
const _deleteRecords = orderVasItemPatch.filter((patch: any) => patch.cuFlag.toUpperCase() === '-')
|
|
1218
|
-
const _createRecords = orderVasItemPatch.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
1219
|
-
const _updateRecords = orderVasItemPatch.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
1220
|
-
|
|
1221
|
-
if (_deleteRecords.length > 0) {
|
|
1222
|
-
for (let i = 0; i < _deleteRecords.length; i++) {
|
|
1223
|
-
const deleteRecord = _deleteRecords[i]
|
|
1224
|
-
if (deleteRecord.id) {
|
|
1225
|
-
await orderVasItemRepo.delete(deleteRecord.id)
|
|
1226
|
-
}
|
|
1227
|
-
}
|
|
1228
|
-
}
|
|
1229
|
-
|
|
1230
|
-
if (_createRecords.length > 0) {
|
|
1231
|
-
for (let i = 0; i < _createRecords.length; i++) {
|
|
1232
|
-
const newRecord = _createRecords[i]
|
|
1233
|
-
const result = await orderVasItemRepo.save({
|
|
1234
|
-
id: uuidv4(),
|
|
1235
|
-
orderVas: newRecord.orderVas.id,
|
|
1236
|
-
name: `${newRecord.vas.name}- ${newRecord.orderVas.id}`,
|
|
1237
|
-
vas: newRecord.vas,
|
|
1238
|
-
vasQty: newRecord.vasQty,
|
|
1239
|
-
domain: domain,
|
|
1240
|
-
creator: user,
|
|
1241
|
-
createdAt: new Date()
|
|
1242
|
-
})
|
|
1243
|
-
results.push({ ...result, cuFlag: '+' })
|
|
1244
|
-
}
|
|
1245
|
-
}
|
|
1246
|
-
|
|
1247
|
-
if (_updateRecords.length > 0) {
|
|
1248
|
-
for (let i = 0; i < _updateRecords.length; i++) {
|
|
1249
|
-
const newRecord = _updateRecords[i]
|
|
1250
|
-
|
|
1251
|
-
const result = await getRepository(OrderVasItem).update(
|
|
1252
|
-
{
|
|
1253
|
-
id: newRecord.id
|
|
1254
|
-
},
|
|
1255
|
-
{ vasQty: newRecord.vasQty, updater: user.id, updatedAt: new Date() }
|
|
1256
|
-
)
|
|
1257
|
-
|
|
1258
|
-
results.push({ ...result, cuFlag: 'M' })
|
|
1259
|
-
}
|
|
1260
|
-
}
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
|
-
// delete worksheet if no orderVas Left
|
|
1264
|
-
if (vasWorksheet) {
|
|
1265
|
-
const vasWorksheetDetails: WorksheetDetail[] = await getRepository(WorksheetDetail).find({
|
|
1266
|
-
where: { domain, worksheet: vasWorksheet.id }
|
|
1267
|
-
})
|
|
1268
|
-
|
|
1269
|
-
if (vasWorksheetDetails.length == 0) {
|
|
1270
|
-
await worksheetRepo.delete(vasWorksheet.id)
|
|
1271
|
-
}
|
|
1272
|
-
}
|
|
1273
|
-
|
|
1274
|
-
return results ? true : false
|
|
1275
|
-
}
|
|
1276
1101
|
}
|
|
@@ -416,7 +416,7 @@ export class WorksheetController {
|
|
|
416
416
|
let existingWorksheet: Worksheet
|
|
417
417
|
try {
|
|
418
418
|
existingWorksheet = await this.findWorksheetByRefOrder(refOrder, type)
|
|
419
|
-
} catch (e) {
|
|
419
|
+
} catch (e) {}
|
|
420
420
|
|
|
421
421
|
if (existingWorksheet)
|
|
422
422
|
throw new Error(
|
|
@@ -432,7 +432,7 @@ export class WorksheetController {
|
|
|
432
432
|
name: WorksheetNoGenerator.generate(type),
|
|
433
433
|
type,
|
|
434
434
|
status:
|
|
435
|
-
refOrderType == 'replenishment' && type == WORKSHEET_TYPE.PUTAWAY_REPLENISHMENT
|
|
435
|
+
(refOrderType == 'replenishment' && type == WORKSHEET_TYPE.PUTAWAY_REPLENISHMENT) || type == WORKSHEET_TYPE.VAS
|
|
436
436
|
? WORKSHEET_STATUS.EXECUTING
|
|
437
437
|
: WORKSHEET_STATUS.DEACTIVATED,
|
|
438
438
|
creator: this.user,
|
|
@@ -501,7 +501,9 @@ export class WorksheetController {
|
|
|
501
501
|
name: WorksheetNoGenerator.generate(type, true),
|
|
502
502
|
type,
|
|
503
503
|
status:
|
|
504
|
-
type == WORKSHEET_TYPE.PUTAWAY_REPLENISHMENT
|
|
504
|
+
type == WORKSHEET_TYPE.PUTAWAY_REPLENISHMENT || type == WORKSHEET_TYPE.VAS
|
|
505
|
+
? WORKSHEET_STATUS.EXECUTING
|
|
506
|
+
: WORKSHEET_STATUS.DEACTIVATED,
|
|
505
507
|
[orderTargetField]: orderTarget,
|
|
506
508
|
creator: this.user,
|
|
507
509
|
updater: this.user,
|
|
@@ -31,23 +31,27 @@ import { LastMileAPI } from '@things-factory/integration-lmd'
|
|
|
31
31
|
export const confirmCancellationReleaseOrder = {
|
|
32
32
|
async confirmCancellationReleaseOrder(_: any, { name }, context: any) {
|
|
33
33
|
const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
34
|
+
|
|
35
|
+
let releaseGood: ReleaseGood = await tx
|
|
36
|
+
.getRepository(ReleaseGood)
|
|
37
|
+
.createQueryBuilder('rg')
|
|
38
|
+
.innerJoinAndSelect('rg.bizplace', 'b')
|
|
39
|
+
.innerJoinAndSelect('b.domain', 'd')
|
|
40
|
+
.innerJoinAndSelect('rg.orderProducts', 'op')
|
|
41
|
+
.innerJoinAndSelect('op.productDetail', 'oppd')
|
|
42
|
+
.innerJoinAndSelect('rg.orderInventories', 'oi')
|
|
43
|
+
.innerJoinAndSelect('oi.inventory', 'i')
|
|
44
|
+
.innerJoinAndSelect('oi.product', 'p')
|
|
45
|
+
.innerJoinAndSelect('oi.productDetail', 'pd')
|
|
46
|
+
.leftJoinAndSelect('rg.orderVass', 'ov')
|
|
47
|
+
.leftJoinAndSelect('rg.lastMileDelivery', 'lmd')
|
|
48
|
+
.leftJoinAndSelect('rg.orderPackages', 'opk')
|
|
49
|
+
.where(`rg.domain_id = :domain`, { domain: domain.id })
|
|
50
|
+
.andWhere(`rg.name = :name`, { name })
|
|
51
|
+
.andWhere(`rg.status = :status`, {
|
|
52
|
+
status: ORDER_STATUS.PENDING_CANCEL
|
|
53
|
+
})
|
|
54
|
+
.getOne()
|
|
51
55
|
|
|
52
56
|
if (!releaseGood) throw new Error(`Release good order doesn't exists.`)
|
|
53
57
|
let targetOIs: OrderInventory[] = releaseGood.orderInventories
|
|
@@ -63,7 +67,6 @@ export const confirmCancellationReleaseOrder = {
|
|
|
63
67
|
await Promise.all(
|
|
64
68
|
pickedOIs.map(async (orderInventory: OrderInventory) => {
|
|
65
69
|
let inventory: Inventory = orderInventory.inventory
|
|
66
|
-
let location: Location = inventory?.location
|
|
67
70
|
|
|
68
71
|
if (inventory && inventory.id) {
|
|
69
72
|
await tx
|
|
@@ -138,7 +141,6 @@ export const confirmCancellationReleaseOrder = {
|
|
|
138
141
|
.getRepository(OrderInventory)
|
|
139
142
|
.update(cancelOIs, { status: ORDER_INVENTORY_STATUS.CANCELLED, updater: user })
|
|
140
143
|
}
|
|
141
|
-
|
|
142
144
|
if (replacedOIs && replacedOIs.length) {
|
|
143
145
|
await tx
|
|
144
146
|
.getRepository(OrderInventory)
|
|
@@ -187,7 +189,6 @@ export const confirmCancellationReleaseOrder = {
|
|
|
187
189
|
})
|
|
188
190
|
await tx.getRepository(WorksheetDetail).save(foundWSD)
|
|
189
191
|
}
|
|
190
|
-
|
|
191
192
|
// find DO and change status to pending cancel
|
|
192
193
|
let foundDO: DeliveryOrder[] = await tx.getRepository(DeliveryOrder).find({
|
|
193
194
|
where: { domain, releaseGood, status: ORDER_STATUS.PENDING_CANCEL },
|
|
@@ -319,7 +320,7 @@ async function updateStockForOrderInventories(
|
|
|
319
320
|
})
|
|
320
321
|
if (application) {
|
|
321
322
|
const powrupController: PowrupController = new PowrupController()
|
|
322
|
-
|
|
323
|
+
powrupController.updateStock(orderInventories, customerDomain, user, tx)
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
326
|
}
|
|
@@ -131,7 +131,7 @@ export async function cycleCountAdjustment(
|
|
|
131
131
|
|
|
132
132
|
if (application) {
|
|
133
133
|
const powrupController: PowrupController = new PowrupController()
|
|
134
|
-
|
|
134
|
+
powrupController.updateStock([inventory], customerDomain, user, tx)
|
|
135
135
|
}
|
|
136
136
|
} else if (targetInventory.inspectedQty == 0) {
|
|
137
137
|
// create STORED, CC_ADJUSTMENT history
|
|
@@ -167,7 +167,7 @@ export async function cycleCountAdjustment(
|
|
|
167
167
|
|
|
168
168
|
if (application) {
|
|
169
169
|
const powrupController: PowrupController = new PowrupController()
|
|
170
|
-
|
|
170
|
+
powrupController.updateStock([inventory], customerDomain, user, tx)
|
|
171
171
|
}
|
|
172
172
|
} else {
|
|
173
173
|
const prevLocationId: string = inventory.location.id
|
|
@@ -227,7 +227,7 @@ export async function cycleCountAdjustment(
|
|
|
227
227
|
|
|
228
228
|
if (application) {
|
|
229
229
|
const powrupController: PowrupController = new PowrupController()
|
|
230
|
-
|
|
230
|
+
powrupController.updateStock([inventory], customerDomain, user, tx)
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
targetInventory.status = ORDER_INVENTORY_STATUS.TERMINATED
|