zhanghua
9 天以前 e89d76539cc91bd13acabbf25a12312d2f8bba56
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -55,7 +55,8 @@
        t5.region_name as street,
        ubc.site,
        ubc.alarm_time,
        ubc.close_time
        ubc.close_time,
        ubc.state
        FROM
        `ums_base_case` AS ubc
        JOIN ums_violations AS uv ON ubc.id = uv.id
@@ -63,11 +64,11 @@
        LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
        LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
        <where>
            <if test="state!=null and state!=6">
                ubc.state=#{state}
            </if>
            <if test="state!=null and state==6">
                ubc.state &gt;=#{state}
            <if test=" state != null and state.size() > 0">
                AND ubc.state in
                <foreach collection="state" index="index" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="resource!=null">
                and ubc.event_source=#{resource}
@@ -75,13 +76,13 @@
            <if test="type!=null">
                and ubc.category=#{type}
            </if>
            <if test="code!=null">
            <if test="code!=null and code!=''">
                and ubc.code=#{code}
            </if>
            <if test="categoryBig != null">
            <if test="categoryBig != null and categoryBig!=''">
                and t3.name like concat('%', #{categoryBig},'%')
            </if>
            <if test="categorySmall != null">
            <if test="categorySmall != null and categoryBig!=''">
                and t4.name like concat('%', #{categorySmall},'%')
            </if>
            <if test="street != null">
@@ -115,18 +116,19 @@
        uib.building_width,
        uib.building_length,
        uib.building_area,
        uib.materials
        uib.materials,
        ubc.state
        FROM
        `ums_base_case` AS ubc
        left JOIN ums_illegal_building AS uib ON ubc.id = uib.base_case_id
        left JOIN ums_data_dictionary AS t1 ON uib.category_id = t1.id
        left JOIN ums_sccg_region t2 ON ubc.community_id = t2.id
        <where>
            <if test="state!=null and state!=6">
                ubc.state=#{state}
            </if>
            <if test="state!=null and state==6">
                ubc.state &gt;=#{state}
            <if test=" state != null and state.size() > 0">
                AND ubc.state in
                <foreach collection="state" index="index" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test="resource!=null">
                and ubc.event_source=#{resource}
@@ -276,6 +278,7 @@
        t3.longitude,
        t3.latitude,
        t4.pic_data,
        t4.id as imageId,
        t5.`name` as grade,
        t3.address,
        t3.plat_resource_id as platResourceId,
@@ -396,7 +399,7 @@
               COUNT(1) AS count
        FROM
            `ums_base_case` t1
            LEFT JOIN ums_sccg_region t2
            Inner JOIN ums_sccg_region t2
        ON t1.street_id = t2.id
        GROUP BY
            street_id
@@ -471,4 +474,24 @@
        WHERE end_time &lt; limit_time
          AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 0
    </select>
    <select id="getWorkOrder" resultType="com.ycl.vo.casePool.WorkOrderVO">
        SELECT username as name,count(DISTINCT id) taskCount,SUM(CASE WHEN state>7 THEN 1 ELSE 0 END) finishCount
        from (
        SELECT a.username , bc.id,max(bc.state) state
        from ums_base_case bc
        INNER JOIN ums_dispose_record dr on bc.id = dr.base_case_id
        INNER JOIN ums_admin a on dr.handler_id = a.id
        where ( bc.state = 6 or bc.state = 7
        or bc.state = 8 or bc.state = 9)
        <if test="keyword !=''and keyword!=null">
            and a.username like concat('%', #{keyword},'%')
        </if>
        <if test="startTime !=''and startTime!=null and endTime!=''and endTime!=null">
            and bc.create_time BETWEEN #{startTime}
            AND #{endTime}
        </if>
        GROUP BY a.username ,bc.id
        ) tmp
        GROUP BY username
    </select>
</mapper>