【需求】完善工艺设计与订单交互

pull/4/head
zengchenxi 8 months ago
parent 1782d55ace
commit 40cb2543b4

@ -26,6 +26,7 @@ public interface ProjectOrderSubMapper extends BaseMapperX<ProjectOrderSubDO> {
.leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId) .leftJoin(ProjectOrderDO.class, "p", ProjectOrderDO::getId, ProjectOrderSubDO::getProjectOrderId)
.leftJoin(CompositionDO.class, "b", CompositionDO::getId, ProjectOrderSubDO::getCompositionId) .leftJoin(CompositionDO.class, "b", CompositionDO::getId, ProjectOrderSubDO::getCompositionId)
.disableSubLogicDel() .disableSubLogicDel()
.orderByAsc(ProjectOrderSubDO::getId)
.eq(ProjectOrderSubDO::getProjectOrderId, projectOrderId); .eq(ProjectOrderSubDO::getProjectOrderId, projectOrderId);
return selectList(query); return selectList(query);
} }

@ -245,6 +245,7 @@ public class CrossOrderManager {
List<Long> projectSubIdList = projectSubList.stream().map(ProjectOrderSubDO::getId).collect(Collectors.toList()); List<Long> projectSubIdList = projectSubList.stream().map(ProjectOrderSubDO::getId).collect(Collectors.toList());
List<ProcessDesignDO> processDesignDOList = processDesignMapper.selectList(new LambdaQueryWrapper<ProcessDesignDO>() {{ List<ProcessDesignDO> processDesignDOList = processDesignMapper.selectList(new LambdaQueryWrapper<ProcessDesignDO>() {{
in(ProcessDesignDO::getProjectSubId, projectSubIdList); in(ProcessDesignDO::getProjectSubId, projectSubIdList);
eq(ProcessDesignDO::getProcessDesignType, ProcessDesignTypeEnum.BLUEPRINT_3D.name());
}}); }});
// 只考虑增加情况 // 只考虑增加情况
if( projectSubIdList.size() > processDesignDOList.size()){ if( projectSubIdList.size() > processDesignDOList.size()){

@ -110,6 +110,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
; ;
projectOrderMapper.insert(projectOrder); projectOrderMapper.insert(projectOrder);
// 子项目 // 子项目
createReqVO.getProjectOrderSubs().forEach(projectOrderSubDO -> projectOrderSubDO.setId(null));
createProjectOrderSubList(projectOrder.getId(), createReqVO.getProjectOrderSubs()); createProjectOrderSubList(projectOrder.getId(), createReqVO.getProjectOrderSubs());
// 附件 // 附件
PageResult<FileDO> filePage = fileService.getFilePage(new FilePageReqVO() {{ PageResult<FileDO> filePage = fileService.getFilePage(new FilePageReqVO() {{
@ -284,13 +285,16 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
} }
private void createProjectOrderSubList(Long projectOrderId, List<ProjectOrderSubDO> list) { private void createProjectOrderSubList(Long projectOrderId, List<ProjectOrderSubDO> list) {
list.forEach(o -> o.setId(null).setProjectOrderId(projectOrderId)); list.forEach(o -> o.setProjectOrderId(projectOrderId));
projectOrderSubMapper.insertBatch(list); // 分组更新与插入
List<ProjectOrderSubDO> updateList = list.stream().filter(o -> o.getId() != null).collect(Collectors.toList());
List<ProjectOrderSubDO> 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<ProjectOrderSubDO> list) { private void updateProjectOrderSubList(Long projectOrderId, List<ProjectOrderSubDO> list) {
deleteProjectOrderSubByProjectOrderId(projectOrderId);
list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下1id 冲突2updateTime 不更新
createProjectOrderSubList(projectOrderId, list); createProjectOrderSubList(projectOrderId, list);
} }

Loading…
Cancel
Save