From 23e1774ac59c5204fd13c091045fa559b3ca0398 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Tue, 5 Mar 2024 13:08:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=B1=BB=E5=9E=8B=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xydl/cac/repository/NSensorRepository.java | 2 ++ .../com/xydl/cac/service/ModevTypeService.java | 2 +- .../service/impl/ModevTypePointServiceImpl.java | 5 ++++- .../cac/service/impl/ModevTypeServiceImpl.java | 16 ++++++++++++++-- .../cac/service/impl/NSensorServiceImpl.java | 3 --- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xydl/cac/repository/NSensorRepository.java b/src/main/java/com/xydl/cac/repository/NSensorRepository.java index f3edc27..5077f75 100644 --- a/src/main/java/com/xydl/cac/repository/NSensorRepository.java +++ b/src/main/java/com/xydl/cac/repository/NSensorRepository.java @@ -18,4 +18,6 @@ public interface NSensorRepository extends JpaRepository, JpaS List findByIcdIdIsNotNull(); List findByIcdIdAndIdIsNot(Integer icdid, Integer id); + + List findByTypeId(Integer typeId); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/ModevTypeService.java b/src/main/java/com/xydl/cac/service/ModevTypeService.java index 42a9e9d..b2216b8 100644 --- a/src/main/java/com/xydl/cac/service/ModevTypeService.java +++ b/src/main/java/com/xydl/cac/service/ModevTypeService.java @@ -12,7 +12,7 @@ public interface ModevTypeService { void update(ModevType item) throws Exception; - void delete(Integer id); + void delete(Integer id) throws Exception; ModevType 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 0fabb48..bf2e605 100644 --- a/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java @@ -6,6 +6,7 @@ import com.xydl.cac.repository.ModevTypePointRepository; import com.xydl.cac.service.ModevTypePointService; import com.xydl.cac.service.UnitService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -27,7 +28,9 @@ public class ModevTypePointServiceImpl implements ModevTypePointService { public List listAll(Integer modevtypeId) { List list = repository.findByModevtypeId(modevtypeId); for (ModevTypePoint point : list) { - point.setUnit(unitService.findUnitInCache(point.getField())); + if (StringUtils.isNotBlank(point.getField())) { + point.setUnit(unitService.findUnitInCache(point.getField())); + } } return list; } diff --git a/src/main/java/com/xydl/cac/service/impl/ModevTypeServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ModevTypeServiceImpl.java index cc1fd36..8abee3a 100644 --- a/src/main/java/com/xydl/cac/service/impl/ModevTypeServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ModevTypeServiceImpl.java @@ -1,8 +1,11 @@ package com.xydl.cac.service.impl; import com.xydl.cac.entity.ModevType; +import com.xydl.cac.entity.NSensor; import com.xydl.cac.exception.BusinessException; +import com.xydl.cac.repository.ModevTypePointRepository; import com.xydl.cac.repository.ModevTypeRepository; +import com.xydl.cac.repository.NSensorRepository; import com.xydl.cac.service.ModevTypeService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -20,10 +23,14 @@ public class ModevTypeServiceImpl implements ModevTypeService { @Resource ModevTypeRepository repository; + @Resource + ModevTypePointRepository pointRepository; + @Resource + NSensorRepository sensorRepository; @Override public List listAll() { - return repository.findAll(); + return repository.findAll(); } @Override @@ -50,8 +57,13 @@ public class ModevTypeServiceImpl implements ModevTypeService { } @Override - public void delete(Integer id) { + public void delete(Integer id) throws Exception { + List list = sensorRepository.findByTypeId(id); + if (!CollectionUtils.isEmpty(list)) { + throw new BusinessException("存在该类型的监测装置,不能删除"); + } repository.deleteById(id); + pointRepository.deleteByModevtypeId(id); } @Override 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 737c86e..9cf0d61 100644 --- a/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/NSensorServiceImpl.java @@ -27,8 +27,6 @@ public class NSensorServiceImpl implements NSensorService { @Resource NSensorRepository repository; @Resource - UnitService unitService; - @Resource DataService dataService; @Resource ZsbService zsbService; @@ -146,7 +144,6 @@ public class NSensorServiceImpl implements NSensorService { List pointList = new ArrayList<>(); for (ModevTypePoint point : points) { if (StringUtils.isNotBlank(point.getField())) { - point.setUnit(unitService.findUnitInCache(point.getField())); pointList.add(point); } }