|
@@ -1,19 +1,22 @@
|
|
|
package cn.iocoder.yudao.module.pms.service.inspect;
|
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
|
|
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.inspect.route.vo.IotInspectRoutePageReqVO;
|
|
|
-import cn.iocoder.yudao.module.pms.controller.admin.inspect.route.vo.IotInspectRouteRespVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.inspect.route.vo.IotInspectRouteSaveReqVO;
|
|
|
-import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectPlanDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectRouteDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectPlanMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectRouteMapper;
|
|
|
import cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant;
|
|
|
import cn.iocoder.yudao.module.pms.service.IotProductClassifyService;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -21,9 +24,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
|
|
@@ -44,6 +45,8 @@ public class IotInspectRouteServiceImpl implements IotInspectRouteService {
|
|
|
private IotDeviceMapper iotDeviceMapper;
|
|
|
@Autowired
|
|
|
private DeptService deptService;
|
|
|
+ @Autowired
|
|
|
+ private IotInspectPlanMapper iotInspectPlanMapper;
|
|
|
|
|
|
@Override
|
|
|
public Long createIotInspectRoute(IotInspectRouteSaveReqVO createReqVO) {
|
|
@@ -79,6 +82,17 @@ public class IotInspectRouteServiceImpl implements IotInspectRouteService {
|
|
|
public void deleteIotInspectRoute(Long id) {
|
|
|
// 校验存在
|
|
|
validateIotInspectRouteExists(id);
|
|
|
+ List<IotInspectPlanDO> planDOS = iotInspectPlanMapper.selectList();
|
|
|
+ List<Long> routeIds = new ArrayList<>();
|
|
|
+ planDOS.forEach(planDO -> {
|
|
|
+ List<IotInspectRouteDO> routeDOS = JSON.parseArray(planDO.getDeviceIds(), IotInspectRouteDO.class);
|
|
|
+ routeDOS.forEach(routeDO -> {
|
|
|
+ routeIds.add(routeDO.getId());
|
|
|
+ });
|
|
|
+ });
|
|
|
+ if (routeIds.contains(id)) {
|
|
|
+ throw new ServiceException(new ErrorCode(223, "存在关联该路线的巡检计划,暂无法删除"));
|
|
|
+ }
|
|
|
// 删除
|
|
|
iotInspectRouteMapper.deleteById(id);
|
|
|
}
|