Commit 35a79d4ae4f21de95cbd43e8cd7d508963583b3a

Authored by 谭毅彬
1 parent 728e7ff0

入库追踪提交

Signed-off-by: TanYibin <5491541@qq.com>
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&lt;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&lt;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&lt;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&lt;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&lt;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  
... ...