|
@@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.pms.service.iotprojecttask;
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
+import cn.hutool.core.util.ObjUtil;
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotProjectTaskPageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotprojecttask.vo.IotProjectTaskPageReqVO;
|
|
@@ -19,6 +21,8 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_PROJECT_TASK_NOT_EXISTS;
|
|
import static cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant.IOT_PROJECT_TASK_NOT_EXISTS;
|
|
@@ -52,8 +56,20 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
|
|
|
@Override
|
|
@Override
|
|
|
public Boolean createIotProjectTaskList(List<IotProjectTaskSaveReqVO> list) {
|
|
public Boolean createIotProjectTaskList(List<IotProjectTaskSaveReqVO> list) {
|
|
|
List<IotProjectTaskDO> taskDOS = new ArrayList<>();
|
|
List<IotProjectTaskDO> taskDOS = new ArrayList<>();
|
|
|
|
|
+ // 如果是瑞都的平台井,生成uuid关联平台井多个任务
|
|
|
|
|
+ AtomicBoolean platformWell = new AtomicBoolean(false);
|
|
|
|
|
+ list.forEach(task -> {
|
|
|
|
|
+ if (1 == task.getPlatformWell()) {
|
|
|
|
|
+ platformWell.set(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ String platformGroup = StrUtil.EMPTY;
|
|
|
|
|
+ if (platformWell.get()) {
|
|
|
|
|
+ platformGroup = StrUtil.uuid();
|
|
|
|
|
+ }
|
|
|
for (IotProjectTaskSaveReqVO saveReqVO:list) {
|
|
for (IotProjectTaskSaveReqVO saveReqVO:list) {
|
|
|
IotProjectTaskDO iotProjectTask = BeanUtils.toBean(saveReqVO, IotProjectTaskDO.class);
|
|
IotProjectTaskDO iotProjectTask = BeanUtils.toBean(saveReqVO, IotProjectTaskDO.class);
|
|
|
|
|
+ iotProjectTask.setPlatformGroup(platformGroup);
|
|
|
// 将项目的 deptId 赋值给 任务的 deptId
|
|
// 将项目的 deptId 赋值给 任务的 deptId
|
|
|
IotProjectInfoDO project = iotProjectInfoMapper.selectById(iotProjectTask.getProjectId());
|
|
IotProjectInfoDO project = iotProjectInfoMapper.selectById(iotProjectTask.getProjectId());
|
|
|
iotProjectTask.setDeptId(project.getDeptId());
|
|
iotProjectTask.setDeptId(project.getDeptId());
|
|
@@ -76,14 +92,37 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
|
|
|
@Override
|
|
@Override
|
|
|
public void updateIotProjectTaskList(List<IotProjectTaskSaveReqVO> list) {
|
|
public void updateIotProjectTaskList(List<IotProjectTaskSaveReqVO> list) {
|
|
|
List<IotProjectTaskDO> taskDOS = new ArrayList<>();
|
|
List<IotProjectTaskDO> taskDOS = new ArrayList<>();
|
|
|
|
|
+ // 如果是瑞都的平台井,使用已有的 platformGroup 关联平台井多个任务
|
|
|
|
|
+ AtomicBoolean platformWell = new AtomicBoolean(false);
|
|
|
|
|
+ AtomicReference<String> platformGroup = new AtomicReference<>(StrUtil.EMPTY);
|
|
|
|
|
+ list.forEach(task -> {
|
|
|
|
|
+ if (1 == task.getPlatformWell()) {
|
|
|
|
|
+ platformWell.set(true);
|
|
|
|
|
+ platformGroup.set(task.getPlatformGroup());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ List<IotProjectTaskDO> tobeAddedTasks = new ArrayList<>();
|
|
|
for (IotProjectTaskSaveReqVO saveReqVO:list) {
|
|
for (IotProjectTaskSaveReqVO saveReqVO:list) {
|
|
|
IotProjectTaskDO updateObj = BeanUtils.toBean(saveReqVO, IotProjectTaskDO.class);
|
|
IotProjectTaskDO updateObj = BeanUtils.toBean(saveReqVO, IotProjectTaskDO.class);
|
|
|
// 校验施工区域 下拉列表数据字典 是否包含在 已有的数据字典值集合中
|
|
// 校验施工区域 下拉列表数据字典 是否包含在 已有的数据字典值集合中
|
|
|
// 如果不包含 新增数据字典值
|
|
// 如果不包含 新增数据字典值
|
|
|
iotProjectInfoService.saveDictData(saveReqVO.getDictType(), updateObj.getLocation());
|
|
iotProjectInfoService.saveDictData(saveReqVO.getDictType(), updateObj.getLocation());
|
|
|
- taskDOS.add(updateObj);
|
|
|
|
|
|
|
+ if (ObjUtil.isEmpty(updateObj.getId())) {
|
|
|
|
|
+ // 新增加的任务 瑞都平台井
|
|
|
|
|
+ updateObj.setPlatformGroup(platformGroup.get());
|
|
|
|
|
+ tobeAddedTasks.add(updateObj);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ taskDOS.add(updateObj);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (CollUtil.isNotEmpty(taskDOS)) {
|
|
|
|
|
+ // 需要更新的任务
|
|
|
|
|
+ iotProjectTaskMapper.updateBatch(taskDOS);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (CollUtil.isNotEmpty(tobeAddedTasks)) {
|
|
|
|
|
+ // 瑞都平台井 需要新增的任务
|
|
|
|
|
+ iotProjectTaskMapper.insertBatch(tobeAddedTasks);
|
|
|
}
|
|
}
|
|
|
- iotProjectTaskMapper.updateBatch(taskDOS);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -117,7 +156,9 @@ public class IotProjectTaskServiceImpl implements IotProjectTaskService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public PageResult<IotProjectTaskDO> getIotProjectTaskPage1(IotProjectTaskPageReqVO pageReqVO, Collection<Long> deptIds) {
|
|
public PageResult<IotProjectTaskDO> getIotProjectTaskPage1(IotProjectTaskPageReqVO pageReqVO, Collection<Long> deptIds) {
|
|
|
- return iotProjectTaskMapper.selectPage1(pageReqVO, deptIds);
|
|
|
|
|
|
|
+ PageResult<IotProjectTaskDO> pagedTasks = iotProjectTaskMapper.selectPage1(pageReqVO, deptIds);
|
|
|
|
|
+
|
|
|
|
|
+ return pagedTasks;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|