林火综合应急信息管理系统cloud后端
xiebin
2023-03-10 dcee80e099de1f22583430a94e77a2a173788113
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.fire.mapper.FireMapper">
 
    <!-- 通用查询映射结果 -->
    <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"/>
        <result column="level" property="level"/>
        <result column="status" property="status"/>
        <result column="caller" property="caller"/>
        <result column="alarm_time" property="alarmTime"/>
        <result column="description" property="description"/>
        <result column="images" property="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <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 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 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>
 
 
</mapper>