zmc
2023-08-29 1eecc1f678668ba11b15198be4f0057cf886e7f6
扬尘监测后端代码
已修改20个文件
已添加1个文件
332 ■■■■ 文件已修改
src/main/java/com/job/zsc/controller/AnalysisDataController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/controller/FugitiveDustController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/controller/Vue3FumeController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/mapper/AnalysisDataMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/mapper/FugitiveDustMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/mapper/Vue3FumeMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/pojo/AnalysisData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/pojo/AnalysisDustData.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/pojo/DustExceptionData.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/pojo/DustExceptionType.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/pojo/DustSiteData.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/pojo/FumeAbnormalData.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/service/AnalysisDataService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/service/FugitiveDustService.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/service/Vue3FumeService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/service/impl/AnalysisDataServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/service/impl/FugitiveDustServiceImpl.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/service/impl/Vue3FumeServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/com/job/zsc/mapper/AnalysisDataMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/com/job/zsc/mapper/Vue3FumeMapper.xml 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/job/zsc/controller/AnalysisDataController.java
@@ -55,8 +55,8 @@
    //去重  å¯¹from_web_analysis_data数据库
    @GetMapping("/search")
    public Result search(String shopname,String value,String begin, String end){
        Integer count=analysisDataService.search(shopname,value,begin,end);
        return Result.success(count);
        List<AnalysisData> list=analysisDataService.search(shopname,value,begin,end);
        return Result.success(list);
    }
}
src/main/java/com/job/zsc/controller/FugitiveDustController.java
@@ -57,12 +57,54 @@
    return Result.success(pageBean);
}
//获得不同的异常类型
    @GetMapping("/exceptiontype")
    public Result getExceptionType( ){
    public Result getExceptionType(){
        List<DustExceptionType> list = fugitiveDustService.getExceptionType();
        return Result.success(list);
    }
//条件查询异常数据
@GetMapping("/exceptiondata")
public Result getExceptionData(@RequestParam(defaultValue = "1") Integer page,
                               @RequestParam(defaultValue = "20")Integer pageSize,String siteName,String [] exceptionType,String beginTime, String endTime){
    PageBean pageBean =  fugitiveDustService.getExceptionData(page,pageSize,siteName,exceptionType,beginTime,endTime);
    return Result.success(pageBean);
}
    //条件查询异常数据 ä¸åˆ†é¡µ
    @GetMapping("/exceptiondata1")
    public Result getExceptionAllData(String siteName,String [] exceptionType,String beginTime, String endTime){
        List<DustExceptionData> list =  fugitiveDustService.getExceptionAllData(siteName,exceptionType,beginTime,endTime);
        return Result.success(list);
    }
//根据某段时间内某个异常类型查询对应的店铺名称和设备编号
@GetMapping("/sitenamecode")
public Result getExceptionSitenameAndCode(String exceptionType,String beginTime, String endTime){
    List<DustExceptionData> list = fugitiveDustService.getExceptionSitenameAndCode(exceptionType,beginTime,endTime);
    return Result.success(list);
}
    //   æ ¹æ®æ—¶é—´è¿”回该异常类型的个数
    @GetMapping("/exceptionnum")
    public Result exceptionNum(String exceptionType,String beginTime,String endTime){
        Integer list = fugitiveDustService.exceptionNum( exceptionType, beginTime, endTime);
        return Result.success(list);
    }
//    æŸ¥è¯¢åŽ†å²æ•°æ® ä¸åˆ†é¡µ
@GetMapping("/history")
public Result conditonQueryHistoryData(String siteName,String beginTime, String endTime ){
    List<DustSiteData> list= fugitiveDustService.conditonQueryHistoryData(siteName,beginTime,endTime);
    return Result.success(list);
}
    //   è¿”回异常的店铺总数
    @GetMapping("/exceptionsitenum")
    public Result exceptionSiteNum(){
        List<DustExceptionData> list = fugitiveDustService.exceptionSiteNum();
        return Result.success(list);
    }
}
src/main/java/com/job/zsc/controller/Vue3FumeController.java
@@ -8,6 +8,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.naming.InsufficientResourcesException;
import java.util.List;
@Slf4j
@@ -149,5 +150,11 @@
        return Result.success(list);
    }
//   æ ¹æ®æ—¶é—´è¿”回该异常类型的个数
    @GetMapping("/exceptionnum")
    public Result exceptionNum(String exceptionType,String beginTime,String endTime){
        Integer list = vue3FumeService.exceptionNum( exceptionType, beginTime, endTime);
        return Result.success(list);
    }
}
src/main/java/com/job/zsc/mapper/AnalysisDataMapper.java
@@ -21,5 +21,6 @@
    @Insert("insert into fm_web_analysis_data values(#{fumeDevId},#{fumeDate},#{fumeDayMin},#{fumeDayMax},#{fumeDayAverage},#{purifierOpenRate},#{fumeMinuteExceedingNum},#{fumeOverStandardRate},#{fumeDataEfficiency},#{dailyOnlineRate},#{noonOnlineRate},#{nightOnlineRate},#{keyOnlineRate},#{noonValidRate},#{nightValidRate},#{keyValidRate},#{noonOpeningCount},#{nightOpeningCount},#{keyOpeningRate},#{noonExceedingNum},#{nightExceedingNum},#{keyExceedingRate})")
    void write(AnalysisData analysisData);
    Integer search(String shopname,String value, String begin, String end);
    List<AnalysisData> search(String shopname,String value, String begin, String end);
}
src/main/java/com/job/zsc/mapper/FugitiveDustMapper.java
@@ -1,6 +1,7 @@
package com.job.zsc.mapper;
import com.job.zsc.pojo.AnalysisDustData;
import com.job.zsc.pojo.DustExceptionData;
import com.job.zsc.pojo.DustExceptionType;
import com.job.zsc.pojo.DustSiteData;
import org.apache.ibatis.annotations.Mapper;
@@ -26,4 +27,16 @@
    @Select("select DISTINCT exception,exception_type from dust_exception_data")
    List<DustExceptionType> getExceptionType();
    List<DustExceptionData> getExceptionData(String siteName,  @Param("exceptionType")String[] exceptionType, String beginTime, String endTime);
    List<DustExceptionData> getExceptionSitenameAndCode(String exceptionType, String beginTime, String endTime);
    @Select("select count(*) from dust_exception_data as a join ja_t_dust_site_info as b on a.mn_code = b.mn_code where exception_type = #{exceptionType} and (begin_time between #{beginTime} and #{endTime} or end_time between #{beginTime} and #{endTime})")
    Integer exceptionNum(String exceptionType, String beginTime, String endTime);
    List<DustSiteData> conditonQueryHistoryData(String siteName, String beginTime, String endTime);
    @Select("select DISTINCT mn_code from dust_exception_data")
    List<DustExceptionData> exceptionSiteNum();
}
src/main/java/com/job/zsc/mapper/Vue3FumeMapper.java
@@ -71,6 +71,13 @@
    List<FumeHistoryData> shopnamePythonUse();
    @Select("select count(*) from abnormal_data where exception_type = #{exceptionType} and (begin_time between #{beginTime} and #{endTime} or end_time between #{beginTime} and #{endTime})")
    Integer exceptionNum(String exceptionType, String beginTime, String endTime);
//    è¿”回设备信息表的条数
//    @Select("SELECT count(*) from ea_t_device_info")
//    String shopNum();
src/main/java/com/job/zsc/pojo/AnalysisData.java
@@ -13,7 +13,7 @@
public class AnalysisData {
    //共22个属性
    private String fumeDevId;
    private String diName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate fumeDate;
src/main/java/com/job/zsc/pojo/AnalysisDustData.java
@@ -19,6 +19,8 @@
    private LocalDate lst;
    private Double dayAvg;
    private Double min;
    private Double max;
    private String dayOnline;
    private String dayValid;
    private String  dayExceeding;
src/main/java/com/job/zsc/pojo/DustExceptionData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.job.zsc.pojo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.xml.ws.soap.Addressing;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DustExceptionData {
    private String id;
    private String name;   //站点名字
    private String mnCode;      //设备编号
    private String typename;   //场景
    private String address;     //地址
    private String dutyCompany;    //运维商
    private String exception;
    private String exceptionType;
    private String region;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String beginTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String endTime;
}
src/main/java/com/job/zsc/pojo/DustExceptionType.java
@@ -10,6 +10,5 @@
@NoArgsConstructor
public class DustExceptionType {
    private String exception;
    private String exception_type;
    private String exceptionType;
}
src/main/java/com/job/zsc/pojo/DustSiteData.java
@@ -12,6 +12,8 @@
    private String name;
    private String address;
    private String sName;
    private String dutyCompany;
    private String mnCode;
    private String typeName;
    private String dustValue;
src/main/java/com/job/zsc/pojo/FumeAbnormalData.java
@@ -16,6 +16,7 @@
    private String id;
    private String devId;    //设备编号
    private String diName;   //店铺名
    private String diSupplier;   //供应商
    private String exception;   //异常分类
    private String exceptionType;   //异常类型
    private String region;   //地区
src/main/java/com/job/zsc/service/AnalysisDataService.java
@@ -14,5 +14,5 @@
    void write(AnalysisData analysisData);
    Integer search(String shopname, String value,String begin, String end);
    List<AnalysisData> search(String shopname, String value,String begin, String end);
}
src/main/java/com/job/zsc/service/FugitiveDustService.java
@@ -1,9 +1,6 @@
package com.job.zsc.service;
import com.job.zsc.pojo.AnalysisDustData;
import com.job.zsc.pojo.DustExceptionType;
import com.job.zsc.pojo.DustSiteData;
import com.job.zsc.pojo.PageBean;
import com.job.zsc.pojo.*;
import java.util.List;
@@ -22,4 +19,17 @@
    PageBean pageAnalysisTime(Integer page, Integer pageSize, String siteName, String beginTime, String endTime);
    List<DustExceptionType> getExceptionType();
    PageBean getExceptionData(Integer page, Integer pageSize, String siteName, String[] exceptionType, String beginTime, String endTime);
    List<DustExceptionData> getExceptionSitenameAndCode(String exceptionType, String beginTime, String endTime);
    Integer exceptionNum(String exceptionType, String beginTime, String endTime);
    List<DustSiteData> conditonQueryHistoryData(String siteName, String beginTime, String endTime);
    List<DustExceptionData> getExceptionAllData(String siteName, String[] exceptionType, String beginTime, String endTime);
    List<DustExceptionData> exceptionSiteNum();
}
src/main/java/com/job/zsc/service/Vue3FumeService.java
@@ -45,6 +45,8 @@
    List<FumeHistoryData> shopnamePythonUse();
    Integer exceptionNum(String exceptionType, String beginTime, String endTime);
//    String shopNum();
}
src/main/java/com/job/zsc/service/impl/AnalysisDataServiceImpl.java
@@ -40,9 +40,9 @@
    }
    @Override
    public Integer search(String shopname, String value ,String begin, String end) {
        Integer count=analysisDataMapper.search(shopname,value,begin,end);
        return count;
    public  List<AnalysisData> search(String shopname, String value ,String begin, String end) {
        List<AnalysisData> list=analysisDataMapper.search(shopname,value,begin,end);
        return list;
    }
src/main/java/com/job/zsc/service/impl/FugitiveDustServiceImpl.java
@@ -3,10 +3,7 @@
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.job.zsc.mapper.FugitiveDustMapper;
import com.job.zsc.pojo.AnalysisDustData;
import com.job.zsc.pojo.DustExceptionType;
import com.job.zsc.pojo.DustSiteData;
import com.job.zsc.pojo.PageBean;
import com.job.zsc.pojo.*;
import com.job.zsc.service.FugitiveDustService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -78,4 +75,51 @@
        List<DustExceptionType> list = fugitiveDustMapper.getExceptionType();
        return list;
    }
    @Override
    public PageBean getExceptionData(Integer page, Integer pageSize, String siteName, String[] exceptionType, String beginTime, String endTime) {
        //设置分页参数
        PageHelper.startPage(page,pageSize);
        List<DustExceptionData> infoList = fugitiveDustMapper.getExceptionData(siteName,exceptionType,beginTime,endTime);
        //获取查询结果
        Page<DustExceptionData> p=(Page<DustExceptionData>)infoList;
        //封装PageBean对象*/
        PageBean pageBean=new PageBean(p.getTotal(),p.getResult());
        return  pageBean;
    }
    @Override
    public List<DustExceptionData> getExceptionSitenameAndCode(String exceptionType, String beginTime, String endTime) {
        List<DustExceptionData> list = fugitiveDustMapper.getExceptionSitenameAndCode(exceptionType,beginTime,endTime);
        return list;
    }
    @Override
    public Integer exceptionNum(String exceptionType, String beginTime, String endTime) {
        Integer list = fugitiveDustMapper.exceptionNum(exceptionType,beginTime,endTime);
        return list;
    }
    @Override
    public List<DustSiteData> conditonQueryHistoryData(String siteName, String beginTime, String endTime) {
        List<DustSiteData> list = fugitiveDustMapper.conditonQueryHistoryData(siteName,beginTime,endTime);
        return list;
    }
    @Override
    public List<DustExceptionData> getExceptionAllData(String siteName, String[] exceptionType, String beginTime, String endTime) {
        List<DustExceptionData> list = fugitiveDustMapper.getExceptionData(siteName,exceptionType,beginTime,endTime);
        return list;
    }
    @Override
    public List<DustExceptionData> exceptionSiteNum() {
        List<DustExceptionData> list = fugitiveDustMapper.exceptionSiteNum();
        return list;
    }
}
src/main/java/com/job/zsc/service/impl/Vue3FumeServiceImpl.java
@@ -128,9 +128,9 @@
        return list;
    }
//    @Override
//    public String shopNum() {
//        String num = vue3FumeMapper.shopNum();
//        return num;
//    }
    @Override
    public Integer exceptionNum(String exceptionType, String beginTime, String endTime) {
        Integer list = vue3FumeMapper.exceptionNum(exceptionType,beginTime,endTime);
        return list;
    }
}
src/main/resources/com/job/zsc/mapper/AnalysisDataMapper.xml
@@ -119,8 +119,8 @@
    <!-- åŽ»é‡-->
    <select id="search" resultType="Integer">
        select count(*)
    <select id="search" resultType="com.job.zsc.pojo.AnalysisData">
        select a.*,b.DI_Name,b.DI_Supplier
        from fm_web_analysis_data as a join ea_t_device_info as b on a.fume_dev_id = b.DI_Code
        <where>
            <if test="shopname != null and shopname != '' ">
src/main/resources/com/job/zsc/mapper/FugitiveDustMapper.xml
@@ -51,6 +51,8 @@
        a.mn_code as mn_code,
        DATE(a.lst) as lst,
        ROUND(AVG(a.dust_value),3)  as day_avg,
        min(a.dust_value) as min,
        max(a.dust_value) as max,
        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
@@ -67,4 +69,58 @@
        GROUP BY a.mn_code,DATE(a.lst)
        order by lst asc ) as d  on c.mn_code = d.mn_code
    </select>
    <!--条件查询异常数据-->
    <select id="getExceptionData" resultType="com.job.zsc.pojo.DustExceptionData">
        select b.name,b.typename,b.address,b.duty_company,a.*
        from dust_exception_data 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="exceptionType != null and exceptionType != '' ">
                and a.exception_type in
                <foreach item="item" collection="exceptionType" separator="," open="("  close=")">
                    #{item}
                </foreach>
            </if>
            <if test="beginTime != null and endTime != null">
                and (a.begin_time between #{beginTime} and #{endTime} or a.end_time between #{beginTime} and  #{endTime})
            </if>
        </where>
    </select>
    <!--   æ ¹æ®æŸæ®µæ—¶é—´å†…某个异常类型查询对应的店铺名称和设备编号-->
    <select id="getExceptionSitenameAndCode" resultType="com.job.zsc.pojo.DustExceptionData">
        select DISTINCT b.name,a.mn_code
        from dust_exception_data as a join ja_t_dust_site_info as b on a.mn_code = b.mn_code
        <where>
            <if test="exceptionType !=null and exceptionType != ''">
                a.exception_type  = #{exceptionType}
            </if>
            <if test="beginTime != null and endTime != null">
                and (a.begin_time between #{beginTime} and #{endTime} or a.end_time between #{beginTime} and  #{endTime})
            </if>
        </where>
    </select>
<!--    æ¡ä»¶æŸ¥è¯¢åŽ†å²æ•°æ®-->
    <select id="conditonQueryHistoryData" resultType="com.job.zsc.pojo.DustSiteData">
        select a.*,b.name,b.duty_Company
        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>
        order by a.lst asc
    </select>
</mapper>
src/main/resources/com/job/zsc/mapper/Vue3FumeMapper.xml
@@ -6,41 +6,68 @@
<!--   è¶…标油烟查询-->
    <select id="conditionQuery" resultType="com.job.zsc.pojo.FumeHistoryData">
        select a1.MV_ID,a1.MV_Stat_Code,b.DI_Name,a1.MV_Create_Time,a1.MV_Data_Time,a1.MV_Fume_Concentration2
        from exceeding_st_data as a1 join ea_t_device_info as b on a1.MV_Stat_Code =  b.DI_Code
        SELECT a1.MV_ID, a1.MV_Stat_Code, b.DI_Name,b.DI_Supplier, a1.MV_Create_Time, a1.MV_Data_Time, a1.MV_Fume_Concentration2
        FROM exceeding_st_data AS a1
        INNER JOIN ea_t_device_info AS b ON a1.MV_Stat_Code = b.DI_Code
        <where>
            <if test="devId != null and devId != '' ">
               and a1.MV_Stat_Code = #{devId} and b.DI_Code = #{devId}
                a1.MV_Stat_Code = #{devId}
            </if>
            <if test="beginTime != null and endTime != null">
                and a1.MV_Data_Time between #{beginTime} and #{endTime}
            </if>
        </where>
        order by MV_Data_Time asc
        order by a1.MV_Data_Time asc
    </select>
    <!--    åŽ†å²æ²¹çƒŸæŸ¥è¯¢-->
<!--    <select id="conditionQueryHistory" resultType="com.job.zsc.pojo.FumeHistoryData">-->
<!--        SELECT d.DI_Name, c.*-->
<!--        FROM (-->
<!--        SELECT a.*-->
<!--        FROM fd_t_minutevalue as a-->
<!--        LEFT JOIN fd_t_minutevalue  as b ON a.MV_Data_Time = b.MV_Data_Time AND a.MV_Isduplication &lt; b.MV_Isduplication-->
<!--        WHERE b.MV_ID IS NULL AND a.MV_Stat_Code = #{devId})-->
<!--        as c join ea_t_device_info as d on c.MV_Stat_Code =  d.DI_Code-->
<!--        <where>-->
<!--            <if test="devId != null and devId != '' ">-->
<!--                and c.MV_Stat_Code = #{devId}-->
<!--            </if>-->
<!--            <if test="beginTime != null and endTime != null">-->
<!--                AND c.MV_Data_Time between  #{beginTime} AND  #{endTime}-->
<!--            </if>-->
<!--        </where>-->
<!--        ORDER BY c.MV_Data_Time ASC;-->
<!--    </select>-->
    <!--    åŽ†å²æ²¹çƒŸæŸ¥è¯¢ ä¿®æ”¹äº†è¯­å¥-->
    <select id="conditionQueryHistory" resultType="com.job.zsc.pojo.FumeHistoryData">
        SELECT d.DI_Name, c.*
        FROM (
        SELECT a.*
        FROM fd_t_minutevalue as a
        LEFT JOIN fd_t_minutevalue  as b ON a.MV_Data_Time = b.MV_Data_Time AND a.MV_Isduplication &lt; b.MV_Isduplication
        WHERE b.MV_ID IS NULL AND a.MV_Stat_Code = #{devId})
        as c join ea_t_device_info as d on c.MV_Stat_Code =  d.DI_Code
        FROM fd_t_minutevalue AS a
        INNER JOIN (
        SELECT MV_Stat_Code,MV_Data_Time, MAX(MV_Isduplication) AS Max_Isduplication
        FROM fd_t_minutevalue
        WHERE MV_Stat_Code = #{devId}
        GROUP BY MV_Data_Time
        ) AS b ON a.MV_Data_Time = b.MV_Data_Time AND a.MV_Isduplication = b.Max_Isduplication AND a.MV_Stat_Code = b.MV_Stat_Code
        WHERE a.MV_Stat_Code = #{devId}
        ) AS c
        JOIN ea_t_device_info AS d ON c.MV_Stat_Code = d.DI_Code
        <where>
            <if test="devId != null and devId != '' ">
                and c.MV_Stat_Code = #{devId}
            </if>
            <if test="beginTime != null and endTime != null">
                AND c.MV_Data_Time between  #{beginTime} AND  #{endTime}
                c.MV_Data_Time >= #{beginTime} AND c.MV_Data_Time &lt;= #{endTime}
            </if>
        </where>
        ORDER BY c.MV_Data_Time ASC;
    </select>
<!--    æ¡ä»¶æŸ¥è¯¢å¼‚常表-->
    <select id="conditonQueryAbnormalData" resultType="com.job.zsc.pojo.FumeAbnormalData">
@@ -120,12 +147,12 @@
    <!-- æ¡ä»¶ç»„合查询异常表  å¼‚常类型选项改为多选-->
    <select id="conditonQueryAbnormalData2" resultType="com.job.zsc.pojo.FumeAbnormalData">
        select a1.dev_id,b.DI_Name,a1.exception,a1.exception_type,a1.region,a1.begin_time,a1.end_time
        select a1.dev_id,b.DI_Name,b.DI_Supplier,a1.exception,a1.exception_type,a1.region,a1.begin_time,a1.end_time
        from abnormal_data as a1 join ea_t_device_info as b on  a1.dev_id =  b.DI_Code
        <where>
            <if test="devId != null and devId != '' ">
                and a1.dev_id = #{devId} and b.DI_Code = #{devId}
                and a1.dev_id = #{devId}
            </if>
            <if test="exceptionValue != null and exceptionValue != '' ">