吉安感知网项目-后端
linwei
2026-06-03 30dc5b1fa3bb545cb1c2f2445f26cb033d8295b9
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml
@@ -13,6 +13,7 @@
        <result column="latitude" property="latitude"/>
        <result column="event_status" property="eventStatus"/>
        <result column="area_code" property="areaCode"/>
        <result column="event_num" property="eventNum"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
@@ -34,7 +35,7 @@
        <result column="latitude" property="latitude"/>
        <result column="event_status" property="eventStatus"/>
        <result column="area_code" property="areaCode"/>
        <result column="event_code" property="eventCode"/>
        <result column="event_num" property="eventNum"/>
        <result column="event_location" property="eventLocation"/>
        <result column="shoot_time" property="shootTime"/>
        <result column="event_image_url" property="eventImageUrl"/>
@@ -56,6 +57,16 @@
        <result column="create_time" property="createTime"/>
    </resultMap>
    <resultMap id="gdClueEventCountVoResultMap" type="org.sxkj.gd.workorder.vo.GdClueEventCountVO">
        <result column="total_count" property="totalCount"/>
        <result column="my_count" property="myCount"/>
    </resultMap>
    <sql id="gdClueEventDeptWhere">
        where ce.is_deleted = 0
        and ce.dispose_dept = #{deptId}
    </sql>
    <resultMap id="gdClueEventExcelResultMap" type="org.sxkj.gd.workorder.excel.GdClueEventExcel">
        <result column="result_id" property="resultId"/>
        <result column="work_order_id" property="workOrderId"/>
@@ -65,6 +76,7 @@
        <result column="latitude" property="latitude"/>
        <result column="event_status" property="eventStatus"/>
        <result column="area_code" property="areaCode"/>
        <result column="event_num" property="eventNum"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
@@ -74,11 +86,11 @@
    <select id="selectGdClueEventList" resultMap="gdClueEventVoResultMap">
        select ce.*,
        ifnull(bu.real_name, bu.name) as dispose_user_name,
               COALESCE(bu.real_name, bu.name) as dispose_user_name,
        bd.dept_name as dispose_dept_name
        from (select * from ja_gd_clue_event ${ew.customSqlSegment}) ce
        left join blade_user bu on bu.id = ce.dispose_user and bu.is_deleted = 0
        left join blade_dept bd on bd.id = ce.dispose_dept and bd.is_deleted = 0
        left join blade_user bu on bu.id::VARCHAR = ce.dispose_user::VARCHAR and bu.is_deleted = 0
        left join blade_dept bd on bd.id::VARCHAR = ce.dispose_dept::VARCHAR and bd.is_deleted = 0
    </select>
    <select id="selectGdClueEventSimpleList" resultMap="gdClueEventListVoResultMap">
@@ -86,9 +98,12 @@
        tr.result_url as event_image_url,
        ce.create_time as create_time
        from ja_gd_clue_event ce
        left join ja_gd_task_result tr on tr.id = ce.result_id and tr.is_deleted = 0
        where ce.is_deleted = 0
        and ce.dispose_dept = #{deptId}
        left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR and tr.is_deleted = 0
        <include refid="gdClueEventDeptWhere"/>
        and ce.event_status in (1, 3)
        <if test="keyword != null and keyword != ''">
            and ce.event_num::VARCHAR like concat('%', #{keyword}, '%')
        </if>
        <if test="onlyMine != null and onlyMine == 1">
            and ce.dispose_user = #{userId}
        </if>
@@ -96,26 +111,36 @@
    <select id="selectGdClueEventDetailById" resultMap="gdClueEventVoResultMap">
        select ce.*,
        ifnull(bu.real_name, bu.name) as dispose_user_name,
        COALESCE(bu.real_name, bu.name) as dispose_user_name,
        bd.dept_name as dispose_dept_name,
        ifnull(cu.real_name, cu.name) as distribute_user_name,
        COALESCE(cu.real_name, cu.name) as distribute_user_name,
        cd.dept_name as distribute_dept_name,
        ce.create_time as distribute_time,
        concat(ce.longitude, ',', ce.latitude) as event_location,
        tr.result_code as event_code,
        ce.event_num as event_num,
        tr.shoot_time as shoot_time,
        tr.result_url as event_image_url
        from ja_gd_clue_event ce
        left join blade_user bu on bu.id = ce.dispose_user and bu.is_deleted = 0
        left join blade_dept bd on bd.id = ce.dispose_dept and bd.is_deleted = 0
        left join blade_user cu on cu.id = ce.create_user and cu.is_deleted = 0
        left join blade_dept cd on cd.id = ce.create_dept and cd.is_deleted = 0
        left join ja_gd_task_result tr on tr.id = ce.result_id and tr.is_deleted = 0
        where ce.is_deleted = 0
        and ce.dispose_dept = #{deptId}
        left join blade_user bu on bu.id::VARCHAR = ce.dispose_user::VARCHAR and bu.is_deleted = 0
        left join blade_dept bd on bd.id::VARCHAR = ce.dispose_dept::VARCHAR and bd.is_deleted = 0
        left join blade_user cu on cu.id::VARCHAR = ce.create_user::VARCHAR and cu.is_deleted = 0
        left join blade_dept cd on cd.id::VARCHAR = ce.create_dept::VARCHAR and cd.is_deleted = 0
        left join ja_gd_task_result tr on tr.id::VARCHAR = ce.result_id::VARCHAR and tr.is_deleted = 0
        <include refid="gdClueEventDeptWhere"/>
        and ce.id = #{id}
    </select>
    <select id="selectGdClueEventCount" resultMap="gdClueEventCountVoResultMap">
        select count(1) as total_count,
        COALESCE(sum(case when ce.dispose_user = #{userId} then 1 else 0 end), 0) as my_count
        from ja_gd_clue_event ce
        <include refid="gdClueEventDeptWhere"/>
        and ce.event_status in (1, 3)
        <if test="keyword != null and keyword != ''">
            and ce.event_num like concat('%', #{keyword}, '%')
        </if>
    </select>
    <select id="exportGdClueEvent" resultMap="gdClueEventExcelResultMap">
        SELECT * FROM ja_gd_clue_event ${ew.customSqlSegment}