fuliqi
2024-01-09 ebb1a448339bafc4c4849fdbc2291bd3a28261df
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}
@@ -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}
@@ -299,6 +301,9 @@
        <if test="beginTime!=null and beginTime!=''">
            and t1.alarm_time between #{beginTime} and #{endTime}
        </if>
        <if test="type!=null">
            and t3.type = #{type}
        </if>
        group by t1.id
        order by t1.id desc
    </select>
@@ -468,4 +473,20 @@
        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>
                 GROUP BY a.username  ,bc.id
             ) tmp
        GROUP BY username
    </select>
</mapper>