Commit b660f152 authored by caotao's avatar caotao

分析模块需求变更

parent 59684e63
...@@ -611,11 +611,15 @@ public class TDBigScreenAnalyseController extends BaseController { ...@@ -611,11 +611,15 @@ public class TDBigScreenAnalyseController extends BaseController {
} else { } else {
LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>();
query.eq(IdxBizFanHealthLevel::getAnalysisObjType, "设备"); query.eq(IdxBizFanHealthLevel::getAnalysisObjType, "设备");
query.eq(IdxBizFanHealthLevel::getStatus, stationBasic.getStationName()); query.eq(IdxBizFanHealthLevel::getStatus, item.get("station"));
query.le(IdxBizFanHealthLevel::getGroupLowerLimit, equipmentHealthScore); query.le(IdxBizFanHealthLevel::getGroupLowerLimit, equipmentHealthScore);
query.ge(IdxBizFanHealthLevel::getGroupUpperLimit, equipmentHealthScore); query.ge(IdxBizFanHealthLevel::getGroupUpperLimit, equipmentHealthScore);
IdxBizFanHealthLevel idxBizFanHealthLevel = idxBizFanHealthLevelMapper.selectOne(query); IdxBizFanHealthLevel idxBizFanHealthLevel = idxBizFanHealthLevelMapper.selectOne(query);
item.put("warningName", idxBizFanHealthLevel.getHealthLevel()); if (ObjectUtils.isNotEmpty(idxBizFanHealthLevel)) {
item.put("warningName", idxBizFanHealthLevel.getHealthLevel());
} else {
item.put("warningName", "安全");
}
} }
item.put("healthIndex", equipmentHealthScore); item.put("healthIndex", equipmentHealthScore);
}); });
...@@ -1280,7 +1284,8 @@ public class TDBigScreenAnalyseController extends BaseController { ...@@ -1280,7 +1284,8 @@ public class TDBigScreenAnalyseController extends BaseController {
List<Object> valueList = new ArrayList<>(); List<Object> valueList = new ArrayList<>();
fanHealthIndexDayList.forEach(item -> { fanHealthIndexDayList.forEach(item -> {
time.add(item.getRecDate()); time.add(item.getRecDate());
valueList.add(item.getHealthIndex()); String format = df.format(item.getHealthIndex());
valueList.add(format);
}); });
List<Map<String, Object>> arrayList = new ArrayList<>(); List<Map<String, Object>> arrayList = new ArrayList<>();
HashMap<String, Object> stringStringHashMap = new HashMap<>(); HashMap<String, Object> stringStringHashMap = new HashMap<>();
...@@ -1292,5 +1297,54 @@ public class TDBigScreenAnalyseController extends BaseController { ...@@ -1292,5 +1297,54 @@ public class TDBigScreenAnalyseController extends BaseController {
return ResponseHelper.buildResponse(resultMap); return ResponseHelper.buildResponse(resultMap);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "风站/光伏 右下诊断分析")
@GetMapping("/getRiskHandleByVarDescBy1118")
public ResponseModel<Map<String, String>> getRiskHandleByVarDescBy1118(
@RequestParam(value = "varDesc", required = false) String varDesc,
@RequestParam(value = "tableName", required = true) String tableName,
@RequestParam(value = "stationId") String stationId) {
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
Map<String, Object> healthIndexMap = idxBizFanHealthIndexMapper.getHealthIndexByIndexAddress(stationBasic.getFanGatewayId(), varDesc);
if (ObjectUtils.isEmpty(healthIndexMap)) {
HashMap<String, String> stringStringHashMap = new HashMap<>();
stringStringHashMap.put("content", "正常运行");
return ResponseHelper.buildResponse(stringStringHashMap);
}
LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>();
query.eq(IdxBizFanHealthLevel::getAnalysisObjType, "设备");
query.eq(IdxBizFanHealthLevel::getStatus, healthIndexMap.get("station"));
query.le(IdxBizFanHealthLevel::getGroupLowerLimit, healthIndexMap.get("healthIndex"));
query.ge(IdxBizFanHealthLevel::getGroupUpperLimit, healthIndexMap.get("healthIndex"));
IdxBizFanHealthLevel idxBizFanHealthLevel = idxBizFanHealthLevelMapper.selectOne(query);
if (ObjectUtils.isNotEmpty(idxBizFanHealthLevel) && "安全".equals(idxBizFanHealthLevel.getHealthLevel())) {
HashMap<String, String> stringStringHashMap = new HashMap<>();
stringStringHashMap.put("content", "正常运行");
return ResponseHelper.buildResponse(stringStringHashMap);
}
varDesc = idxBizFanHealthIndexMapper.getPointNameByIndexAddress(varDesc, tableName,
stationBasic.getFanGatewayId());
FeignClientResult<List<String>> sevenEntityMcb = null;
try {
sevenEntityMcb = riskWarningFeign.getRiskHandleByVarDesc(varDesc);
} catch (Exception e) {
e.printStackTrace();
}
if (ObjectUtils.isEmpty(sevenEntityMcb) || sevenEntityMcb.getStatus() != 200) {
HashMap<String, String> stringStringHashMap = new HashMap<>();
stringStringHashMap.put("content", "正常运行");
return ResponseHelper.buildResponse(stringStringHashMap);
}
StringBuilder resultString = new StringBuilder();
List<String> result = sevenEntityMcb.getResult();
for (String s : result) {
resultString.append(s);
}
HashMap<String, String> stringStringHashMap = new HashMap<>();
stringStringHashMap.put("content", resultString.toString());
return ResponseHelper.buildResponse(stringStringHashMap);
}
} }
...@@ -160,4 +160,6 @@ public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIn ...@@ -160,4 +160,6 @@ public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIn
List<Map<String, Object>> queryIndexByArae(String ARAE, String ANALYSISTYPE, String startTimeTop, List<Map<String, Object>> queryIndexByArae(String ARAE, String ANALYSISTYPE, String startTimeTop,
String endTimeTop); String endTimeTop);
Map<String, Object> getHealthIndexByIndexAddress(@Param("gatewayId") String gatewayId, @Param("indexAddress") String indexAddress);
} }
...@@ -1633,4 +1633,15 @@ ...@@ -1633,4 +1633,15 @@
WHERE WHERE
TIMESTAMPDIFF( MINUTE, #{startTime} , #{endTime})/10 >= @s-1 TIMESTAMPDIFF( MINUTE, #{startTime} , #{endTime})/10 >= @s-1
</select> </select>
<select id="getHealthIndexByIndexAddress" resultType="java.util.Map">
select ROUND(ifnull(HEALTH_INDEX, 100.0), 1) as healthIndex,
STATION as station
from fan_health_index_latest_data
where
INDEX_ADDRESS = #{indexAddress}
and GATEWAY_ID = #{gatewayId}
and ANALYSIS_OBJ_TYPE = '测点'
and ANALYSIS_TYPE = '按天'
</select>
</mapper> </mapper>
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