ZhuDongming
2019-07-31 2ee155e0e9ddc92a68349851f3bf6e7221ad8cf3
修改排放量sql语句,新增选择公司和设备的条件
1 files modified
15 ■■■■ changed files
src/main/resources/mapper/HistoryDailyMapper.xml 15 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/HistoryDailyMapper.xml
@@ -14,6 +14,12 @@
            hd.mac = vdi.mac
            AND vdi.monitor_point_id = mp.id
            AND vdi.device_tech = 1 
            <if test="monitorPointId != null and monitorPointId!=''">
                AND mp.id = #{monitorPointId}
            </if>
            <if test="mac != null and mac!=''">
                AND hd.mac = #{mac}
            </if>
            <if test="start != null">
                AND hd.time >= #{start}
            </if>
@@ -38,7 +44,8 @@
    <select id="getOverproofData" resultType="java.util.Map">
        SELECT
            AVG( hd.`json` -> '$.${sensorKey}[0]' ) avg,
            ( SELECT DISTINCT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE monitor_point_id = vdd.monitor_point_id AND device_tech = vdd.device_tech ) `limit`,
        ( SELECT DISTINCT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE monitor_point_id =
        vdd.monitor_point_id AND device_tech = vdd.device_tech ) `limit`,
            ( SELECT mp.`name` FROM monitor_point mp WHERE mp.id = vdd.monitor_point_id ) `name`,
            vdd.device_tech 
        FROM    
@@ -75,9 +82,11 @@
                    vdd.mac,
                    vdd.monitor_point_id 
                HAVING
                    AVG( hd.`json` -> '$.${sensorKey}[0]' ) >= ( SELECT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE mac = vdd.mac ) * (1 + #{overproofRatio} * 1)
        AVG( hd.`json` -> '$.${sensorKey}[0]' ) >= ( SELECT limit_val ->> '$.${sensorKey}' FROM view_device_density
        WHERE mac = vdd.mac ) * (1 + #{overproofRatio} * 1)
                    <if test="overproofRatio != 0 and overproofRatio != 3">
                    AND AVG( hd.`json` -> '$.${sensorKey}[0]' ) &lt; ( SELECT limit_val ->> '$.${sensorKey}' FROM view_device_density WHERE mac = vdd.mac ) * (2 + #{overproofRatio} * 1)
            AND AVG( hd.`json` -> '$.${sensorKey}[0]' ) &lt; ( SELECT limit_val ->> '$.${sensorKey}' FROM
            view_device_density WHERE mac = vdd.mac ) * (2 + #{overproofRatio} * 1)
                    </if>
            ) ta 
        <where>