Commit d329f3c7fd36d90b9efe86e50ad9334772ecc601
1 parent
e1ba967f
出库单操作记录提交
Signed-off-by: TanYibin <5491541@qq.com>
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
... | ... | @@ -864,35 +864,35 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
864 | 864 | // 整盘入库、补充入库 |
865 | 865 | case QuantityConstant.TASK_TYPE_WHOLERECEIPT: |
866 | 866 | case QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT: |
867 | - result = completeReceiptTask(taskHeader); | |
867 | + result = taskHeaderService.completeReceiptTask(taskHeader); | |
868 | 868 | break; |
869 | 869 | case QuantityConstant.TASK_TYPE_WHOLESHIPMENT: |
870 | 870 | case QuantityConstant.TASK_TYPE_SORTINGSHIPMENT: |
871 | - result = completeShipmentTask(taskHeader); | |
871 | + result = taskHeaderService.completeShipmentTask(taskHeader); | |
872 | 872 | break; |
873 | 873 | case QuantityConstant.TASK_TYPE_CYCLECOUNT: |
874 | - result = completeCycleCountTask(taskHeader); | |
874 | + result = taskHeaderService.completeCycleCountTask(taskHeader); | |
875 | 875 | break; |
876 | 876 | case QuantityConstant.TASK_TYPE_EMPTYRECEIPT: |
877 | - result = completeEmptyInTask(taskHeader); | |
877 | + result = taskHeaderService.completeEmptyInTask(taskHeader); | |
878 | 878 | break; |
879 | 879 | case QuantityConstant.TASK_TYPE_EMPTYSHIPMENT: |
880 | - result = completeEmptyOutTask(taskHeader); | |
880 | + result = taskHeaderService.completeEmptyOutTask(taskHeader); | |
881 | 881 | break; |
882 | 882 | case QuantityConstant.TASK_TYPE_TRANSFER: |
883 | - result = completeTransferTask(taskHeader); | |
883 | + result = taskHeaderService.completeTransferTask(taskHeader); | |
884 | 884 | break; |
885 | 885 | case QuantityConstant.TASK_TYPE_CHECK_OUT: |
886 | - result = completeCheckOutTask(taskHeader); | |
886 | + result = taskHeaderService.completeCheckOutTask(taskHeader); | |
887 | 887 | break; |
888 | 888 | case QuantityConstant.TASK_TYPE_OVER_STATION: |
889 | - result = completeOverStationTask(taskHeader); | |
889 | + result = taskHeaderService.completeOverStationTask(taskHeader); | |
890 | 890 | break; |
891 | 891 | case QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT: |
892 | - result = completeManyEmptyInTask(taskHeader); | |
892 | + result = taskHeaderService.completeManyEmptyInTask(taskHeader); | |
893 | 893 | break; |
894 | 894 | case QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT: |
895 | - result = completeManyEmptyOutTask(taskHeader); | |
895 | + result = taskHeaderService.completeManyEmptyOutTask(taskHeader); | |
896 | 896 | break; |
897 | 897 | default: |
898 | 898 | throw new ServiceException("不支持的任务类型" + taskType); |
... | ... | @@ -1094,6 +1094,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1094 | 1094 | * @param taskHeader 任务 |
1095 | 1095 | * @return AjaxResult 完成入库任务结果 |
1096 | 1096 | */ |
1097 | + @Override | |
1097 | 1098 | @Transactional(rollbackFor = Exception.class) |
1098 | 1099 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) |
1099 | 1100 | public Result completeReceiptTask(TaskHeader taskHeader) { |
... | ... | @@ -1253,7 +1254,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1253 | 1254 | * @param taskHeader 任务 |
1254 | 1255 | * @return result 完成出库任务 |
1255 | 1256 | */ |
1257 | + @Override | |
1256 | 1258 | @Transactional(rollbackFor = Exception.class) |
1259 | + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库'", extra = "#extraJsonString", msg = "''", recordReturnValue = true) | |
1257 | 1260 | public Result completeShipmentTask(TaskHeader taskHeader) { |
1258 | 1261 | if (taskHeader == null) { |
1259 | 1262 | return Result.error("完成出库任务未找到,执行中止"); |
... | ... | @@ -1363,10 +1366,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1363 | 1366 | } |
1364 | 1367 | containerStatus = QuantityConstant.STATUS_CONTAINER_SOME; |
1365 | 1368 | } |
1366 | - success = shipmentDetailService.updateBatchById(shipmentDetailList); | |
1367 | - if (!success) { | |
1368 | - throw new ServiceException("完成出库任务,更新出库详情失败"); | |
1369 | - } | |
1370 | 1369 | success = inventoryTransactionService.saveBatch(inventoryTransactionList); |
1371 | 1370 | if (!success) { |
1372 | 1371 | throw new ServiceException("完成出库任务,保存库存详情失败"); |
... | ... | @@ -1415,10 +1414,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1415 | 1414 | throw new ServiceException("合并入库库存失败"); |
1416 | 1415 | } |
1417 | 1416 | } |
1417 | + success = shipmentDetailService.updateBatchById(shipmentDetailList); | |
1418 | + if (!success) { | |
1419 | + throw new ServiceException("完成出库任务,更新出库详情失败"); | |
1420 | + } | |
1418 | 1421 | shipmentIdList = shipmentIdList.stream().distinct().collect(Collectors.toList()); |
1419 | 1422 | for (Integer shipmentId : shipmentIdList) { |
1420 | - shipmentHeaderService.updateShipmentHeaderStatus(shipmentId); | |
1423 | + success = shipmentHeaderService.updateShipmentHeaderStatus(shipmentId); | |
1424 | + if (!success) { | |
1425 | + throw new ServiceException("完成出库任务,更新出库单头失败"); | |
1426 | + } | |
1421 | 1427 | } |
1428 | + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentDetailList)); | |
1422 | 1429 | return Result.ok("完成出库任务"); |
1423 | 1430 | } |
1424 | 1431 | |
... | ... | @@ -1478,6 +1485,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1478 | 1485 | * @param taskHeader 任务 |
1479 | 1486 | * @return Result 完成入库任务结果 |
1480 | 1487 | */ |
1488 | + @Override | |
1481 | 1489 | @Transactional(rollbackFor = Exception.class) |
1482 | 1490 | public Result completeEmptyInTask(TaskHeader taskHeader) { |
1483 | 1491 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1522,6 +1530,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1522 | 1530 | * @param taskHeader |
1523 | 1531 | * @return |
1524 | 1532 | */ |
1533 | + @Override | |
1525 | 1534 | @Transactional(rollbackFor = Exception.class) |
1526 | 1535 | public Result completeCycleCountTask(TaskHeader taskHeader) { |
1527 | 1536 | /* |
... | ... | @@ -1744,6 +1753,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1744 | 1753 | * @param taskHeader 任务 |
1745 | 1754 | * @return Result 完成出库任务结果 |
1746 | 1755 | */ |
1756 | + @Override | |
1747 | 1757 | @Transactional(rollbackFor = Exception.class) |
1748 | 1758 | public Result completeEmptyOutTask(TaskHeader taskHeader) { |
1749 | 1759 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1798,6 +1808,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1798 | 1808 | * @param taskHeader 任务 |
1799 | 1809 | * @return Result 完成移库任务结果 |
1800 | 1810 | */ |
1811 | + @Override | |
1801 | 1812 | @Transactional(rollbackFor = Exception.class) |
1802 | 1813 | public Result completeTransferTask(TaskHeader taskHeader) { |
1803 | 1814 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1906,6 +1917,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1906 | 1917 | * @param taskHeader 任务 |
1907 | 1918 | * @return Result 完成出库查看任务结果 |
1908 | 1919 | */ |
1920 | + @Override | |
1909 | 1921 | @Transactional(rollbackFor = Exception.class) |
1910 | 1922 | public Result completeCheckOutTask(TaskHeader taskHeader) { |
1911 | 1923 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -1975,6 +1987,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1975 | 1987 | * @param taskHeader 任务 |
1976 | 1988 | * @return Result 完成跨站任务结果 |
1977 | 1989 | */ |
1990 | + @Override | |
1978 | 1991 | @Transactional(rollbackFor = Exception.class) |
1979 | 1992 | public Result completeOverStationTask(TaskHeader taskHeader) { |
1980 | 1993 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -2022,6 +2035,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2022 | 2035 | * @param taskHeader 任务 |
2023 | 2036 | * @return Result 完成空托盘组入库任务结果 |
2024 | 2037 | */ |
2038 | + @Override | |
2025 | 2039 | @Transactional(rollbackFor = Exception.class) |
2026 | 2040 | public Result completeManyEmptyInTask(TaskHeader taskHeader) { |
2027 | 2041 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... | @@ -2065,6 +2079,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2065 | 2079 | * @param taskHeader 任务 |
2066 | 2080 | * @return Result 完成空托盘组出库任务结果 |
2067 | 2081 | */ |
2082 | + @Override | |
2068 | 2083 | @Transactional(rollbackFor = Exception.class) |
2069 | 2084 | public Result completeManyEmptyOutTask(TaskHeader taskHeader) { |
2070 | 2085 | String warehouseCode = taskHeader.getWarehouseCode(); |
... | ... |