fix: 类型删除校验

dev
huangfeng 1 year ago
parent bea01fb5f8
commit 23e1774ac5

@ -18,4 +18,6 @@ public interface NSensorRepository extends JpaRepository<NSensor, Integer>, JpaS
List<NSensor> findByIcdIdIsNotNull(); List<NSensor> findByIcdIdIsNotNull();
List<NSensor> findByIcdIdAndIdIsNot(Integer icdid, Integer id); List<NSensor> findByIcdIdAndIdIsNot(Integer icdid, Integer id);
List<NSensor> findByTypeId(Integer typeId);
} }

@ -12,7 +12,7 @@ public interface ModevTypeService {
void update(ModevType item) throws Exception; void update(ModevType item) throws Exception;
void delete(Integer id); void delete(Integer id) throws Exception;
ModevType detail(Integer id) throws Exception; ModevType detail(Integer id) throws Exception;
} }

@ -6,6 +6,7 @@ import com.xydl.cac.repository.ModevTypePointRepository;
import com.xydl.cac.service.ModevTypePointService; import com.xydl.cac.service.ModevTypePointService;
import com.xydl.cac.service.UnitService; import com.xydl.cac.service.UnitService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@ -27,7 +28,9 @@ public class ModevTypePointServiceImpl implements ModevTypePointService {
public List<ModevTypePoint> listAll(Integer modevtypeId) { public List<ModevTypePoint> listAll(Integer modevtypeId) {
List<ModevTypePoint> list = repository.findByModevtypeId(modevtypeId); List<ModevTypePoint> list = repository.findByModevtypeId(modevtypeId);
for (ModevTypePoint point : list) { for (ModevTypePoint point : list) {
point.setUnit(unitService.findUnitInCache(point.getField())); if (StringUtils.isNotBlank(point.getField())) {
point.setUnit(unitService.findUnitInCache(point.getField()));
}
} }
return list; return list;
} }

@ -1,8 +1,11 @@
package com.xydl.cac.service.impl; package com.xydl.cac.service.impl;
import com.xydl.cac.entity.ModevType; import com.xydl.cac.entity.ModevType;
import com.xydl.cac.entity.NSensor;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.repository.ModevTypePointRepository;
import com.xydl.cac.repository.ModevTypeRepository; import com.xydl.cac.repository.ModevTypeRepository;
import com.xydl.cac.repository.NSensorRepository;
import com.xydl.cac.service.ModevTypeService; import com.xydl.cac.service.ModevTypeService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,10 +23,14 @@ public class ModevTypeServiceImpl implements ModevTypeService {
@Resource @Resource
ModevTypeRepository repository; ModevTypeRepository repository;
@Resource
ModevTypePointRepository pointRepository;
@Resource
NSensorRepository sensorRepository;
@Override @Override
public List<ModevType> listAll() { public List<ModevType> listAll() {
return repository.findAll(); return repository.findAll();
} }
@Override @Override
@ -50,8 +57,13 @@ public class ModevTypeServiceImpl implements ModevTypeService {
} }
@Override @Override
public void delete(Integer id) { public void delete(Integer id) throws Exception {
List<NSensor> list = sensorRepository.findByTypeId(id);
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("存在该类型的监测装置,不能删除");
}
repository.deleteById(id); repository.deleteById(id);
pointRepository.deleteByModevtypeId(id);
} }
@Override @Override

@ -27,8 +27,6 @@ public class NSensorServiceImpl implements NSensorService {
@Resource @Resource
NSensorRepository repository; NSensorRepository repository;
@Resource @Resource
UnitService unitService;
@Resource
DataService dataService; DataService dataService;
@Resource @Resource
ZsbService zsbService; ZsbService zsbService;
@ -146,7 +144,6 @@ public class NSensorServiceImpl implements NSensorService {
List<ModevTypePoint> pointList = new ArrayList<>(); List<ModevTypePoint> pointList = new ArrayList<>();
for (ModevTypePoint point : points) { for (ModevTypePoint point : points) {
if (StringUtils.isNotBlank(point.getField())) { if (StringUtils.isNotBlank(point.getField())) {
point.setUnit(unitService.findUnitInCache(point.getField()));
pointList.add(point); pointList.add(point);
} }
} }

Loading…
Cancel
Save