林火综合应急信息管理系统后端
guoshilong
2023-03-10 32995c21fea6034dad8834f28e23c7fb177eb423
src/main/java/org/springblade/modules/fire/mapper/FireMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.springblade.modules.fire.mapper.FireMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="fireResultMap" type="org.springblade.modules.fire.entity.FireEntity">
    <resultMap id="fireResultMap" type="org.springblade.modules.fire.vo.FireVO">
        <result column="id" property="id"/>
        <result column="no" property="no"/>
        <result column="location" property="location" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
@@ -20,15 +20,73 @@
        <result column="update_time" property="updateTime"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="tenant_id" property="tenantId"/>
        <result column="supplementId" property="supplementId"/>
        <result column="fireLevelName" property="fireLevelName"/>
        <result column="findWayName" property="findWayName"/>
    </resultMap>
    <select id="selectFirePage" resultMap="fireResultMap">
        select * from sys_fire where is_deleted = 0
        SELECT fire.*,sup.id supplementId,biz.dict_value fireLevelName,biz2.dict_value findWayName
        FROM sys_fire fire
        LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.`level` AND biz.code = 'fire_level'
        LEFT JOIN blade_dict_biz biz2 ON biz2.dict_key = fire.find_way AND biz2.`code` = 'fire_find_way'
        LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id
        AND sup.is_deleted = 0
        WHERE
        fire.is_deleted = 0
        <if test="fire.location !=null and fire.location !='' ">
            AND location = #{fire.location,typeHandler=com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler}
            AND fire.location = #{fire.location,typeHandler=com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler}
        </if>
        <if test="fire.no !=null and fire.no !=''">
            AND fire.no LIKE CONCAT('%',#{fire.no},'%')
        </if>
        <if test="fire.address !=null and fire.address !=''">
            AND fire.address LIKE CONCAT('%',#{fire.address},'%')
        </if>
        <if test="fire.findWay!=null and fire.findWay !=''">
            AND fire.find_way = #{fire.findWay}
        </if>
        <if test="fire.status!=null and fire.status !=''">
            AND fire.status = #{fire.status}
        </if>
        <if test="fire.alarmTimeStart !=null and fire.alarmTimeStart !=''">
            AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') &gt;= #{fire.alarmTimeStart}
        </if>
        <if test="fire.alarmTimeEnd !=null and fire.alarmTimeEnd !=''">
            AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') &lt;= #{fire.alarmTimeEnd}
        </if>
        <if test="fire.level !=null and fire.level !=''">
            AND fire.level = #{fire.level}
        </if>
        <if test="fire.fireDate !=null and fire.fireDate !=''">
            AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') = #{fire.fireDate}
        </if>
    </select>
    <select id="getAll" resultMap="fireResultMap">
        select fire.*,sup.id supplementId from sys_fire fire
        LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id AND sup.is_deleted = 0
        where fire.is_deleted = 0 AND sup.id IS NULL
        <if test="fire.no !=null and fire.no !=''">
            AND fire.no LIKE CONCAT('%',#{fire.no},'%')
        </if>
    </select>
    <select id="getRealtime" resultMap="fireResultMap">
        SELECT
        fire.*,biz.dict_value fireLevelName,biz2.dict_value findWayName
        FROM
        sys_fire fire
        LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.level AND biz.`code` = 'fire_level'
        LEFT JOIN blade_dict_biz biz2 ON biz2.dict_key = fire.find_way AND biz2.`code` = 'fire_find_way'
        WHERE
        fire.is_deleted = 0
        AND DATE_FORMAT( fire.alarm_time, '%Y-%m-%d' ) &gt;= DATE_FORMAT(DATE_SUB(now(),INTERVAL #{time} HOUR ), '%Y-%m-%d' )
        AND DATE_FORMAT( fire.alarm_time, '%Y-%m-%d' ) &lt;=  DATE_FORMAT(NOW(),'%Y-%m-%d' )
        ORDER BY fire.alarm_time DESC
    </select>