Commit 3498e484 authored by wujiang's avatar wujiang

添加全域指数接口

parent d3916a30
...@@ -129,4 +129,10 @@ public class CommonConstans { ...@@ -129,4 +129,10 @@ public class CommonConstans {
put("按天", DatePattern.NORM_DATE_PATTERN); put("按天", DatePattern.NORM_DATE_PATTERN);
} }
}; };
public static final String ANALYSE_TYPE_MOMENT = "按时刻";
public static final String ANALYSE_TYPE_HOUR = "按小时";
public static final String ANALYSE_TYPE_DAY = "按天";
} }
package com.yeejoin.amos.boot.module.jxiop.biz.mapper2; package com.yeejoin.amos.boot.module.jxiop.biz.mapper2;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO; import com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IdxBizFanHealthIndexDto;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthIndex; import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthIndex;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel; import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord; import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizPvWarningRecord;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/** /**
* Mapper 接口 * Mapper 接口
* *
* @author system_generator * @author system_generator
* @date 2023-08-15 * @date 2023-08-15
*/ */
public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIndex> { public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIndex> {
BigDecimal getHealthScoreInfo(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode); BigDecimal getHealthScoreInfo(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode);
BigDecimal getHealthScoreInfoByLatest(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode);
BigDecimal getHealthScoreInfoByStation(@Param("stationCode") String stationCode, @Param("tableName") String tableName);
BigDecimal getHealthScoreInfoByParam(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode, @Param("analysisType") String analysisType);
List<Map<String, String>> getDateInfoBy15();
List<Map<String, Object>> getHealthListInfo(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode);
List<Map<String, Object>> getAllEquipAlarmInfo(@Param("tableName") String tableName);
List<Map<String, Object>> getHealthInfoByArea();
List<Map<String, Object>> getAllEquipAlarmInfoByStation();
List<Map<String, Object>> getHealthInfoByStation(@Param("areaCode") String areaCode);
List<Map<String, Object>> equipWarningRadarMap(@Param("stationCode") String stationCode);
List<Map<String, Object>> getAllEquipAlarmInfoAnalysisByStationType(@Param("tableName") String tableName,
@Param("areaCode") String areaCode,
@Param("stationType") String stationType);
List<Map<String, Object>> getAllEquipAlarmInfoAnalysisByArea(@Param("areaCode") String areaCode);
List<Map<String, Object>> getSubSystemInfo(@Param("equipmentName") String equipmentName, @Param("gatewayId") String gatewayId);
List<Map<String, Object>> getFanInfoByPage(@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getFanHealthInfoList(@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getSumSystemListByEquipment(@Param("gatewayId") String gatewayId, @Param("equipmentName") String equipmentName);
List<Map<String, Object>> getPointNameListBySumSystem(@Param("gatewayId") String gatewayId, @Param("subSystem") String subSystem); BigDecimal getHealthScoreInfoByLatest(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode);
BigDecimal getHealthScoreInfoByStation(@Param("stationCode") String stationCode,
@Param("tableName") String tableName);
List<Map<String, Object>> getHealthInfoBySubSystem(@Param("subSystem") String subSystem, @Param("gatewayId") String gatewayId); BigDecimal getHealthScoreInfoByParam(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode,
@Param("analysisType") String analysisType);
List<Map<String, Object>> getWarningInfoBySubSystem(@Param("subSystem") String subSystem, @Param("gatewayId") String gatewayId); List<Map<String, String>> getDateInfoBy15();
List<Map<String, String>> getDateInfo(Date startTime, Date endTime);
List<Map<String, String>> getHourInfo(Date startTime, Date endTime);
List<Map<String, String>> getMomentInfo(Date startTime, Date endTime);
List<Map<String, Object>> getHealthListInfo(@Param("areaCode") String areaCode,
@Param("stationCode") String stationCode);
List<Map<String, Object>> getAllEquipAlarmInfo(@Param("tableName") String tableName);
List<Map<String, Object>> getPvInfoByPage(@Param("gatewayId") String gatewayId); List<Map<String, Object>> getHealthInfoByArea();
List<Map<String, Object>> getPvHealthInfoList(@Param("gatewayId") String gatewayId); List<Map<String, Object>> getAllEquipAlarmInfoByStation();
List<Map<String, Object>> getHealthInfoByStation(@Param("areaCode") String areaCode);
List<Map<String, Object>> equipWarningRadarMap(@Param("stationCode") String stationCode);
List<Map<String, Object>> getPvSubSystemInfo(@Param("subarray") String subarray, @Param("gatewayId") String gatewayId); List<Map<String, Object>> getAllEquipAlarmInfoAnalysisByStationType(@Param("tableName") String tableName,
@Param("areaCode") String areaCode, @Param("stationType") String stationType);
List<Map<String, Object>> getPvSumSystemListByEquipment(@Param("gatewayId") String gatewayId, @Param("subarray") String subarray); List<Map<String, Object>> getAllEquipAlarmInfoAnalysisByArea(@Param("areaCode") String areaCode);
List<Map<String, Object>> getSubSystemInfo(@Param("equipmentName") String equipmentName,
@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getFanInfoByPage(@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getFanHealthInfoList(@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getSumSystemListByEquipment(@Param("gatewayId") String gatewayId,
@Param("equipmentName") String equipmentName);
List<Map<String, Object>> getPvHealthInfoBySubSystem(@Param("equipmentName") String equipmentName, @Param("gatewayId") String gatewayId); List<Map<String, Object>> getPointNameListBySumSystem(@Param("gatewayId") String gatewayId,
List<Map<String, Object>> getPvWarningInfoBySubSystem(@Param("equipmentName") String equipmentName, @Param("gatewayId") String gatewayId); @Param("subSystem") String subSystem);
List<Map<String, Object>> getHealthInfoBySubSystem(@Param("subSystem") String subSystem,
@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getPvPointNameListBySumSystem(@Param("gatewayId") String gatewayId, @Param("equipmentName") String equipmentName); List<Map<String, Object>> getWarningInfoBySubSystem(@Param("subSystem") String subSystem,
@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getPvInfoByPage(@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getPvHealthInfoList(@Param("gatewayId") String gatewayId);
String getPointNameByIndexAddress(@Param("varDesc") String varDesc, List<Map<String, Object>> getPvSubSystemInfo(@Param("subarray") String subarray,
@Param("tableName") String tableName, @Param("gatewayId") String gatewayId);
@Param("gatewayId") String gatewayId);
List<FullViewRecallDataDTO> getFullViewRecall(); List<Map<String, Object>> getPvSumSystemListByEquipment(@Param("gatewayId") String gatewayId,
@Param("subarray") String subarray);
List<Map<String, Object>> getStationIndexInfo(); List<Map<String, Object>> getPvHealthInfoBySubSystem(@Param("equipmentName") String equipmentName,
@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getEquipmentIndexInfo(); List<Map<String, Object>> getPvWarningInfoBySubSystem(@Param("equipmentName") String equipmentName,
@Param("gatewayId") String gatewayId);
List<Map<String, Object>> getSubSystemIndexInfo(); List<Map<String, Object>> getPvPointNameListBySumSystem(@Param("gatewayId") String gatewayId,
@Param("equipmentName") String equipmentName);
List<Map<String, Object>> getPointNameIndexInfo(); String getPointNameByIndexAddress(@Param("varDesc") String varDesc, @Param("tableName") String tableName,
@Param("gatewayId") String gatewayId);
List<FullViewRecallDataDTO> getFullViewRecall();
List<Map<String, Object>> getStationIndexInfoByParam(@Param("analysisType") String analysisType); List<Map<String, Object>> getStationIndexInfo();
List<Map<String, Object>> getEquipmentIndexInfoByParam(@Param("analysisType") String analysisType); List<Map<String, Object>> getEquipmentIndexInfo();
List<Map<String, Object>> getSubSystemIndexInfoByParam(@Param("analysisType") String analysisType); List<Map<String, Object>> getSubSystemIndexInfo();
List<Map<String, Object>> getPointNameIndexInfoByParam(@Param("analysisType") String analysisType); List<Map<String, Object>> getPointNameIndexInfo();
List<Map<String, Object>> getStationIndexInfoByParam(@Param("analysisType") String analysisType);
List<IdxBizFanHealthLevel> getHealthLevelInfoList(); List<Map<String, Object>> getEquipmentIndexInfoByParam(@Param("analysisType") String analysisType);
List<Map<String, Object>> getSubSystemIndexInfoByParam(@Param("analysisType") String analysisType);
List<String> getAddressInfo(); List<Map<String, Object>> getPointNameIndexInfoByParam(@Param("analysisType") String analysisType);
List<Map<String,Object>> queryForLeftTableList(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,Integer current,Integer size); List<IdxBizFanHealthLevel> getHealthLevelInfoList();
int queryForLeftTableListCount(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME); List<String> getAddressInfo();
Map<String,Object> queryForLeftTableListNum(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME); List<Map<String, Object>> queryForLeftTableList(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME,
Integer current, Integer size);
List<Map<String,Object>> queryForLeftTableListByPoint(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME,Integer current,Integer size); int queryForLeftTableListCount(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME);
List<Map<String,Object>> selectPointByANALYSISTYPE(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME,String startTime,String endTime); Map<String, Object> queryForLeftTableListNum(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME);
Map<String,Object> getFanEquipStatusByStation(String STATION);
int queryForLeftTableListByPointCount(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME); List<Map<String, Object>> queryForLeftTableListByPoint(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME,
String POINTNAME, Integer current, Integer size);
Map<String,Object> queryForLeftTableListByPointNum(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME); List<Map<String, Object>> selectPointByANALYSISTYPE(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME,
String POINTNAME, String startTime, String endTime);
List<IdxBizFanWarningRecord> warningData(String STATION, String SUBARRAY, String EQUIPMENTNAME); Map<String, Object> getFanEquipStatusByStation(String STATION);
Integer pointNum(String STATION, String SUBSYSTEM, String EQUIPMENTNAME);
Map<String, Object> getPvEquipStatusByStation(String station); int queryForLeftTableListByPointCount(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME, String POINTNAME);
String getRecDateByIndexAddress(@Param("fanGatewayId") String fanGatewayId, @Param("indexAddress") String indexAddress, @Param("tableName") String tableName); 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 SUBSYSTEM, String EQUIPMENTNAME);
List<Map<String, Object>> getInfoListByTableName(@Param("fanGatewayId") String fanGatewayId, Map<String, Object> getPvEquipStatusByStation(String station);
@Param("indexAddress") String indexAddress,
@Param("tableName") String tableName,
@Param("recDate") String recDate);
String getRecDateByIndexAddress(@Param("fanGatewayId") String fanGatewayId,
@Param("indexAddress") String indexAddress, @Param("tableName") String tableName);
List<Map<String, Object>> getInfoListByTableName(@Param("fanGatewayId") String fanGatewayId,
@Param("indexAddress") String indexAddress, @Param("tableName") String tableName,
@Param("recDate") String recDate);
int getIsWarningByPointId(@Param("indexAddress") String indexAddress, @Param("fanGatewayId") String fanGatewayId, @Param("tableName") String tableName); int getIsWarningByPointId(@Param("indexAddress") String indexAddress, @Param("fanGatewayId") String fanGatewayId,
@Param("tableName") String tableName);
List<Map<String,Object>> queryIndexByArae(String ARAE, String ANALYSISTYPE,String startTimeTop,String endTimeTop); List<Map<String, Object>> queryIndexByArae(String ARAE, String ANALYSISTYPE, String startTimeTop,
String endTimeTop);
} }
...@@ -95,5 +95,9 @@ public interface FanHealthIndexMapper extends BaseMapper<FanHealthIndex> { ...@@ -95,5 +95,9 @@ public interface FanHealthIndexMapper extends BaseMapper<FanHealthIndex> {
List<Map<String, Object>> getWarningInfoBySubSystemTd(@Param("subSystem") String subSystem, @Param("gatewayId") String gatewayId); List<Map<String, Object>> getWarningInfoBySubSystemTd(@Param("subSystem") String subSystem, @Param("gatewayId") String gatewayId);
String getInfoByDate(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode, @Param("date") String date); List<Map<String,Object>> getInfoByDate(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode, @Param("list") List<String> list);
List<Map<String,Object>> getInfoByHour(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode, @Param("list") List<String> list);
List<Map<String,Object>> getInfoByMoment(@Param("areaCode") String areaCode, @Param("stationCode") String stationCode, @Param("list") List<String> list);
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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"> <mapper namespace="com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthIndexMapper">
<select id="getHealthScoreInfo" resultType="java.math.BigDecimal">
<select id="getHealthScoreInfo" resultType="java.math.BigDecimal"> SELECT
SELECT
CEILING(avg( a.avgHealthIndex )) AS healthIndex CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM FROM
( (
...@@ -11,50 +10,47 @@ ...@@ -11,50 +10,47 @@
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM FROM
idx_biz_fan_health_index idx_biz_fan_health_index
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where>
</where> UNION ALL
UNION ALL
( (
SELECT SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM FROM
idx_biz_pv_health_index idx_biz_pv_health_index
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')"> <if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where> </where>
) )
) a ) a
</select> </select>
<select id="getHealthScoreInfoByParam" resultType="java.math.BigDecimal">
<select id="getHealthScoreInfoByParam" resultType="java.math.BigDecimal"> SELECT
SELECT
CEILING(avg( a.avgHealthIndex )) AS healthIndex CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM FROM
( (
...@@ -62,89 +58,82 @@ ...@@ -62,89 +58,82 @@
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM FROM
fan_health_index_latest_data fan_health_index_latest_data
<where> <where>
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
<if test="areaCode != null and areaCode != ''">
<if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where>
</where> UNION ALL
UNION ALL
( (
SELECT SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM FROM
pv_health_index_latest_data pv_health_index_latest_data
<where> <where>
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')"> <if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where> </where>
) )
) a ) a
</select> </select>
<select id="getHealthScoreInfoByStation" resultType="java.math.BigDecimal">
<select id="getHealthScoreInfoByStation" resultType="java.math.BigDecimal"> SELECT
SELECT
CEILING(IFNULL( HEALTH_INDEX , 100 )) AS healthIndex CEILING(IFNULL( HEALTH_INDEX , 100 )) AS healthIndex
FROM FROM
${tableName} ${tableName}
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
</where> </where>
limit 1 limit 1
</select> </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, CEILING(IFNULL( AVG( HEALTH_INDEX ), 100 )) AS avgHealthIndex,
DATE_ADD( a.date, INTERVAL - 1 DAY ) as date DATE_ADD( a.date, INTERVAL - 1 DAY ) as date
FROM FROM
...@@ -164,48 +153,47 @@ ...@@ -164,48 +153,47 @@
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate
FROM FROM
idx_biz_pv_health_index idx_biz_pv_health_index
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')"> <if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where> </where>
UNION ALL UNION ALL
( (
SELECT SELECT
HEALTH_INDEX, HEALTH_INDEX,
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) AS recDate
FROM FROM
idx_biz_fan_health_index idx_biz_fan_health_index
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')"> <if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where> </where>
) )
) b ON DATE_FORMAT( b.recDate, "%Y-%m-%d" ) = a.date ) b ON DATE_FORMAT( b.recDate, "%Y-%m-%d" ) = a.date
GROUP BY GROUP BY
a.date a.date
</select> </select>
<select id="getAllEquipAlarmInfo" resultType="java.util.Map">
<select id="getAllEquipAlarmInfo" resultType="java.util.Map">
SELECT ARAE as area, SELECT ARAE as area,
WARNING_NAME as warningName, WARNING_NAME as warningName,
count(1) as num count(1) as num
...@@ -215,8 +203,7 @@ ...@@ -215,8 +203,7 @@
group by ARAE, group by ARAE,
WARNING_NAME WARNING_NAME
</select> </select>
<select id="getHealthInfoByArea" resultType="java.util.Map">
<select id="getHealthInfoByArea" resultType="java.util.Map">
SELECT ARAE as area, SELECT ARAE as area,
CEILING(avg(a.avgHealthIndex)) AS healthIndex CEILING(avg(a.avgHealthIndex)) AS healthIndex
FROM ( FROM (
...@@ -240,8 +227,7 @@ ...@@ -240,8 +227,7 @@
) a ) a
GROUP BY a.ARAE GROUP BY a.ARAE
</select> </select>
<select id="getAllEquipAlarmInfoByStation" resultType="java.util.Map">
<select id="getAllEquipAlarmInfoByStation" resultType="java.util.Map">
SELECT a.* SELECT a.*
FROM ( FROM (
SELECT STATION AS station, SELECT STATION AS station,
...@@ -278,10 +264,8 @@ ...@@ -278,10 +264,8 @@
) a ) a
ORDER BY a.allNum ASC ORDER BY a.allNum ASC
</select> </select>
<select id="getHealthInfoByStation" resultType="java.util.Map">
SELECT
<select id="getHealthInfoByStation" resultType="java.util.Map">
SELECT
a.STATION as station, a.STATION as station,
CEILING(avg( a.avgHealthIndex )) AS healthIndex CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM FROM
...@@ -291,15 +275,15 @@ ...@@ -291,15 +275,15 @@
STATION STATION
FROM FROM
idx_biz_fan_health_index idx_biz_fan_health_index
<where> <where>
ANALYSIS_OBJ_TYPE = '场站' ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
GROUP BY GROUP BY
STATION UNION ALL STATION UNION ALL
( (
SELECT SELECT
...@@ -307,24 +291,23 @@ ...@@ -307,24 +291,23 @@
STATION STATION
FROM FROM
idx_biz_pv_health_index idx_biz_pv_health_index
<where> <where>
ANALYSIS_OBJ_TYPE = '场站' ANALYSIS_OBJ_TYPE = '场站'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
GROUP BY GROUP BY
STATION STATION
) )
) a ) a
GROUP BY GROUP BY
a.STATION a.STATION
</select> </select>
<select id="equipWarningRadarMap" resultType="java.util.Map">
<select id="equipWarningRadarMap" resultType="java.util.Map"> SELECT
SELECT
a.warningName, a.warningName,
count( 1 ) AS num count( 1 ) AS num
FROM FROM
...@@ -333,63 +316,61 @@ ...@@ -333,63 +316,61 @@
WARNING_NAME AS warningName WARNING_NAME AS warningName
FROM FROM
idx_biz_fan_warning_record idx_biz_fan_warning_record
<where> <where>
((DISPOSOTION_STATE = '未处置') ((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
and GATEWAY_ID = #{stationCode} and GATEWAY_ID = #{stationCode}
</if> </if>
</where> </where>
UNION ALL UNION ALL
SELECT SELECT
WARNING_NAME AS warningName WARNING_NAME AS warningName
FROM FROM
idx_biz_pv_warning_record idx_biz_pv_warning_record
<where> <where>
((DISPOSOTION_STATE = '未处置') ((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
and GATEWAY_ID = #{stationCode} and GATEWAY_ID = #{stationCode}
</if> </if>
</where> </where>
) a ) a
GROUP BY GROUP BY
a.warningName a.warningName
</select> </select>
<select id="getAllEquipAlarmInfoAnalysisByStationType" resultType="java.util.Map">
<select id="getAllEquipAlarmInfoAnalysisByStationType" resultType="java.util.Map"> SELECT
SELECT
concat(#{stationType}, '-', a.POINT_NAME) as pointName, concat(#{stationType}, '-', a.POINT_NAME) as pointName,
a.WARNING_NAME as warningName, a.WARNING_NAME as warningName,
count(1) as num, count(1) as num,
(select count(1) from ${tableName} as tb (select count(1) from ${tableName} as tb
<where> <where>
((tb.DISPOSOTION_STATE = '未处置') ((tb.DISPOSOTION_STATE = '未处置')
or (tb.DISPOSOTION_STATE = '已处置' and tb.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (tb.DISPOSOTION_STATE = '已处置' and tb.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
and tb.POINT_NAME = a.POINT_NAME and tb.POINT_NAME = a.POINT_NAME
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
and tb.ARAE like concat('%', #{areaCode}, '%') and tb.ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
) AS totalNum ) AS totalNum
FROM FROM
${tableName} a ${tableName} a
<where> <where>
((a.DISPOSOTION_STATE = '未处置') ((a.DISPOSOTION_STATE = '未处置')
or (a.DISPOSOTION_STATE = '已处置' and a.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (a.DISPOSOTION_STATE = '已处置' and a.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
and a.ARAE like concat('%', #{areaCode}, '%') and a.ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
group by pointName, group by pointName,
warningName warningName
having pointName IS NOT NULL having pointName IS NOT NULL
AND pointName != '' AND pointName != ''
order by totalNum asc order by totalNum asc
</select> </select>
<select id="getAllEquipAlarmInfoAnalysisByArea" resultType="java.util.Map">
<select id="getAllEquipAlarmInfoAnalysisByArea" resultType="java.util.Map"> SELECT
SELECT
a.* a.*
FROM FROM
( (
...@@ -398,26 +379,25 @@ ...@@ -398,26 +379,25 @@
concat('光伏-', wr.POINT_NAME) AS pointName, concat('光伏-', wr.POINT_NAME) AS pointName,
count( 1 ) AS num, count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_pv_warning_record ( SELECT count( 1 ) FROM idx_biz_pv_warning_record
<where> <where>
((DISPOSOTION_STATE = '未处置') ((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.POINT_NAME = POINT_NAME AND wr.POINT_NAME = POINT_NAME
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
and ARAE like concat('%', #{areaCode}, '%') and ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
) AS allNum
) AS allNum
FROM FROM
idx_biz_pv_warning_record wr idx_biz_pv_warning_record wr
<where> <where>
((wr.DISPOSOTION_STATE = '未处置') ((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
and wr.ARAE like concat('%', #{areaCode}, '%') and wr.ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
GROUP BY GROUP BY
pointName, pointName,
warningName UNION ALL warningName UNION ALL
SELECT SELECT
...@@ -425,26 +405,25 @@ ...@@ -425,26 +405,25 @@
concat('风电-', wr.POINT_NAME) AS pointName, concat('风电-', wr.POINT_NAME) AS pointName,
count( 1 ) AS num, count( 1 ) AS num,
( SELECT count( 1 ) FROM idx_biz_fan_warning_record ( SELECT count( 1 ) FROM idx_biz_fan_warning_record
<where> <where>
((DISPOSOTION_STATE = '未处置') ((DISPOSOTION_STATE = '未处置')
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
AND wr.POINT_NAME = POINT_NAME AND wr.POINT_NAME = POINT_NAME
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
and ARAE like concat('%', #{areaCode}, '%') and ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
) AS allNum
) AS allNum
FROM FROM
idx_biz_fan_warning_record wr idx_biz_fan_warning_record wr
<where> <where>
((wr.DISPOSOTION_STATE = '未处置') ((wr.DISPOSOTION_STATE = '未处置')
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) ))
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
and wr.ARAE like concat('%', #{areaCode}, '%') and wr.ARAE like concat('%', #{areaCode}, '%')
</if> </if>
</where> </where>
GROUP BY GROUP BY
pointName, pointName,
warningName warningName
) a ) a
...@@ -452,292 +431,270 @@ ...@@ -452,292 +431,270 @@
a.pointName IS NOT NULL a.pointName IS NOT NULL
AND a.pointName != '' AND a.pointName != ''
order by a.allNum ASC order by a.allNum ASC
</select> </select>
<select id="getSubSystemInfo" resultType="java.util.Map">
<select id="getSubSystemInfo" resultType="java.util.Map"> SELECT
SELECT
CEILING(IFNULL( HEALTH_INDEX, 100 )) AS healthIndex, CEILING(IFNULL( HEALTH_INDEX, 100 )) AS healthIndex,
SUB_SYSTEM AS subSystem SUB_SYSTEM AS subSystem
FROM FROM
fan_health_index_latest_data fan_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '子系统' ANALYSIS_OBJ_TYPE = '子系统'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="equipmentName != null and equipmentName != ''"> <if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机') AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机')
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
group by subSystem group by subSystem
</select>
</select> <select id="getFanInfoByPage" resultType="java.util.Map">
SELECT
<select id="getFanInfoByPage" resultType="java.util.Map">
SELECT
EQUIPMENT_NAME as equipmentName, EQUIPMENT_NAME as equipmentName,
INDEX_ADDRESS as indexAddress, INDEX_ADDRESS as indexAddress,
STATION as station STATION as station
FROM FROM
idx_biz_fan_point_process_variable_classification idx_biz_fan_point_process_variable_classification
<where> <where>
EQUIPMENT_NAME LIKE '%#%' EQUIPMENT_NAME LIKE '%#%'
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
EQUIPMENT_NAME EQUIPMENT_NAME
ORDER BY ORDER BY
RIGHT(EQUIPMENT_NAME, 6) ASC RIGHT(EQUIPMENT_NAME, 6) ASC
</select> </select>
<select id="getFanHealthInfoList" resultType="java.util.Map">
<select id="getFanHealthInfoList" resultType="java.util.Map"> SELECT
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
EQUIPMENT_NAME as equipmentName EQUIPMENT_NAME as equipmentName
FROM FROM
fan_health_index_latest_data fan_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '设备' ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
EQUIPMENT_NAME EQUIPMENT_NAME
</select> </select>
<select id="getSumSystemListByEquipment" resultType="java.util.Map">
<select id="getSumSystemListByEquipment" resultType="java.util.Map"> SELECT
SELECT
SUB_SYSTEM as subSystem, SUB_SYSTEM as subSystem,
INDEX_ADDRESS as indexAddress INDEX_ADDRESS as indexAddress
FROM FROM
idx_biz_fan_point_process_variable_classification idx_biz_fan_point_process_variable_classification
<where> <where>
SUB_SYSTEM IS NOT NULL AND SUB_SYSTEM != '' SUB_SYSTEM IS NOT NULL AND SUB_SYSTEM != ''
<if test="equipmentName != null and equipmentName != ''"> <if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机') AND EQUIPMENT_NAME like concat( '%', #{equipmentName} ,'风机')
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
SUB_SYSTEM SUB_SYSTEM
</select> </select>
<select id="getPointNameListBySumSystem" resultType="java.util.Map">
<select id="getPointNameListBySumSystem" resultType="java.util.Map"> SELECT
SELECT
POINT_NAME as pointName, POINT_NAME as pointName,
INDEX_ADDRESS as indexAddress, INDEX_ADDRESS as indexAddress,
STATION AS station STATION AS station
FROM FROM
idx_biz_fan_point_process_variable_classification idx_biz_fan_point_process_variable_classification
<where> <where>
<if test="subSystem != null and subSystem != ''"> <if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem} AND SUB_SYSTEM = #{subSystem}
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
POINT_NAME POINT_NAME
</select> </select>
<select id="getHealthInfoBySubSystem" resultType="java.util.Map">
<select id="getHealthInfoBySubSystem" resultType="java.util.Map"> SELECT
SELECT
IFNULL( avg( HEALTH_INDEX ), 100 ) AS healthIndex, IFNULL( avg( HEALTH_INDEX ), 100 ) AS healthIndex,
POINT_NAME AS pointName POINT_NAME AS pointName
FROM FROM
idx_biz_fan_health_index idx_biz_fan_health_index
<where> <where>
ANALYSIS_OBJ_TYPE= '测点' ANALYSIS_OBJ_TYPE= '测点'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
AND POINT_NAME IS NOT NULL AND POINT_NAME IS NOT NULL
AND POINT_NAME != '' AND POINT_NAME != ''
<if test="subSystem != null and subSystem != ''"> <if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem} AND SUB_SYSTEM = #{subSystem}
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
POINT_NAME POINT_NAME
</select> </select>
<select id="getWarningInfoBySubSystem" resultType="java.util.Map">
SELECT
<select id="getWarningInfoBySubSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName, POINT_NAME as pointName,
WARNING_NAME as warningName WARNING_NAME as warningName
FROM FROM
idx_biz_fan_warning_record idx_biz_fan_warning_record
<where> <where>
DISPOSOTION_STATE = '未处置' DISPOSOTION_STATE = '未处置'
<if test="subSystem != null and subSystem != ''"> <if test="subSystem != null and subSystem != ''">
AND SUB_SYSTEM = #{subSystem} AND SUB_SYSTEM = #{subSystem}
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
POINT_NAME POINT_NAME
ORDER BY ORDER BY
WARNING_NAME ASC WARNING_NAME ASC
</select> </select>
<select id="getPvInfoByPage" resultType="java.util.Map">
SELECT
<select id="getPvInfoByPage" resultType="java.util.Map">
SELECT
SUBARRAY as subarray, SUBARRAY as subarray,
STATION AS station STATION AS station
FROM FROM
idx_biz_pv_point_process_variable_classification idx_biz_pv_point_process_variable_classification
<where> <where>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
GATEWAY_ID = #{gatewayId} GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
SUBARRAY SUBARRAY
ORDER BY ORDER BY
SUBARRAY SUBARRAY
</select> </select>
<select id="getPvHealthInfoList" resultType="java.util.Map">
<select id="getPvHealthInfoList" resultType="java.util.Map"> SELECT
SELECT
IFNULL( round(AVG( HEALTH_INDEX ), 2), 0 ) AS avgHealthIndex, IFNULL( round(AVG( HEALTH_INDEX ), 2), 0 ) AS avgHealthIndex,
SUBARRAY as subarray SUBARRAY as subarray
FROM FROM
pv_health_index_latest_data pv_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '子阵' ANALYSIS_OBJ_TYPE = '子阵'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY SUBARRAY GROUP BY SUBARRAY
order by SUBARRAY order by SUBARRAY
</select> </select>
<select id="getPvSubSystemInfo" resultType="java.util.Map">
<select id="getPvSubSystemInfo" resultType="java.util.Map"> SELECT
SELECT
CEILING(IFNULL( AVG( HEALTH_INDEX ), 100 )) AS avgHealthIndex, CEILING(IFNULL( AVG( HEALTH_INDEX ), 100 )) AS avgHealthIndex,
EQUIPMENT_NAME AS equipmentName EQUIPMENT_NAME AS equipmentName
FROM FROM
pv_health_index_latest_data pv_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '设备' ANALYSIS_OBJ_TYPE = '设备'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="subarray != null and subarray != ''"> <if test="subarray != null and subarray != ''">
AND SUBARRAY = concat('#', #{subarray}) AND SUBARRAY = concat('#', #{subarray})
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
group by EQUIPMENT_NAME group by EQUIPMENT_NAME
</select> </select>
<select id="getPvSumSystemListByEquipment" resultType="java.util.Map">
SELECT
<select id="getPvSumSystemListByEquipment" resultType="java.util.Map">
SELECT
EQUIPMENT_NAME as equipmentName EQUIPMENT_NAME as equipmentName
FROM FROM
idx_biz_pv_point_process_variable_classification idx_biz_pv_point_process_variable_classification
<where> <where>
EQUIPMENT_NAME IS NOT NULL EQUIPMENT_NAME IS NOT NULL
AND EQUIPMENT_NAME != '' AND EQUIPMENT_NAME != ''
<if test="subarray != null and subarray != ''"> <if test="subarray != null and subarray != ''">
AND SUBARRAY = concat('#', #{subarray}) AND SUBARRAY = concat('#', #{subarray})
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
EQUIPMENT_NAME EQUIPMENT_NAME
</select> </select>
<select id="getPvHealthInfoBySubSystem" resultType="java.util.Map">
SELECT
<select id="getPvHealthInfoBySubSystem" resultType="java.util.Map">
SELECT
IFNULL( ROUND(avg( HEALTH_INDEX ), 2), 0 ) AS healthIndex, IFNULL( ROUND(avg( HEALTH_INDEX ), 2), 0 ) AS healthIndex,
POINT_NAME AS pointName POINT_NAME AS pointName
FROM FROM
idx_biz_pv_health_index idx_biz_pv_health_index
<where> <where>
ANALYSIS_OBJ_TYPE = '测点' ANALYSIS_OBJ_TYPE = '测点'
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
AND POINT_NAME IS NOT NULL AND POINT_NAME IS NOT NULL
AND POINT_NAME != '' AND POINT_NAME != ''
<if test="equipmentName != null and equipmentName != ''"> <if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName} AND EQUIPMENT_NAME = #{equipmentName}
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
POINT_NAME POINT_NAME
</select> </select>
<select id="getPvWarningInfoBySubSystem" resultType="java.util.Map">
<select id="getPvWarningInfoBySubSystem" resultType="java.util.Map"> SELECT
SELECT
POINT_NAME as pointName, POINT_NAME as pointName,
WARNING_NAME as warningName WARNING_NAME as warningName
FROM FROM
idx_biz_pv_warning_record idx_biz_pv_warning_record
<where> <where>
DISPOSOTION_STATE = '未处置' DISPOSOTION_STATE = '未处置'
<if test="equipmentName != null and equipmentName != ''"> <if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName} AND EQUIPMENT_NAME = #{equipmentName}
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
POINT_NAME POINT_NAME
ORDER BY ORDER BY
WARNING_NAME ASC WARNING_NAME ASC
</select> </select>
<select id="getPvPointNameListBySumSystem" resultType="java.util.Map">
SELECT
<select id="getPvPointNameListBySumSystem" resultType="java.util.Map">
SELECT
POINT_NAME as pointName, POINT_NAME as pointName,
INDEX_ADDRESS as indexAddress, INDEX_ADDRESS as indexAddress,
STATION AS station STATION AS station
FROM FROM
idx_biz_pv_point_process_variable_classification idx_biz_pv_point_process_variable_classification
<where> <where>
<if test="equipmentName != null and equipmentName != ''"> <if test="equipmentName != null and equipmentName != ''">
AND EQUIPMENT_NAME = #{equipmentName} AND EQUIPMENT_NAME = #{equipmentName}
</if> </if>
<if test="gatewayId != null and gatewayId != ''"> <if test="gatewayId != null and gatewayId != ''">
AND GATEWAY_ID = #{gatewayId} AND GATEWAY_ID = #{gatewayId}
</if> </if>
</where> </where>
GROUP BY GROUP BY
POINT_NAME POINT_NAME
</select> </select>
<select id="getPointNameByIndexAddress" resultType="java.lang.String">
<select id="getPointNameByIndexAddress" resultType="java.lang.String">
select POINT_NAME select POINT_NAME
from ${tableName} from ${tableName}
where INDEX_ADDRESS = #{varDesc} where INDEX_ADDRESS = #{varDesc}
...@@ -746,8 +703,7 @@ ...@@ -746,8 +703,7 @@
</select> </select>
<select id="getFullViewRecall" resultType="com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO">
<select id="getFullViewRecall" resultType="com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO">
SELECT a.*, SELECT a.*,
row_number() over ( ORDER BY pointName ) AS id row_number() over ( ORDER BY pointName ) AS id
FROM ( FROM (
...@@ -787,8 +743,7 @@ ...@@ -787,8 +743,7 @@
) a ) a
ORDER BY a.station ASC, a.equipmentName ASC, a.equipmentName asc, a.subSystem asc ORDER BY a.station ASC, a.equipmentName ASC, a.equipmentName asc, a.subSystem asc
</select> </select>
<select id="getStationIndexInfo" resultType="java.util.Map">
<select id="getStationIndexInfo" resultType="java.util.Map">
SELECT a.STATION AS station, SELECT a.STATION AS station,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM ( FROM (
...@@ -812,8 +767,7 @@ ...@@ -812,8 +767,7 @@
) a ) a
GROUP BY a.STATION GROUP BY a.STATION
</select> </select>
<select id="getEquipmentIndexInfo" resultType="java.util.Map">
<select id="getEquipmentIndexInfo" resultType="java.util.Map">
SELECT a.equipmentName AS equipmentName, SELECT a.equipmentName AS equipmentName,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM ( FROM (
...@@ -840,8 +794,7 @@ ...@@ -840,8 +794,7 @@
GROUP BY GROUP BY
a.equipmentName a.equipmentName
</select> </select>
<select id="getSubSystemIndexInfo" resultType="java.util.Map">
<select id="getSubSystemIndexInfo" resultType="java.util.Map">
SELECT a.subSystem AS subSystem, SELECT a.subSystem AS subSystem,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
...@@ -870,8 +823,7 @@ ...@@ -870,8 +823,7 @@
a.subSystem a.subSystem
</select> </select>
<select id="getPointNameIndexInfo" resultType="java.util.Map">
<select id="getPointNameIndexInfo" resultType="java.util.Map">
SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex, SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
...@@ -891,8 +843,7 @@ ...@@ -891,8 +843,7 @@
GROUP BY INDEX_ADDRESS GROUP BY INDEX_ADDRESS
) )
</select> </select>
<select id="getHealthLevelInfoList" resultType="com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel">
<select id="getHealthLevelInfoList" resultType="com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel">
SELECT CONCAT(`STATUS`, '_', ANALYSIS_OBJ_TYPE) AS analysisObjType, SELECT CONCAT(`STATUS`, '_', ANALYSIS_OBJ_TYPE) AS analysisObjType,
HEALTH_LEVEL AS healthLevel, HEALTH_LEVEL AS healthLevel,
GROUP_LOWER_LIMIT AS groupLowerLimit, GROUP_LOWER_LIMIT AS groupLowerLimit,
...@@ -909,16 +860,14 @@ ...@@ -909,16 +860,14 @@
WHERE STATUS IS NOT NULL WHERE STATUS IS NOT NULL
OR STATUS != '' OR STATUS != ''
</select> </select>
<select id="getAddressInfo" resultType="java.lang.String">
<select id="getAddressInfo" resultType="java.lang.String">
select index_address select index_address
from wl_equipment_specific_index from wl_equipment_specific_index
where gateway_id = '1668801435891929089' where gateway_id = '1668801435891929089'
and data_type = 'analog' limit 100 and data_type = 'analog' limit 100
</select> </select>
<select id="queryForLeftTableList" resultType="map">
<select id="queryForLeftTableList" resultType="map"> SELECT
SELECT
b.*, b.*,
IFNULL(CAST(HEALTH_INDEX AS UNSIGNED), 100 ) as HEALTH_INDEX , IFNULL(CAST(HEALTH_INDEX AS UNSIGNED), 100 ) as HEALTH_INDEX ,
IFNULL( ibfhi.HEALTH_LEVEL, '安全' ) as HEALTH_LEVEL, IFNULL( ibfhi.HEALTH_LEVEL, '安全' ) as HEALTH_LEVEL,
...@@ -944,23 +893,22 @@ ...@@ -944,23 +893,22 @@
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) ) 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 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") DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
<where> <where>
<if test="STATION != '' and STATION != null"> <if test="STATION != '' and STATION != null">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="HEALTHLEVEL != '' and HEALTHLEVEL != null"> <if test="HEALTHLEVEL != '' and HEALTHLEVEL != null">
AND HEALTH_LEVEL = #{HEALTHLEVEL} AND HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null"> <if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
</where> </where>
order by HEALTH_INDEX ASC order by HEALTH_INDEX ASC
limit ${current},${size} limit ${current},${size}
</select> </select>
<select id="queryForLeftTableListCount" resultType="int">
<select id="queryForLeftTableListCount" resultType="int"> SELECT
SELECT
count(1) count(1)
FROM FROM
( (
...@@ -979,21 +927,20 @@ ...@@ -979,21 +927,20 @@
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) ) 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 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") DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
<where> <where>
<if test="STATION != '' and STATION != null"> <if test="STATION != '' and STATION != null">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="HEALTHLEVEL != '' and HEALTHLEVEL != null"> <if test="HEALTHLEVEL != '' and HEALTHLEVEL != null">
AND HEALTH_LEVEL = #{HEALTHLEVEL} AND HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null"> <if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
</where> </where>
</select> </select>
<select id="queryForLeftTableListNum" resultType="map">
<select id="queryForLeftTableListNum" resultType="map"> SELECT
SELECT
CAST(ibfhi.HEALTH_INDEX AS UNSIGNED) as value CAST(ibfhi.HEALTH_INDEX AS UNSIGNED) as value
FROM FROM
...@@ -1013,22 +960,20 @@ ...@@ -1013,22 +960,20 @@
LEFT JOIN `idx_biz_fan_health_index` `ibfhi` ON ( ( `b`.`EQUIPMENT_NAME` = `ibfhi`.`EQUIPMENT_NAME` ) ) 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 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") DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d")
<where> <where>
<if test="STATION != '' and STATION != null"> <if test="STATION != '' and STATION != null">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="HEALTHLEVEL != '' and HEALTHLEVEL != null"> <if test="HEALTHLEVEL != '' and HEALTHLEVEL != null">
AND HEALTH_LEVEL = #{HEALTHLEVEL} AND HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null"> <if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
</where> </where>
</select> </select>
<select id="queryForLeftTableListByPoint" resultType="map">
SELECT
<select id="queryForLeftTableListByPoint" resultType="map">
SELECT
b.* b.*
FROM FROM
( (
...@@ -1056,27 +1001,25 @@ ...@@ -1056,27 +1001,25 @@
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意' AND rule.WARNING_NAME = '注意'
AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE
<where> <where>
<if test="STATION != null and STATION != '' "> <if test="STATION != null and STATION != '' ">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' "> <if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' ">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
<if test="HEALTHLEVEL != null and HEALTHLEVEL != '' "> <if test="HEALTHLEVEL != null and HEALTHLEVEL != '' ">
AND b.HEALTH_LEVEL = #{HEALTHLEVEL} AND b.HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="POINTNAME != null and POINTNAME != '' "> <if test="POINTNAME != null and POINTNAME != '' ">
AND b.POINT_NAME = #{POINTNAME} AND b.POINT_NAME = #{POINTNAME}
</if> </if>
</where> </where>
order by b.HEALTH_INDEX ASC order by b.HEALTH_INDEX ASC
limit ${current},${size} limit ${current},${size}
</select> </select>
<select id="queryForLeftTableListByPointCount" resultType="int">
SELECT
<select id="queryForLeftTableListByPointCount" resultType="int">
SELECT
count(1) count(1)
FROM FROM
( (
...@@ -1104,25 +1047,23 @@ ...@@ -1104,25 +1047,23 @@
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意' AND rule.WARNING_NAME = '注意'
AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE
<where> <where>
<if test="STATION != null and STATION != '' "> <if test="STATION != null and STATION != '' ">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' "> <if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' ">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
<if test="HEALTHLEVEL != null and HEALTHLEVEL != '' "> <if test="HEALTHLEVEL != null and HEALTHLEVEL != '' ">
AND b.HEALTH_LEVEL = #{HEALTHLEVEL} AND b.HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="POINTNAME != null and POINTNAME != '' "> <if test="POINTNAME != null and POINTNAME != '' ">
AND b.POINT_NAME = #{POINTNAME} AND b.POINT_NAME = #{POINTNAME}
</if> </if>
</where> </where>
</select> </select>
<select id="queryForLeftTableListByPointNum" resultType="map">
SELECT
<select id="queryForLeftTableListByPointNum" resultType="map">
SELECT
b.HEALTH_INDEX as value b.HEALTH_INDEX as value
FROM FROM
( (
...@@ -1150,61 +1091,57 @@ ...@@ -1150,61 +1091,57 @@
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意' AND rule.WARNING_NAME = '注意'
AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE
<where> <where>
<if test="STATION != null and STATION != '' "> <if test="STATION != null and STATION != '' ">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' "> <if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' ">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
<if test="HEALTHLEVEL != null and HEALTHLEVEL != '' "> <if test="HEALTHLEVEL != null and HEALTHLEVEL != '' ">
AND b.HEALTH_LEVEL = #{HEALTHLEVEL} AND b.HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="POINTNAME != null and POINTNAME != '' "> <if test="POINTNAME != null and POINTNAME != '' ">
AND b.POINT_NAME = #{POINTNAME} AND b.POINT_NAME = #{POINTNAME}
</if> </if>
</where> </where>
</select> </select>
<select id="warningData" resultType="com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord">
<select id="warningData" resultType="com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord"> SELECT
SELECT
* *
FROM FROM
idx_biz_fan_warning_record re idx_biz_fan_warning_record re
WHERE WHERE
re.`STATUS` = 0 re.`STATUS` = 0
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null"> <if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND re.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND re.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
<if test="SUBARRAY != null and SUBARRAY != '' "> <if test="SUBARRAY != null and SUBARRAY != '' ">
AND re.SUBARRAY = #{SUBARRAY} AND re.SUBARRAY = #{SUBARRAY}
</if> </if>
<if test="STATION != null and STATION != '' "> <if test="STATION != null and STATION != '' ">
AND re.STATION = #{STATION} AND re.STATION = #{STATION}
</if> </if>
</select> </select>
<select id="pointNum" resultType="int">
<select id="pointNum" resultType="int"> SELECT
SELECT
count(1) count(1)
FROM FROM
idx_biz_fan_point_process_variable_classification cl idx_biz_fan_point_process_variable_classification cl
WHERE WHERE
cl.TAG_CODE = '分析变量' cl.TAG_CODE = '分析变量'
<if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null"> <if test="EQUIPMENTNAME != '' and EQUIPMENTNAME != null">
AND cl.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND cl.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
<if test="SUBSYSTEM != null and SUBSYSTEM != '' "> <if test="SUBSYSTEM != null and SUBSYSTEM != '' ">
AND cl.SUB_SYSTEM = #{SUBSYSTEM} AND cl.SUB_SYSTEM = #{SUBSYSTEM}
</if> </if>
<if test="STATION != null and STATION != '' "> <if test="STATION != null and STATION != '' ">
AND cl.STATION = #{STATION} AND cl.STATION = #{STATION}
</if> </if>
</select> </select>
<select id="selectPointByANALYSISTYPE" resultType="map">
SELECT
<select id="selectPointByANALYSISTYPE" resultType="map">
SELECT
b.* b.*
FROM FROM
( (
...@@ -1225,40 +1162,38 @@ ...@@ -1225,40 +1162,38 @@
`idx_biz_fan_health_index` `idx_biz_fan_health_index`
WHERE WHERE
ANALYSIS_OBJ_TYPE = '测点' ANALYSIS_OBJ_TYPE = '测点'
<if test="(startTime == null or startTime == '' ) and (endTime == null or endTime =='') "> <if test="(startTime == null or startTime == '' ) and (endTime == null or endTime =='') ">
AND ( ANALYSIS_TYPE = '按小时' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 15 HOUR ) ) 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 ( REC_DATE >=DATE_SUB( NOW(), INTERVAL 15 DAY ) AND ANALYSIS_TYPE = '按天' )
OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) ) OR ( ANALYSIS_TYPE = '按时刻' AND REC_DATE >= DATE_SUB( NOW( ), INTERVAL 150 MINUTE ) )
</if> </if>
<if test="startTime != null and startTime != '' or endTime != null and endTime != '' "> <if test="startTime != null and startTime != '' or endTime != null and endTime != '' ">
AND REC_DATE >= #{startTime} AND REC_DATE >= #{startTime}
</if> </if>
<if test="endTime != null and endTime != ''"> <if test="endTime != null and endTime != ''">
<![CDATA[ AND REC_DATE <= #{endTime}]]> <![CDATA[ AND REC_DATE <= #{endTime}]]>
</if> </if>
) b ) b
INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ INNER JOIN idx_biz_fan_warning_rule_set rule ON rule.ANALYSIS_POINT_ID = b.ANALYSIS_OBJ_SEQ
AND rule.WARNING_NAME = '注意' AND rule.WARNING_NAME = '注意'
AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE AND rule.ANALYSIS_TYPE = b.ANALYSIS_TYPE
<where> <where>
<if test="STATION != null and STATION != '' "> <if test="STATION != null and STATION != '' ">
b.STATION = #{STATION} b.STATION = #{STATION}
</if> </if>
<if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' "> <if test="EQUIPMENTNAME != null and EQUIPMENTNAME != '' ">
AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME} AND b.EQUIPMENT_NAME = #{EQUIPMENTNAME}
</if> </if>
<if test="HEALTHLEVEL != null and HEALTHLEVEL != '' "> <if test="HEALTHLEVEL != null and HEALTHLEVEL != '' ">
AND b.HEALTH_LEVEL = #{HEALTHLEVEL} AND b.HEALTH_LEVEL = #{HEALTHLEVEL}
</if> </if>
<if test="POINTNAME != null and POINTNAME != '' "> <if test="POINTNAME != null and POINTNAME != '' ">
AND b.POINT_NAME = #{POINTNAME} AND b.POINT_NAME = #{POINTNAME}
</if> </if>
</where> </where>
</select>
</select> <select id="getFanEquipStatusByStation" resultType="map">
SELECT
<select id="getFanEquipStatusByStation" resultType="map">
SELECT
max( CASE WHEN a.HEALTH_LEVEL = '安全' THEN num ELSE 0 END ) AS 安全, max( CASE WHEN a.HEALTH_LEVEL = '安全' THEN num ELSE 0 END ) AS 安全,
max( CASE WHEN a.HEALTH_LEVEL = '注意' THEN num ELSE 0 END ) AS 注意, max( CASE WHEN a.HEALTH_LEVEL = '注意' THEN num ELSE 0 END ) AS 注意,
max( CASE WHEN a.HEALTH_LEVEL = '警告' THEN num ELSE 0 END ) AS 警告, max( CASE WHEN a.HEALTH_LEVEL = '警告' THEN num ELSE 0 END ) AS 警告,
...@@ -1275,17 +1210,16 @@ ...@@ -1275,17 +1210,16 @@
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备'
AND REC_DATE >= CURRENT_DATE ( ) AND REC_DATE >= CURRENT_DATE ( )
<if test="STATION != null and STATION != ''"> <if test="STATION != null and STATION != ''">
AND STATION = #{STATION} AND STATION = #{STATION}
</if> </if>
GROUP BY GROUP BY
STATION, STATION,
HEALTH_LEVEL HEALTH_LEVEL
) a ) a
</select> </select>
<select id="getPvEquipStatusByStation" resultType="java.util.Map">
<select id="getPvEquipStatusByStation" resultType="java.util.Map"> SELECT
SELECT
max( CASE WHEN a.HEALTH_LEVEL = '安全' THEN num ELSE 0 END ) AS 安全, max( CASE WHEN a.HEALTH_LEVEL = '安全' THEN num ELSE 0 END ) AS 安全,
max( CASE WHEN a.HEALTH_LEVEL = '注意' THEN num ELSE 0 END ) AS 注意, max( CASE WHEN a.HEALTH_LEVEL = '注意' THEN num ELSE 0 END ) AS 注意,
max( CASE WHEN a.HEALTH_LEVEL = '警告' THEN num ELSE 0 END ) AS 警告, max( CASE WHEN a.HEALTH_LEVEL = '警告' THEN num ELSE 0 END ) AS 警告,
...@@ -1302,17 +1236,15 @@ ...@@ -1302,17 +1236,15 @@
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND ANALYSIS_OBJ_TYPE = '设备' AND ANALYSIS_OBJ_TYPE = '设备'
AND REC_DATE >= CURRENT_DATE ( ) AND REC_DATE >= CURRENT_DATE ( )
<if test="STATION != null and STATION != ''"> <if test="STATION != null and STATION != ''">
AND STATION = #{STATION} AND STATION = #{STATION}
</if> </if>
GROUP BY GROUP BY
STATION, STATION,
HEALTH_LEVEL HEALTH_LEVEL
) a ) a
</select>
</select> <select id="getRecDateByIndexAddress" resultType="java.lang.String">
<select id="getRecDateByIndexAddress" resultType="java.lang.String">
SELECT SELECT
a.REC_DATE a.REC_DATE
FROM FROM
...@@ -1341,8 +1273,7 @@ ...@@ -1341,8 +1273,7 @@
LIMIT 1 LIMIT 1
) a ) a
</select> </select>
<select id="getInfoListByTableName" resultType="java.util.Map">
<select id="getInfoListByTableName" resultType="java.util.Map">
SELECT SELECT
*, *,
CEILING(HEALTH_INDEX) as healthIndex CEILING(HEALTH_INDEX) as healthIndex
...@@ -1355,219 +1286,207 @@ ...@@ -1355,219 +1286,207 @@
AND INDEX_ADDRESS = #{indexAddress} AND INDEX_ADDRESS = #{indexAddress}
AND GATEWAY_ID = #{fanGatewayId} AND GATEWAY_ID = #{fanGatewayId}
</select> </select>
<select id="getIsWarningByPointId" resultType="int">
<select id="getIsWarningByPointId" resultType="int">
select count(1) from ${tableName} select count(1) from ${tableName}
where INDEX_ADDRESS = #{indexAddress} where INDEX_ADDRESS = #{indexAddress}
AND GATEWAY_ID = #{fanGatewayId} AND GATEWAY_ID = #{fanGatewayId}
and DISPOSOTION_STATE = '未处置' and DISPOSOTION_STATE = '未处置'
</select> </select>
<select id="getStationIndexInfoByParam" resultType="java.util.Map">
<select id="getStationIndexInfoByParam" resultType="java.util.Map"> SELECT a.STATION AS station,
SELECT a.STATION AS station,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM ( FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex, SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
STATION AS STATION STATION AS STATION
FROM fan_health_index_latest_data FROM fan_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '场站' ANALYSIS_OBJ_TYPE = '场站'
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY STATION GROUP BY STATION
UNION ALL UNION ALL
( (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex, SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
STATION AS STATION STATION AS STATION
FROM pv_health_index_latest_data FROM pv_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '场站' ANALYSIS_OBJ_TYPE = '场站'
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY STATION GROUP BY STATION
) )
) a ) a
GROUP BY a.STATION GROUP BY a.STATION
</select> </select>
<select id="getEquipmentIndexInfoByParam" resultType="java.util.Map">
<select id="getEquipmentIndexInfoByParam" resultType="java.util.Map"> SELECT a.equipmentName AS equipmentName,
SELECT a.equipmentName AS equipmentName,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM ( FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex, SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
EQUIPMENT_NAME AS equipmentName EQUIPMENT_NAME AS equipmentName
FROM fan_health_index_latest_data FROM fan_health_index_latest_data
<where>
<where> ANALYSIS_OBJ_TYPE = '设备'
ANALYSIS_OBJ_TYPE = '设备' <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
<if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY EQUIPMENT_NAME GROUP BY EQUIPMENT_NAME
UNION ALL UNION ALL
( (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex, SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
SUBARRAY AS equipmentName SUBARRAY AS equipmentName
FROM pv_health_index_latest_data FROM pv_health_index_latest_data
<where>
<where> ANALYSIS_OBJ_TYPE = '子阵'
ANALYSIS_OBJ_TYPE = '子阵' <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
<if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY SUBARRAY GROUP BY SUBARRAY
) )
) a ) a
where equipmentName is not null where equipmentName is not null
and equipmentName != '' and equipmentName != ''
GROUP BY GROUP BY
a.equipmentName a.equipmentName
</select> </select>
<select id="getSubSystemIndexInfoByParam" resultType="java.util.Map">
<select id="getSubSystemIndexInfoByParam" resultType="java.util.Map"> SELECT a.subSystem AS subSystem,
SELECT a.subSystem AS subSystem,
ROUND(avg(a.avgHealthIndex), 2) AS healthIndex ROUND(avg(a.avgHealthIndex), 2) AS healthIndex
FROM ( FROM (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex, SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
SUB_SYSTEM AS subSystem SUB_SYSTEM AS subSystem
FROM fan_health_index_latest_data FROM fan_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '子系统' ANALYSIS_OBJ_TYPE = '子系统'
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY SUB_SYSTEM GROUP BY SUB_SYSTEM
UNION ALL UNION ALL
( (
SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex, SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
EQUIPMENT_NAME AS subSystem EQUIPMENT_NAME AS subSystem
FROM pv_health_index_latest_data FROM pv_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '设备' ANALYSIS_OBJ_TYPE = '设备'
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY EQUIPMENT_NAME GROUP BY EQUIPMENT_NAME
) )
) a ) a
where subSystem is not null where subSystem is not null
and subSystem != '' and subSystem != ''
GROUP BY GROUP BY
a.subSystem a.subSystem
</select>
</select> <select id="getPointNameIndexInfoByParam" resultType="java.util.Map">
SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
<select id="getPointNameIndexInfoByParam" resultType="java.util.Map">
SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
FROM fan_health_index_latest_data FROM fan_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '测点' ANALYSIS_OBJ_TYPE = '测点'
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY INDEX_ADDRESS
GROUP BY INDEX_ADDRESS
UNION ALL UNION ALL
( (
SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex, SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
FROM pv_health_index_latest_data FROM pv_health_index_latest_data
<where> <where>
ANALYSIS_OBJ_TYPE = '测点' ANALYSIS_OBJ_TYPE = '测点'
<if test="analysisType == '按天' or analysisType == null or analysisType == ''"> <if test="analysisType == '按天' or analysisType == null or analysisType == ''">
AND ANALYSIS_TYPE = '按天' AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
</if> </if>
<if test="analysisType == '按小时'"> <if test="analysisType == '按小时'">
AND ANALYSIS_TYPE = '按小时' AND ANALYSIS_TYPE = '按小时'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 59 MINUTE )
</if> </if>
<if test="analysisType == '按时刻'"> <if test="analysisType == '按时刻'">
AND ANALYSIS_TYPE = '按时刻' AND ANALYSIS_TYPE = '按时刻'
AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE ) AND REC_DATE >= DATE_SUB( NOW(), INTERVAL 9 MINUTE )
</if> </if>
</where> </where>
GROUP BY INDEX_ADDRESS GROUP BY INDEX_ADDRESS
) )
</select> </select>
<select id="queryIndexByArae" resultType="map">
<select id="queryIndexByArae" resultType="map"> SELECT
SELECT
CAST(AVG(b.HEALTH_INDEX) as SIGNED) HEALTHINDEX, CAST(AVG(b.HEALTH_INDEX) as SIGNED) HEALTHINDEX,
b.REC_DATE, b.REC_DATE,
b.ANALYSIS_TIME as ANALYSISTIME b.ANALYSIS_TIME as ANALYSISTIME
...@@ -1579,47 +1498,46 @@ ...@@ -1579,47 +1498,46 @@
HEALTH_INDEX HEALTH_INDEX
FROM FROM
`idx_biz_fan_health_index` `idx_biz_fan_health_index`
<where> <where>
<if test = 'startTimeTop != null and startTimeTop != ""' > <if test='startTimeTop != null and startTimeTop != ""'>
AND REC_DATE >= #{startTimeTop} AND REC_DATE >= #{startTimeTop}
</if> </if>
<if test = 'endTimeTop != null and endTimeTop != ""' > <if test='endTimeTop != null and endTimeTop != ""'>
<![CDATA[ AND REC_DATE <= #{endTimeTop}]]> <![CDATA[ AND REC_DATE <= #{endTimeTop}]]>
</if> </if>
<if test = 'ARAE != null and ARAE != ""' > <if test='ARAE != null and ARAE != ""'>
AND ARAE = #{ARAE} AND ARAE = #{ARAE}
</if> </if>
<if test = 'ANALYSISTYPE != null and ANALYSISTYPE != ""' > <if test='ANALYSISTYPE != null and ANALYSISTYPE != ""'>
AND ANALYSIS_TYPE = #{ANALYSISTYPE} AND ANALYSIS_TYPE = #{ANALYSISTYPE}
</if> </if>
</where> </where>
UNION ALL UNION ALL
SELECT SELECT
ANALYSIS_TIME, ANALYSIS_TIME,
REC_DATE, REC_DATE,
HEALTH_INDEX HEALTH_INDEX
FROM FROM
`idx_biz_PV_health_index` `idx_biz_PV_health_index`
<where> <where>
<if test = ' startTimeTop != null and startTimeTop != ""' > <if test=' startTimeTop != null and startTimeTop != ""'>
AND REC_DATE >= #{startTimeTop} AND REC_DATE >= #{startTimeTop}
</if> </if>
<if test = 'endTimeTop != null and endTimeTop != ""' > <if test='endTimeTop != null and endTimeTop != ""'>
<![CDATA[ AND REC_DATE <= #{endTimeTop}]]> <![CDATA[ AND REC_DATE <= #{endTimeTop}]]>
</if> </if>
<if test = 'ARAE != null and ARAE != ""' > <if test='ARAE != null and ARAE != ""'>
AND ARAE = #{ARAE} AND ARAE = #{ARAE}
</if> </if>
<if test = 'ANALYSISTYPE != null and ANALYSISTYPE !=""' > <if test='ANALYSISTYPE != null and ANALYSISTYPE !=""'>
AND ANALYSIS_TYPE = #{ANALYSISTYPE} AND ANALYSIS_TYPE = #{ANALYSISTYPE}
</if> </if>
</where> </where>
)b )b
GROUP BY REC_DATE GROUP BY REC_DATE
</select> </select>
<select id="getHealthScoreInfoByLatest" resultType="java.math.BigDecimal">
<select id="getHealthScoreInfoByLatest" resultType="java.math.BigDecimal"> SELECT
SELECT
CEILING(avg( a.avgHealthIndex )) AS healthIndex CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM FROM
( (
...@@ -1627,49 +1545,46 @@ ...@@ -1627,49 +1545,46 @@
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM FROM
fan_health_index_latest_data fan_health_index_latest_data
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where>
</where> UNION ALL
UNION ALL
( (
SELECT SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex
FROM FROM
pv_health_index_latest_data pv_health_index_latest_data
<where> <where>
ANALYSIS_TYPE = '按天' ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND ARAE like concat('%', #{areaCode}, '%') AND ARAE like concat('%', #{areaCode}, '%')
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
<if test="stationCode != null and stationCode != ''"> <if test="stationCode != null and stationCode != ''">
AND GATEWAY_ID = #{stationCode} AND GATEWAY_ID = #{stationCode}
AND ANALYSIS_OBJ_TYPE = '场站' AND ANALYSIS_OBJ_TYPE = '场站'
</if> </if>
<if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')"> <if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
AND ANALYSIS_OBJ_TYPE = '片区' AND ANALYSIS_OBJ_TYPE = '片区'
</if> </if>
</where> </where>
) )
) a ) a
</select> </select>
<select id="getDateInfoBy15" resultType="java.util.Map">
<select id="getDateInfoBy15" resultType="java.util.Map">
SELECT SELECT
DATE_FORMAT( DATE_ADD(( DATE( DATE_ADD( now(), INTERVAL - 15 DAY ))), INTERVAL @s DAY ), '%Y-%m-%d' ) AS date, DATE_FORMAT( DATE_ADD(( DATE( DATE_ADD( now(), INTERVAL - 15 DAY ))), INTERVAL @s DAY ), '%Y-%m-%d' ) AS date,
@s := @s + 1 AS `index` @s := @s + 1 AS `index`
...@@ -1679,4 +1594,34 @@ ...@@ -1679,4 +1594,34 @@
WHERE WHERE
DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 15 DAY )) ) >= @s DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 15 DAY )) ) >= @s
</select> </select>
<select id="getDateInfo" resultType="java.util.Map">
SELECT
DATE_FORMAT( DATE_ADD(( DATE( DATE_ADD( #{endTime}, INTERVAL - DATEDIFF( #{endTime}, #{startTime})-1 DAY ))), INTERVAL @s DAY ), '%Y-%m-%d' ) AS date,
@s := @s + 1 AS `index`
FROM
mysql.help_topic,
( SELECT @s := 1 ) temp
WHERE
DATEDIFF( #{endTime}, DATE( DATE_ADD( #{endTime}, INTERVAL - DATEDIFF( #{endTime}, #{startTime})-1 DAY )) ) >= @s
</select>
<select id="getHourInfo" resultType="java.util.Map">
SELECT
DATE_FORMAT( DATE_ADD(( DATE(#{startTime})), INTERVAL @s-1 HOUR ), '%Y-%m-%d %H:%i:%s' ) AS date,
( @s := @s + 1 )- 1 AS `index`
FROM
mysql.help_topic,
( SELECT @s := 1 ) temp
WHERE
TIMESTAMPDIFF( HOUR, #{startTime} , #{endTime}) >= @s-1
</select>
<select id="getMomentInfo" resultType="java.util.Map">
SELECT
DATE_FORMAT( DATE_ADD(( DATE(#{startTime})), INTERVAL (@s-1)*10 MINUTE ), '%Y-%m-%d %H:%i:%s' ) AS date,
( @s := @s + 1 )- 1 AS `index`
FROM
mysql.help_topic,
( SELECT @s := 1 ) temp
WHERE
TIMESTAMPDIFF( MINUTE, #{startTime} , #{endTime})/10 >= @s-1
</select>
</mapper> </mapper>
...@@ -334,14 +334,18 @@ ...@@ -334,14 +334,18 @@
group by point_name group by point_name
</select> </select>
<select id="getInfoByDate" resultType="java.lang.String"> <select id="getInfoByDate" resultType="java.util.Map">
select ceil(avg(b.health_index)) as healthIndex from select avg(b.health_index) as healthIndex,b.rec_date AS recDate from
(SELECT (SELECT
health_index health_index,
rec_date
FROM FROM
pv_health_index_day pv_health_index_day
<where> <where>
rec_date = concat(#{date}, ' 00:00:00') rec_date IN
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
#{item}
</foreach>
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND area like #{areaCode} AND area like #{areaCode}
AND analysis_obj_type = '片区' AND analysis_obj_type = '片区'
...@@ -357,12 +361,15 @@ ...@@ -357,12 +361,15 @@
UNION ALL UNION ALL
( (
SELECT SELECT
health_index health_index,
rec_date
FROM FROM
fan_health_index_day fan_health_index_day
<where> <where>
rec_date = concat(#{date}, ' 00:00:00') rec_date IN
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
#{item}
</foreach>
<if test="areaCode != null and areaCode != ''"> <if test="areaCode != null and areaCode != ''">
AND area like #{areaCode} AND area like #{areaCode}
AND analysis_obj_type = '片区' AND analysis_obj_type = '片区'
...@@ -375,10 +382,110 @@ ...@@ -375,10 +382,110 @@
AND analysis_obj_type = '片区' AND analysis_obj_type = '片区'
</if> </if>
</where> </where>
)) b )) b GROUP BY b.rec_date
</select>
<select id="getInfoByHour" resultType="java.util.Map">
select avg(b.health_index) as healthIndex,b.rec_date AS recDate from
(SELECT
health_index,
rec_date
FROM
pv_health_index_hour
<where>
rec_date IN
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
#{item}
</foreach>
<if test="areaCode != null and areaCode != ''">
AND area like #{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,
rec_date
FROM
fan_health_index_hour
<where>
rec_date IN
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
#{item}
</foreach>
<if test="areaCode != null and areaCode != ''">
AND area like #{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 GROUP BY b.rec_date
</select>
<select id="getInfoByMoment" resultType="java.util.Map">
select avg(b.health_index) as healthIndex,b.rec_date AS recDate from
(SELECT
health_index,
rec_date
FROM
pv_health_index_moment
<where>
rec_date IN
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
#{item}
</foreach>
<if test="areaCode != null and areaCode != ''">
AND area like #{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,
rec_date
FROM
fan_health_index_moment
<where>
rec_date IN
<foreach collection="list" separator="," item="item" index="index" open="(" close=")">
#{item}
</foreach>
<if test="areaCode != null and areaCode != ''">
AND area like #{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 GROUP BY b.rec_date
</select> </select>
<select id="getInfoListByGroupByQgFan" resultType="com.yeejoin.amos.boot.module.jxiop.biz.tdengine.FanHealthIndex"> <select id="getInfoListByGroupByQgFan" resultType="com.yeejoin.amos.boot.module.jxiop.biz.tdengine.FanHealthIndex">
......
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