|
|
@@ -101,7 +101,14 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
|
|
|
platformGroup.set(task.getPlatformGroup());
|
|
|
}
|
|
|
});
|
|
|
+ // 查询系统中已有的关联平台井 保存时入参集合中没有的平台井 需要删除掉
|
|
|
+ List<Long> existTaskIds = new ArrayList<>();
|
|
|
+
|
|
|
List<IotProjectTaskDO> tobeAddedTasks = new ArrayList<>();
|
|
|
+ List<IotProjectTaskDO> tobeDeletedTasks = new ArrayList<>();
|
|
|
+ List<Long> deletedTaskIds = new ArrayList<>();
|
|
|
+ // 本次保存中包含的任务id集合
|
|
|
+ List<Long> currentTaskIds = new ArrayList<>();
|
|
|
for (IotProjectTaskSaveReqVO saveReqVO:list) {
|
|
|
IotProjectTaskDO updateObj = BeanUtils.toBean(saveReqVO, IotProjectTaskDO.class);
|
|
|
// 校验施工区域 下拉列表数据字典 是否包含在 已有的数据字典值集合中
|
|
|
@@ -114,6 +121,25 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
|
|
|
} else {
|
|
|
taskDOS.add(updateObj);
|
|
|
}
|
|
|
+ if (ObjUtil.isNotEmpty(saveReqVO.getId())) {
|
|
|
+ currentTaskIds.add(saveReqVO.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 找到需要删除的 平台井任务
|
|
|
+ if (StrUtil.isNotBlank(platformGroup.get())) {
|
|
|
+ IotProjectTaskPageReqVO reqVO = new IotProjectTaskPageReqVO();
|
|
|
+ reqVO.setPlatformGroup(platformGroup.get());
|
|
|
+ List<IotProjectTaskDO> groupedTasks = iotProjectTaskMapper.selectList(reqVO);
|
|
|
+ if (CollUtil.isNotEmpty(groupedTasks)) {
|
|
|
+ groupedTasks.forEach(task -> {
|
|
|
+ existTaskIds.add(task.getId());
|
|
|
+ if (!currentTaskIds.contains(task.getId())) {
|
|
|
+ // 本次保存的任务中没有在已有任务集合中的需要删除
|
|
|
+ tobeDeletedTasks.add(task);
|
|
|
+ deletedTaskIds.add(task.getId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
if (CollUtil.isNotEmpty(taskDOS)) {
|
|
|
// 需要更新的任务
|
|
|
@@ -123,6 +149,10 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
|
|
|
// 瑞都平台井 需要新增的任务
|
|
|
iotProjectTaskMapper.insertBatch(tobeAddedTasks);
|
|
|
}
|
|
|
+ if (CollUtil.isNotEmpty(tobeDeletedTasks)) {
|
|
|
+ // 本次保存的任务中没有在已有任务集合中的需要删除
|
|
|
+ iotProjectTaskMapper.deleteByIds(deletedTaskIds);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|