Commit 34675325 authored by chenzhao's avatar chenzhao

增加 健康计算开关 及预警监测测点页面折线图

parent 07e79ebb
......@@ -252,6 +252,23 @@ public class IdxBizFanHealthIndexController extends BaseController {
return ResponseHelper.buildResponse(null);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "预警监测测点层左侧列表", notes = "预警监测风机层左侧列表")
@GetMapping(value = "/selectPointByANALYSISTYPE")
public ResponseModel<Map<String,Object>> selectPointByANALYSISTYPE(@RequestParam(required = false) String STATION, @RequestParam(required = false)String HEALTHLEVEL,@RequestParam(required = false) String EQUIPMENTNAME,@RequestParam(required = false)String POINTNAME,Integer current,Integer size) {
List<Map<String, Object>> maps = idxBizFanHealthIndexServiceImpl.selectPointByANALYSISTYPE(STATION, HEALTHLEVEL, EQUIPMENTNAME, POINTNAME);
Map<String,Object> result = new HashMap<>();
List<Object> seriesData = new ArrayList<>();
List<Object> axisData = new ArrayList<>();
for (Map<String, Object> map : maps) {
seriesData.add(map.get("value"));
axisData.add(map.get("REC_DATE"));
}
result.put("seriesData",seriesData);
result.put("axisData",axisData);
return ResponseHelper.buildResponse(result);
}
}
......@@ -111,12 +111,12 @@ public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIn
List<Map<String,Object>> queryForLeftTableListByPoint(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME,Integer current,Integer size);
List<Map<String,Object>> selectPointByANALYSISTYPE(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME);
int queryForLeftTableListByPointCount(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME);
Map<String,Object> queryForLeftTableListByPointNum(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME);
List<IdxBizFanWarningRecord> warningData(String STATION, String SUBARRAY, String EQUIPMENTNAME);
Integer pointNum(String STATION, String SUBARRAY, String EQUIPMENTNAME);
......
......@@ -95,7 +95,8 @@ public class CommonServiceImpl {
@Value("${jkzsjs.url:a9a404d4-6ead-440e-9fcb-b95d5a239b10}")
String jkzsgfurl;
@Value("${openHealth}")
Boolean openHealth;
// {"tableName": "idx_biz_fan_point_process_variable_classification"} 风机工况变量划分
// {"tableName": "idx_biz_pv_point_process_variable_classification"} 光伏工况变量画分
// {"tableName": "idx_biz_fan_point_var_correlation"} 风机相关性
......@@ -1462,6 +1463,9 @@ public class CommonServiceImpl {
@Scheduled(cron = "0 0/10 * * * ?")
@Async("async")
public void healthWarningMinuteByFan() {
if (!openHealth){
return;
}
Date time = new Date();
Calendar calendar = Calendar.getInstance();
List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData();
......@@ -1623,6 +1627,9 @@ public class CommonServiceImpl {
@Scheduled(cron = "0 0/10 * * * ?")
@Async("async")
public void healthWarningMinuteByPv() {
if (!openHealth){
return;
}
Calendar calendar = Calendar.getInstance();
Date time = new Date();
List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData();
......
......@@ -84,7 +84,8 @@ public class HealthStatusIndicatorServiceImpl {
@Autowired
EmqKeeper emqKeeper;
@Value("${openHealth}")
boolean openHealth;
/**
* 夏造风电分析index_key
*/
......@@ -115,6 +116,9 @@ public class HealthStatusIndicatorServiceImpl {
// @Scheduled(cron = "0 0 */1 * * ?")
@Async("async")
public void healthWarningMinuteGF(Calendar calendar,Date time ) {
if (!openHealth){
return;
}
// Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-1);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
......@@ -255,6 +259,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0/1 * * ?")
@Async("async")
public void healthWarningHourGF() {
if (!openHealth){
return;
}
Date time = new Date();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-5);
......@@ -397,6 +404,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0 0/1 * ? ")
@Async("async")
public void healthWarningDayGF() {
if (!openHealth){
return;
}
Calendar calendar = Calendar.getInstance();
Date time = new Date();
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-3);
......@@ -530,6 +540,9 @@ public class HealthStatusIndicatorServiceImpl {
// @Scheduled(cron = "0 0 */1 * * ?")
@Async("async")
public void healthWarningMinute(Calendar calendar ,Date time) {
if (!openHealth){
return;
}
// Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-1);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
......@@ -675,6 +688,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0/1 * * ?")
@Async("async")
public void healthWarningHour() {
if (!openHealth){
return;
}
Date time = new Date();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-5);
......@@ -813,6 +829,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0 0/1 * ? ")
@Async("async")
public void healthWarningDay() {
if (!openHealth){
return;
}
Date time = new Date();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-3);
......
......@@ -181,6 +181,12 @@ public class IdxBizFanHealthIndexServiceImpl extends BaseService<IdxBizFanHealth
return this.getBaseMapper().queryForLeftTableListByPoint(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME,current,size);
}
public List<Map<String,Object>> selectPointByANALYSISTYPE(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME){
return this.getBaseMapper().selectPointByANALYSISTYPE(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME);
};
public int queryForLeftTableListByPointCount(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME,String POINTNAME){
return this.getBaseMapper().queryForLeftTableListByPointCount(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME);
}
......
......@@ -87,4 +87,7 @@ healthValue_Notice=79
healthValue_DayCount=3
healthValue_HourCount=6
healthValue_MinCount=5
\ No newline at end of file
healthValue_MinCount=5
##是否打开健康计算计算 true 打开 false 关闭
openHealth = false
\ No newline at end of file
......@@ -2,57 +2,56 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthIndexMapper">
<select id="getHealthScoreInfo" resultType="java.math.BigDecimal">
SELECT
CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<select id="getHealthScoreInfo" resultType="java.math.BigDecimal">
SELECT
CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
</where>
UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
)
) a
</select>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
)
) a
</select>
<select id="getHealthScoreInfoByStation" resultType="java.math.BigDecimal">
......@@ -72,254 +71,235 @@
</select>
<select id="getHealthListInfo" resultType="java.util.Map">
SELECT
<select id="getHealthListInfo" resultType="java.util.Map">
SELECT
CEILING(IFNULL( AVG( HEALTH_INDEX ), 100 )) AS avgHealthIndex,
DATE_ADD( a.date, INTERVAL - 1 DAY ) as date
FROM
FROM
(
SELECT
DATE_FORMAT( DATE_ADD(( DATE( DATE_ADD( now(), INTERVAL - 15 DAY ))), INTERVAL @s DAY ), '%Y-%m-%d' ) AS date,
@s := @s + 1 AS `index`
FROM
mysql.help_topic,
( SELECT @s := 1 ) temp
WHERE
DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 15 DAY )) ) >= @s
SELECT
DATE_FORMAT( DATE_ADD(( DATE( DATE_ADD( now(), INTERVAL - 15 DAY ))), INTERVAL @s DAY ), '%Y-%m-%d' ) AS date,
@s := @s + 1 AS `index`
FROM
mysql.help_topic,
( SELECT @s := 1 ) temp
WHERE
DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 15 DAY )) ) >= @s
) a
LEFT JOIN (
SELECT
HEALTH_INDEX,
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_TYPE = '按天'
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
UNION ALL
(
SELECT
HEALTH_INDEX,
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_TYPE = '按天'
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
)
LEFT JOIN (
SELECT
HEALTH_INDEX,
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_TYPE = '按天'
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
UNION ALL
(
SELECT
HEALTH_INDEX,
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_TYPE = '按天'
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
<if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站'
</if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where>
)
) b ON DATE_FORMAT( b.recDate, "%Y-%m-%d" ) = a.date
GROUP BY
GROUP BY
a.date
</select>
<select id="getAllEquipAlarmInfo" resultType="java.util.Map">
SELECT
ARAE as area,
WARNING_NAME as warningName,
count(1) as num
FROM
${tableName} a
<select id="getAllEquipAlarmInfo" resultType="java.util.Map">
SELECT ARAE as area,
WARNING_NAME as warningName,
count(1) as num
FROM ${tableName} a
where (a.DISPOSOTION_STATE = '未处置')
or (a.DISPOSOTION_STATE = '已处置' and a.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )
group by ARAE,
WARNING_NAME
or (a.DISPOSOTION_STATE = '已处置' and a.DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY ))
group by ARAE,
WARNING_NAME
</select>
<select id="getHealthInfoByArea" resultType="java.util.Map">
SELECT
ARAE as area,
CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
ARAE
FROM
idx_biz_fan_health_index
WHERE
ANALYSIS_OBJ_TYPE = '片区'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
ARAE UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
ARAE
FROM
idx_biz_pv_health_index
WHERE
ANALYSIS_OBJ_TYPE = '片区'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
ARAE
)
) a
GROUP BY
a.ARAE
<select id="getHealthInfoByArea" resultType="java.util.Map">
SELECT ARAE as area,
CEILING(avg(a.avgHealthIndex)) AS healthIndex
FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
ARAE
FROM idx_biz_fan_health_index
WHERE ANALYSIS_OBJ_TYPE = '片区'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY ARAE
UNION ALL
(
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
ARAE
FROM idx_biz_pv_health_index
WHERE ANALYSIS_OBJ_TYPE = '片区'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY ARAE
)
) a
GROUP BY a.ARAE
</select>
<select id="getAllEquipAlarmInfoByStation" resultType="java.util.Map">
SELECT
a.*
FROM
(
SELECT
STATION AS station,
WARNING_NAME AS warningName,
count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_fan_warning_record wr WHERE
((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.STATION = STATION
) AS allNum
FROM
idx_biz_fan_warning_record
WHERE
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
GROUP BY
STATION,
WARNING_NAME UNION ALL
SELECT
STATION AS station,
WARNING_NAME AS warningName,
count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_pv_warning_record wr WHERE
((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.STATION = STATION
) AS allNum
FROM
idx_biz_pv_warning_record
WHERE
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
GROUP BY
STATION,
WARNING_NAME
) a
ORDER BY
a.allNum ASC
<select id="getAllEquipAlarmInfoByStation" resultType="java.util.Map">
SELECT a.*
FROM (
SELECT STATION AS station,
WARNING_NAME AS warningName,
count(1) AS num,
(SELECT count(1)
FROM idx_biz_fan_warning_record wr
WHERE ((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and
wr.DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
AND wr.STATION = STATION
) AS allNum
FROM idx_biz_fan_warning_record
WHERE ((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
GROUP BY STATION,
WARNING_NAME
UNION ALL
SELECT STATION AS station,
WARNING_NAME AS warningName,
count(1) AS num,
(SELECT count(1)
FROM idx_biz_pv_warning_record wr
WHERE ((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and
wr.DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
AND wr.STATION = STATION
) AS allNum
FROM idx_biz_pv_warning_record
WHERE ((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
GROUP BY STATION,
WARNING_NAME
) a
ORDER BY a.allNum ASC
</select>
<select id="getHealthInfoByStation" resultType="java.util.Map">
SELECT
a.STATION as station,
CEILING(avg( a.avgHealthIndex )) AS healthIndex
a.STATION as station,
CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
STATION UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
STATION
)
) a
idx_biz_fan_health_index
<where>
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
STATION UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
STATION
)
) a
GROUP BY
a.STATION
a.STATION
</select>
<select id="equipWarningRadarMap" resultType="java.util.Map">
SELECT
a.warningName,
count( 1 ) AS num
FROM
(
SELECT
WARNING_NAME AS warningName
FROM
idx_biz_fan_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="stationCode != null and stationCode != ''">
and GATEWAY_ID = #{stationCode}
</if>
</where>
UNION ALL
SELECT
WARNING_NAME AS warningName
FROM
idx_biz_pv_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="stationCode != null and stationCode != ''">
and GATEWAY_ID = #{stationCode}
</if>
</where>
) a
GROUP BY
a.warningName
<select id="equipWarningRadarMap" resultType="java.util.Map">
SELECT
a.warningName,
count( 1 ) AS num
FROM
(
SELECT
WARNING_NAME AS warningName
FROM
idx_biz_fan_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="stationCode != null and stationCode != ''">
and GATEWAY_ID = #{stationCode}
</if>
</where>
UNION ALL
SELECT
WARNING_NAME AS warningName
FROM
idx_biz_pv_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="stationCode != null and stationCode != ''">
and GATEWAY_ID = #{stationCode}
</if>
</where>
) a
GROUP BY
a.warningName
</select>
<select id="getAllEquipAlarmInfoAnalysisByStationType" resultType="java.util.Map">
SELECT
concat(#{stationType}, '-', a.POINT_NAME) as pointName,
a.WARNING_NAME as warningName,
<select id="getAllEquipAlarmInfoAnalysisByStationType" resultType="java.util.Map">
SELECT
concat(#{stationType}, '-', a.POINT_NAME) as pointName,
a.WARNING_NAME as warningName,
count(1) as num,
(select count(1) from ${tableName} as tb
<where>
tb.DISPOSOTION_STATE = '未处置'
and tb.POINT_NAME = a.POINT_NAME
<if test="areaCode != null and areaCode != ''">
and tb.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
) AS totalNum
FROM
(select count(1) from ${tableName} as tb
<where>
tb.DISPOSOTION_STATE = '未处置'
and tb.POINT_NAME = a.POINT_NAME
<if test="areaCode != null and areaCode != ''">
and tb.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
) AS totalNum
FROM
${tableName} a
<where>
((a.DISPOSOTION_STATE = '未处置')
......@@ -328,204 +308,204 @@
and a.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
group by pointName,
warningName
having pointName IS NOT NULL
AND pointName != ''
order by totalNum asc
group by pointName,
warningName
having pointName IS NOT NULL
AND pointName != ''
order by totalNum asc
</select>
<select id="getAllEquipAlarmInfoAnalysisByArea" resultType="java.util.Map">
SELECT
a.*
FROM
(
SELECT
wr.WARNING_NAME AS warningName,
concat('光伏-', wr.POINT_NAME) AS pointName,
count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_pv_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.POINT_NAME = POINT_NAME
<if test="areaCode != null and areaCode != ''">
and ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
) AS allNum
FROM
idx_biz_pv_warning_record wr
<where>
((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''">
and wr.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
pointName,
warningName UNION ALL
SELECT
wr.WARNING_NAME AS warningName,
concat('风电-', wr.POINT_NAME) AS pointName,
count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_fan_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.POINT_NAME = POINT_NAME
<if test="areaCode != null and areaCode != ''">
and ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
) AS allNum
FROM
idx_biz_fan_warning_record wr
<where>
((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''">
and wr.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
pointName,
warningName
) a
WHERE
a.pointName IS NOT NULL
AND a.pointName != ''
order by a.allNum ASC
<select id="getAllEquipAlarmInfoAnalysisByArea" resultType="java.util.Map">
SELECT
a.*
FROM
(
SELECT
wr.WARNING_NAME AS warningName,
concat('光伏-', wr.POINT_NAME) AS pointName,
count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_pv_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.POINT_NAME = POINT_NAME
<if test="areaCode != null and areaCode != ''">
and ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
) AS allNum
FROM
idx_biz_pv_warning_record wr
<where>
((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''">
and wr.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
pointName,
warningName UNION ALL
SELECT
wr.WARNING_NAME AS warningName,
concat('风电-', wr.POINT_NAME) AS pointName,
count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_fan_warning_record
<where>
((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.POINT_NAME = POINT_NAME
<if test="areaCode != null and areaCode != ''">
and ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
) AS allNum
FROM
idx_biz_fan_warning_record wr
<where>
((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''">
and wr.ARAE like concat('%', #{areaCode}, '%')
</if>
</where>
GROUP BY
pointName,
warningName
) a
WHERE
a.pointName IS NOT NULL
AND a.pointName != ''
order by a.allNum ASC
</select>
<select id="getSubSystemInfo" resultType="java.util.Map">
SELECT
<select id="getSubSystemInfo" resultType="java.util.Map">
SELECT
CEILING(IFNULL( HEALTH_INDEX, 100 )) AS healthIndex,
SUB_SYSTEM AS subSystem
FROM
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_OBJ_TYPE = '子系统'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机')
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
<where>
ANALYSIS_OBJ_TYPE = '子系统'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机')
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
</select>
<select id="getFanInfoByPage" resultType="java.util.Map">
SELECT
<select id="getFanInfoByPage" resultType="java.util.Map">
SELECT
EQUIPMENT_NAME as equipmentName,
INDEX_ADDRESS as indexAddress,
STATION as station
FROM
INDEX_ADDRESS as indexAddress,
STATION as station
FROM
idx_biz_fan_point_process_variable_classification
<where>
EQUIPMENT_NAME LIKE '%#%'
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
<where>
EQUIPMENT_NAME LIKE '%#%'
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
EQUIPMENT_NAME
ORDER BY
ORDER BY
RIGHT(EQUIPMENT_NAME, 6) ASC
</select>
<select id="getFanHealthInfoList" resultType="java.util.Map">
SELECT
<select id="getFanHealthInfoList" resultType="java.util.Map">
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
EQUIPMENT_NAME as equipmentName
FROM
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
<where>
ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
EQUIPMENT_NAME
</select>
<select id="getSumSystemListByEquipment" resultType="java.util.Map">
SELECT
SUB_SYSTEM as subSystem,
INDEX_ADDRESS as indexAddress
FROM
idx_biz_fan_point_process_variable_classification
<where>
SUB_SYSTEM IS NOT NULL AND SUB_SYSTEM != ''
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机')
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
SUB_SYSTEM
<select id="getSumSystemListByEquipment" resultType="java.util.Map">
SELECT
SUB_SYSTEM as subSystem,
INDEX_ADDRESS as indexAddress
FROM
idx_biz_fan_point_process_variable_classification
<where>
SUB_SYSTEM IS NOT NULL AND SUB_SYSTEM != ''
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机')
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
SUB_SYSTEM
</select>
<select id="getPointNameListBySumSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName,
INDEX_ADDRESS as indexAddress,
STATION AS station
FROM
idx_biz_fan_point_process_variable_classification
<where>
<if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
<select id="getPointNameListBySumSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName,
INDEX_ADDRESS as indexAddress,
STATION AS station
FROM
idx_biz_fan_point_process_variable_classification
<where>
<if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
</select>
<select id="getHealthInfoBySubSystem" resultType="java.util.Map">
SELECT
<select id="getHealthInfoBySubSystem" resultType="java.util.Map">
SELECT
IFNULL( avg( HEALTH_INDEX ), 100 ) AS healthIndex,
POINT_NAME AS pointName
FROM
FROM
idx_biz_fan_health_index
<where>
ANALYSIS_OBJ_TYPE= '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
AND POINT_NAME IS NOT NULL
AND POINT_NAME != ''
<if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
<where>
ANALYSIS_OBJ_TYPE= '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
AND POINT_NAME IS NOT NULL
AND POINT_NAME != ''
<if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
</select>
</select>
<select id="getWarningInfoBySubSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName,
WARNING_NAME as warningName
POINT_NAME as pointName,
WARNING_NAME as warningName
FROM
idx_biz_fan_warning_record
idx_biz_fan_warning_record
<where>
DISPOSOTION_STATE = '未处置'
<if test="subSystem != null and subSystem != ''">
......@@ -536,127 +516,108 @@
</if>
</where>
GROUP BY
POINT_NAME
POINT_NAME
ORDER BY
WARNING_NAME ASC
WARNING_NAME ASC
</select>
<select id="getPvInfoByPage" resultType="java.util.Map">
SELECT
SUBARRAY as subarray,
STATION AS station
FROM
idx_biz_pv_point_process_variable_classification
<where>
<if test="gatewayId != null and gatewayId != ''">
GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
SUBARRAY
ORDER BY
SUBARRAY
<select id="getPvInfoByPage" resultType="java.util.Map">
SELECT
SUBARRAY as subarray,
STATION AS station
FROM
idx_biz_pv_point_process_variable_classification
<where>
<if test="gatewayId != null and gatewayId != ''">
GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
SUBARRAY
ORDER BY
SUBARRAY
</select>
<select id="getPvHealthInfoList" resultType="java.util.Map">
SELECT
IFNULL( round(AVG( HEALTH_INDEX ), 2), 0 ) AS avgHealthIndex,
SUBARRAY as subarray
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '子阵'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY SUBARRAY
order by SUBARRAY
<select id="getPvHealthInfoList" resultType="java.util.Map">
SELECT
IFNULL( round(AVG( HEALTH_INDEX ), 2), 0 ) AS avgHealthIndex,
SUBARRAY as subarray
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '子阵'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY SUBARRAY
order by SUBARRAY
</select>
<select id="getPvSubSystemInfo" resultType="java.util.Map">
SELECT
CEILING(IFNULL( AVG( HEALTH_INDEX ), 100 )) AS avgHealthIndex,
EQUIPMENT_NAME AS equipmentName
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="subarray != null and subarray != ''">
AND SUBARRAY = concat('#', #{subarray})
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
group by EQUIPMENT_NAME
<select id="getPvSubSystemInfo" resultType="java.util.Map">
SELECT
CEILING(IFNULL( AVG( HEALTH_INDEX ), 100 )) AS avgHealthIndex,
EQUIPMENT_NAME AS equipmentName
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="subarray != null and subarray != ''">
AND SUBARRAY = concat('#', #{subarray})
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
group by EQUIPMENT_NAME
</select>
<select id="getPvSumSystemListByEquipment" resultType="java.util.Map">
SELECT
EQUIPMENT_NAME as equipmentName
FROM
idx_biz_pv_point_process_variable_classification
<where>
<if test="subarray != null and subarray != ''">
AND SUBARRAY = concat('#', #{subarray})
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
EQUIPMENT_NAME
<select id="getPvSumSystemListByEquipment" resultType="java.util.Map">
SELECT
EQUIPMENT_NAME as equipmentName
FROM
idx_biz_pv_point_process_variable_classification
<where>
<if test="subarray != null and subarray != ''">
AND SUBARRAY = concat('#', #{subarray})
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
EQUIPMENT_NAME
</select>
<select id="getPvHealthInfoBySubSystem" resultType="java.util.Map">
<select id="getPvHealthInfoBySubSystem" resultType="java.util.Map">
SELECT
IFNULL( ROUND(avg( HEALTH_INDEX ), 2), 0 ) AS healthIndex,
POINT_NAME AS pointName
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
AND POINT_NAME IS NOT NULL
AND POINT_NAME != ''
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
SELECT
IFNULL( ROUND(avg( HEALTH_INDEX ), 2), 0 ) AS healthIndex,
POINT_NAME AS pointName
FROM
idx_biz_pv_health_index
<where>
ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
AND POINT_NAME IS NOT NULL
AND POINT_NAME != ''
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
</select>
<select id="getPvWarningInfoBySubSystem" resultType="java.util.Map">
......@@ -681,277 +642,233 @@
</select>
<select id="getPvPointNameListBySumSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName,
INDEX_ADDRESS as indexAddress,
STATION AS station
FROM
idx_biz_pv_point_process_variable_classification
<where>
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
<select id="getPvPointNameListBySumSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName,
INDEX_ADDRESS as indexAddress,
STATION AS station
FROM
idx_biz_pv_point_process_variable_classification
<where>
<if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName}
</if>
<if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
</select>
<select id="getPointNameByIndexAddress" resultType="java.lang.String">
select POINT_NAME from
${tableName}
where INDEX_ADDRESS = #{varDesc}
limit 1
<select id="getPointNameByIndexAddress" resultType="java.lang.String">
select POINT_NAME
from ${tableName}
where INDEX_ADDRESS = #{varDesc} limit 1
</select>
<select id="getFullViewRecall" resultType="com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO">
SELECT
a.*,
row_number () over ( ORDER BY pointName ) AS id
FROM
(
SELECT
ARAE AS area,
STATION AS station,
EQUIPMENT_NAME AS equipmentName,
SUB_SYSTEM AS subSystem,
POINT_NAME AS pointName,
INDEX_ADDRESS AS indexAddress
FROM
idx_biz_fan_point_process_variable_classification
WHERE
TAG_CODE = '分析变量'
AND ARAE is not null
AND STATION is not null
AND EQUIPMENT_NAME is not null
AND SUB_SYSTEM is not null
AND POINT_NAME is not null
AND INDEX_ADDRESS is not null
UNION ALL
SELECT
ARAE AS area,
STATION AS station,
SUBARRAY AS equipmentName,
EQUIPMENT_NAME AS subSystem,
POINT_NAME AS pointName,
INDEX_ADDRESS AS indexAddress
FROM
idx_biz_pv_point_process_variable_classification
WHERE
TAG_CODE = '分析变量'
AND ARAE is not null
AND STATION is not null
AND SUBARRAY is not null
AND EQUIPMENT_NAME is not null
AND POINT_NAME is not null
AND INDEX_ADDRESS is not null
) a
<select id="getFullViewRecall" resultType="com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO">
SELECT a.*,
row_number() over ( ORDER BY pointName ) AS id
FROM (
SELECT ARAE AS area,
STATION AS station,
EQUIPMENT_NAME AS equipmentName,
SUB_SYSTEM AS subSystem,
POINT_NAME AS pointName,
INDEX_ADDRESS AS indexAddress
FROM idx_biz_fan_point_process_variable_classification
WHERE TAG_CODE = '分析变量'
AND ARAE is not null
AND STATION is not null
AND EQUIPMENT_NAME is not null
AND SUB_SYSTEM is not null
AND POINT_NAME is not null
AND INDEX_ADDRESS is not null
UNION ALL
SELECT ARAE AS area,
STATION AS station,
SUBARRAY AS equipmentName,
EQUIPMENT_NAME AS subSystem,
POINT_NAME AS pointName,
INDEX_ADDRESS AS indexAddress
FROM idx_biz_pv_point_process_variable_classification
WHERE TAG_CODE = '分析变量'
AND ARAE is not null
AND STATION is not null
AND SUBARRAY is not null
AND EQUIPMENT_NAME is not null
AND POINT_NAME is not null
AND INDEX_ADDRESS is not null
) a
</select>
<select id="getStationIndexInfo" resultType="java.util.Map">
SELECT
a.STATION AS station,
ROUND( avg( a.avgHealthIndex ), 2 ) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION AS STATION
FROM
idx_biz_fan_health_index
WHERE
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
STATION UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION AS STATION
FROM
idx_biz_pv_health_index
WHERE
ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
STATION
)
) a
GROUP BY
a.STATION
<select id="getStationIndexInfo" resultType="java.util.Map">
SELECT a.STATION AS station,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
STATION AS STATION
FROM idx_biz_fan_health_index
WHERE ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY STATION
UNION ALL
(
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
STATION AS STATION
FROM idx_biz_pv_health_index
WHERE ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY STATION
)
) a
GROUP BY a.STATION
</select>
<select id="getEquipmentIndexInfo" resultType="java.util.Map">
SELECT
a.equipmentName AS equipmentName,
ROUND( avg( a.avgHealthIndex ), 2 ) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
EQUIPMENT_NAME AS equipmentName
FROM
idx_biz_fan_health_index
WHERE
ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
EQUIPMENT_NAME UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
SUBARRAY AS equipmentName
FROM
idx_biz_pv_health_index
WHERE
ANALYSIS_OBJ_TYPE = '子阵'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
SUBARRAY
)
) a
where equipmentName is not null and equipmentName != ''
GROUP BY
a.equipmentName
<select id="getEquipmentIndexInfo" resultType="java.util.Map">
SELECT a.equipmentName AS equipmentName,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
EQUIPMENT_NAME AS equipmentName
FROM idx_biz_fan_health_index
WHERE ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY EQUIPMENT_NAME
UNION ALL
(
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
SUBARRAY AS equipmentName
FROM idx_biz_pv_health_index
WHERE ANALYSIS_OBJ_TYPE = '子阵'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY SUBARRAY
)
) a
where equipmentName is not null
and equipmentName != ''
GROUP BY
a.equipmentName
</select>
<select id="getSubSystemIndexInfo" resultType="java.util.Map">
SELECT
a.subSystem AS subSystem,
ROUND( avg( a.avgHealthIndex ), 2 ) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
SUB_SYSTEM AS subSystem
FROM
idx_biz_fan_health_index
WHERE
ANALYSIS_OBJ_TYPE = '子系统'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
SUB_SYSTEM UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
EQUIPMENT_NAME AS subSystem
FROM
idx_biz_pv_health_index
WHERE
ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
EQUIPMENT_NAME
)
) a
where subSystem is not null and subSystem != ''
GROUP BY
a.subSystem
<select id="getSubSystemIndexInfo" resultType="java.util.Map">
SELECT a.subSystem AS subSystem,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
SUB_SYSTEM AS subSystem
FROM idx_biz_fan_health_index
WHERE ANALYSIS_OBJ_TYPE = '子系统'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY SUB_SYSTEM
UNION ALL
(
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
EQUIPMENT_NAME AS subSystem
FROM idx_biz_pv_health_index
WHERE ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY EQUIPMENT_NAME
)
) a
where subSystem is not null
and subSystem != ''
GROUP BY
a.subSystem
</select>
<select id="getPointNameIndexInfo" resultType="java.util.Map">
<select id="getPointNameIndexInfo" resultType="java.util.Map">
SELECT
IFNULL( HEALTH_INDEX, 100 ) AS healthIndex,
concat( STATION, '_', INDEX_ADDRESS ) as gatewayIndexAddress
FROM
idx_biz_fan_health_index
WHERE
ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
INDEX_ADDRESS UNION ALL
(
SELECT
IFNULL( HEALTH_INDEX, 100 ) AS healthIndex,
concat( STATION, '_', INDEX_ADDRESS ) as gatewayIndexAddress
FROM
idx_biz_pv_health_index
WHERE
ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
GROUP BY
INDEX_ADDRESS
SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
FROM idx_biz_fan_health_index
WHERE ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY INDEX_ADDRESS
UNION ALL
(
SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
FROM idx_biz_pv_health_index
WHERE ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
GROUP BY INDEX_ADDRESS
)
</select>
<select id="getHealthLevelInfoList" resultType="com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel">
SELECT
CONCAT( `STATUS`, '_', ANALYSIS_OBJ_TYPE ) AS analysisObjType,
HEALTH_LEVEL AS healthLevel,
GROUP_LOWER_LIMIT AS groupLowerLimit,
GROUP_UPPER_LIMIT AS groupUpperLimit
FROM
idx_biz_fan_health_level
WHERE
STATUS IS NOT NULL
OR STATUS != '' UNION ALL
SELECT
CONCAT( `STATUS`, '_', ANALYSIS_OBJ_TYPE ) AS analysisObjType,
HEALTH_LEVEL AS healthLevel,
GROUP_LOWER_LIMIT AS groupLowerLimit,
GROUP_UPPER_LIMIT AS groupUpperLimit
FROM
idx_biz_pv_health_level
WHERE
STATUS IS NOT NULL
OR STATUS != ''
<select id="getHealthLevelInfoList" resultType="com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel">
SELECT CONCAT(`STATUS`, '_', ANALYSIS_OBJ_TYPE) AS analysisObjType,
HEALTH_LEVEL AS healthLevel,
GROUP_LOWER_LIMIT AS groupLowerLimit,
GROUP_UPPER_LIMIT AS groupUpperLimit
FROM idx_biz_fan_health_level
WHERE STATUS IS NOT NULL
OR STATUS != ''
UNION ALL
SELECT CONCAT(`STATUS`, '_', ANALYSIS_OBJ_TYPE) AS analysisObjType,
HEALTH_LEVEL AS healthLevel,
GROUP_LOWER_LIMIT AS groupLowerLimit,
GROUP_UPPER_LIMIT AS groupUpperLimit
FROM idx_biz_pv_health_level
WHERE STATUS IS NOT NULL
OR STATUS != ''
</select>
<select id="getAddressInfo" resultType="java.lang.String">
select index_address from wl_equipment_specific_index where gateway_id = '1668801435891929089' and data_type = 'analog' limit 100
<select id="getAddressInfo" resultType="java.lang.String">
select index_address
from wl_equipment_specific_index
where gateway_id = '1668801435891929089'
and data_type = 'analog' limit 100
</select>
<select id="queryForLeftTableList" resultType="map">
SELECT
b.*,
IFNULL( ibfhi.HEALTH_INDEX, 100 ) as HEALTH_INDEX ,
IFNULL( ibfhi.HEALTH_LEVEL, '安全' ) as HEALTH_LEVEL,
(case ibfhi.HEALTH_LEVEL
WHEN '危险' THEN 3
WHEN '警告' THEN 2
WHEN '注意' THEN 1
ELSE 0 end) as status
b.*,
IFNULL( ibfhi.HEALTH_INDEX, 100 ) as HEALTH_INDEX ,
IFNULL( ibfhi.HEALTH_LEVEL, '安全' ) as HEALTH_LEVEL,
(case ibfhi.HEALTH_LEVEL
WHEN '危险' THEN 3
WHEN '警告' THEN 2
WHEN '注意' THEN 1
ELSE 0 end) as status
FROM
(
SELECT
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` AS `EQUIPMENT_NAME`,
`idx_biz_fan_point_process_variable_classification`.`STATION` AS `STATION`
FROM
`idx_biz_fan_point_process_variable_classification`
WHERE
`idx_biz_fan_point_process_variable_classification`.`TAG_CODE` = '分析变量'
GROUP BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME`
ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) )
AND ibfhi.ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_TYPE = '按天' AND DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
(
SELECT
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` AS `EQUIPMENT_NAME`,
`idx_biz_fan_point_process_variable_classification`.`STATION` AS `STATION`
FROM
`idx_biz_fan_point_process_variable_classification`
WHERE
`idx_biz_fan_point_process_variable_classification`.`TAG_CODE` = '分析变量'
GROUP BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME`
ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) )
AND ibfhi.ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_TYPE = '按天' AND
DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
<where>
<if test="STATION != '' and STATION != null">
b.STATION = #{STATION}
</if>
<if test="HEALTHLEVEL != '' and HEALTHLEVEL != null">
AND HEALTH_LEVEL = #{HEALTHLEVEL}
AND HEALTH_LEVEL = #{HEALTHLEVEL}
</if>
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if>
</where>
order by HEALTH_INDEX ASC
......@@ -975,17 +892,18 @@
ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) )
AND ibfhi.ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_TYPE = '按天' AND DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) )
AND ibfhi.ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_TYPE = '按天' AND
DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
<where>
<if test="STATION != '' and STATION != null">
b.STATION = #{STATION}
</if>
<if test="HEALTHLEVEL != '' and HEALTHLEVEL != null">
AND HEALTH_LEVEL = #{HEALTHLEVEL}
AND HEALTH_LEVEL = #{HEALTHLEVEL}
</if>
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if>
</where>
</select>
......@@ -1007,17 +925,18 @@
ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) )
AND ibfhi.ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_TYPE = '按天' AND DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) )
AND ibfhi.ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_TYPE = '按天' AND
DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
<where>
<if test="STATION != '' and STATION != null">
b.STATION = #{STATION}
</if>
<if test="HEALTHLEVEL != '' and HEALTHLEVEL != null">
AND HEALTH_LEVEL = #{HEALTHLEVEL}
AND HEALTH_LEVEL = #{HEALTHLEVEL}
</if>
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if>
</where>
</select>
......@@ -1068,7 +987,7 @@
</where>
order by b.HEALTH_INDEX ASC
limit ${current},${size}
</select>
</select>
<select id="queryForLeftTableListByPointCount" resultType="int">
......@@ -1119,7 +1038,7 @@
<select id="queryForLeftTableListByPointNum" resultType="map">
SELECT
b.HEALTH_INDEX as value
b.HEALTH_INDEX as value
FROM
(
SELECT
......@@ -1199,4 +1118,59 @@
</select>
<select id="selectPointByANALYSISTYPE" resultType="map">
SELECT
b.*
FROM
(
SELECT
POINT_NAME ,
STATION,
HEALTH_INDEX,
HEALTH_INDEX as value,
HEALTH_LEVEL,
( CASE HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status,
SUB_SYSTEM,
REC_DATE,
EQUIPMENT_NAME,
INDEX_ADDRESS,
ANALYSIS_OBJ_SEQ,
ANALYSIS_TYPE
FROM
`idx_biz_fan_health_index`
WHERE
ANALYSIS_OBJ_TYPE = '测点'
<if test="startTime == null and startTime == '' and endTime == null and endTime == '' ">
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 15 HOUR ) )
OR ( REC_DATE >=DATE_SUB( NOW(), INTERVAL 15 DAY ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) )
</if>
<if test="startTime != null and startTime != '' or endTime != null and endTime != '' ">
AND REC_DATE >= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
<![CDATA[ AND REC_DATE <= #{endTime}]]>
</if>
) b
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意'
AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE
<where>
<if test="STATION != null and STATION != '' ">
b.STATION = #{STATION}
</if>
<if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' ">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if>
<if test="HEALTHLEVEL != null and HEALTHLEVEL != '' ">
AND b.HEALTH_LEVEL = #{HEALTHLEVEL}
</if>
<if test="POINTNAME != null and POINTNAME != '' ">
AND b.POINT_NAME = #{POINTNAME}
</if>
</where>
</select>
</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