Commit 6bf1f04f authored by tangwei's avatar tangwei

解决冲突

parents 9ccfa0a0 7f66e72f
package com.yeejoin.amos.boot.module.jxiop.biz.controller; package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -13,10 +14,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.feign.RiskWarningFeign; ...@@ -13,10 +14,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.feign.RiskWarningFeign;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
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.FullViewRecallInfoDTO; import com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallInfoDTO;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel; import com.yeejoin.amos.boot.module.jxiop.biz.entity.*;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizPvHealthLevel;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IndicatorData;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthIndexMapper; import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthIndexMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthLevelMapper; import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanHealthLevelMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanWarningRecordMapper; import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizFanWarningRecordMapper;
...@@ -31,10 +29,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -31,10 +29,7 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......
...@@ -252,6 +252,23 @@ public class IdxBizFanHealthIndexController extends BaseController { ...@@ -252,6 +252,23 @@ public class IdxBizFanHealthIndexController extends BaseController {
return ResponseHelper.buildResponse(null); 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,@RequestParam(required = false)String startTime,@RequestParam(required = false) String endTime) {
List<Map<String, Object>> maps = idxBizFanHealthIndexServiceImpl.selectPointByANALYSISTYPE(STATION, HEALTHLEVEL, EQUIPMENTNAME, POINTNAME,startTime,endTime);
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);
}
} }
...@@ -25,6 +25,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -25,6 +25,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -261,4 +262,69 @@ public class IdxBizFanWarningRecordController extends BaseController { ...@@ -261,4 +262,69 @@ public class IdxBizFanWarningRecordController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/stringToMap")
@ApiOperation(httpMethod = "get", value = "字符串转为对象格式", notes = "字符串转为对象格式")
public ResponseModel<Map<String, Object>> list(@RequestParam("analysisPointIds") String ids) {
Map<String, Object> data = new HashMap<>();
data.put("analysisPointIds", ids);
return ResponseHelper.buildResponse(data);
}
/**
* 根据pointId修改信息
*
* @param analysisInfo 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateByPointInfoBatchPv")
@ApiOperation(httpMethod = "POST", value = "根据pointId修改信息", notes = "根据pointId修改信息")
public ResponseModel<Boolean> updateByPointInfoBatchPv(@RequestBody JSONObject analysisInfo) {
LambdaQueryWrapper<IdxBizPvWarningRuleSet> query = new LambdaQueryWrapper<>();
List<String> analysisPointIds = Arrays.asList(analysisInfo.get("analysisPointIds").toString().split(","));
query.in(IdxBizPvWarningRuleSet::getAnalysisPointId, analysisPointIds);
List<IdxBizPvWarningRuleSet> idxBizFanWarningRecordList = idxBizPvWarningRuleSetService.getBaseMapper().selectList(query);
for (IdxBizPvWarningRuleSet idxBizPvWarningRuleSet : idxBizFanWarningRecordList) {
BeanUtil.copyProperties(analysisInfo, idxBizPvWarningRuleSet, "analysisPointIds");
if (idxBizPvWarningRuleSet.getWarningName().equals("警告")) {
//警告周期
idxBizPvWarningRuleSet.setWarningCycle(analysisInfo.get("jgWarningCycle").toString());
} else if (idxBizPvWarningRuleSet.getWarningName().equals("危险")) {
//警告周期
idxBizPvWarningRuleSet.setWarningCycle(analysisInfo.get("wxWarningCycle").toString());
}
}
boolean b = idxBizPvWarningRuleSetService.updateBatchById(idxBizFanWarningRecordList);
return ResponseHelper.buildResponse(b);
}
/**
* 根据pointId修改信息
*
* @param analysisInfo 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateByPointInfoBatchFan")
@ApiOperation(httpMethod = "POST", value = "根据pointId修改信息", notes = "根据pointId修改信息")
public ResponseModel<Boolean> updateByPointInfoBatchFan(@RequestBody JSONObject analysisInfo) {
LambdaQueryWrapper<IdxBizFanWarningRuleSet> query = new LambdaQueryWrapper<>();
List<String> analysisPointIds = Arrays.asList(analysisInfo.get("analysisPointIds").toString().split(","));
query.in(IdxBizFanWarningRuleSet::getAnalysisPointId, analysisPointIds);
List<IdxBizFanWarningRuleSet> idxBizFanWarningRecordList = idxBizFanWarningRuleSetService.getBaseMapper().selectList(query);
for (IdxBizFanWarningRuleSet idxBizFanWarningRuleSet : idxBizFanWarningRecordList) {
BeanUtil.copyProperties(analysisInfo, idxBizFanWarningRuleSet, "analysisPointIds");
if (idxBizFanWarningRuleSet.getWarningName().equals("警告")) {
//警告周期
idxBizFanWarningRuleSet.setWarningCycle(analysisInfo.get("jgWarningCycle").toString());
} else if (idxBizFanWarningRuleSet.getWarningName().equals("危险")) {
//警告周期
idxBizFanWarningRuleSet.setWarningCycle(analysisInfo.get("wxWarningCycle").toString());
}
}
boolean b = idxBizFanWarningRuleSetService.updateBatchById(idxBizFanWarningRecordList);
return ResponseHelper.buildResponse(b);
}
} }
...@@ -111,12 +111,12 @@ public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIn ...@@ -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>> 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,String startTime,String endTime);
int queryForLeftTableListByPointCount(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); Map<String,Object> queryForLeftTableListByPointNum(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME);
List<IdxBizFanWarningRecord> warningData(String STATION, String SUBARRAY, String EQUIPMENTNAME); List<IdxBizFanWarningRecord> warningData(String STATION, String SUBARRAY, String EQUIPMENTNAME);
Integer pointNum(String STATION, String SUBARRAY, String EQUIPMENTNAME); Integer pointNum(String STATION, String SUBARRAY, String EQUIPMENTNAME);
......
...@@ -95,7 +95,8 @@ public class CommonServiceImpl { ...@@ -95,7 +95,8 @@ public class CommonServiceImpl {
@Value("${jkzsjs.url:a9a404d4-6ead-440e-9fcb-b95d5a239b10}") @Value("${jkzsjs.url:a9a404d4-6ead-440e-9fcb-b95d5a239b10}")
String jkzsgfurl; String jkzsgfurl;
@Value("${openHealth:true}")
Boolean openHealth;
// {"tableName": "idx_biz_fan_point_process_variable_classification"} 风机工况变量划分 // {"tableName": "idx_biz_fan_point_process_variable_classification"} 风机工况变量划分
// {"tableName": "idx_biz_pv_point_process_variable_classification"} 光伏工况变量画分 // {"tableName": "idx_biz_pv_point_process_variable_classification"} 光伏工况变量画分
// {"tableName": "idx_biz_fan_point_var_correlation"} 风机相关性 // {"tableName": "idx_biz_fan_point_var_correlation"} 风机相关性
...@@ -1462,6 +1463,9 @@ public class CommonServiceImpl { ...@@ -1462,6 +1463,9 @@ public class CommonServiceImpl {
@Scheduled(cron = "0 0/10 * * * ?") @Scheduled(cron = "0 0/10 * * * ?")
@Async("async") @Async("async")
public void healthWarningMinuteByFan() { public void healthWarningMinuteByFan() {
if (!openHealth){
return;
}
Date time = new Date(); Date time = new Date();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData(); List<IdxBizFanPointProcessVariableClassificationDto> data = idxBizFanPointProcessVariableClassificationMapper.getInfluxDBData();
...@@ -1623,6 +1627,9 @@ public class CommonServiceImpl { ...@@ -1623,6 +1627,9 @@ public class CommonServiceImpl {
@Scheduled(cron = "0 0/10 * * * ?") @Scheduled(cron = "0 0/10 * * * ?")
@Async("async") @Async("async")
public void healthWarningMinuteByPv() { public void healthWarningMinuteByPv() {
if (!openHealth){
return;
}
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
Date time = new Date(); Date time = new Date();
List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData(); List<IdxBizPvPointProcessVariableClassificationDto> data = idxBizPvPointProcessVariableClassificationMapper.getInfluxDBData();
......
...@@ -84,7 +84,8 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -84,7 +84,8 @@ public class HealthStatusIndicatorServiceImpl {
@Autowired @Autowired
EmqKeeper emqKeeper; EmqKeeper emqKeeper;
@Value("${openHealth:true}")
boolean openHealth;
/** /**
* 夏造风电分析index_key * 夏造风电分析index_key
*/ */
...@@ -115,6 +116,9 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -115,6 +116,9 @@ public class HealthStatusIndicatorServiceImpl {
// @Scheduled(cron = "0 0 */1 * * ?") // @Scheduled(cron = "0 0 */1 * * ?")
@Async("async") @Async("async")
public void healthWarningMinuteGF(Calendar calendar,Date time ) { public void healthWarningMinuteGF(Calendar calendar,Date time ) {
if (!openHealth){
return;
}
// Calendar calendar = Calendar.getInstance(); // Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-1); calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-1);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
...@@ -256,6 +260,9 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -256,6 +260,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0/1 * * ?") @Scheduled(cron = "0 0 0/1 * * ?")
@Async("async") @Async("async")
public void healthWarningHourGF() { public void healthWarningHourGF() {
if (!openHealth){
return;
}
Date time = new Date(); Date time = new Date();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-5); calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-5);
...@@ -399,6 +406,9 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -399,6 +406,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0 0/1 * ? ") @Scheduled(cron = "0 0 0 0/1 * ? ")
@Async("async") @Async("async")
public void healthWarningDayGF() { public void healthWarningDayGF() {
if (!openHealth){
return;
}
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
Date time = new Date(); Date time = new Date();
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-3); calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-3);
...@@ -533,6 +543,9 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -533,6 +543,9 @@ public class HealthStatusIndicatorServiceImpl {
// @Scheduled(cron = "0 0 */1 * * ?") // @Scheduled(cron = "0 0 */1 * * ?")
@Async("async") @Async("async")
public void healthWarningMinute(Calendar calendar ,Date time) { public void healthWarningMinute(Calendar calendar ,Date time) {
if (!openHealth){
return;
}
// Calendar calendar = Calendar.getInstance(); // Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-1); calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-1);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
...@@ -679,6 +692,9 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -679,6 +692,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0/1 * * ?") @Scheduled(cron = "0 0 0/1 * * ?")
@Async("async") @Async("async")
public void healthWarningHour() { public void healthWarningHour() {
if (!openHealth){
return;
}
Date time = new Date(); Date time = new Date();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-5); calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY)-5);
...@@ -818,6 +834,9 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -818,6 +834,9 @@ public class HealthStatusIndicatorServiceImpl {
@Scheduled(cron = "0 0 0 0/1 * ? ") @Scheduled(cron = "0 0 0 0/1 * ? ")
@Async("async") @Async("async")
public void healthWarningDay() { public void healthWarningDay() {
if (!openHealth){
return;
}
Date time = new Date(); Date time = new Date();
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-3); calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-3);
......
...@@ -181,6 +181,12 @@ public class IdxBizFanHealthIndexServiceImpl extends BaseService<IdxBizFanHealth ...@@ -181,6 +181,12 @@ public class IdxBizFanHealthIndexServiceImpl extends BaseService<IdxBizFanHealth
return this.getBaseMapper().queryForLeftTableListByPoint(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME,current,size); return this.getBaseMapper().queryForLeftTableListByPoint(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME,current,size);
} }
public List<Map<String,Object>> selectPointByANALYSISTYPE(String STATION, String HEALTHLEVEL,String EQUIPMENTNAME,String POINTNAME,String startTime,String endTime){
return this.getBaseMapper().selectPointByANALYSISTYPE(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME,startTime,endTime);
};
public int queryForLeftTableListByPointCount(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME,String POINTNAME){ public int queryForLeftTableListByPointCount(String STATION, String HEALTHLEVEL, String EQUIPMENTNAME,String POINTNAME){
return this.getBaseMapper().queryForLeftTableListByPointCount(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME); return this.getBaseMapper().queryForLeftTableListByPointCount(STATION,HEALTHLEVEL,EQUIPMENTNAME,POINTNAME);
} }
......
...@@ -87,4 +87,7 @@ healthValue_Notice=79 ...@@ -87,4 +87,7 @@ healthValue_Notice=79
healthValue_DayCount=3 healthValue_DayCount=3
healthValue_HourCount=6 healthValue_HourCount=6
healthValue_MinCount=5 healthValue_MinCount=5
\ No newline at end of file
##是否打开健康计算计算 true 打开 false 关闭
openHealth = false
\ No newline at end of file
...@@ -2,57 +2,56 @@ ...@@ -2,57 +2,56 @@
<!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
( (
SELECT SELECT
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 == '')">
AND ANALYSIS_OBJ_TYPE = '片区'
</if>
</where> <if test="(stationCode == null or stationCode == '') and (areaCode == null or areaCode == '')">
UNION ALL AND ANALYSIS_OBJ_TYPE = '片区'
( </if>
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>
</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"> <select id="getHealthScoreInfoByStation" resultType="java.math.BigDecimal">
...@@ -72,254 +71,235 @@ ...@@ -72,254 +71,235 @@
</select> </select>
<select id="getHealthListInfo" resultType="java.util.Map"> <select id="getHealthListInfo" resultType="java.util.Map">
SELECT 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
( (
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`
FROM FROM
mysql.help_topic, mysql.help_topic,
( SELECT @s := 1 ) temp ( SELECT @s := 1 ) temp
WHERE WHERE
DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 15 DAY )) ) >= @s DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 15 DAY )) ) >= @s
) a ) a
LEFT JOIN ( LEFT JOIN (
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_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 SELECT ARAE as area,
ARAE as area, WARNING_NAME as warningName,
WARNING_NAME as warningName, count(1) as num
count(1) as num FROM ${tableName} a
FROM
${tableName} a
where (a.DISPOSOTION_STATE = '未处置') where (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 ))
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 SELECT ARAE as area,
ARAE as area, CEILING(avg(a.avgHealthIndex)) AS healthIndex
CEILING(avg( a.avgHealthIndex )) AS healthIndex FROM (
FROM SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
( ARAE
SELECT FROM idx_biz_fan_health_index
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, WHERE ANALYSIS_OBJ_TYPE = '片区'
ARAE AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
idx_biz_fan_health_index GROUP BY ARAE
WHERE UNION ALL
ANALYSIS_OBJ_TYPE = '片区' (
AND ANALYSIS_TYPE = '按天' SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE ARAE
GROUP BY FROM idx_biz_pv_health_index
ARAE UNION ALL WHERE ANALYSIS_OBJ_TYPE = '片区'
( AND ANALYSIS_TYPE = '按天'
SELECT AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, GROUP BY ARAE
ARAE )
FROM ) a
idx_biz_pv_health_index GROUP BY a.ARAE
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>
<select id="getAllEquipAlarmInfoByStation" resultType="java.util.Map"> <select id="getAllEquipAlarmInfoByStation" resultType="java.util.Map">
SELECT SELECT a.*
a.* FROM (
FROM SELECT STATION AS station,
( WARNING_NAME AS warningName,
SELECT count(1) AS num,
STATION AS station, (SELECT count(1)
WARNING_NAME AS warningName, FROM idx_biz_fan_warning_record wr
count( 1 ) AS num, WHERE ((wr.DISPOSOTION_STATE = '未处置')
( SELECT count( 1 ) FROM idx_biz_fan_warning_record wr WHERE or (wr.DISPOSOTION_STATE = '已处置' and
((wr.DISPOSOTION_STATE = '未处置') wr.DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) AND wr.STATION = STATION
AND wr.STATION = STATION ) AS allNum
) AS allNum FROM idx_biz_fan_warning_record
FROM WHERE ((DISPOSOTION_STATE = '未处置')
idx_biz_fan_warning_record or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
WHERE GROUP BY STATION,
((DISPOSOTION_STATE = '未处置') WARNING_NAME
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) UNION ALL
GROUP BY SELECT STATION AS station,
STATION, WARNING_NAME AS warningName,
WARNING_NAME UNION ALL count(1) AS num,
SELECT (SELECT count(1)
STATION AS station, FROM idx_biz_pv_warning_record wr
WARNING_NAME AS warningName, WHERE ((wr.DISPOSOTION_STATE = '未处置')
count( 1 ) AS num, or (wr.DISPOSOTION_STATE = '已处置' and
( SELECT count( 1 ) FROM idx_biz_pv_warning_record wr WHERE wr.DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
((wr.DISPOSOTION_STATE = '未处置') AND wr.STATION = STATION
or (wr.DISPOSOTION_STATE = '已处置' and wr.DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) ) AS allNum
AND wr.STATION = STATION FROM idx_biz_pv_warning_record
) AS allNum WHERE ((DISPOSOTION_STATE = '未处置')
FROM or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD(now(), INTERVAL - 3 DAY )))
idx_biz_pv_warning_record GROUP BY STATION,
WHERE WARNING_NAME
((DISPOSOTION_STATE = '未处置') ) a
or (DISPOSOTION_STATE = '已处置' and DISPOSOTION_DATE > DATE_ADD( now(), INTERVAL - 3 DAY ) )) ORDER BY a.allNum ASC
GROUP BY
STATION,
WARNING_NAME
) a
ORDER BY
a.allNum ASC
</select> </select>
<select id="getHealthInfoByStation" resultType="java.util.Map"> <select id="getHealthInfoByStation" resultType="java.util.Map">
SELECT SELECT
a.STATION as station, a.STATION as station,
CEILING(avg( a.avgHealthIndex )) AS healthIndex CEILING(avg( a.avgHealthIndex )) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
STATION
FROM FROM
( idx_biz_fan_health_index
SELECT <where>
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, ANALYSIS_OBJ_TYPE = '场站'
STATION AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
idx_biz_fan_health_index <if test="areaCode != null and areaCode != ''">
<where> AND ARAE like concat('%', #{areaCode}, '%')
ANALYSIS_OBJ_TYPE = '场站' </if>
AND ANALYSIS_TYPE = '按天' </where>
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE GROUP BY
<if test="areaCode != null and areaCode != ''"> STATION UNION ALL
AND ARAE like concat('%', #{areaCode}, '%') (
</if> SELECT
</where> IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
GROUP BY STATION
STATION UNION ALL FROM
( idx_biz_pv_health_index
SELECT <where>
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, ANALYSIS_OBJ_TYPE = '场站'
STATION AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
idx_biz_pv_health_index <if test="areaCode != null and areaCode != ''">
<where> AND ARAE like concat('%', #{areaCode}, '%')
ANALYSIS_OBJ_TYPE = '场站' </if>
AND ANALYSIS_TYPE = '按天' </where>
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE GROUP BY
<if test="areaCode != null and areaCode != ''"> STATION
AND ARAE like concat('%', #{areaCode}, '%') )
</if> ) a
</where>
GROUP BY
STATION
)
) 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
( (
SELECT SELECT
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 = '未处置'
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 = '未处置')
...@@ -328,204 +308,204 @@ ...@@ -328,204 +308,204 @@
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
( (
SELECT SELECT
wr.WARNING_NAME AS warningName, wr.WARNING_NAME AS warningName,
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
wr.WARNING_NAME AS warningName, wr.WARNING_NAME AS warningName,
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
WHERE WHERE
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
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="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>
</select> </select>
<select id="getFanInfoByPage" resultType="java.util.Map"> <select id="getFanInfoByPage" resultType="java.util.Map">
SELECT 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
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="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 id="getWarningInfoBySubSystem" 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_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 != ''">
...@@ -536,127 +516,108 @@ ...@@ -536,127 +516,108 @@
</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
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
<select id="getPvInfoByPage" resultType="java.util.Map"> SUBARRAY
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>
<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
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="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
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="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 id="getPvSumSystemListByEquipment" resultType="java.util.Map"> SELECT
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> <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
IFNULL( ROUND(avg( HEALTH_INDEX ), 2), 0 ) AS healthIndex,
POINT_NAME AS pointName
<select id="getPvHealthInfoBySubSystem" resultType="java.util.Map"> FROM
idx_biz_pv_health_index
SELECT <where>
IFNULL( ROUND(avg( HEALTH_INDEX ), 2), 0 ) AS healthIndex, ANALYSIS_OBJ_TYPE = '测点'
POINT_NAME AS pointName AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE
idx_biz_pv_health_index AND POINT_NAME IS NOT NULL
<where> AND POINT_NAME != ''
ANALYSIS_OBJ_TYPE = '测点' <if test="equipmentName != null and equipmentName != ''">
AND ANALYSIS_TYPE = '按天' AND EQUIPMENT_NAME = #{equipmentName}
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE </if>
AND POINT_NAME IS NOT NULL <if test="gatewayId != null and gatewayId != ''">
AND POINT_NAME != '' AND GATEWAY_ID = #{gatewayId}
<if test="equipmentName != null and equipmentName != ''"> </if>
AND EQUIPMENT_NAME = #{equipmentName} </where>
</if> GROUP BY
<if test="gatewayId != null and gatewayId != ''"> POINT_NAME
AND GATEWAY_ID = #{gatewayId}
</if>
</where>
GROUP BY
POINT_NAME
</select> </select>
<select id="getPvWarningInfoBySubSystem" resultType="java.util.Map"> <select id="getPvWarningInfoBySubSystem" resultType="java.util.Map">
...@@ -681,277 +642,233 @@ ...@@ -681,277 +642,233 @@
</select> </select>
<select id="getPvPointNameListBySumSystem" resultType="java.util.Map">
<select id="getPvPointNameListBySumSystem" 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_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 from select POINT_NAME
${tableName} from ${tableName}
where INDEX_ADDRESS = #{varDesc} where INDEX_ADDRESS = #{varDesc} limit 1
limit 1
</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 SELECT a.*,
a.*, row_number() over ( ORDER BY pointName ) AS id
row_number () over ( ORDER BY pointName ) AS id FROM (
FROM SELECT ARAE AS area,
( STATION AS station,
SELECT EQUIPMENT_NAME AS equipmentName,
ARAE AS area, SUB_SYSTEM AS subSystem,
STATION AS station, POINT_NAME AS pointName,
EQUIPMENT_NAME AS equipmentName, INDEX_ADDRESS AS indexAddress
SUB_SYSTEM AS subSystem, FROM idx_biz_fan_point_process_variable_classification
POINT_NAME AS pointName, WHERE TAG_CODE = '分析变量'
INDEX_ADDRESS AS indexAddress AND ARAE is not null
FROM AND STATION is not null
idx_biz_fan_point_process_variable_classification AND EQUIPMENT_NAME is not null
WHERE AND SUB_SYSTEM is not null
TAG_CODE = '分析变量' AND POINT_NAME is not null
AND ARAE is not null AND INDEX_ADDRESS is not null
AND STATION is not null UNION ALL
AND EQUIPMENT_NAME is not null SELECT ARAE AS area,
AND SUB_SYSTEM is not null STATION AS station,
AND POINT_NAME is not null SUBARRAY AS equipmentName,
AND INDEX_ADDRESS is not null EQUIPMENT_NAME AS subSystem,
UNION ALL POINT_NAME AS pointName,
SELECT INDEX_ADDRESS AS indexAddress
ARAE AS area, FROM idx_biz_pv_point_process_variable_classification
STATION AS station, WHERE TAG_CODE = '分析变量'
SUBARRAY AS equipmentName, AND ARAE is not null
EQUIPMENT_NAME AS subSystem, AND STATION is not null
POINT_NAME AS pointName, AND SUBARRAY is not null
INDEX_ADDRESS AS indexAddress AND EQUIPMENT_NAME is not null
FROM AND POINT_NAME is not null
idx_biz_pv_point_process_variable_classification AND INDEX_ADDRESS is not null
WHERE ) a
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>
<select id="getStationIndexInfo" resultType="java.util.Map"> <select id="getStationIndexInfo" resultType="java.util.Map">
SELECT SELECT a.STATION AS station,
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,
( STATION AS STATION
SELECT FROM idx_biz_fan_health_index
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, WHERE ANALYSIS_OBJ_TYPE = '场站'
STATION AS STATION AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
idx_biz_fan_health_index GROUP BY STATION
WHERE UNION ALL
ANALYSIS_OBJ_TYPE = '场站' (
AND ANALYSIS_TYPE = '按天' SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE STATION AS STATION
GROUP BY FROM idx_biz_pv_health_index
STATION UNION ALL WHERE ANALYSIS_OBJ_TYPE = '场站'
( AND ANALYSIS_TYPE = '按天'
SELECT AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, GROUP BY STATION
STATION AS STATION )
FROM ) a
idx_biz_pv_health_index GROUP BY a.STATION
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>
<select id="getEquipmentIndexInfo" resultType="java.util.Map"> <select id="getEquipmentIndexInfo" resultType="java.util.Map">
SELECT SELECT a.equipmentName AS equipmentName,
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,
( EQUIPMENT_NAME AS equipmentName
SELECT FROM idx_biz_fan_health_index
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, WHERE ANALYSIS_OBJ_TYPE = '设备'
EQUIPMENT_NAME AS equipmentName AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
idx_biz_fan_health_index GROUP BY EQUIPMENT_NAME
WHERE UNION ALL
ANALYSIS_OBJ_TYPE = '设备' (
AND ANALYSIS_TYPE = '按天' SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE SUBARRAY AS equipmentName
GROUP BY FROM idx_biz_pv_health_index
EQUIPMENT_NAME UNION ALL WHERE ANALYSIS_OBJ_TYPE = '子阵'
( AND ANALYSIS_TYPE = '按天'
SELECT AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, GROUP BY SUBARRAY
SUBARRAY AS equipmentName )
FROM ) a
idx_biz_pv_health_index where equipmentName is not null
WHERE and equipmentName != ''
ANALYSIS_OBJ_TYPE = '子阵' GROUP BY
AND ANALYSIS_TYPE = '按天' a.equipmentName
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>
<select id="getSubSystemIndexInfo" resultType="java.util.Map"> <select id="getSubSystemIndexInfo" resultType="java.util.Map">
SELECT SELECT a.subSystem AS subSystem,
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,
( SUB_SYSTEM AS subSystem
SELECT FROM idx_biz_fan_health_index
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, WHERE ANALYSIS_OBJ_TYPE = '子系统'
SUB_SYSTEM AS subSystem AND ANALYSIS_TYPE = '按天'
FROM AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
idx_biz_fan_health_index GROUP BY SUB_SYSTEM
WHERE UNION ALL
ANALYSIS_OBJ_TYPE = '子系统' (
AND ANALYSIS_TYPE = '按天' SELECT IFNULL(AVG(HEALTH_INDEX), 100) AS avgHealthIndex,
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE EQUIPMENT_NAME AS subSystem
GROUP BY FROM idx_biz_pv_health_index
SUB_SYSTEM UNION ALL WHERE ANALYSIS_OBJ_TYPE = '设备'
( AND ANALYSIS_TYPE = '按天'
SELECT AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex, GROUP BY EQUIPMENT_NAME
EQUIPMENT_NAME AS subSystem )
FROM ) a
idx_biz_pv_health_index where subSystem is not null
WHERE and subSystem != ''
ANALYSIS_OBJ_TYPE = '设备' GROUP BY
AND ANALYSIS_TYPE = '按天' a.subSystem
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>
<select id="getPointNameIndexInfo" resultType="java.util.Map"> <select id="getPointNameIndexInfo" resultType="java.util.Map">
SELECT SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
IFNULL( HEALTH_INDEX, 100 ) AS healthIndex, concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
concat( STATION, '_', INDEX_ADDRESS ) as gatewayIndexAddress FROM idx_biz_fan_health_index
FROM WHERE ANALYSIS_OBJ_TYPE = '测点'
idx_biz_fan_health_index AND ANALYSIS_TYPE = '按天'
WHERE AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
ANALYSIS_OBJ_TYPE = '测点' GROUP BY INDEX_ADDRESS
AND ANALYSIS_TYPE = '按天' UNION ALL
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = CURRENT_DATE (
GROUP BY SELECT IFNULL(HEALTH_INDEX, 100) AS healthIndex,
INDEX_ADDRESS UNION ALL concat(STATION, '_', INDEX_ADDRESS) as gatewayIndexAddress
( FROM idx_biz_pv_health_index
SELECT WHERE ANALYSIS_OBJ_TYPE = '测点'
IFNULL( HEALTH_INDEX, 100 ) AS healthIndex, AND ANALYSIS_TYPE = '按天'
concat( STATION, '_', INDEX_ADDRESS ) as gatewayIndexAddress AND DATE_FORMAT(REC_DATE, "%Y-%m-%d") = CURRENT_DATE
FROM GROUP BY INDEX_ADDRESS
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>
<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 SELECT CONCAT(`STATUS`, '_', ANALYSIS_OBJ_TYPE) AS analysisObjType,
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, GROUP_UPPER_LIMIT AS groupUpperLimit
GROUP_UPPER_LIMIT AS groupUpperLimit FROM idx_biz_fan_health_level
FROM WHERE STATUS IS NOT NULL
idx_biz_fan_health_level OR STATUS != ''
WHERE UNION ALL
STATUS IS NOT NULL SELECT CONCAT(`STATUS`, '_', ANALYSIS_OBJ_TYPE) AS analysisObjType,
OR STATUS != '' UNION ALL HEALTH_LEVEL AS healthLevel,
SELECT GROUP_LOWER_LIMIT AS groupLowerLimit,
CONCAT( `STATUS`, '_', ANALYSIS_OBJ_TYPE ) AS analysisObjType, GROUP_UPPER_LIMIT AS groupUpperLimit
HEALTH_LEVEL AS healthLevel, FROM idx_biz_pv_health_level
GROUP_LOWER_LIMIT AS groupLowerLimit, WHERE STATUS IS NOT NULL
GROUP_UPPER_LIMIT AS groupUpperLimit OR STATUS != ''
FROM
idx_biz_pv_health_level
WHERE
STATUS IS NOT NULL
OR STATUS != ''
</select> </select>
<select id="getAddressInfo" resultType="java.lang.String"> <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 index_address
from wl_equipment_specific_index
where gateway_id = '1668801435891929089'
and data_type = 'analog' limit 100
</select> </select>
<select id="queryForLeftTableList" resultType="map"> <select id="queryForLeftTableList" resultType="map">
SELECT SELECT
b.*, b.*,
IFNULL( ibfhi.HEALTH_INDEX, 100 ) as HEALTH_INDEX , IFNULL( ibfhi.HEALTH_INDEX, 100 ) as HEALTH_INDEX ,
IFNULL( ibfhi.HEALTH_LEVEL, '安全' ) as HEALTH_LEVEL, IFNULL( ibfhi.HEALTH_LEVEL, '安全' ) as HEALTH_LEVEL,
(case ibfhi.HEALTH_LEVEL (case ibfhi.HEALTH_LEVEL
WHEN '危险' THEN 3 WHEN '危险' THEN 3
WHEN '警告' THEN 2 WHEN '警告' THEN 2
WHEN '注意' THEN 1 WHEN '注意' THEN 1
ELSE 0 end) as status ELSE 0 end) as status
FROM FROM
( (
SELECT SELECT
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` AS `EQUIPMENT_NAME`, `idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` AS `EQUIPMENT_NAME`,
`idx_biz_fan_point_process_variable_classification`.`STATION` AS `STATION` `idx_biz_fan_point_process_variable_classification`.`STATION` AS `STATION`
FROM FROM
`idx_biz_fan_point_process_variable_classification` `idx_biz_fan_point_process_variable_classification`
WHERE WHERE
`idx_biz_fan_point_process_variable_classification`.`TAG_CODE` = '分析变量' `idx_biz_fan_point_process_variable_classification`.`TAG_CODE` = '分析变量'
GROUP BY GROUP BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` `idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME`
ORDER BY ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC `idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b ) b
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 DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d") 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> <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
...@@ -975,17 +892,18 @@ ...@@ -975,17 +892,18 @@
ORDER BY ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC `idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b ) b
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 DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d") 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> <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>
...@@ -1007,17 +925,18 @@ ...@@ -1007,17 +925,18 @@
ORDER BY ORDER BY
`idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC `idx_biz_fan_point_process_variable_classification`.`EQUIPMENT_NAME` ASC
) b ) b
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 DATE_FORMAT(ibfhi.REC_DATE,"%Y-%m-%d") = DATE_FORMAT(NOW(),"%Y-%m-%d") 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> <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>
...@@ -1068,7 +987,7 @@ ...@@ -1068,7 +987,7 @@
</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 id="queryForLeftTableListByPointCount" resultType="int">
...@@ -1119,7 +1038,7 @@ ...@@ -1119,7 +1038,7 @@
<select id="queryForLeftTableListByPointNum" resultType="map"> <select id="queryForLeftTableListByPointNum" resultType="map">
SELECT SELECT
b.HEALTH_INDEX as value b.HEALTH_INDEX as value
FROM FROM
( (
SELECT SELECT
...@@ -1199,4 +1118,59 @@ ...@@ -1199,4 +1118,59 @@
</select> </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> </mapper>
...@@ -1754,6 +1754,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1754,6 +1754,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
public HashMap<String, Object> getEquipInfoByEquipNum(String gatewayId, String equipmentNumber) { public HashMap<String, Object> getEquipInfoByEquipNum(String gatewayId, String equipmentNumber) {
HashMap<String, Object> resultMap = new HashMap<>(); HashMap<String, Object> resultMap = new HashMap<>();
Map<String, List<String>> queryCondtion = new HashMap<>(); Map<String, List<String>> queryCondtion = new HashMap<>();
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId)); queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
...@@ -1771,11 +1772,12 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1771,11 +1772,12 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
type = "汇流箱系统"; type = "汇流箱系统";
queryEquipNum = equipNames[0] + equipNames[1] + Integer.parseInt(equipNames[2]); queryEquipNum = equipNames[0] + equipNames[1] + Integer.parseInt(equipNames[2]);
} else { } else {
HashMap<String,String> nbpStatus = getPvNBQStationBy(gatewayId);
type = "光伏逆变器系统"; type = "光伏逆变器系统";
queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("待机", "故障停机", "告警运行", "限额运行", "停机", "通讯故障", "降额运行", "运行")); queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("待机", "故障停机", "告警运行", "限额运行", "停机", "通讯故障", "降额运行", "运行"));
queryCondtion.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("true")); queryCondtion.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("true"));
List<ESEquipments> list1 = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class); List<ESEquipments> list1 = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
resultMap.put("status", AlarmDesc.getCode(list1.get(0).getEquipmentIndexName())); resultMap.put("status", nbpStatus.get(equipmentNumber));
// queryEquipNum = "#" + Integer.parseInt(equipNames[0]); // queryEquipNum = "#" + Integer.parseInt(equipNames[0]);
queryEquipNum = equipNames[0] + equipNames[1] + 1; queryEquipNum = equipNames[0] + equipNames[1] + 1;
} }
......
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