jinpengyong
2023-08-22 2c743103cfa6e24bcb3fd064845c8cfd8fe8bbe6
screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -14,6 +14,7 @@
        <result column="operate_ids" property="operateIds"/>
        <result column="monitor_point_id" property="monitorPointId"/>
        <result column="organization_id" property="organizationId"/>
        <result column="guid" property="guid"/>
        <result column="device_version_id" property="deviceVersionId"/>
        <result column="profession" property="profession"/>
        <result column="tech" property="tech"/>
@@ -24,17 +25,41 @@
        <result column="install_time" property="installTime"/>
        <result column="is_delete" property="isDelete"/>
        <result column="extend" property="extend"/>
        <result column="town_code" property="townCode"/>
        <result column="dev_num" property="devNum"/>
    </resultMap>
    <!--监测因子趋势图数据-->
    <select id="getTrendChartData" resultType="java.util.Map">
        SELECT
        SELECT mac,
        DATE_FORMAT(`time`,#{dateFormat}) AS `time`,
        `value`->'$.${sensorCode}' AS '${sensorCode}'
        FROM history_${timeUnits}
        WHERE mac = #{mac}
        WHERE mac IN
            <foreach collection="macs" item="mac" index="index" open="(" close=")" separator=",">
                #{mac}
            </foreach>
        AND `time` <![CDATA[>=]]> #{start}
        AND `time` <![CDATA[<]]> #{end}
        ORDER BY `time`
    </select>
    <select id="deviceList" resultMap="BaseResultMap">
        SELECT
            t.latitude,
            t.longitude,
            t.mac,
            t.state
        FROM
            device t
                inner JOIN monitor_point p on p.id = t.monitor_point_id and p.is_delete = 0
                and p.organization_id in (
                    SELECT t1.id FROM organization t1
                    where t1.id = #{organizationId} or t1.parent_id = #{organizationId})
        <if test="region != null">
            and ${region} = #{regionCode}
        </if>
        WHERE
            t.state <![CDATA[ <> ]]> '0'  and t.is_delete = 0
        order by t.id desc
    </select>
</mapper>