Commit 5f7f8a3deb790b87d97f2dd7e5f8207cd5fb69ef
Merge branch 'develop' of http://www.huahengrobot.com:90/wms/wms4 into develop
Showing
6 changed files
with
75 additions
and
26 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
... | ... | @@ -69,8 +69,11 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope |
69 | 69 | String message = "容器编码:{},物料编码:{},出库数量:{}"; |
70 | 70 | operationLogList.addAll( |
71 | 71 | createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getContainerCode", "getMaterialCode", "getQty")); |
72 | + } else if (logDTO.getTag().equals("出库任务生成")) { | |
73 | + String message = "物料编码:{},出库数量:{}"; | |
74 | + operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); | |
72 | 75 | } else if (logDTO.getTag().equals("详情出库")) { |
73 | - String message = "物料编码:{},收货数量:{}"; | |
76 | + String message = "物料编码:{},出库数量:{}"; | |
74 | 77 | operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getTaskQty")); |
75 | 78 | } else if (logDTO.getTag().equals("详情配盘")) { |
76 | 79 | String message = "物料编码:{},数量:{},出库数量:{}"; |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
... | ... | @@ -146,8 +146,7 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R |
146 | 146 | @Override |
147 | 147 | @Transactional |
148 | 148 | @OperationLog(bizId = "#receiptHeader.getCode()", bizType = "'入库单追踪'", tag = "'入库完成'", |
149 | - msg = "'上游单号:'+ #receiptHeader.getReferCode() + ',仓库编码:' + #receiptHeader.getWarehouseCode()", condition = "#minStatus == 800 && #maxStatus == 800", | |
150 | - recordReturnValue = true) | |
149 | + msg = "'上游单号:'+ #receiptHeader.getReferCode() + ',仓库编码:' + #receiptHeader.getWarehouseCode()", condition = "#minStatus == 800", recordReturnValue = true) | |
151 | 150 | public boolean updateReceiptHeaderStatus(Integer id) { |
152 | 151 | LambdaQueryWrapper<ReceiptDetail> receiptDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); |
153 | 152 | receiptDetailLambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id); |
... | ... | @@ -178,10 +177,9 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R |
178 | 177 | receiptHeader.setFirstStatus(maxStatus); |
179 | 178 | receiptHeader.setLastStatus(minStatus); |
180 | 179 | if (!receiptHeaderService.updateById(receiptHeader)) { |
181 | - throw new ServiceException("更新入库单:" + receiptHeader.getCode() + " 状态失败"); | |
180 | + throw new ServiceException("更新入库单:" + receiptHeader.getCode() + " 头状态失败"); | |
182 | 181 | } |
183 | 182 | LogRecordContext.putVariable("minStatus", minStatus); |
184 | - LogRecordContext.putVariable("maxStatus", maxStatus); | |
185 | 183 | LogRecordContext.putVariable("receiptHeader", receiptHeader); |
186 | 184 | return true; |
187 | 185 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
... | ... | @@ -416,6 +416,8 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
416 | 416 | |
417 | 417 | @Override |
418 | 418 | @Transactional(rollbackFor = ServiceException.class) |
419 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务生成'", extra = "#extraJsonString", msg = "'任务ID:' + #taskHeaderId + ',目标出入口:' + #shipmentContainerHeader.getToPort()", | |
420 | + condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) | |
419 | 421 | public Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber) { |
420 | 422 | Integer preTaskNo = 0; |
421 | 423 | if (shipmentContainerHeader == null) { |
... | ... | @@ -436,7 +438,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
436 | 438 | String toLocationCode = shipmentContainerHeader.getToLocationCode(); |
437 | 439 | String containerCode = shipmentContainerHeader.getContainerCode(); |
438 | 440 | if (StringUtils.isEmpty(fromLocationCode)) { |
439 | - return Result.error("生成出库任务时, 出库组盘头没有起始库位号为空"); | |
441 | + return Result.error("生成出库任务时, 出库组盘头没有起始库位号"); | |
440 | 442 | } |
441 | 443 | Location location = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
442 | 444 | if (location == null) { |
... | ... | @@ -557,6 +559,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
557 | 559 | throw new ServiceException("生成出库任务时, 更新库存头失败"); |
558 | 560 | } |
559 | 561 | } |
562 | + LogRecordContext.putVariable("taskHeaderId", taskHeaderId);// 操作日志收集 | |
563 | + LogRecordContext.putVariable("shipmentContainerDetailList", shipmentContainerDetailList);// 操作日志收集 | |
564 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentContainerDetailList));// 操作日志收集 | |
560 | 565 | return Result.OK("生成出库任务成功"); |
561 | 566 | } |
562 | 567 | |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
... | ... | @@ -34,6 +34,7 @@ import org.springframework.stereotype.Service; |
34 | 34 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
35 | 35 | |
36 | 36 | import cn.monitor4all.logRecord.annotation.OperationLog; |
37 | +import cn.monitor4all.logRecord.context.LogRecordContext; | |
37 | 38 | |
38 | 39 | import org.springframework.beans.factory.annotation.Autowired; |
39 | 40 | import org.springframework.transaction.annotation.Transactional; |
... | ... | @@ -162,6 +163,8 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, |
162 | 163 | } |
163 | 164 | |
164 | 165 | @Override |
166 | + @OperationLog(bizId = "#shipmentHeader.getCode()", bizType = "'出库单追踪'", tag = "'出库完成'", | |
167 | + msg = "'上游单号:'+ #shipmentHeader.getReferCode() + ',仓库编码:' + #shipmentHeader.getWarehouseCode()", condition = "#minStatus == 800", recordReturnValue = true) | |
165 | 168 | public boolean updateShipmentHeaderStatus(Integer shipmentId) { |
166 | 169 | List<ShipmentDetail> shipmentDetailList = shipmentDetailService.getShipmentDetailListByShipmentId(shipmentId); |
167 | 170 | ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentId); |
... | ... | @@ -171,8 +174,8 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, |
171 | 174 | int minStatus; |
172 | 175 | int maxStatus; |
173 | 176 | if (shipmentDetailList.size() == 0) { |
174 | - minStatus = QuantityConstant.RECEIPT_HEADER_BUILD; | |
175 | - maxStatus = QuantityConstant.RECEIPT_HEADER_BUILD; | |
177 | + minStatus = QuantityConstant.SHIPMENT_HEADER_BUILD; | |
178 | + maxStatus = QuantityConstant.SHIPMENT_HEADER_BUILD; | |
176 | 179 | } else { |
177 | 180 | minStatus = shipmentDetailList.get(0).getStatus(); |
178 | 181 | maxStatus = shipmentDetailList.get(0).getStatus(); |
... | ... | @@ -186,11 +189,16 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, |
186 | 189 | } |
187 | 190 | } |
188 | 191 | } |
189 | - | |
192 | + // 头状态是单据详情中最大的状态 | |
193 | + // 尾状态是单据详情中最小的状态 | |
190 | 194 | shipmentHeader.setFirstStatus(maxStatus); |
191 | 195 | shipmentHeader.setLastStatus(minStatus); |
192 | - boolean result = shipmentHeaderService.updateById(shipmentHeader); | |
193 | - return result; | |
196 | + if (!shipmentHeaderService.updateById(shipmentHeader)) { | |
197 | + throw new ServiceException("更新出库单:" + shipmentHeader.getCode() + " 头状态失败"); | |
198 | + } | |
199 | + LogRecordContext.putVariable("minStatus", minStatus); | |
200 | + LogRecordContext.putVariable("shipmentHeader", shipmentHeader); | |
201 | + return true; | |
194 | 202 | } |
195 | 203 | |
196 | 204 | @Override |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
... | ... | @@ -213,4 +213,24 @@ public interface ITaskHeaderService extends IService<TaskHeader> { |
213 | 213 | * @return |
214 | 214 | */ |
215 | 215 | Result handlePickupError(String taskNo); |
216 | + | |
217 | + Result completeReceiptTask(TaskHeader taskHeader); | |
218 | + | |
219 | + Result completeShipmentTask(TaskHeader taskHeader); | |
220 | + | |
221 | + Result completeCycleCountTask(TaskHeader taskHeader); | |
222 | + | |
223 | + Result completeEmptyInTask(TaskHeader taskHeader); | |
224 | + | |
225 | + Result completeEmptyOutTask(TaskHeader taskHeader); | |
226 | + | |
227 | + Result completeTransferTask(TaskHeader taskHeader); | |
228 | + | |
229 | + Result completeCheckOutTask(TaskHeader taskHeader); | |
230 | + | |
231 | + Result completeOverStationTask(TaskHeader taskHeader); | |
232 | + | |
233 | + Result completeManyEmptyInTask(TaskHeader taskHeader); | |
234 | + | |
235 | + Result completeManyEmptyOutTask(TaskHeader taskHeader); | |
216 | 236 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... | ... | @@ -865,35 +865,35 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
865 | 865 | // 整盘入库、补充入库 |
866 | 866 | case QuantityConstant.TASK_TYPE_WHOLERECEIPT: |
867 | 867 | case QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT: |
868 | - result = completeReceiptTask(taskHeader); | |
868 | + result = taskHeaderService.completeReceiptTask(taskHeader); | |
869 | 869 | break; |
870 | 870 | case QuantityConstant.TASK_TYPE_WHOLESHIPMENT: |
871 | 871 | case QuantityConstant.TASK_TYPE_SORTINGSHIPMENT: |
872 | - result = completeShipmentTask(taskHeader); | |
872 | + result = taskHeaderService.completeShipmentTask(taskHeader); | |
873 | 873 | break; |
874 | 874 | case QuantityConstant.TASK_TYPE_CYCLECOUNT: |
875 | - result = completeCycleCountTask(taskHeader); | |
875 | + result = taskHeaderService.completeCycleCountTask(taskHeader); | |
876 | 876 | break; |
877 | 877 | case QuantityConstant.TASK_TYPE_EMPTYRECEIPT: |
878 | - result = completeEmptyInTask(taskHeader); | |
878 | + result = taskHeaderService.completeEmptyInTask(taskHeader); | |
879 | 879 | break; |
880 | 880 | case QuantityConstant.TASK_TYPE_EMPTYSHIPMENT: |
881 | - result = completeEmptyOutTask(taskHeader); | |
881 | + result = taskHeaderService.completeEmptyOutTask(taskHeader); | |
882 | 882 | break; |
883 | 883 | case QuantityConstant.TASK_TYPE_TRANSFER: |
884 | - result = completeTransferTask(taskHeader); | |
884 | + result = taskHeaderService.completeTransferTask(taskHeader); | |
885 | 885 | break; |
886 | 886 | case QuantityConstant.TASK_TYPE_CHECK_OUT: |
887 | - result = completeCheckOutTask(taskHeader); | |
887 | + result = taskHeaderService.completeCheckOutTask(taskHeader); | |
888 | 888 | break; |
889 | 889 | case QuantityConstant.TASK_TYPE_OVER_STATION: |
890 | - result = completeOverStationTask(taskHeader); | |
890 | + result = taskHeaderService.completeOverStationTask(taskHeader); | |
891 | 891 | break; |
892 | 892 | case QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT: |
893 | - result = completeManyEmptyInTask(taskHeader); | |
893 | + result = taskHeaderService.completeManyEmptyInTask(taskHeader); | |
894 | 894 | break; |
895 | 895 | case QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT: |
896 | - result = completeManyEmptyOutTask(taskHeader); | |
896 | + result = taskHeaderService.completeManyEmptyOutTask(taskHeader); | |
897 | 897 | break; |
898 | 898 | default: |
899 | 899 | throw new ServiceException("不支持的任务类型" + taskType); |
... | ... | @@ -1095,6 +1095,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1095 | 1095 | * @param taskHeader 任务 |
1096 | 1096 | * @return AjaxResult 完成入库任务结果 |
1097 | 1097 | */ |
1098 | + @Override | |
1098 | 1099 | @Transactional(rollbackFor = Exception.class) |
1099 | 1100 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) |
1100 | 1101 | public Result completeReceiptTask(TaskHeader taskHeader) { |
... | ... | @@ -1254,7 +1255,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1254 | 1255 | * @param taskHeader 任务 |
1255 | 1256 | * @return result 完成出库任务 |
1256 | 1257 | */ |
1258 | + @Override | |
1257 | 1259 | @Transactional(rollbackFor = Exception.class) |
1260 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
1258 | 1261 | public Result completeShipmentTask(TaskHeader taskHeader) { |
1259 | 1262 | if (taskHeader == null) { |
1260 | 1263 | return Result.error("完成出库任务未找到,执行中止"); |
... | ... | @@ -1364,10 +1367,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1364 | 1367 | } |
1365 | 1368 | containerStatus = QuantityConstant.STATUS_CONTAINER_SOME; |
1366 | 1369 | } |
1367 | - success = shipmentDetailService.updateBatchById(shipmentDetailList); | |
1368 | - if (!success) { | |
1369 | - throw new ServiceException("完成出库任务,更新出库详情失败"); | |
1370 | - } | |
1371 | 1370 | success = inventoryTransactionService.saveBatch(inventoryTransactionList); |
1372 | 1371 | if (!success) { |
1373 | 1372 | throw new ServiceException("完成出库任务,保存库存详情失败"); |
... | ... | @@ -1416,10 +1415,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1416 | 1415 | throw new ServiceException("合并入库库存失败"); |
1417 | 1416 | } |
1418 | 1417 | } |
1418 | + success = shipmentDetailService.updateBatchById(shipmentDetailList); | |
1419 | + if (!success) { | |
1420 | + throw new ServiceException("完成出库任务,更新出库详情失败"); | |
1421 | + } | |
1419 | 1422 | shipmentIdList = shipmentIdList.stream().distinct().collect(Collectors.toList()); |
1420 | 1423 | for (Integer shipmentId : shipmentIdList) { |
1421 | - shipmentHeaderService.updateShipmentHeaderStatus(shipmentId); | |
1424 | + success = shipmentHeaderService.updateShipmentHeaderStatus(shipmentId); | |
1425 | + if (!success) { | |
1426 | + throw new ServiceException("完成出库任务,更新出库单头失败"); | |
1427 | + } | |
1422 | 1428 | } |
1429 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentDetailList)); | |
1423 | 1430 | return Result.ok("完成出库任务"); |
1424 | 1431 | } |
1425 | 1432 | |
... | ... | @@ -1479,6 +1486,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1479 | 1486 | * @param taskHeader 任务 |
1480 | 1487 | * @return Result 完成入库任务结果 |
1481 | 1488 | */ |
1489 | + @Override | |
1482 | 1490 | @Transactional(rollbackFor = Exception.class) |
1483 | 1491 | public Result completeEmptyInTask(TaskHeader taskHeader) { |
1484 | 1492 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1523,6 +1531,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1523 | 1531 | * @param taskHeader |
1524 | 1532 | * @return |
1525 | 1533 | */ |
1534 | + @Override | |
1526 | 1535 | @Transactional(rollbackFor = Exception.class) |
1527 | 1536 | public Result completeCycleCountTask(TaskHeader taskHeader) { |
1528 | 1537 | /* |
... | ... | @@ -1745,6 +1754,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1745 | 1754 | * @param taskHeader 任务 |
1746 | 1755 | * @return Result 完成出库任务结果 |
1747 | 1756 | */ |
1757 | + @Override | |
1748 | 1758 | @Transactional(rollbackFor = Exception.class) |
1749 | 1759 | public Result completeEmptyOutTask(TaskHeader taskHeader) { |
1750 | 1760 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1799,6 +1809,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1799 | 1809 | * @param taskHeader 任务 |
1800 | 1810 | * @return Result 完成移库任务结果 |
1801 | 1811 | */ |
1812 | + @Override | |
1802 | 1813 | @Transactional(rollbackFor = Exception.class) |
1803 | 1814 | public Result completeTransferTask(TaskHeader taskHeader) { |
1804 | 1815 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1907,6 +1918,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1907 | 1918 | * @param taskHeader 任务 |
1908 | 1919 | * @return Result 完成出库查看任务结果 |
1909 | 1920 | */ |
1921 | + @Override | |
1910 | 1922 | @Transactional(rollbackFor = Exception.class) |
1911 | 1923 | public Result completeCheckOutTask(TaskHeader taskHeader) { |
1912 | 1924 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1976,6 +1988,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1976 | 1988 | * @param taskHeader 任务 |
1977 | 1989 | * @return Result 完成跨站任务结果 |
1978 | 1990 | */ |
1991 | + @Override | |
1979 | 1992 | @Transactional(rollbackFor = Exception.class) |
1980 | 1993 | public Result completeOverStationTask(TaskHeader taskHeader) { |
1981 | 1994 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -2023,6 +2036,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2023 | 2036 | * @param taskHeader 任务 |
2024 | 2037 | * @return Result 完成空托盘组入库任务结果 |
2025 | 2038 | */ |
2039 | + @Override | |
2026 | 2040 | @Transactional(rollbackFor = Exception.class) |
2027 | 2041 | public Result completeManyEmptyInTask(TaskHeader taskHeader) { |
2028 | 2042 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -2066,6 +2080,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2066 | 2080 | * @param taskHeader 任务 |
2067 | 2081 | * @return Result 完成空托盘组出库任务结果 |
2068 | 2082 | */ |
2083 | + @Override | |
2069 | 2084 | @Transactional(rollbackFor = Exception.class) |
2070 | 2085 | public Result completeManyEmptyOutTask(TaskHeader taskHeader) { |
2071 | 2086 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... |