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> findByIcdIdAndIdIsNot(Integer icdid, Integer id);
List<NSensor> findByTypeId(Integer typeId);
}

@ -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;
}

@ -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<ModevTypePoint> listAll(Integer modevtypeId) {
List<ModevTypePoint> 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;
}

@ -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<ModevType> 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<NSensor> list = sensorRepository.findByTypeId(id);
if (!CollectionUtils.isEmpty(list)) {
throw new BusinessException("存在该类型的监测装置,不能删除");
}
repository.deleteById(id);
pointRepository.deleteByModevtypeId(id);
}
@Override

@ -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<ModevTypePoint> pointList = new ArrayList<>();
for (ModevTypePoint point : points) {
if (StringUtils.isNotBlank(point.getField())) {
point.setUnit(unitService.findUnitInCache(point.getField()));
pointList.add(point);
}
}

Loading…
Cancel
Save