From 7cefab756a93c4bef91f9df96160f30ddbcc6add Mon Sep 17 00:00:00 2001 From: Ledo Date: Wed, 15 Jan 2025 12:17:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=88=E6=A3=80=E8=BF=87=E7=A8=8B=E6=A3=80?= =?UTF-8?q?=20=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskDispatchDetailMapper.java | 2 + .../taskdispatch/TaskDispatchServiceImpl.java | 43 +++++++++++++------ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index d0034b0..6b9c9f3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -164,8 +164,10 @@ public interface TaskDispatchDetailMapper extends BaseMapperX list = taskDispatchDetailDOPageResult.getList(); List afterList = new ArrayList<>(); if (CollUtil.isNotEmpty(list)){ - Map> collect = list.stream().collect(Collectors.groupingBy(TaskDispatchDetailDO::getId)); + Map> collect = list.stream().collect(Collectors.groupingBy(TaskDispatchDetailDO::getDispatchCode)); collect.forEach((code,list2)->{ list2.sort(Comparator.comparing(TaskDispatchDetailDO::getSort, Comparator.nullsLast(Integer::compareTo))); afterList.addAll(list2); @@ -470,30 +470,47 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { case FINISH: taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode()); // TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId()); + List idsProduction = new ArrayList<>(); + List idsAssemble = new ArrayList<>(); List taskDispatchDOS = taskDispatchMapper.selectList(TaskDispatchDO::getPlanId, taskDispatchDO.getPlanId()); if(CollUtil.isNotEmpty(taskDispatchDOS)){ - List ids = taskDispatchDOS.stream() + idsAssemble = taskDispatchDOS.stream().filter(e-> e.getDispatchType().equals("ASSEMBLE")) .map(TaskDispatchDO::getId) .collect(Collectors.toList()); - List taskDispatchDetailList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper() - .in(TaskDispatchDetailDO::getDispatchId, ids)); - boolean isOver = true; - for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailList) { + idsProduction = taskDispatchDOS.stream().filter(e-> e.getDispatchType().equals("PRODUCTION")) + .map(TaskDispatchDO::getId) + .collect(Collectors.toList()); + List taskDispatchDetailAssembleList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper() + .in(TaskDispatchDetailDO::getDispatchId, idsAssemble)); + List taskDispatchDetailProductionList = taskDispatchDetailMapper.selectList(new LambdaQueryWrapper() + .in(TaskDispatchDetailDO::getDispatchId, idsProduction)); + + boolean isProductionOver = true; + boolean isAssembleOver = true; + for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailAssembleList) { if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){ if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){ - isOver = false; + isAssembleOver = false; break; } } } - if (isOver){ + for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailProductionList) { + if (dispatchDetailDO.getId() != taskDispatchDetailDO.getId()){ + if (dispatchDetailDO.getProcedureStatus()!= TaskDispatchProcedureStatusEnum.COMPLETED.getCode()){ + isProductionOver = false; + break; + } + } + } + if (taskDispatchDO.getDispatchType().equals("PRODUCTION") && isProductionOver){ + pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId()); + }else if (taskDispatchDO.getDispatchType().equals("ASSEMBLE") && isAssembleOver){ + zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId()); + } + if (isProductionOver&&isAssembleOver){ planDO.setStatus(3); planMapper.updateById(planDO); - if(taskDispatchDO.getDispatchType().equals("ASSEMBLE")){ - zjPgMasterService.insertZjList(planDO.getId(),planDO.getProjectId()); - } else if (taskDispatchDO.getDispatchType().equals("PRODUCTION")) { - pgMasterService.insertPgList(planDO.getId(),planDO.getProjectId()); - } } } taskDispatchDetailMapper.updateById(taskDispatchDetailDO);