|
|
@ -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)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新
|
|
|
|
|
|
|
|
createProjectOrderSubList(projectOrderId, list);
|
|
|
|
createProjectOrderSubList(projectOrderId, list);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|