diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java index 0802e8b6..0512d98c 100644 --- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java +++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskService.java @@ -221,8 +221,8 @@ public class ProcessRouteTaskService extends ServiceImpl processeWorkCenterSet = new HashSet<>(); // 工序号_工作中心 唯一标识 if (CollUtil.isNotEmpty(processesVOList)) { - Set processeWorkCenterSet = new HashSet<>(); // 工序号_工作中心 唯一标识 List taskProcessesEntityList = Convert.toList(ProcessRouteTaskProcessesEntity.class, processesVOList); taskProcessesEntityList.forEach(taskProcessesEntity -> { taskProcessesEntity.setUpdatedByName(SessionUtil.getRealName()); @@ -240,14 +240,14 @@ public class ProcessRouteTaskService extends ServiceImpl !processeWorkCenterSet.contains(exists.getProcesse() + "_" + exists.getWorkCenter())).collect(Collectors.toList()); - } - // 删除冗余工序 - if (CollUtil.isNotEmpty(existsList)) { - List deleteRowIdList = existsList.stream().map(ProcessRouteTaskProcessesEntity::getRowId).collect(Collectors.toList()); - processRouteTaskProcessesMapper.deleteBatchByIdList(deleteRowIdList); - } + } + if (CollUtil.isNotEmpty(existsList)) { + existsList = existsList.stream().filter(exists -> !processeWorkCenterSet.contains(exists.getProcesse() + "_" + exists.getWorkCenter())).collect(Collectors.toList()); + } + // 删除冗余工序 + if (CollUtil.isNotEmpty(existsList)) { + List deleteRowIdList = existsList.stream().map(ProcessRouteTaskProcessesEntity::getRowId).collect(Collectors.toList()); + processRouteTaskProcessesMapper.deleteBatchByIdList(deleteRowIdList); } // 组件分配列表 // 数据库已有的组件分配列表 @@ -258,8 +258,8 @@ public class ProcessRouteTaskService extends ServiceImpl assemblyVOList = processRouteTaskVO.getAssemblyVOList(); + Set materialNoLevelSet = new HashSet<>(); // 物料号_层 唯一标识 if (CollUtil.isNotEmpty(assemblyVOList)) { - Set materialNoLevelSet = new HashSet<>(); // 物料号_层 唯一标识 List taskAssemblyEntityList = Convert.toList(ProcessRouteTaskAssemblyEntity.class, assemblyVOList); taskAssemblyEntityList.forEach(taskAssemblyEntity -> { taskAssemblyEntity.setUpdatedByName(SessionUtil.getRealName()); @@ -277,14 +277,14 @@ public class ProcessRouteTaskService extends ServiceImpl !materialNoLevelSet.contains(exists.getMaterialNo() + "_" + exists.getLevel())).collect(Collectors.toList()); - } - // 删除冗余组件分配 - if (CollUtil.isNotEmpty(existsListAss)) { - List deleteRowIdList = existsListAss.stream().map(ProcessRouteTaskAssemblyEntity::getRowId).collect(Collectors.toList()); - processRouteTaskAssemblyMapper.deleteBatchByIdList(deleteRowIdList); - } + } + if (CollUtil.isNotEmpty(existsListAss)) { + existsListAss = existsListAss.stream().filter(exists -> !materialNoLevelSet.contains(exists.getMaterialNo() + "_" + exists.getLevel())).collect(Collectors.toList()); + } + // 删除冗余组件分配 + if (CollUtil.isNotEmpty(existsListAss)) { + List deleteRowIdList = existsListAss.stream().map(ProcessRouteTaskAssemblyEntity::getRowId).collect(Collectors.toList()); + processRouteTaskAssemblyMapper.deleteBatchByIdList(deleteRowIdList); } }