diff --git a/src/main/java/com/xydl/cac/controller/NSensorController.java b/src/main/java/com/xydl/cac/controller/NSensorController.java index 0d278c9..4b41020 100644 --- a/src/main/java/com/xydl/cac/controller/NSensorController.java +++ b/src/main/java/com/xydl/cac/controller/NSensorController.java @@ -98,7 +98,7 @@ public class NSensorController extends BasicController { @PostMapping("delete") @ApiOperation("删除") - public Response delete(@Validated @NotNull(message = "ID不能为空!") @Param("id") Integer id) { + public Response delete(@Validated @NotNull(message = "ID不能为空!") @Param("id") Integer id) throws Exception { service.delete(id); return Response.success("OK"); } diff --git a/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java b/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java index f1c2ba4..cc47d55 100644 --- a/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java +++ b/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java @@ -11,5 +11,7 @@ import java.util.List; @Repository public interface WarnRuleRepository extends JpaRepository, JpaSpecificationExecutor { - List findBySensorId(Integer sensorId); + List findBySensorId(Integer sensorId); + + List findByModevtypePointId(Integer modevtypePointId); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/ModevTypePointService.java b/src/main/java/com/xydl/cac/service/ModevTypePointService.java index e41f88e..ffb3342 100644 --- a/src/main/java/com/xydl/cac/service/ModevTypePointService.java +++ b/src/main/java/com/xydl/cac/service/ModevTypePointService.java @@ -10,6 +10,6 @@ public interface ModevTypePointService { ModevTypePoint add(ModevTypePoint item) throws Exception; - void delete(Integer id); + void delete(Integer id) throws Exception; } diff --git a/src/main/java/com/xydl/cac/service/NSensorService.java b/src/main/java/com/xydl/cac/service/NSensorService.java index 11cf94c..e34eccf 100644 --- a/src/main/java/com/xydl/cac/service/NSensorService.java +++ b/src/main/java/com/xydl/cac/service/NSensorService.java @@ -21,7 +21,7 @@ public interface NSensorService { void batchUpdate(SensorUpdateModel model) throws Exception; - void delete(Integer id); + void delete(Integer id) throws Exception; NSensor detail(Integer id) throws Exception; diff --git a/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java index bf2e605..51bfa47 100644 --- a/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java @@ -1,8 +1,10 @@ package com.xydl.cac.service.impl; import com.xydl.cac.entity.ModevTypePoint; +import com.xydl.cac.entity.WarnRule; import com.xydl.cac.exception.BusinessException; import com.xydl.cac.repository.ModevTypePointRepository; +import com.xydl.cac.repository.WarnRuleRepository; import com.xydl.cac.service.ModevTypePointService; import com.xydl.cac.service.UnitService; import lombok.extern.slf4j.Slf4j; @@ -23,6 +25,8 @@ public class ModevTypePointServiceImpl implements ModevTypePointService { ModevTypePointRepository repository; @Resource UnitService unitService; + @Resource + WarnRuleRepository ruleRepository; @Override public List listAll(Integer modevtypeId) { @@ -46,7 +50,11 @@ public class ModevTypePointServiceImpl implements ModevTypePointService { } @Override - public void delete(Integer id) { + public void delete(Integer id) throws Exception { + List list = ruleRepository.findByModevtypePointId(id); + if (!CollectionUtils.isEmpty(list)) { + throw new BusinessException("该监测装置类型的该字段已配置告警规则,请先删除对应的规则后再来操作"); + } repository.deleteById(id); } } diff --git a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java index a5bba67..3c063b0 100644 --- a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java @@ -9,6 +9,7 @@ import com.xydl.cac.model.SensorDetail; import com.xydl.cac.model.SensorUpdateModel; import com.xydl.cac.repository.ModevRepository; import com.xydl.cac.repository.NSensorRepository; +import com.xydl.cac.repository.WarnRuleRepository; import com.xydl.cac.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -45,6 +46,8 @@ public class NSensorServiceImpl implements NSensorService { ModevTypePointService modevTypePointService; @Resource ModevRepository modevRepository; + @Resource + WarnRuleRepository ruleRepository; @Override public List listAll(Integer zsbid) throws Exception { @@ -132,7 +135,11 @@ public class NSensorServiceImpl implements NSensorService { } @Override - public void delete(Integer id) { + public void delete(Integer id) throws Exception { + List list = ruleRepository.findBySensorId(id); + if (!CollectionUtils.isEmpty(list)) { + throw new BusinessException("该监测装置已配置告警规则,请先删除对应的规则后再来操作"); + } repository.deleteById(id); }