Commit 7a791cfff3790294ac3a07949d156c0cfdde3d47
1 parent
430bdfe4
出库完成完善
Showing
1 changed file
with
26 additions
and
7 deletions
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... | ... | @@ -483,7 +483,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
483 | 483 | } |
484 | 484 | //修改组盘表状态为20 |
485 | 485 | ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail(); |
486 | - receiptContainerDetail.setStatus(20); | |
486 | + receiptContainerDetail.setStatus(30); | |
487 | 487 | receiptContainerDetail.setProcessStamp("0"); |
488 | 488 | receiptContainerDetail.setLastUpdated(new Date()); |
489 | 489 | receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); |
... | ... | @@ -1015,15 +1015,20 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1015 | 1015 | throw new ServiceException("任务明细对应的库存ID【" + taskDetail.getToInventoryId().toString() + "】不存在!"); |
1016 | 1016 | } |
1017 | 1017 | BigDecimal orignalQty = inventoryDetail.getQty(); |
1018 | - //扣减库存 | |
1018 | + //减扣库存单 | |
1019 | + InventoryHeader inventoryHeader = inventoryHeaderService.getById(inventoryDetail.getInventoryHeaderId()); | |
1020 | + inventoryHeader.setTotalQty(inventoryDetail.getQty().subtract(taskDetail.getQty()).intValue()); | |
1021 | + //扣减库存明细 | |
1019 | 1022 | inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().subtract(taskDetail.getQty())); |
1020 | 1023 | inventoryDetail.setQty(inventoryDetail.getQty().subtract(taskDetail.getQty())); |
1021 | 1024 | if(inventoryDetail.getQty().compareTo(new BigDecimal("0"))==0 && inventoryDetail.getTaskQty().compareTo(new BigDecimal("0"))==0){ |
1022 | 1025 | //如果库存没有了,就删除这个库存 |
1023 | 1026 | inventoryDetailService.removeById(inventoryDetail.getId()); |
1027 | + inventoryHeaderService.removeById(inventoryHeader.getId()); | |
1024 | 1028 | }else { |
1025 | 1029 | //否则更新这个库存 |
1026 | 1030 | inventoryDetailService.updateById(inventoryDetail); |
1031 | + inventoryHeaderService.updateById(inventoryHeader); | |
1027 | 1032 | } |
1028 | 1033 | //设置子任务状态为已执行 |
1029 | 1034 | taskDetail.setStatus(100); |
... | ... | @@ -1092,11 +1097,25 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1092 | 1097 | containerService.update(containerLambdaUpdateWrapper); |
1093 | 1098 | } |
1094 | 1099 | } |
1095 | -// //设置出库货箱状态为拣货任务完成 | |
1096 | -// shipmentContainerHeaderService.resetStatusShipmentContainer(task.getAllocationHeadId(),(short)20); | |
1097 | - // 最后更新单据状态 | |
1098 | - shipmentHeadIds.stream().distinct().forEach(t->shipmentHeaderService.updateShipmentStatus(t)); | |
1099 | - | |
1100 | + //设置出库货箱状态为拣货任务完成 | |
1101 | + ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail(); | |
1102 | + receiptContainerDetail.setStatus(30); | |
1103 | + receiptContainerDetail.setLastUpdated(new Date()); | |
1104 | + receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
1105 | + LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate(); | |
1106 | + receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getId,task.getAllocationHeadId()); | |
1107 | + if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper)){ | |
1108 | + throw new ServiceException("更新组盘明细状态失败"); | |
1109 | + } | |
1110 | + //设置出库货箱表头状态为拣货任务完成 | |
1111 | + ReceiptContainerHeader ContainerHeader = new ReceiptContainerHeader(); | |
1112 | + ContainerHeader.setStatus((short)30); | |
1113 | + ContainerHeader.setLastUpdated(new Date()); | |
1114 | + ContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
1115 | + LambdaUpdateWrapper<ReceiptContainerHeader> receiptContainerHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate(); | |
1116 | + receiptContainerHeaderLambdaUpdateWrapper.eq(ReceiptContainerHeader::getId,task.getAllocationHeadId()); | |
1117 | + if (! receiptContainerHeaderService.update(ContainerHeader, receiptContainerHeaderLambdaUpdateWrapper)) | |
1118 | + throw new ServiceException("更新组盘头状态失败"); | |
1100 | 1119 | } |
1101 | 1120 | |
1102 | 1121 | |
... | ... |