From 40cb2543b44859454db3c846ced7c3a2d9babd85 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Tue, 27 Feb 2024 16:09:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=9C=80=E6=B1=82=E3=80=91=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E5=B7=A5=E8=89=BA=E8=AE=BE=E8=AE=A1=E4=B8=8E=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mysql/projectorder/ProjectOrderSubMapper.java | 1 + .../mes/module/heli/manager/CrossOrderManager.java | 1 + .../projectorder/ProjectOrderServiceImpl.java | 12 ++++++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java index 2d1c3c06..a903fc62 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderSubMapper.java @@ -26,6 +26,7 @@ public interface ProjectOrderSubMapper extends BaseMapperX { .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId) .leftJoin(CompositionDO.class, "b", CompositionDO::getId, ProjectOrderSubDO::getCompositionId) .disableSubLogicDel() + .orderByAsc(ProjectOrderSubDO::getId) .eq(ProjectOrderSubDO::getProjectOrderId, projectOrderId); return selectList(query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java index c9c303d9..229cf2b8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/manager/CrossOrderManager.java @@ -245,6 +245,7 @@ public class CrossOrderManager { List projectSubIdList = projectSubList.stream().map(ProjectOrderSubDO::getId).collect(Collectors.toList()); List processDesignDOList = processDesignMapper.selectList(new LambdaQueryWrapper() {{ in(ProcessDesignDO::getProjectSubId, projectSubIdList); + eq(ProcessDesignDO::getProcessDesignType, ProcessDesignTypeEnum.BLUEPRINT_3D.name()); }}); // 只考虑增加情况 if( projectSubIdList.size() > processDesignDOList.size()){ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java index 7c371e30..49107418 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java @@ -110,6 +110,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { ; projectOrderMapper.insert(projectOrder); // 子项目 + createReqVO.getProjectOrderSubs().forEach(projectOrderSubDO -> projectOrderSubDO.setId(null)); createProjectOrderSubList(projectOrder.getId(), createReqVO.getProjectOrderSubs()); // 附件 PageResult filePage = fileService.getFilePage(new FilePageReqVO() {{ @@ -284,13 +285,16 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { } private void createProjectOrderSubList(Long projectOrderId, List list) { - list.forEach(o -> o.setId(null).setProjectOrderId(projectOrderId)); - projectOrderSubMapper.insertBatch(list); + list.forEach(o -> o.setProjectOrderId(projectOrderId)); + // 分组更新与插入 + List updateList = list.stream().filter(o -> o.getId() != null).collect(Collectors.toList()); + List insertList = list.stream().filter(o -> o.getId() == null).collect(Collectors.toList()); + + if(!updateList.isEmpty()) projectOrderSubMapper.updateBatch(updateList); + if(!insertList.isEmpty()) projectOrderSubMapper.insertBatch(insertList); } private void updateProjectOrderSubList(Long projectOrderId, List list) { - deleteProjectOrderSubByProjectOrderId(projectOrderId); - list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 createProjectOrderSubList(projectOrderId, list); }