|
|
@@ -38,23 +38,23 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
|
|
|
private IotAlarmRuleExpressService iotAlarmRuleExpressService;
|
|
|
|
|
|
@Override
|
|
|
- public IotInitAlarmRuleVo getAddInitAlarmRuleData()throws Exception {
|
|
|
+ public IotInitAlarmRuleVo getAddInitAlarmRuleData() throws Exception {
|
|
|
|
|
|
- IotInitAlarmRuleVo ruleVo = new IotInitAlarmRuleVo();
|
|
|
- LambdaQueryWrapper<IotAlarmSystemField> lqw = new LambdaQueryWrapper<IotAlarmSystemField>().eq(IotAlarmSystemField::getEnable, 1).orderByDesc(IotAlarmSystemField::getId);
|
|
|
+ IotInitAlarmRuleVo ruleVo = new IotInitAlarmRuleVo();
|
|
|
+ LambdaQueryWrapper<IotAlarmSystemField> lqw = new LambdaQueryWrapper<IotAlarmSystemField>().eq(IotAlarmSystemField::getEnable, 1).orderByDesc(IotAlarmSystemField::getId);
|
|
|
List<IotAlarmSystemField> systemFieldList = iotAlarmSystemFieldMapper.selectList(lqw);
|
|
|
//
|
|
|
List<IotAlarmSystemFieldVo> appAlarmSystemFieldVoList = new ArrayList<>();
|
|
|
- for(IotAlarmSystemField systemField:systemFieldList){
|
|
|
+ for (IotAlarmSystemField systemField : systemFieldList) {
|
|
|
IotAlarmSystemFieldVo appAlarmSystemFieldVo = new IotAlarmSystemFieldVo();
|
|
|
BeanHelper.copyProperties(appAlarmSystemFieldVo, systemField);
|
|
|
List<KeyValue> specsList = new ArrayList<>();
|
|
|
List<KeyValue> operatorsList = new ArrayList<>();
|
|
|
- if(systemField.getType().equals("ENUM")){
|
|
|
+ if (systemField.getType().equals("ENUM")) {
|
|
|
String specs = systemField.getSpecs();
|
|
|
JSONObject obj = JSON.parseObject(specs);
|
|
|
Iterator iterator = obj.entrySet().iterator();
|
|
|
- while (iterator.hasNext()){
|
|
|
+ while (iterator.hasNext()) {
|
|
|
Map.Entry entry = (Map.Entry) iterator.next();
|
|
|
KeyValue keyValue = new KeyValue();
|
|
|
keyValue.setKey(entry.getKey());
|
|
|
@@ -65,7 +65,7 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
|
|
|
String operators = systemField.getOperators();
|
|
|
JSONObject obj = JSON.parseObject(operators);
|
|
|
Iterator iterator = obj.entrySet().iterator();
|
|
|
- while (iterator.hasNext()){
|
|
|
+ while (iterator.hasNext()) {
|
|
|
Map.Entry entry = (Map.Entry) iterator.next();
|
|
|
KeyValue keyValue = new KeyValue();
|
|
|
keyValue.setKey(entry.getKey());
|
|
|
@@ -76,26 +76,26 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
|
|
|
appAlarmSystemFieldVo.setOperatorsList(operatorsList);
|
|
|
appAlarmSystemFieldVoList.add(appAlarmSystemFieldVo);
|
|
|
}
|
|
|
- Map<Integer,List<IotAlarmSystemFieldVo>> appAlarmSystemFieldVoMapList = appAlarmSystemFieldVoList.stream().collect(Collectors.groupingBy(r->r.getSourceType()));
|
|
|
- List<Map<String,Object>> mapList = new ArrayList<>();
|
|
|
- for(Integer key:appAlarmSystemFieldVoMapList.keySet()){
|
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
- List<IotAlarmSystemFieldVo> systemFieldVos = appAlarmSystemFieldVoMapList.get(key);
|
|
|
- map.put("sourceTypeDes",systemFieldVos.get(0).getSourceTypeDes());
|
|
|
- map.put("sourceType",systemFieldVos.get(0).getSourceType());
|
|
|
- List<Map<String,Object>> systemFieldsList = new ArrayList<>();
|
|
|
- for(IotAlarmSystemFieldVo vo:systemFieldVos){
|
|
|
- Map<String,Object> mapa = new HashMap<>();
|
|
|
- mapa.put("sysFieldCode",vo.getSysFieldCode());
|
|
|
- mapa.put("name",vo.getName());
|
|
|
- mapa.put("specsList",vo.getSpecsList());
|
|
|
- mapa.put("operatorsList",vo.getOperatorsList());
|
|
|
- mapa.put("type",vo.getType());
|
|
|
- mapa.put("typeDes",vo.getTypeDes());
|
|
|
- mapa.put("unit",vo.getUnit());
|
|
|
+ Map<Integer, List<IotAlarmSystemFieldVo>> appAlarmSystemFieldVoMapList = appAlarmSystemFieldVoList.stream().collect(Collectors.groupingBy(r -> r.getSourceType()));
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ for (Integer key : appAlarmSystemFieldVoMapList.keySet()) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ List<IotAlarmSystemFieldVo> systemFieldVos = appAlarmSystemFieldVoMapList.get(key);
|
|
|
+ map.put("sourceTypeDes", systemFieldVos.get(0).getSourceTypeDes());
|
|
|
+ map.put("sourceType", systemFieldVos.get(0).getSourceType());
|
|
|
+ List<Map<String, Object>> systemFieldsList = new ArrayList<>();
|
|
|
+ for (IotAlarmSystemFieldVo vo : systemFieldVos) {
|
|
|
+ Map<String, Object> mapa = new HashMap<>();
|
|
|
+ mapa.put("sysFieldCode", vo.getSysFieldCode());
|
|
|
+ mapa.put("name", vo.getName());
|
|
|
+ mapa.put("specsList", vo.getSpecsList());
|
|
|
+ mapa.put("operatorsList", vo.getOperatorsList());
|
|
|
+ mapa.put("type", vo.getType());
|
|
|
+ mapa.put("typeDes", vo.getTypeDes());
|
|
|
+ mapa.put("unit", vo.getUnit());
|
|
|
systemFieldsList.add(mapa);
|
|
|
}
|
|
|
- map.put("systemFields",systemFieldsList);
|
|
|
+ map.put("systemFields", systemFieldsList);
|
|
|
mapList.add(map);
|
|
|
}
|
|
|
ruleVo.setSourceTypeList(mapList);
|
|
|
@@ -111,19 +111,19 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
|
|
|
BeanHelper.copyProperties(ruleEditVo, appAlarmRule);
|
|
|
ruleVo.setIotAlarmRule(appAlarmRule);
|
|
|
|
|
|
- List<IotAlarmRuleExpress> appAlarmRuleExpressList =iotAlarmRuleExpressService.list(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId,ruleId));
|
|
|
+ List<IotAlarmRuleExpress> appAlarmRuleExpressList = iotAlarmRuleExpressService.list(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId, ruleId));
|
|
|
List<IotAlarmRuleExpressEditVo> appAlarmRuleExpressEditVos = new ArrayList<>();
|
|
|
- for(IotAlarmRuleExpress express:appAlarmRuleExpressList){
|
|
|
+ for (IotAlarmRuleExpress express : appAlarmRuleExpressList) {
|
|
|
IotAlarmRuleExpressEditVo expressNew = new IotAlarmRuleExpressEditVo();
|
|
|
BeanHelper.copyProperties(expressNew, express);
|
|
|
appAlarmRuleExpressEditVos.add(expressNew);
|
|
|
}
|
|
|
- Map<Integer,List<IotAlarmRuleExpressEditVo>> appAlarmSystemFieldVoMapList = appAlarmRuleExpressEditVos.stream().collect(Collectors.groupingBy(r->r.getSourceType()));
|
|
|
- List<Map<String,Object>> mapList = new ArrayList<>();
|
|
|
- for(Integer key:appAlarmSystemFieldVoMapList.keySet()){
|
|
|
- Map<String,Object> map = new HashMap();
|
|
|
- map.put("sourceType",key);
|
|
|
- map.put("AppAlarmRuleExpressList",appAlarmSystemFieldVoMapList.get(key));
|
|
|
+ Map<Integer, List<IotAlarmRuleExpressEditVo>> appAlarmSystemFieldVoMapList = appAlarmRuleExpressEditVos.stream().collect(Collectors.groupingBy(r -> r.getSourceType()));
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ for (Integer key : appAlarmSystemFieldVoMapList.keySet()) {
|
|
|
+ Map<String, Object> map = new HashMap();
|
|
|
+ map.put("sourceType", key);
|
|
|
+ map.put("appAlarmRuleExpressList", appAlarmSystemFieldVoMapList.get(key));
|
|
|
mapList.add(map);
|
|
|
}
|
|
|
ruleVo.setIotAlarmRuleExpressEditVosBySourceType(mapList);
|
|
|
@@ -131,23 +131,39 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<IotInitAlarmRuleVo> getAlarmRuleDatas(String alarmType, String ruleName, Integer pageIndex, Integer pageSize) throws Exception {
|
|
|
+ LambdaQueryWrapper<IotAlarmRule> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ List<IotAlarmRule> appAlarmRule = this.baseMapper.selectList(queryWrapper);
|
|
|
+
|
|
|
+ List<IotInitAlarmRuleVo> datas = new ArrayList<>();
|
|
|
+ appAlarmRule.stream().forEach(i -> {
|
|
|
+ try {
|
|
|
+ datas.add(getAlarmRuleData(i.getId()));
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return datas;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void saveOrUpdateAlarmRule(IotAlarmRuleDto ruleDto) throws Exception {
|
|
|
IotAlarmRule rule = new IotAlarmRule();
|
|
|
BeanHelper.copyProperties(rule, ruleDto);
|
|
|
- if(rule.getId()==null){//新增
|
|
|
+ if (rule.getId() == null) {//新增
|
|
|
rule.setId(IDHelper.id());
|
|
|
rule.setCreateTime(LocalDateTime.now());
|
|
|
rule.setCreateBy(SecurityUtils.getUsername());
|
|
|
rule.setUpdateBy(SecurityUtils.getUsername());
|
|
|
rule.setUpdateTime(LocalDateTime.now());
|
|
|
- }else{//修改
|
|
|
+ } else {//修改
|
|
|
rule.setUpdateBy(SecurityUtils.getUsername());
|
|
|
rule.setUpdateTime(LocalDateTime.now());
|
|
|
}
|
|
|
List<IotAlarmRuleExpressDto> appAlarmRuleExpressDtos = ruleDto.getIotAlarmRuleExpressDtoList();
|
|
|
List<IotAlarmRuleExpress> appAlarmRuleExpressesList = new ArrayList<>();
|
|
|
- if(appAlarmRuleExpressDtos!=null&&appAlarmRuleExpressDtos.size()>0){
|
|
|
- for(IotAlarmRuleExpressDto vo:appAlarmRuleExpressDtos){
|
|
|
+ if (appAlarmRuleExpressDtos != null && appAlarmRuleExpressDtos.size() > 0) {
|
|
|
+ for (IotAlarmRuleExpressDto vo : appAlarmRuleExpressDtos) {
|
|
|
IotAlarmRuleExpress express = new IotAlarmRuleExpress();
|
|
|
BeanHelper.copyProperties(express, vo);
|
|
|
express.setRuleId(rule.getId());
|
|
|
@@ -159,10 +175,10 @@ public class IotAlarmRuleServiceImpl extends ServiceImpl<IotAlarmRuleMapper, Iot
|
|
|
}
|
|
|
}
|
|
|
Set<Integer> sourceTypes = new HashSet<>();
|
|
|
- appAlarmRuleExpressesList.forEach(r->sourceTypes.add(r.getSourceType()));
|
|
|
+ appAlarmRuleExpressesList.forEach(r -> sourceTypes.add(r.getSourceType()));
|
|
|
this.saveOrUpdate(rule);
|
|
|
//规则先删除原来的然重新插入
|
|
|
- iotAlarmRuleExpressService.remove(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId,rule.getId()));
|
|
|
+ iotAlarmRuleExpressService.remove(new LambdaQueryWrapper<IotAlarmRuleExpress>().eq(IotAlarmRuleExpress::getRuleId, rule.getId()));
|
|
|
iotAlarmRuleExpressService.saveBatch(appAlarmRuleExpressesList);
|
|
|
}
|
|
|
}
|