Commit 90908b5e authored by chenzhao's avatar chenzhao

优化健康指数接口

parent 42a432aa
...@@ -25,7 +25,6 @@ import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.CommonServiceImpl; ...@@ -25,7 +25,6 @@ import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.CommonServiceImpl;
import com.yeejoin.amos.boot.module.jxiop.biz.tdmapper.IndicatorDataMapper; import com.yeejoin.amos.boot.module.jxiop.biz.tdmapper.IndicatorDataMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
package com.yeejoin.amos.boot.module.jxiop.biz.entity; package com.yeejoin.amos.boot.module.jxiop.biz.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
...@@ -29,7 +31,7 @@ public class IdxBizFanWarningRecord{ ...@@ -29,7 +31,7 @@ public class IdxBizFanWarningRecord{
/** /**
* *
*/ */
@TableField("SEQUENCE_NBR") @TableId(value = "SEQUENCE_NBR", type = IdType.ID_WORKER_STR)
private String sequenceNbr; private String sequenceNbr;
/** /**
......
package com.yeejoin.amos.boot.module.jxiop.biz.entity; package com.yeejoin.amos.boot.module.jxiop.biz.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
...@@ -26,7 +28,7 @@ public class IdxBizPvWarningRecord{ ...@@ -26,7 +28,7 @@ public class IdxBizPvWarningRecord{
/** /**
* *
*/ */
@TableField("SEQUENCE_NBR") @TableId(value = "SEQUENCE_NBR", type = IdType.ID_WORKER_STR)
private String sequenceNbr; private String sequenceNbr;
/** /**
......
...@@ -1556,25 +1556,32 @@ public class CommonServiceImpl { ...@@ -1556,25 +1556,32 @@ public class CommonServiceImpl {
queryWrapper.in(IdxBizFanPointProcessVariableClassification::getSequenceNbr, jsonArrayToStringList); queryWrapper.in(IdxBizFanPointProcessVariableClassification::getSequenceNbr, jsonArrayToStringList);
List<IdxBizFanPointProcessVariableClassification> list = idxBizFanPointProcessVariableClassificationMapper.selectList(queryWrapper); List<IdxBizFanPointProcessVariableClassification> list = idxBizFanPointProcessVariableClassificationMapper.selectList(queryWrapper);
List<IdxBizFanHealthIndex> idxBizFanHealthIndexs = new ArrayList<>(); List<IdxBizFanHealthIndex> idxBizFanHealthIndexs = new ArrayList<>();
Set<String> stations = list.stream().map(IdxBizFanPointProcessVariableClassification::getStation).collect(Collectors.toSet());
LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>();
query.eq(IdxBizFanHealthLevel::getAnalysisObjType, "测点");
query.in(IdxBizFanHealthLevel::getStatus, stations);
List<IdxBizFanHealthLevel> idxBizFanHealthLevels = idxBizFanHealthLevelMapper.selectList(query);
for (IdxBizFanPointProcessVariableClassification obj : list) { for (IdxBizFanPointProcessVariableClassification obj : list) {
for (int i = 0; i < analysisVariableIdArray.size(); i++) { for (int i = 0; i < analysisVariableIdArray.size(); i++) {
if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())){ if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())){
IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex(); IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex();
BeanUtils.copyProperties(obj, idxBizFanHealthIndex); BeanUtils.copyProperties(obj, idxBizFanHealthIndex,"sequenceNbr");
idxBizFanHealthIndex.setHealthIndex(indexValueArray.getDoubleValue(i)< 0 ? 0 : indexValueArray.getDoubleValue(i)); idxBizFanHealthIndex.setHealthIndex(indexValueArray.getDoubleValue(i)< 0 ? 0 : indexValueArray.getDoubleValue(i));
idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr()); idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
idxBizFanHealthIndex.setRecDate(time); idxBizFanHealthIndex.setRecDate(time);
idxBizFanHealthIndex.setSequenceNbr(null); // idxBizFanHealthIndex.setSequenceNbr(null);
idxBizFanHealthIndex.setRecDate(new Date());
idxBizFanHealthIndex.setWeigth(1.0); idxBizFanHealthIndex.setWeigth(1.0);
//获取健康指数对应等级 //获取健康指数对应等级
LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>(); for (IdxBizFanHealthLevel idxBizFanHealthLevel : idxBizFanHealthLevels) {
query.eq(IdxBizFanHealthLevel::getAnalysisObjType, "测点"); if (indexValueArray.getDoubleValue(i) <= idxBizFanHealthLevel.getGroupUpperLimit()
query.eq(IdxBizFanHealthLevel::getStatus, obj.getStation()); && indexValueArray.getDoubleValue(i) >= idxBizFanHealthLevel.getGroupLowerLimit()){
query.le(IdxBizFanHealthLevel::getGroupLowerLimit, indexValueArray.getDoubleValue(i)< 0 ? 0 : indexValueArray.getDoubleValue(i)); idxBizFanHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel());
query.ge(IdxBizFanHealthLevel::getGroupUpperLimit, indexValueArray.getDoubleValue(i)< 0 ? 0 : indexValueArray.getDoubleValue(i));
IdxBizFanHealthLevel idxBizFanHealthLevel = idxBizFanHealthLevelMapper.selectOne(query); }
idxBizFanHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel()); }
idxBizFanHealthIndex.setAnalysisType("按时刻"); idxBizFanHealthIndex.setAnalysisType("按时刻");
idxBizFanHealthIndex.setAnalysisObjType("测点"); idxBizFanHealthIndex.setAnalysisObjType("测点");
if (ObjectUtils.isEmpty(scoreValueArray.getDoubleValue(i))){ if (ObjectUtils.isEmpty(scoreValueArray.getDoubleValue(i))){
...@@ -1692,25 +1699,35 @@ public class CommonServiceImpl { ...@@ -1692,25 +1699,35 @@ public class CommonServiceImpl {
LambdaQueryWrapper<IdxBizPvPointProcessVariableClassification> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IdxBizPvPointProcessVariableClassification> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(IdxBizPvPointProcessVariableClassification::getSequenceNbr, jsonArrayToStringList); queryWrapper.in(IdxBizPvPointProcessVariableClassification::getSequenceNbr, jsonArrayToStringList);
List<IdxBizPvPointProcessVariableClassification> list = idxBizPvPointProcessVariableClassificationMapper.selectList(queryWrapper); List<IdxBizPvPointProcessVariableClassification> list = idxBizPvPointProcessVariableClassificationMapper.selectList(queryWrapper);
Set<String> stations = list.stream().map(IdxBizPvPointProcessVariableClassification::getStation).collect(Collectors.toSet());
LambdaQueryWrapper<IdxBizPvHealthLevel> query = new LambdaQueryWrapper<>();
query.eq(IdxBizPvHealthLevel::getAnalysisObjType, "测点");
query.in(IdxBizPvHealthLevel::getStatus, stations);
List<IdxBizPvHealthLevel> idxBizFanHealthLevels = idxBizPvHealthLevelMapper.selectList(query);
List<IdxBizPvHealthIndex> idxBizPvHealthIndexs = new ArrayList<>(); List<IdxBizPvHealthIndex> idxBizPvHealthIndexs = new ArrayList<>();
for (IdxBizPvPointProcessVariableClassification obj : list) { for (IdxBizPvPointProcessVariableClassification obj : list) {
for (int i = 0; i < analysisVariableIdArray.size(); i++) { for (int i = 0; i < analysisVariableIdArray.size(); i++) {
if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())){ if (analysisVariableIdArray.get(i).toString().equals(obj.getSequenceNbr())){
IdxBizPvHealthIndex idxBizPvHealthIndex = new IdxBizPvHealthIndex(); IdxBizPvHealthIndex idxBizPvHealthIndex = new IdxBizPvHealthIndex();
BeanUtils.copyProperties(obj, idxBizPvHealthIndex); BeanUtils.copyProperties(obj, idxBizPvHealthIndex, "sequenceNbr");
idxBizPvHealthIndex.setSequenceNbr(null); // idxBizPvHealthIndex.setSequenceNbr(null);
idxBizPvHealthIndex.setHealthIndex(indexValueArray.getDoubleValue(i)< 0 ? 0 : indexValueArray.getDoubleValue(i)); idxBizPvHealthIndex.setHealthIndex(indexValueArray.getDoubleValue(i)< 0 ? 0 : indexValueArray.getDoubleValue(i));
idxBizPvHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr()); idxBizPvHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
idxBizPvHealthIndex.setRecDate(time); idxBizPvHealthIndex.setRecDate(time);
idxBizPvHealthIndex.setWeigth(1.0); idxBizPvHealthIndex.setWeigth(1.0);
//获取健康指数对应等级 //获取健康指数对应等级
LambdaQueryWrapper<IdxBizPvHealthLevel> query = new LambdaQueryWrapper<>();
query.eq(IdxBizPvHealthLevel::getAnalysisObjType, "测点"); for (IdxBizPvHealthLevel idxBizFanHealthLevel : idxBizFanHealthLevels) {
query.eq(IdxBizPvHealthLevel::getStatus, obj.getStation()); if (indexValueArray.getDoubleValue(i) <= idxBizFanHealthLevel.getGroupUpperLimit()
query.le(IdxBizPvHealthLevel::getGroupLowerLimit, indexValueArray.getDoubleValue(i) < 0 ? 0 : indexValueArray.getDoubleValue(i)); && indexValueArray.getDoubleValue(i) >= idxBizFanHealthLevel.getGroupLowerLimit()){
query.ge(IdxBizPvHealthLevel::getGroupUpperLimit, indexValueArray.getDoubleValue(i) < 0 ? 0 : indexValueArray.getDoubleValue(i) ); idxBizPvHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel());
IdxBizPvHealthLevel idxBizFanHealthLevel = idxBizPvHealthLevelMapper.selectOne(query);
idxBizPvHealthIndex.setHealthLevel(idxBizFanHealthLevel.getHealthLevel()); }
}
idxBizPvHealthIndex.setAnalysisType("按时刻"); idxBizPvHealthIndex.setAnalysisType("按时刻");
idxBizPvHealthIndex.setAnalysisObjType("测点"); idxBizPvHealthIndex.setAnalysisObjType("测点");
idxBizPvHealthIndex.setANOMALY(scoreValueArray.getDoubleValue(i)); idxBizPvHealthIndex.setANOMALY(scoreValueArray.getDoubleValue(i));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment