wl
2022-11-17 ca7eb9dddce247fcd4c0699301885bde7f0249f6
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -83,7 +83,7 @@
        ubc.event_source,
        t1.name as category,
        ubc.site,
        t2.region_name  as community,
        t2.region_name as community,
        uib.building_high,
        uib.building_width,
        uib.building_length,
@@ -116,11 +116,117 @@
               usr2.region_name community_text,
               ua.username      create_user_text
        FROM ums_base_case ubc
                 LEFT JOIN ums_data_dictionary udd on ubc.category = udd.id and udd.type_code = '01'
                 LEFT JOIN ums_data_dictionary udd on ubc.category = udd.id
                 LEFT JOIN ums_sccg_region usr on ubc.street_id = usr.id
                 LEFT JOIN ums_sccg_region usr2 on ubc.community_id = usr2.id
                 LEFT JOIN ums_admin ua on ubc.create_user = ua.id
        WHERE ubc.`code` = #{code}
    </select>
</mapper>
    <select id="selectBaseCasePage" resultType="com.ycl.entity.caseHandler.BaseCase">
        select t1.*,
        t2.name category_text,
        t3.region_name community_text
        from ums_base_case t1
        left join ums_data_dictionary t2 on t1.category = t2.id
        left join ums_sccg_region t3 on t1.community_id=t3.id
        <where>
            <if test="categories != null">
                category = #{categories}
            </if>
            <if test="communityId != null">
                and community_id = #{communityId}
            </if>
            <if test="code != null and code !=''">
                and code like contact('%',#{code},'%')
            </if>
            <if test="site != null and site!=''">
                and site like contact('%',#{site},'%')
            </if>
            <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
                and create_time between #{startTime} and #{endTime}
            </if>
        </where>
    </select>
    <select id="selectViolationPage" resultType="com.ycl.vo.casePool.QueryForViolationVO"
            parameterType="com.ycl.dto.caseHandler.QueryForViolationParam">
        SELECT
        t1.`code`,
        t1.alarm_time,
        t1.handling_opinion,
        CASE
        t1.event_source
        WHEN 1 THEN
        "视频巡查"
        WHEN 2 THEN
        "人工上报"
        END AS event_source,
        t1.site,
        CASE
        t1.state
        WHEN 7 THEN
        "待审核"
        WHEN 8 THEN
        "已审核"
        END AS state,
        t3.`name` as categoryName,
        t4.`name` AS typeName,
        t5.`name` as gradeName,
        t2.car_number,
        t6.region_name as communityName,
        t7.region_name as streetName,
        t8.url,
        t9.address
        FROM
        ums_base_case t1
        LEFT JOIN ums_violations t2 on t1.id=t2.id
        LEFT JOIN ums_data_dictionary t3 on t3.id=t2.category_id
        LEFT JOIN ums_data_dictionary t4 on t4.id=t2.type_id
        LEFT JOIN ums_data_dictionary t5 on t5.id=t2.grade_id
        LEFT JOIN ums_sccg_region t6 on t6.id=t1.community_id
        LEFT JOIN ums_sccg_region t7 on t7.id=t1.street_id
        LEFT JOIN ums_image_resources t8 on t8.belong_to_id=t1.id
        LEFT JOIN ums_video_point t9 on t9.id=t2.video_point_id
        <where>
            t1.state IN (7,8)
            <if test="queryForViolationParam.eventSource != null">
                and t1.event_source=#{queryForViolationParam.eventSource}
            </if>
            <if test="queryForViolationParam.categoryId != null">
                and t2.category_id=#{queryForViolationParam.categoryId}
            </if>
            <if test="queryForViolationParam.startTime != null and queryForViolationParam.startTime !='' and queryForViolationParam.endTime !=null and queryForViolationParam.endTime !=''">
                and t1.alarm_time between #{queryForViolationParam.startTime} and #{queryForViolationParam.endTime}
            </if>
            <if test="queryForViolationParam.code != null and queryForViolationParam.code != '' ">
                and t1.code like concat('%',#{queryForViolationParam.code},'%')
            </if>
            <if test=" queryForViolationParam.typeId!= null">
                and t2.type_id=#{v.typeId}
            </if>
            <if test="queryForViolationParam.gradeId != null">
                and t2.grade_id=#{queryForViolationParam.gradeId}
            </if>
            <if test="queryForViolationParam.streetId != null">
                and t1.street_id=#{queryForViolationParam.streetId}
            </if>
            <if test="queryForViolationParam.communityId != null">
                and t1.community_id=#{queryForViolationParam.communityId}
            </if>
            <if test="queryForViolationParam.state != null">
                and t1.state=#{queryForViolationParam.state}
            </if>
            <if test="queryForViolationParam.carNumber != null and  queryForViolationParam.carNumber!=''">
                and t1.car_umber like concat('%',#{queryForViolationParam.carNumber},'%')
            </if>
            <if test="queryForViolationParam.videoPointId != null">
                and t1.video_point_id=#{queryForViolationParam.videoPointId}
            </if>
            <if test="queryForViolationParam.handlingOpinion != null and queryForViolationParam.handlingOpinion !=''">
                and t1.handling_opinion like concat('%',#{queryForViolationParam.handlingOpinion},'%')
            </if>
        </where>
    </select>
</mapper>