|
|
@@ -14,7 +14,6 @@ import com.yunfeiyun.agmp.common.utils.StringUtils;
|
|
|
import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
|
|
|
import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictEnum;
|
|
|
import com.yunfeiyun.agmp.iot.common.domain.*;
|
|
|
-import com.yunfeiyun.agmp.iot.common.domain.dto.IotWarnindicatorDto;
|
|
|
import com.yunfeiyun.agmp.iot.common.enums.warn.IotWarnTouchTypeEnum;
|
|
|
import com.yunfeiyun.agmp.iot.common.enums.warn.IotWarnlevelEnum;
|
|
|
import com.yunfeiyun.agmp.iot.common.util.dev.DevTypeUtil;
|
|
|
@@ -28,6 +27,7 @@ import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo;
|
|
|
import com.yunfeiyun.agmp.iotm.web.mapper.*;
|
|
|
import com.yunfeiyun.agmp.iotm.web.service.IIotWarnconfigService;
|
|
|
import com.yunfeiyun.agmp.iotm.web.service.IIotWarnindicatorService;
|
|
|
+import com.yunfeiyun.agmp.iotm.web.service.IIotWarnobjectService;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -67,6 +67,9 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
@Resource
|
|
|
private IotDeviceCommonService iotDeviceCommonService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IIotWarnobjectService iotWarnobjectService;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 查询告警配置
|
|
|
@@ -195,11 +198,11 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
}
|
|
|
|
|
|
// 获取告警规则
|
|
|
- List<IotWarnindicatorDto> iotWarnindicatorList = iotWarnconfigAddReqVo.getIotWarnindicatorList();
|
|
|
+ List<IotWarnindicator> iotWarnindicatorList = iotWarnconfigAddReqVo.getIotWarnindicatorList();
|
|
|
String createDate = DateUtils.dateTimeNow();
|
|
|
List<IotWarnindicator> insertList = new ArrayList<>();
|
|
|
|
|
|
- for(IotWarnindicatorDto item : iotWarnindicatorList){
|
|
|
+ for(IotWarnindicator item : iotWarnindicatorList){
|
|
|
String wiBid = item.getUUId();
|
|
|
String tid = SecurityUtils.getTid();
|
|
|
String wcBid = iotWarnconfigAddReqVo.getWcBid();
|
|
|
@@ -277,21 +280,15 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
return iotWarnconfigMapper.updateIotWarnconfig(iotWarnconfigEditReqVo);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public IotWarnconfigInfoResVo info(String wcBid, String tid) {
|
|
|
- IotWarnconfig iotWarnconfig = iotWarnconfigMapper.selectIotWarnconfigByWcBid(wcBid,SecurityUtils.getTid());
|
|
|
- if(null == iotWarnconfig){
|
|
|
- return null;
|
|
|
- }
|
|
|
- IotWarnobject iotWarnobjectQuery = new IotWarnobject();
|
|
|
- iotWarnobjectQuery.setWcBid(wcBid);
|
|
|
- iotWarnobjectQuery.setTid(SecurityUtils.getTid());
|
|
|
- List<IotWarnobject> iotWarnobjectList = iotWarnobjectMapper.selectIotWarnobjectList(iotWarnobjectQuery);
|
|
|
+ private void setInfoByQxz(IotWarnconfig iotWarnconfig, List<IotWarnobject> iotWarnobjectList, List<IotWarnindicator> resultIotWarnIndicatorList){
|
|
|
+ String wcBid = iotWarnconfig.getWcBid();
|
|
|
+ String tid = SecurityUtils.getTid();
|
|
|
+
|
|
|
IotWarnindicator iotWarnindicatorQuery = new IotWarnindicator();
|
|
|
iotWarnindicatorQuery.setWcBid(wcBid);
|
|
|
- iotWarnindicatorQuery.setTid(SecurityUtils.getTid());
|
|
|
+ iotWarnindicatorQuery.setTid(tid);
|
|
|
// 获取已经配置的设备要素
|
|
|
- List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorMapper.selectIotWarnindicatorList(iotWarnindicatorQuery);
|
|
|
+ List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorService.selectIotWarnindicatorList(iotWarnindicatorQuery);
|
|
|
Set<String> wiCodeSet = new HashSet<>();
|
|
|
if(iotWarnobjectList.size() ==1){
|
|
|
IotDevice deviceQuery = new IotDevice();
|
|
|
@@ -300,16 +297,72 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
List<IotWarnindicator> devNowWarnIndicator = iotWarnindicatorService.warnindicatorDevQueryByQxSq(deviceQuery);
|
|
|
wiCodeSet.addAll(devNowWarnIndicator.stream().map(IotWarnindicator::getWiCode).collect(Collectors.toList()));
|
|
|
}
|
|
|
- List<IotWarnindicator> resultIotWarnIndicatorList = new ArrayList<>();
|
|
|
+
|
|
|
for(IotWarnindicator iotWarnindicator : iotWarnindicatorList){
|
|
|
if(wiCodeSet.contains(iotWarnindicator.getWiCode())){
|
|
|
resultIotWarnIndicatorList.add(iotWarnindicator);
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setInfoByCbd(IotWarnconfig iotWarnconfig, List<IotWarnobject> iotWarnobjectList, List<IotWarnindicator> resultIotWarnIndicatorList){
|
|
|
+ String wcBid = iotWarnconfig.getWcBid();
|
|
|
+ String tid = SecurityUtils.getTid();
|
|
|
+
|
|
|
+ IotWarnindicator iotWarnindicatorQuery = new IotWarnindicator();
|
|
|
+ iotWarnindicatorQuery.setWcBid(wcBid);
|
|
|
+ iotWarnindicatorQuery.setTid(tid);
|
|
|
+ // 获取已经配置的设备要素
|
|
|
+ List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorService.selectIotWarnindicatorList(iotWarnindicatorQuery);
|
|
|
+ Map<String, IotWarnindicator> iotWarnindicatorMap = new LinkedHashMap<>();
|
|
|
+ for(IotWarnindicator iotWarnindicator : iotWarnindicatorList){
|
|
|
+ String wiBid = iotWarnindicator.getWiBid();
|
|
|
+ String wiParentbid = iotWarnindicator.getWiParentbid();
|
|
|
+ if(iotWarnindicatorMap.containsKey(wiParentbid)){
|
|
|
+ List<IotWarnindicator> childrenList = iotWarnindicatorMap.get(wiParentbid).getChildrenList();
|
|
|
+ if(childrenList == null){
|
|
|
+ childrenList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ childrenList.add(iotWarnindicator);
|
|
|
+ iotWarnindicatorMap.get(wiParentbid).setChildrenList(childrenList);
|
|
|
+ }else{
|
|
|
+ iotWarnindicatorMap.put(wiBid, iotWarnindicator);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resultIotWarnIndicatorList.addAll(iotWarnindicatorMap.values());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IotWarnconfigInfoResVo info(String wcBid) {
|
|
|
+ String tid = SecurityUtils.getTid();
|
|
|
+ IotWarnconfig iotWarnconfig = selectIotWarnconfigByWcBid(wcBid, tid);
|
|
|
+ if(null == iotWarnconfig){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ IotWarnobject iotWarnobjectQuery = new IotWarnobject();
|
|
|
+ iotWarnobjectQuery.setWcBid(wcBid);
|
|
|
+ iotWarnobjectQuery.setTid(tid);
|
|
|
+ List<IotWarnobject> iotWarnobjectList = iotWarnobjectService.selectIotWarnobjectList(iotWarnobjectQuery);
|
|
|
+
|
|
|
+ List<IotWarnindicator> resultIotWarnIndicatorList = new ArrayList<>();
|
|
|
+
|
|
|
IotWarnconfigInfoResVo iotWarnconfigInfoResVo = new IotWarnconfigInfoResVo();
|
|
|
BeanUtils.copyProperties(iotWarnconfig,iotWarnconfigInfoResVo);
|
|
|
iotWarnconfigInfoResVo.setIotWarnindicatorList(resultIotWarnIndicatorList);
|
|
|
iotWarnconfigInfoResVo.setIotWarnobjectList(iotWarnobjectList);
|
|
|
+
|
|
|
+ String devtypeBid = iotWarnconfig.getDevtypeBid();
|
|
|
+
|
|
|
+ if(DevTypeUtil.isQxSq(devtypeBid)){
|
|
|
+ setInfoByQxz(iotWarnconfig, iotWarnobjectList, resultIotWarnIndicatorList);
|
|
|
+ }else if(DevTypeUtil.isYfCbd(devtypeBid)){
|
|
|
+ setInfoByCbd(iotWarnconfig, iotWarnobjectList, resultIotWarnIndicatorList);
|
|
|
+ }
|
|
|
+
|
|
|
+ BeanUtils.copyProperties(iotWarnconfig,iotWarnconfigInfoResVo);
|
|
|
+ iotWarnconfigInfoResVo.setIotWarnindicatorList(resultIotWarnIndicatorList);
|
|
|
+ iotWarnconfigInfoResVo.setIotWarnobjectList(iotWarnobjectList);
|
|
|
return iotWarnconfigInfoResVo;
|
|
|
}
|
|
|
|
|
|
@@ -340,7 +393,7 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public IotWarnconfig copy(String wcBid) {
|
|
|
// 查询告警规则
|
|
|
- IotWarnconfig iotWarnconfig = iotWarnconfigMapper.selectIotWarnconfigByWcBid(wcBid,SecurityUtils.getTid());
|
|
|
+ IotWarnconfig iotWarnconfig = selectIotWarnconfigByWcBid(wcBid,SecurityUtils.getTid());
|
|
|
if(null == iotWarnconfig){
|
|
|
throw new BizException(ErrorCode.INVALID_PARAMETER.getCode(),"告警规则不存在");
|
|
|
}
|
|
|
@@ -353,7 +406,7 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
IotWarnindicator iotWarnindicatorQuery = new IotWarnindicator();
|
|
|
iotWarnindicatorQuery.setTid(SecurityUtils.getTid());
|
|
|
iotWarnindicatorQuery.setWcBid(wcBid);
|
|
|
- List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorMapper.selectIotWarnindicatorList(iotWarnindicatorQuery);
|
|
|
+ List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorService.selectIotWarnindicatorList(iotWarnindicatorQuery);
|
|
|
// 重新赋值
|
|
|
iotWarnconfig.setWcBid(iotWarnconfig.getUUId());
|
|
|
iotWarnconfig.setWcCreateddate(DateUtils.dateTimeNow());
|