Commit 35a79d4ae4f21de95cbd43e8cd7d508963583b3a
1 parent
728e7ff0
入库追踪提交
Signed-off-by: TanYibin <5491541@qq.com>
Showing
4 changed files
with
105 additions
and
50 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
... | ... | @@ -91,6 +91,9 @@ public class WcsServiceImpl implements WcsService { |
91 | 91 | @Transactional(rollbackFor = Exception.class) |
92 | 92 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情分配库位'", extra = "#extraJsonString", |
93 | 93 | msg = "'任务ID:' + #warecellDomain.getTaskNo() + ',库位编码:' + #locationCode", condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) |
94 | + @OperationLog(bizId = "#taskHeader.getId()", bizType = "'任务追踪'", tag = "'分配库位'", extra = "''", | |
95 | + msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | |
96 | + recordReturnValue = true) | |
94 | 97 | public Result warecellAllocation(WarecellDomain warecellDomain) { |
95 | 98 | String warehouseCode = warecellDomain.getWarehouseCode(); |
96 | 99 | String zoneCode = warecellDomain.getZoneCode(); |
... | ... | @@ -241,12 +244,16 @@ public class WcsServiceImpl implements WcsService { |
241 | 244 | LogRecordContext.putVariable("locationCode", locationCode);// 操作日志收集 |
242 | 245 | LogRecordContext.putVariable("receiptContainerDetailList", receiptContainerDetailList);// 操作日志收集 |
243 | 246 | LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集 |
247 | + LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集 | |
244 | 248 | return Result.OK(wcsTask); |
245 | 249 | } |
246 | 250 | |
247 | 251 | @Override |
248 | 252 | @Transactional(rollbackFor = Exception.class) |
249 | 253 | @ApiLogger(apiName = "任务下发", from = "WCS") |
254 | + @OperationLog(bizId = "#taskHeader.getId()", bizType = "'任务追踪'", tag = "'任务下发'", extra = "''", | |
255 | + msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | |
256 | + recordReturnValue = true) | |
250 | 257 | public Result wcsTaskAssign(TaskHeader taskHeader) { |
251 | 258 | if (taskHeader == null) { |
252 | 259 | return Result.error("wms任务为空"); |
... | ... | @@ -400,7 +407,7 @@ public class WcsServiceImpl implements WcsService { |
400 | 407 | return Result.error(result.getMessage()); |
401 | 408 | } |
402 | 409 | } |
403 | - | |
410 | + LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集 | |
404 | 411 | return Result.ok("下发成功"); |
405 | 412 | } |
406 | 413 | |
... | ... | @@ -614,6 +621,9 @@ public class WcsServiceImpl implements WcsService { |
614 | 621 | |
615 | 622 | @Override |
616 | 623 | @Transactional(rollbackFor = Exception.class) |
624 | + @OperationLog(bizId = "#taskHeader.getId()", bizType = "'任务追踪'", tag = "'到达站台'", extra = "''", | |
625 | + msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()", | |
626 | + recordReturnValue = true) | |
617 | 627 | public Result arrivedNotice(String taskNo, String port) { |
618 | 628 | TaskHeader taskHeader = taskHeaderService.getById(taskNo); |
619 | 629 | if (taskHeader == null) { |
... | ... | @@ -629,6 +639,7 @@ public class WcsServiceImpl implements WcsService { |
629 | 639 | if (!result) { |
630 | 640 | return Result.error("更新到达站台失败"); |
631 | 641 | } |
642 | + LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集 | |
632 | 643 | return Result.ok("更新到达站台成功"); |
633 | 644 | } |
634 | 645 | |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
... | ... | @@ -42,51 +42,85 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope |
42 | 42 | log.debug(">>>>>> create OperationLog:{} <<<<<<", JSON.toJSONString(logDTO)); |
43 | 43 | List<OperationLog> operationLogList = new ArrayList<OperationLog>(); |
44 | 44 | if (!StringUtils.isEmpty(logDTO.getExtra())) { |
45 | - if (logDTO.getBizType().equals("物料追踪")) { | |
46 | - if (logDTO.getTag().equals("入库组盘")) { | |
47 | - String message = "容器编码:{},物料编码:{},数量:{}"; | |
48 | - operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getUniqueCode", message, "getReferCode", "getReceiptCode", | |
49 | - "getWarehouseCode", "getContainerCode", "getMaterialCode", "getQty")); | |
50 | - } | |
51 | - } else if (logDTO.getBizType().equals("入库单追踪")) { | |
52 | - if (logDTO.getTag().equals("详情分配库位") || logDTO.getTag().equals("详情组盘") || logDTO.getTag().equals("详情取消组盘") || logDTO.getTag().equals("入库任务生成") | |
53 | - || logDTO.getTag().equals("入库任务取消")) { | |
54 | - String message = "容器编码:{},物料编码:{},入库数量:{}"; | |
55 | - operationLogList.addAll( | |
56 | - createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getContainerCode", "getMaterialCode", "getQty")); | |
57 | - } else if (logDTO.getTag().equals("入库任务完成")) { | |
58 | - String message = "物料编码:{},入库数量:{}"; | |
59 | - operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
60 | - } else if (logDTO.getTag().equals("详情入库完成")) { | |
61 | - Thread.sleep(100); | |
62 | - String message = "物料编码:{},数量:{}"; | |
63 | - operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
64 | - } else { | |
65 | - String message = "物料编码:{},数量:{}"; | |
66 | - operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
67 | - } | |
68 | - } else if (logDTO.getBizType().equals("出库单追踪")) { | |
69 | - if (logDTO.getTag().equals("详情配盘") || logDTO.getTag().equals("详情取消配盘")) { | |
70 | - String message = "库位编码:{},容器编码:{},物料编码:{},出库数量:{}"; | |
71 | - operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getFromLocationCode", | |
72 | - "getContainerCode", "getMaterialCode", "getQty")); | |
73 | - } else if (logDTO.getTag().equals("出库任务生成") || logDTO.getTag().equals("出库任务取消")) { | |
74 | - String message = "物料编码:{},出库数量:{}"; | |
75 | - operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
76 | - } else if (logDTO.getTag().equals("出库任务完成")) { | |
77 | - String message = "物料编码:{},出库数量:{}"; | |
78 | - operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
79 | - } else if (logDTO.getTag().equals("详情出库完成")) { | |
80 | - Thread.sleep(100); | |
81 | - String message = "物料编码:{},数量:{}"; | |
82 | - operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
83 | - } else { | |
84 | - String message = "物料编码:{},数量:{}"; | |
85 | - operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
86 | - } | |
45 | + String message = null; | |
46 | + switch (logDTO.getBizType()) { | |
47 | + case "物料追踪": | |
48 | + switch (logDTO.getTag()) { | |
49 | + case "入库组盘": | |
50 | + message = "容器编码:{},物料编码:{},数量:{}"; | |
51 | + operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getUniqueCode", message, "getReferCode", | |
52 | + "getReceiptCode", "getWarehouseCode", "getContainerCode", "getMaterialCode", "getQty")); | |
53 | + break; | |
54 | + } | |
55 | + break; | |
56 | + case "入库单追踪": | |
57 | + switch (logDTO.getTag()) { | |
58 | + case "详情分配库位": | |
59 | + case "详情组盘": | |
60 | + case "详情取消组盘": | |
61 | + case "入库任务生成": | |
62 | + case "入库任务取消": | |
63 | + message = "容器编码:{},物料编码:{},入库数量:{}"; | |
64 | + operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getContainerCode", | |
65 | + "getMaterialCode", "getQty")); | |
66 | + break; | |
67 | + case "入库任务完成": | |
68 | + message = "物料编码:{},入库数量:{}"; | |
69 | + operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
70 | + break; | |
71 | + case "详情入库完成": | |
72 | + Thread.sleep(200);// 确保日志输出顺序 | |
73 | + message = "物料编码:{},数量:{}"; | |
74 | + operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
75 | + break; | |
76 | + default: | |
77 | + message = "物料编码:{},数量:{}"; | |
78 | + operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); | |
79 | + break; | |
80 | + } | |
81 | + break; | |
82 | + case "出库单追踪": | |
83 | + switch (logDTO.getTag()) { | |
84 | + case "详情配盘": | |
85 | + case "详情取消配盘": | |
86 | + message = "库位编码:{},容器编码:{},物料编码:{},出库数量:{}"; | |
87 | + operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getFromLocationCode", | |
88 | + "getContainerCode", "getMaterialCode", "getQty")); | |
89 | + break; | |
90 | + case "出库任务生成": | |
91 | + case "出库任务取消": | |
92 | + message = "物料编码:{},出库数量:{}"; | |
93 | + operationLogList | |
94 | + .addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
95 | + break; | |
96 | + case "出库任务完成": | |
97 | + message = "物料编码:{},出库数量:{}"; | |
98 | + operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
99 | + break; | |
100 | + case "详情出库完成": | |
101 | + Thread.sleep(200);// 确保日志输出顺序 | |
102 | + message = "物料编码:{},数量:{}"; | |
103 | + operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
104 | + break; | |
105 | + default: | |
106 | + message = "物料编码:{},数量:{}"; | |
107 | + operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
108 | + break; | |
109 | + } | |
110 | + break; | |
111 | + case "任务追踪": | |
112 | + switch (logDTO.getTag()) { | |
113 | + case "入库任务生成": | |
114 | + case "入库任务完成": | |
115 | + message = "详情ID:{},物料编码:{},物料名称:{},数量:{}"; | |
116 | + operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getTaskHeaderId", message, "getId", "getMaterialCode", | |
117 | + "getMaterialName", "getQty")); | |
118 | + break; | |
119 | + } | |
120 | + | |
87 | 121 | } |
88 | 122 | } else { |
89 | - Thread.sleep(200); | |
123 | + Thread.sleep(1000); // 确保日志输出顺序 | |
90 | 124 | OperationLog operationLog = new OperationLog(); |
91 | 125 | operationLog.setBizId(logDTO.getBizId()); |
92 | 126 | operationLog.setOperationMsg(StringUtils.substring(logDTO.getMsg(), 0, 1000)); |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -98,8 +98,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
98 | 98 | |
99 | 99 | @Override |
100 | 100 | @Transactional(rollbackFor = ServiceException.class) |
101 | - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString", msg = "'任务ID:' + #taskHeaderId", | |
101 | + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString1", msg = "'任务ID:' + #taskHeader.getId()", | |
102 | 102 | condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true) |
103 | + @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务生成'", extra = "#extraJsonString2", | |
104 | + msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | |
105 | + condition = "#taskDetailList.size() > 0", recordReturnValue = true) | |
103 | 106 | public Result<TaskHeader> createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) { |
104 | 107 | if (!receiptContainerHeader.getWarehouseCode().equals(warehouseCode)) { |
105 | 108 | return Result.error("id:" + receiptContainerHeader.getId() + "的入库组盘不能在" + warehouseCode + "仓库操作"); |
... | ... | @@ -216,9 +219,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
216 | 219 | throw new ServiceException("更新入库单明细失败"); |
217 | 220 | } |
218 | 221 | } |
219 | - LogRecordContext.putVariable("taskHeaderId", taskHeaderId);// 操作日志收集 | |
222 | + LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集 | |
220 | 223 | LogRecordContext.putVariable("receiptContainerDetailList", receiptContainerDetailList);// 操作日志收集 |
221 | - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集 | |
224 | + LogRecordContext.putVariable("extraJsonString1", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集 | |
225 | + LogRecordContext.putVariable("taskDetailList", taskDetailList);// 操作日志收集 | |
226 | + LogRecordContext.putVariable("extraJsonString2", JSON.toJSONString(taskDetailList));// 操作日志收集 | |
222 | 227 | return Result.OK("生成入库任务成功", taskHeader); |
223 | 228 | } |
224 | 229 | |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... | ... | @@ -1068,8 +1068,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1068 | 1068 | */ |
1069 | 1069 | @Override |
1070 | 1070 | @Transactional(rollbackFor = Exception.class) |
1071 | + @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1", | |
1072 | + msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | |
1073 | + condition = "#taskDetailList.size() > 0", recordReturnValue = true) | |
1071 | 1074 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1", |
1072 | - msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", recordReturnValue = true) | |
1075 | + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | |
1076 | + condition = "#taskDetailList.size() > 0", recordReturnValue = true) | |
1073 | 1077 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库完成'", extra = "#extraJsonString2", msg = "''", condition = "#receiptDetaiList.size() > 0", |
1074 | 1078 | recordReturnValue = true) |
1075 | 1079 | public Result completeReceiptTask(TaskHeader taskHeader) { |
... | ... | @@ -1223,10 +1227,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1223 | 1227 | } |
1224 | 1228 | } |
1225 | 1229 | receiptDetaiList = receiptDetaiList.stream().filter(t -> t.getStatus().equals(QuantityConstant.RECEIPT_HEADER_COMPLETED)).collect(Collectors.toList()); |
1226 | - LogRecordContext.putVariable("receiptDetaiList", receiptDetaiList); | |
1230 | + LogRecordContext.putVariable("taskDetailList", taskDetailList); | |
1227 | 1231 | LogRecordContext.putVariable("extraJsonString1", JSON.toJSONString(taskDetailList)); |
1232 | + LogRecordContext.putVariable("receiptDetaiList", receiptDetaiList); | |
1228 | 1233 | LogRecordContext.putVariable("extraJsonString2", JSON.toJSONString(receiptDetaiList)); |
1229 | - | |
1234 | + LogRecordContext.putVariable("taskHeader", taskHeader); | |
1230 | 1235 | return Result.ok("完成入库任务"); |
1231 | 1236 | } |
1232 | 1237 | |
... | ... |