Commit dbd5b052 authored by chenzhao's avatar chenzhao

Merge remote-tracking branch 'origin/developer' into developer

parents 97659a01 ebfe0a54
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!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.hygf.api.mapper.PowerStationMapper"> <mapper namespace="com.yeejoin.amos.boot.module.hygf.api.mapper.PowerStationMapper">
<select id="queryPage" resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationDto"> <select id="queryPage" resultType="com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationDto">
select * from (select DISTINCT select DISTINCT
hygf_power_station.*, hygf_power_station.*,
b.initiate_status, b.initiate_status,
b.contract_lock_id, b.contract_lock_id,
...@@ -34,6 +34,5 @@ ...@@ -34,6 +34,5 @@
</if> </if>
<!-- GROUP BY hygf_peasant_household.sequence_nbr--> <!-- GROUP BY hygf_peasant_household.sequence_nbr-->
ORDER BY hygf_power_station.rec_date desc ORDER BY hygf_power_station.rec_date desc
) a
</select> </select>
</mapper> </mapper>
...@@ -32,6 +32,8 @@ import io.swagger.annotations.Api; ...@@ -32,6 +32,8 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -63,6 +65,8 @@ import java.util.stream.Collectors; ...@@ -63,6 +65,8 @@ import java.util.stream.Collectors;
@RequestMapping(value = "/idx-biz-fan-health-index") @RequestMapping(value = "/idx-biz-fan-health-index")
public class IdxBizFanHealthIndexController extends BaseController { public class IdxBizFanHealthIndexController extends BaseController {
private static final Logger logger = LoggerFactory.getLogger(IdxBizFanHealthIndexController.class);
@Autowired @Autowired
IdxBizFanHealthIndexServiceImpl idxBizFanHealthIndexServiceImpl; IdxBizFanHealthIndexServiceImpl idxBizFanHealthIndexServiceImpl;
...@@ -406,7 +410,12 @@ public class IdxBizFanHealthIndexController extends BaseController { ...@@ -406,7 +410,12 @@ public class IdxBizFanHealthIndexController extends BaseController {
int total = fanHealthIndexDayMapper.selectDataTotal(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,orgCode); int total = fanHealthIndexDayMapper.selectDataTotal(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,orgCode);
if(CollectionUtils.isEmpty(fanHealthIndexDays)){ if(CollectionUtils.isEmpty(fanHealthIndexDays)){
fanHealthIndexDays = fanHealthIndexDayMapper.selectLatestData(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, null, null,(current-1)*size,size, orgCode); fanHealthIndexDays = fanHealthIndexDayMapper.selectLatestData(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, null, null,(current-1)*size,size, orgCode);
total = 1; if(CollectionUtils.isEmpty(fanHealthIndexDays)){
logger.warn("根据条件:area:{},station:{},equipmentName:{},subSystem:{},pointName:{},analysisObjType:{}获取最新的数据为空",area,station,equipmentName,subSystem,pointName,analysisObjType);
total = 0;
}else{
total = fanHealthIndexDays.size();
}
} }
fanHealthIndexDays.forEach(item -> { fanHealthIndexDays.forEach(item -> {
double roundedNumber = Double.parseDouble(df.format(item.getHealthIndex())); double roundedNumber = Double.parseDouble(df.format(item.getHealthIndex()));
...@@ -415,7 +424,6 @@ public class IdxBizFanHealthIndexController extends BaseController { ...@@ -415,7 +424,6 @@ public class IdxBizFanHealthIndexController extends BaseController {
page.setRecords(fanHealthIndexDays); page.setRecords(fanHealthIndexDays);
page.setTotal(total); page.setTotal(total);
// page.setTotal(Long.valueOf(fanHealthIndexDays.size()));
return ResponseHelper.buildResponse(page); return ResponseHelper.buildResponse(page);
} }
......
...@@ -22,6 +22,8 @@ import com.yeejoin.amos.boot.module.jxiop.biz.tdMapper2.*; ...@@ -22,6 +22,8 @@ import com.yeejoin.amos.boot.module.jxiop.biz.tdMapper2.*;
import com.yeejoin.amos.boot.module.jxiop.biz.tdengine.*; import com.yeejoin.amos.boot.module.jxiop.biz.tdengine.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -50,6 +52,8 @@ import java.util.stream.Collectors; ...@@ -50,6 +52,8 @@ import java.util.stream.Collectors;
@RequestMapping(value = "/idx-biz-pv-health-index") @RequestMapping(value = "/idx-biz-pv-health-index")
public class IdxBizPvHealthIndexController extends BaseController { public class IdxBizPvHealthIndexController extends BaseController {
private static final Logger logger = LoggerFactory.getLogger(IdxBizPvHealthIndexController.class);
@Autowired @Autowired
IdxBizPvHealthIndexServiceImpl idxBizPvHealthIndexServiceImpl; IdxBizPvHealthIndexServiceImpl idxBizPvHealthIndexServiceImpl;
@Autowired @Autowired
...@@ -284,7 +288,12 @@ public class IdxBizPvHealthIndexController extends BaseController { ...@@ -284,7 +288,12 @@ public class IdxBizPvHealthIndexController extends BaseController {
if(CollectionUtils.isEmpty(fanHealthIndexDays)){ if(CollectionUtils.isEmpty(fanHealthIndexDays)){
fanHealthIndexDays = pvHealthIndexDayMapper.selectLatestData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, null, null, equipmentName, (current-1)*size,size,orgCode); fanHealthIndexDays = pvHealthIndexDayMapper.selectLatestData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, null, null, equipmentName, (current-1)*size,size,orgCode);
total = 1; if(CollectionUtils.isEmpty(fanHealthIndexDays)){
logger.warn("根据条件:area:{},station:{},equipmentName:{},subarray:{},pointName:{},analysisObjType:{}获取最新的数据为空",area,station,equipmentName,subarray,pointName,analysisObjType);
total = 0;
}else{
total = fanHealthIndexDays.size();
}
} }
fanHealthIndexDays.forEach(item -> { fanHealthIndexDays.forEach(item -> {
item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex()))); item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex())));
...@@ -305,7 +314,12 @@ public class IdxBizPvHealthIndexController extends BaseController { ...@@ -305,7 +314,12 @@ public class IdxBizPvHealthIndexController extends BaseController {
int total = pvHealthIndexHourMapper.selectDataTotal(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop, orgCode); int total = pvHealthIndexHourMapper.selectDataTotal(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop, orgCode);
if(CollectionUtils.isEmpty(fanHealthIndexHours)){ if(CollectionUtils.isEmpty(fanHealthIndexHours)){
fanHealthIndexHours = pvHealthIndexHourMapper.selectLatestData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, null, null, equipmentName, (current-1)*size,size,orgCode); fanHealthIndexHours = pvHealthIndexHourMapper.selectLatestData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, null, null, equipmentName, (current-1)*size,size,orgCode);
total = 1; if(CollectionUtils.isEmpty(fanHealthIndexHours)){
logger.warn("根据条件:area:{},station:{},equipmentName:{},subarray:{},pointName:{},analysisObjType:{}获取最新的数据为空",area,station,equipmentName,subarray,pointName,analysisObjType);
total = 0;
}else{
total = fanHealthIndexHours.size();
}
} }
fanHealthIndexHours.forEach(item -> { fanHealthIndexHours.forEach(item -> {
item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex()))); item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex())));
...@@ -326,7 +340,12 @@ public class IdxBizPvHealthIndexController extends BaseController { ...@@ -326,7 +340,12 @@ public class IdxBizPvHealthIndexController extends BaseController {
int total = pvHealthIndexMomentMapper.selectDataTotal(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop, orgCode); int total = pvHealthIndexMomentMapper.selectDataTotal(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop, orgCode);
if(CollectionUtils.isEmpty(fanHealthIndexMoments)){ if(CollectionUtils.isEmpty(fanHealthIndexMoments)){
fanHealthIndexMoments = pvHealthIndexMomentMapper.selectLatestData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, null, null, equipmentName, (current-1)*size,size,orgCode); fanHealthIndexMoments = pvHealthIndexMomentMapper.selectLatestData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, null, null, equipmentName, (current-1)*size,size,orgCode);
total = 1; if(CollectionUtils.isEmpty(fanHealthIndexMoments)){
logger.warn("根据条件:area:{},station:{},equipmentName:{},subarray:{},pointName:{},analysisObjType:{}获取最新的数据为空",area,station,equipmentName,subarray,pointName,analysisObjType);
total = 0;
}else{
total = fanHealthIndexMoments.size();
}
} }
fanHealthIndexMoments.forEach(item -> { fanHealthIndexMoments.forEach(item -> {
item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex()))); item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex())));
......
...@@ -88,19 +88,41 @@ public interface FanHealthIndexDayMapper extends BaseMapper<FanHealthIndexDay> { ...@@ -88,19 +88,41 @@ public interface FanHealthIndexDayMapper extends BaseMapper<FanHealthIndexDay> {
@Param("orgCode") String orgCode @Param("orgCode") String orgCode
); );
@Select("<script>" + @Select("<script>"+
"SELECT distinct `health_index` AS healthIndex,anomaly,rec_date as recDate, `health_index` AS `value`, substr(analysis_time,1,10) as analysisTime, station,equipment_name AS equipmentName,point_name as pointName, ( CASE HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status FROM analysis_data.fan_health_index_day WHERE analysis_obj_type = #{analysisObjType} and org_code is not null" + "SELECT distinct d.`health_index` AS healthIndex,d.rec_date as recDate, d.`health_index` AS `value`, d.anomaly, substr(d.analysis_time,1,10) as analysisTime,d.station,d.equipment_name AS equipmentName, d.point_name as pointName, ( CASE d.HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" +
"<if test='endTimeTop!= null'> and ts &lt;= #{endTimeTop} </if> " + " FROM analysis_data.fan_health_index_day d" +
"<if test='startTimeTop!= null'> and ts &gt;= #{startTimeTop} </if> " + " INNER JOIN (SELECT last(ts) as maxTs " +
"<if test='area!= null'> AND area = #{area} </if> " + "<if test='area!= null '> ,area </if> " +
"<if test='indexAddress!= null'> AND index_address = #{indexAddress} </if> " + "<if test='station!= null'>, station </if>" +
"<if test='pointName!= null'>AND point_name = #{pointName} </if> " + "<if test='subSystem!= null'>, sub_system </if> " +
"<if test='station!= null'>AND station = #{station} </if>" + "<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='healthLevel!= null'>AND health_level = #{healthLevel} </if>" + "<if test='pointName!= null '>, point_name </if> " +
" FROM analysis_data.fan_health_index_day WHERE analysis_obj_type = #{analysisObjType} " +
" GROUP BY " +
"<if test='area!= null '> area </if> " +
"<if test='station!= null'>, station </if>" +
"<if test='subSystem!= null'>, sub_system </if> " +
"<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='pointName!= null '>, point_name </if> " +
" ORDER BY ts ASC ) as c " +
" on d.ts = c.maxTs" +
"<if test='area!= null '> and d.area = c.area </if> " +
"<if test='station!= null'> and d.station = c.station </if>" +
"<if test='subSystem!= null'> and d.sub_system = c.sub_system </if> " +
"<if test='equipmentName!= null'> and d.equipment_name = c.equipment_name </if>" +
"<if test='pointName!= null '> and d.point_name = c.point_name </if> " +
"WHERE d.analysis_obj_type = #{analysisObjType} and d.org_code is not null" +
"<if test='endTimeTop!= null'> and d.ts &lt;= #{endTimeTop} </if> " +
"<if test='startTimeTop!= null'> and d.ts &gt;= #{startTimeTop} </if> " +
"<if test='area!= null '> AND d.area = #{area} </if> " +
"<if test='indexAddress!= null '> AND d.index_address = #{indexAddress} </if> " +
"<if test='pointName!= null '>AND d.point_name = #{pointName} </if> " +
"<if test='station!= null'>AND d.station = #{station} </if>" +
"<if test='healthLevel!= null '>AND d.health_level = #{healthLevel} </if>" +
"<if test='subSystem!= null'>AND sub_system = #{subSystem} </if> " + "<if test='subSystem!= null'>AND sub_system = #{subSystem} </if> " +
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>" + "<if test='equipmentName!= null'>AND d.equipment_name = #{equipmentName} </if>" +
"<if test='orgCode!= null'>AND org_code like '${orgCode}' </if>" + "<if test='orgCode!= null'>AND d.org_code like '${orgCode}' </if>" +
"order by ts " + "order by d.ts DESC "+
"<if test='current != null and size != null'>limit ${current},${size} </if>" + "<if test='current != null and size != null'>limit ${current},${size} </if>" +
"</script>") "</script>")
List<FanHealthIndexDay> selectLatestData(@Param("healthLevel") String healthLevel, @Param("area") String area, @Param("equipmentName") String equipmentName, @Param("subSystem") String subSystem, @Param("analysisType") String analysisType, @Param("analysisObjType") String analysisObjType, @Param("station") String station, @Param("pointName") String pointName, @Param("indexAddress") String indexAddress, @Param("startTimeTop") String startTimeTop, @Param("endTimeTop") String endTimeTop, List<FanHealthIndexDay> selectLatestData(@Param("healthLevel") String healthLevel, @Param("area") String area, @Param("equipmentName") String equipmentName, @Param("subSystem") String subSystem, @Param("analysisType") String analysisType, @Param("analysisObjType") String analysisObjType, @Param("station") String station, @Param("pointName") String pointName, @Param("indexAddress") String indexAddress, @Param("startTimeTop") String startTimeTop, @Param("endTimeTop") String endTimeTop,
......
...@@ -111,19 +111,40 @@ public interface PvHealthIndexDayMapper extends BaseMapper<PvHealthIndexDay> { ...@@ -111,19 +111,40 @@ public interface PvHealthIndexDayMapper extends BaseMapper<PvHealthIndexDay> {
@Select("<script>"+ @Select("<script>"+
"SELECT distinct `health_index` AS healthIndex,rec_date as recDate, `health_index` AS `value`, rec_date AS recDate, anomaly, substr(analysis_time,1,10) as analysisTime,station,equipment_name AS equipmentName, point_name as pointName, index_address as indexAddress, ( CASE HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" + "SELECT distinct d.`health_index` AS healthIndex,d.rec_date as recDate, d.`health_index` AS `value`, d.anomaly, substr(d.analysis_time,1,10) as analysisTime,d.station,d.equipment_name AS equipmentName, d.point_name as pointName, d.index_address as indexAddress, ( CASE d.HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" +
" FROM analysis_data.pv_health_index_day WHERE analysis_obj_type = #{analysisObjType} and org_code is not null" + " FROM analysis_data.pv_health_index_day d" +
"<if test='endTimeTop!= null'> and ts &lt;= #{endTimeTop} </if> " + " INNER JOIN (SELECT last(ts) as maxTs " +
"<if test='startTimeTop!= null'> and ts &gt;= #{startTimeTop} </if> " + "<if test='area!= null '> ,area </if> " +
"<if test='area!= null '> AND area = #{area} </if> " + "<if test='station!= null'>, station </if>" +
"<if test='indexAddress!= null '> AND index_address = #{indexAddress} </if> " + "<if test='subarray!= null'>, subarray </if> " +
"<if test='pointName!= null '>AND point_name = #{pointName} </if> " + "<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='station!= null'>AND station = #{station} </if>" + "<if test='pointName!= null '>, point_name </if> " +
"<if test='healthLevel!= null '>AND health_level = #{healthLevel} </if>" + " FROM analysis_data.pv_health_index_day WHERE analysis_obj_type = #{analysisObjType} " +
"<if test='subarray!= null'>AND subarray = #{subarray} </if> " + " GROUP BY " +
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>" + "<if test='area!= null '> area </if> " +
"<if test='orgCode!= null'>AND org_code like '${orgCode}' </if>" + "<if test='station!= null'>, station </if>" +
"order by ts "+ "<if test='subarray!= null'>, subarray </if> " +
"<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='pointName!= null '>, point_name </if> " +
" ORDER BY ts ASC ) as c " +
" on d.ts = c.maxTs" +
"<if test='area!= null '> and d.area = c.area </if> " +
"<if test='station!= null'> and d.station = c.station </if>" +
"<if test='subarray!= null'> and d.subarray = c.subarray </if> " +
"<if test='equipmentName!= null'> and d.equipment_name = c.equipment_name </if>" +
"<if test='pointName!= null '> and d.point_name = c.point_name </if> " +
"WHERE d.analysis_obj_type = #{analysisObjType} and d.org_code is not null" +
"<if test='endTimeTop!= null'> and d.ts &lt;= #{endTimeTop} </if> " +
"<if test='startTimeTop!= null'> and d.ts &gt;= #{startTimeTop} </if> " +
"<if test='area!= null '> AND d.area = #{area} </if> " +
"<if test='indexAddress!= null '> AND d.index_address = #{indexAddress} </if> " +
"<if test='pointName!= null '>AND d.point_name = #{pointName} </if> " +
"<if test='station!= null'>AND d.station = #{station} </if>" +
"<if test='healthLevel!= null '>AND d.health_level = #{healthLevel} </if>" +
"<if test='subarray!= null'>AND d.subarray = #{subarray} </if> " +
"<if test='equipmentName!= null'>AND d.equipment_name = #{equipmentName} </if>" +
"<if test='orgCode!= null'>AND d.org_code like '${orgCode}' </if>" +
"order by d.ts DESC "+
"<if test='current != null and size != null'>limit ${current},${size} </if>" + "<if test='current != null and size != null'>limit ${current},${size} </if>" +
"</script>") "</script>")
List<PvHealthIndexDay> selectLatestData(@Param("station")String station, List<PvHealthIndexDay> selectLatestData(@Param("station")String station,
......
...@@ -79,19 +79,40 @@ public interface PvHealthIndexHourMapper extends BaseMapper<PvHealthIndexHour> { ...@@ -79,19 +79,40 @@ public interface PvHealthIndexHourMapper extends BaseMapper<PvHealthIndexHour> {
@Select("<script>"+ @Select("<script>"+
"SELECT distinct `health_index` AS healthIndex,rec_date as recDate, `health_index` AS `value`, rec_date AS recDate, anomaly, substr(analysis_time,1,10) as analysisTime,station,equipment_name AS equipmentName, point_name as pointName, index_address as indexAddress, ( CASE HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" + "SELECT distinct d.`health_index` AS healthIndex,d.rec_date as recDate, d.`health_index` AS `value`, d.anomaly, substr(d.analysis_time,1,10) as analysisTime,d.station,d.equipment_name AS equipmentName, d.point_name as pointName, d.index_address as indexAddress, ( CASE d.HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" +
" FROM analysis_data.pv_health_index_day WHERE analysis_obj_type = #{analysisObjType} and org_code is not null" + " FROM analysis_data.pv_health_index_hour d" +
"<if test='endTimeTop!= null'> and ts &lt;= #{endTimeTop} </if> " + " INNER JOIN (SELECT last(ts) as maxTs " +
"<if test='startTimeTop!= null'> and ts &gt;= #{startTimeTop} </if> " + "<if test='area!= null '> ,area </if> " +
"<if test='area!= null '> AND area = #{area} </if> " + "<if test='station!= null'>, station </if>" +
"<if test='indexAddress!= null '> AND index_address = #{indexAddress} </if> " + "<if test='subarray!= null'>, subarray </if> " +
"<if test='pointName!= null '>AND point_name = #{pointName} </if> " + "<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='station!= null'>AND station = #{station} </if>" + "<if test='pointName!= null '>, point_name </if> " +
"<if test='healthLevel!= null '>AND health_level = #{healthLevel} </if>" + " FROM analysis_data.pv_health_index_hour WHERE analysis_obj_type = #{analysisObjType} " +
"<if test='subarray!= null'>AND subarray = #{subarray} </if> " + " GROUP BY " +
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>" + "<if test='area!= null '> area </if> " +
"<if test='orgCode!= null'>AND org_code like '${orgCode}' </if>" + "<if test='station!= null'>, station </if>" +
"order by ts "+ "<if test='subarray!= null'>, subarray </if> " +
"<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='pointName!= null '>, point_name </if> " +
" ORDER BY ts ASC ) as c " +
" on d.ts = c.maxTs" +
"<if test='area!= null '> and d.area = c.area </if> " +
"<if test='station!= null'> and d.station = c.station </if>" +
"<if test='subarray!= null'> and d.subarray = c.subarray </if> " +
"<if test='equipmentName!= null'> and d.equipment_name = c.equipment_name </if>" +
"<if test='pointName!= null '> and d.point_name = c.point_name </if> " +
"WHERE d.analysis_obj_type = #{analysisObjType} and d.org_code is not null" +
"<if test='endTimeTop!= null'> and d.ts &lt;= #{endTimeTop} </if> " +
"<if test='startTimeTop!= null'> and d.ts &gt;= #{startTimeTop} </if> " +
"<if test='area!= null '> AND d.area = #{area} </if> " +
"<if test='indexAddress!= null '> AND d.index_address = #{indexAddress} </if> " +
"<if test='pointName!= null '>AND d.point_name = #{pointName} </if> " +
"<if test='station!= null'>AND d.station = #{station} </if>" +
"<if test='healthLevel!= null '>AND d.health_level = #{healthLevel} </if>" +
"<if test='subarray!= null'>AND d.subarray = #{subarray} </if> " +
"<if test='equipmentName!= null'>AND d.equipment_name = #{equipmentName} </if>" +
"<if test='orgCode!= null'>AND d.org_code like '${orgCode}' </if>" +
"order by d.ts DESC "+
"<if test='current != null and size != null'>limit ${current},${size} </if>" + "<if test='current != null and size != null'>limit ${current},${size} </if>" +
"</script>") "</script>")
List<PvHealthIndexHour> selectLatestData(@Param("station")String station, List<PvHealthIndexHour> selectLatestData(@Param("station")String station,
......
...@@ -78,19 +78,40 @@ public interface PvHealthIndexMomentMapper extends BaseMapper<PvHealthIndexMomen ...@@ -78,19 +78,40 @@ public interface PvHealthIndexMomentMapper extends BaseMapper<PvHealthIndexMomen
, @Param("current") Integer current, @Param("size") Integer size, @Param("orgCode") String orgCode); , @Param("current") Integer current, @Param("size") Integer size, @Param("orgCode") String orgCode);
@Select("<script>"+ @Select("<script>"+
"SELECT distinct `health_index` AS healthIndex,rec_date as recDate, `health_index` AS `value`, rec_date AS recDate, anomaly, substr(analysis_time,1,10) as analysisTime,station,equipment_name AS equipmentName, point_name as pointName, index_address as indexAddress, ( CASE HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" + "SELECT distinct d.`health_index` AS healthIndex,d.rec_date as recDate, d.`health_index` AS `value`, d.anomaly, substr(d.analysis_time,1,10) as analysisTime,d.station,d.equipment_name AS equipmentName, d.point_name as pointName, d.index_address as indexAddress, ( CASE d.HEALTH_LEVEL WHEN '危险' THEN 3 WHEN '警告' THEN 2 WHEN '注意' THEN 1 ELSE 0 END ) AS status" +
" FROM analysis_data.pv_health_index_day WHERE analysis_obj_type = #{analysisObjType} and org_code is not null" + " FROM analysis_data.pv_health_index_moment d" +
"<if test='endTimeTop!= null'> and ts &lt;= #{endTimeTop} </if> " + " INNER JOIN (SELECT last(ts) as maxTs " +
"<if test='startTimeTop!= null'> and ts &gt;= #{startTimeTop} </if> " + "<if test='area!= null '> ,area </if> " +
"<if test='area!= null '> AND area = #{area} </if> " + "<if test='station!= null'>, station </if>" +
"<if test='indexAddress!= null '> AND index_address = #{indexAddress} </if> " + "<if test='subarray!= null'>, subarray </if> " +
"<if test='pointName!= null '>AND point_name = #{pointName} </if> " + "<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='station!= null'>AND station = #{station} </if>" + "<if test='pointName!= null '>, point_name </if> " +
"<if test='healthLevel!= null '>AND health_level = #{healthLevel} </if>" + " FROM analysis_data.pv_health_index_moment WHERE analysis_obj_type = #{analysisObjType} " +
"<if test='subarray!= null'>AND subarray = #{subarray} </if> " + " GROUP BY " +
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>" + "<if test='area!= null '> area </if> " +
"<if test='orgCode!= null'>AND org_code like '${orgCode}' </if>" + "<if test='station!= null'>, station </if>" +
"order by ts "+ "<if test='subarray!= null'>, subarray </if> " +
"<if test='equipmentName!= null'>, equipment_name </if>" +
"<if test='pointName!= null '>, point_name </if> " +
" ORDER BY ts ASC ) as c " +
" on d.ts = c.maxTs" +
"<if test='area!= null '> and d.area = c.area </if> " +
"<if test='station!= null'> and d.station = c.station </if>" +
"<if test='subarray!= null'> and d.subarray = c.subarray </if> " +
"<if test='equipmentName!= null'> and d.equipment_name = c.equipment_name </if>" +
"<if test='pointName!= null '> and d.point_name = c.point_name </if> " +
"WHERE d.analysis_obj_type = #{analysisObjType} and d.org_code is not null" +
"<if test='endTimeTop!= null'> and d.ts &lt;= #{endTimeTop} </if> " +
"<if test='startTimeTop!= null'> and d.ts &gt;= #{startTimeTop} </if> " +
"<if test='area!= null '> AND d.area = #{area} </if> " +
"<if test='indexAddress!= null '> AND d.index_address = #{indexAddress} </if> " +
"<if test='pointName!= null '>AND d.point_name = #{pointName} </if> " +
"<if test='station!= null'>AND d.station = #{station} </if>" +
"<if test='healthLevel!= null '>AND d.health_level = #{healthLevel} </if>" +
"<if test='subarray!= null'>AND d.subarray = #{subarray} </if> " +
"<if test='equipmentName!= null'>AND d.equipment_name = #{equipmentName} </if>" +
"<if test='orgCode!= null'>AND d.org_code like '${orgCode}' </if>" +
"order by d.ts DESC "+
"<if test='current != null and size != null'>limit ${current},${size} </if>" + "<if test='current != null and size != null'>limit ${current},${size} </if>" +
"</script>") "</script>")
List<PvHealthIndexMoment> selectLatestData(@Param("station")String station, List<PvHealthIndexMoment> selectLatestData(@Param("station")String station,
......
...@@ -11,13 +11,20 @@ ...@@ -11,13 +11,20 @@
FROM FROM
( (
SELECT SELECT
DATE_FORMAT( DATE_ADD(( DATE( DATE_ADD( now(), INTERVAL - 7 DAY ))), INTERVAL @s DAY ), '%Y-%m-%d' ) AS date, DATE_FORMAT(get_time_sub(6,'DAY'), '%Y-%m-%d' ) AS date UNION ALL
@s := @s + 1 AS `index` SELECT
FROM DATE_FORMAT(get_time_sub(5,'DAY'), '%Y-%m-%d' ) AS date UNION ALL
mysql.help_topic, SELECT
( SELECT @s := 1 ) temp DATE_FORMAT(get_time_sub(4,'DAY'), '%Y-%m-%d' ) AS date UNION ALL
WHERE SELECT
DATEDIFF( now(), DATE( DATE_ADD( now(), INTERVAL - 7 DAY )) ) >= @s ) a DATE_FORMAT(get_time_sub(3,'DAY'), '%Y-%m-%d' ) AS date UNION ALL
SELECT
DATE_FORMAT(get_time_sub(2,'DAY'), '%Y-%m-%d' ) AS date UNION ALL
SELECT
DATE_FORMAT(get_time_sub(1,'DAY'), '%Y-%m-%d' ) AS date UNION ALL
SELECT
DATE_FORMAT( CURDATE(), '%Y-%m-%d' ) AS date
) a
LEFT JOIN LEFT JOIN
( SELECT * FROM station_qr_code_statistics ( SELECT * FROM station_qr_code_statistics
<where> <where>
......
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