<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.job.zsc.mapper.FugitiveDustMapper">
|
|
<select id="conditonQueryDustHistoryData" resultType="com.job.zsc.pojo.DustSiteData">
|
select *
|
from monitor_site
|
<where>
|
<if test="siteName !=null and siteName != ''">
|
Name like concat('%',#{siteName},'%')
|
</if>
|
<if test="mnCode !=null and mnCode != ''">
|
and MN_Code = #{mnCode}
|
</if>
|
<if test="beginTime != null and endTime != null">
|
and Lst between #{beginTime} and #{endTime}
|
</if>
|
|
<if test="scenarioType != null and scenarioType != '' ">
|
and Type_Name in
|
<foreach item="item" collection="scenarioType" separator="," open="(" close=")">
|
#{item}
|
</foreach>
|
</if>
|
</where>
|
<!-- limit 0,1000-->
|
</select>
|
|
<!--分析数据-->
|
<select id="analysisdata" resultType="com.job.zsc.pojo.AnalysisDustData">
|
select a.* from dust_statistics_value as a join ja_t_dust_site_info as b on a.mn_code = b. mn_code
|
<where>
|
<if test="siteName !=null and siteName != ''">
|
b.name = #{siteName}
|
</if>
|
|
<if test="beginTime != null and endTime != null">
|
and a.Lst between #{beginTime} and #{endTime}
|
</if>
|
</where>
|
</select>
|
|
|
<!-- 根据站点名字和时段进行统计分析-->
|
<!-- <select id="analysisByTime" resultType="com.job.zsc.pojo.AnalysisDustData">-->
|
<!-- select-->
|
<!-- a.mn_code as mn_code,-->
|
<!-- DATE(a.lst) as lst,-->
|
<!-- ROUND(AVG(a.dust_value),3) as day_avg,-->
|
<!-- CONCAT(ROUND(COUNT(*)/96*100, 2), '%') as day_online,-->
|
<!-- CONCAT(ROUND(SUM(CASE WHEN a.dust_value >0 THEN 1 ELSE 0 END)/COUNT(*) *100, 2), '%') as day_valid,-->
|
<!-- CONCAT(ROUND(SUM(CASE WHEN a.dust_value >= 1 THEN 1 ELSE 0 END)/96*100,2),'%') as day_exceeding-->
|
<!-- from ja_t_dust_site_data_info as a join ja_t_dust_site_info as b on a.mn_code = b.mn_code-->
|
<!-- <where>-->
|
<!-- <if test="siteName !=null and siteName != ''">-->
|
<!-- b.name = #{siteName}-->
|
<!-- </if>-->
|
|
<!-- <if test="beginTime != null and endTime != null">-->
|
<!-- and a.lst between #{beginTime} and #{endTime}-->
|
<!-- </if>-->
|
<!-- </where>-->
|
<!-- group by a.mn_code,DATE(a.lst)-->
|
<!-- order by lst asc-->
|
<!-- </select>-->
|
<!-- 根据站点名字和时段进行统计分析-->
|
<select id="analysisByTime" resultType="com.job.zsc.pojo.AnalysisDustData">
|
select c.name,d.*
|
from ja_t_dust_site_info as c join
|
(select
|
a.mn_code as mn_code,
|
DATE(a.lst) as lst,
|
ROUND(AVG(a.dust_value),3) as day_avg,
|
CONCAT(ROUND(COUNT(*)/96*100, 2), '%') as day_online,
|
CONCAT(ROUND(SUM(CASE WHEN a.dust_value >0 THEN 1 ELSE 0 END)/COUNT(*) *100, 2), '%') as day_valid,
|
CONCAT(ROUND(SUM(CASE WHEN a.dust_value >= 1 THEN 1 ELSE 0 END)/96*100,2),'%') as day_exceeding
|
from ja_t_dust_site_data_info as a join ja_t_dust_site_info as b on a.mn_code = b.mn_code
|
<where>
|
<if test="siteName !=null and siteName != ''">
|
b.name = #{siteName}
|
</if>
|
|
<if test="beginTime != null and endTime != null">
|
and a.lst between #{beginTime} and #{endTime}
|
</if>
|
</where>
|
GROUP BY a.mn_code,DATE(a.lst)
|
order by lst asc ) as d on c.mn_code = d.mn_code
|
</select>
|
</mapper>
|