Commit fd76232831ea6294ca8fef767e6eca5cdc2de7f4
Merge remote-tracking branch 'origin/develop' into develop
Showing
3 changed files
with
54 additions
and
9 deletions
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
... | ... | @@ -52,6 +52,8 @@ public class CycleCountDetailController extends BaseController { |
52 | 52 | private CycleCountDetailService cycleCountDetailService; |
53 | 53 | @Resource |
54 | 54 | private CycleCountHeaderService cycleCountHeaderService; |
55 | + @Resource | |
56 | + private InventoryDetailService inventoryDetailService; | |
55 | 57 | |
56 | 58 | |
57 | 59 | |
... | ... | @@ -178,11 +180,15 @@ public class CycleCountDetailController extends BaseController { |
178 | 180 | for (Integer id : detailsIds) |
179 | 181 | { |
180 | 182 | //只允许删除新建状态下的盘点明细。 |
181 | - CycleCountDetail cyclecountDetailFor = cycleCountDetailService.getById(id); | |
182 | - if(cyclecountDetailFor.getEnableStatus() > 1){ | |
183 | + CycleCountDetail cyclecountDetails = cycleCountDetailService.getById(id); | |
184 | + if(cyclecountDetails.getEnableStatus() > 5){ | |
183 | 185 | return AjaxResult.error("盘点已开始执行,不允许删除该盘点明细!"); |
184 | 186 | } |
185 | 187 | cycleCountDetailService.removeById(id); |
188 | + //取消库存盘点状态 | |
189 | + InventoryDetail inventoryDetail = inventoryDetailService.getById(cyclecountDetails.getInventoryDetailId()); | |
190 | + inventoryDetail.setLockCode(""); | |
191 | + inventoryDetailService.saveOrUpdate(inventoryDetail); | |
186 | 192 | } |
187 | 193 | return AjaxResult.success("删除成功!"); |
188 | 194 | } |
... | ... |
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
... | ... | @@ -111,7 +111,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap |
111 | 111 | ccd.setLastUpdated(new Date()); |
112 | 112 | ccd.setLastUpdatedBy(ShiroUtils.getLoginName()); |
113 | 113 | this.save(ccd); |
114 | - //更新库存锁 | |
114 | + //更新库存盘点锁 | |
115 | 115 | inventoryDetail.setLockCode("cyclecount"); |
116 | 116 | inventoryDetailService.saveOrUpdate(inventoryDetail); |
117 | 117 | } |
... | ... | @@ -280,6 +280,8 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap |
280 | 280 | cycleCountDetail.setLastUpdated(new Date()); |
281 | 281 | cycleCountDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); |
282 | 282 | cycleCountDetail.setEnableStatus(5); |
283 | + cycleCountDetail.setTaskHeaderId(task.getId()); | |
284 | + cycleCountDetail.setTaskDetailId(taskDetail.getId()); | |
283 | 285 | this.saveOrUpdate(cycleCountDetail); |
284 | 286 | |
285 | 287 | //修改主单状态 |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... | ... | @@ -935,7 +935,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
935 | 935 | item.setLastUpdated(new Date()); //更新时间 |
936 | 936 | list.add(item); |
937 | 937 | } |
938 | - if (taskDetailService.saveOrUpdateBatch(list) == false || taskHeaderService.saveOrUpdate(taskHeader) == false) { | |
938 | + if (taskDetailService.saveOrUpdateBatch(list) == false || | |
939 | + taskHeaderService.saveOrUpdate(taskHeader) == false) { | |
939 | 940 | throw new ServiceException("任务单据状态更新失败!"); |
940 | 941 | } |
941 | 942 | //释放库位状态 |
... | ... | @@ -951,13 +952,49 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
951 | 952 | @Transactional |
952 | 953 | @Override |
953 | 954 | public AjaxResult completeCycleCountTask(TaskHeader taskHeader){ |
954 | - /*盘点完成,传入任务主单,查出任务明细,通过任务明细查找盘点的明细单,完成任务同时,修改盘点细单和主单的状态*/ | |
955 | - | |
956 | - | |
957 | - | |
955 | + /*盘点完成,传入任务主单,查出任务明细,通过任务明细查找盘点的明细单, | |
956 | + 完成任务同时,修改盘点细单和主单的状态,完成后库存锁复位*/ | |
957 | + //修改任务主单状态 | |
958 | + taskHeader.setStatus(100); | |
959 | + taskHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 | |
960 | + taskHeader.setLastUpdated(new Date()); //更新时间 | |
961 | + //task更新明细单状态 | |
962 | + TaskDetail taskDetail = new TaskDetail(); | |
963 | + taskDetail.setWarehouseCode(taskHeader.getWarehouseCode()); | |
964 | + taskDetail.setTaskType(taskHeader.getTaskType()); | |
965 | + taskDetail.setTaskId(taskHeader.getId()); | |
966 | + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(taskDetail); | |
967 | + List<TaskDetail> taskDetailList = taskDetailService.list(lambdaQueryWrapper);//查询子单 | |
968 | + List<TaskDetail> list = new CopyOnWriteArrayList<>(); | |
969 | + //修改任务明细状态的同时查找到盘点明细的条目并修改状态,最后修改主单状态 | |
970 | + List<CycleCountDetail> cycleCountDetailList = new CopyOnWriteArrayList<>(); | |
971 | + for(TaskDetail item:taskDetailList){ | |
972 | + item.setStatus(100); | |
973 | + item.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 | |
974 | + item.setLastUpdated(new Date()); //更新时间 | |
975 | + list.add(item); | |
958 | 976 | |
977 | + CycleCountDetail cycleCountDetail = cycleCountDetailService.getById(item.getBillDetailId());//盘点明细 | |
978 | + cycleCountDetail.setEnableStatus(100); | |
979 | + cycleCountDetail.setCompletedBy(ShiroUtils.getLoginName()); | |
980 | + cycleCountDetail.setCompletedAt(new Date()); | |
981 | + cycleCountDetailList.add(cycleCountDetail); | |
982 | + //取消库存盘点锁 | |
983 | + InventoryDetail inventoryDetail = inventoryDetailService.getById(cycleCountDetail.getInventoryDetailId()); | |
984 | + inventoryDetail.setLockCode(""); | |
985 | + inventoryDetailService.saveOrUpdate(inventoryDetail); | |
986 | + } | |
987 | + if ( taskHeaderService.saveOrUpdate(taskHeader) == false || | |
988 | + taskDetailService.saveOrUpdateBatch(list) == false || | |
989 | + cycleCountDetailService.saveOrUpdateBatch(cycleCountDetailList) == false) { | |
990 | + throw new ServiceException("盘点任务单据状态更新失败!"); | |
991 | + } | |
992 | + //更新主单状态 | |
993 | + cycleCountHeaderService.updataHeaderStatus(cycleCountDetailList.get(0).getCycleCountHeadCode()); | |
994 | + //释放库位 | |
995 | + locationService.updateStatus(cycleCountDetailList.get(0).getLocationCode(), "empty"); | |
996 | + return AjaxResult.success("完成盘点任务"); | |
959 | 997 | |
960 | - return null; | |
961 | 998 | } |
962 | 999 | |
963 | 1000 | /** |
... | ... |