linwei
2024-01-31 b3b566ebdfed4005aaa513da3d5d2fd3924903cc
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -152,16 +152,36 @@
        jtrfr.lat,
        jtrfr.address,
        jtrfr.view_type,
        br.town_name streetName,
        jg.grid_name,
        jda.aoi_name,
        br.village_name communityName,
        jda.address_name as addressName
        from jczz_task_report_for_repairs jtrfr
        left join jczz_doorplate_address jda on jda.address_code = jtrfr.address_code
        left join jczz_grid_range jgr on jgr.house_code = jtrfr.address_code
        left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        LEFT JOIN jczz_house jh on jh.house_code=jtrfr.address_code
        left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
        left join blade_region br on br.code = jg.community_code
        where jtrfr.is_deleted = 0
        <if test="vo.createUser != null and vo.createUser != ''">
            AND jtrfr.create_user = #{vo.createUser}
        </if>
        <if test="vo.streetName != null and vo.streetName != ''">
            AND br.town_name like concat('%',#{vo.streetName},'%')
        </if>
        <if test="vo.communityName != null and vo.communityName != ''">
            AND br.village_name like concat('%',#{vo.communityName},'%')
        </if>
        <if test="vo.gridName != null and vo.gridName != ''">
            AND jg.grid_name like concat('%',#{vo.gridName},'%')
        </if>
        <if test="vo.aoiName != null and vo.aoiName != ''">
            AND jda.aoi_name like concat('%',#{vo.aoiName},'%')
        </if>
        <if test="vo.type != null">
            AND jtrfr.type = #{vo.type}
        </if>
@@ -174,11 +194,12 @@
        <if test="vo.confirmFlag != null">
            AND jtrfr.confirm_flag = #{vo.confirmFlag}
        </if>
        <if test="vo.confirmUserId != null">
            AND jtrfr.confirm_user_id = #{vo.confirmUserId}
        </if>
        <if test="vo.status != null">
            AND jtrfr.status = #{vo.status}
        </if>
        <if test="vo.addressCode != null">
            AND jtrfr.address_code = #{vo.addressCode}
        </if>
        <if test="vo.viewType != null">
            AND jtrfr.view_type = #{vo.viewType}
@@ -186,24 +207,40 @@
        <if test="vo.startTime != null and vo.startTime != '' and vo.endTime != null and vo.endTime != '' ">
            AND jtrfr.create_time BETWEEN #{vo.startTime} and #{vo.endTime}
        </if>
        <if test="vo.regionCode != null and vo.regionCode !='' ">
            and jg.community_code like concat('%',#{vo.regionCode},'%')
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and jg.community_code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
            </choose>
        </if>
        <if test="vo.roleName!=null and vo.roleName!=''">
            <if test="vo.roleName=='网格员'">
                <choose>
                    <when test="list != null and list.size()>0">
                        and jda.address_code in
                        <foreach collection="list" item="houseCode" separator ="," open="("  close=")">
                        and (jda.address_code in
                        <foreach collection="list" item="houseCode" separator="," open="(" close=")">
                            #{houseCode}
                        </foreach>
                        or jtrfr.confirm_user_id = #{vo.confirmUserId})
                    </when>
                    <otherwise>
                        and jda.address_code in ('')
                        and (jtrfr.confirm_user_id = #{vo.confirmUserId})
                    </otherwise>
                </choose>
            </if>
        </if>
        <if test="aoiCodeList!=null and aoiCodeList.size()>0">
            and jda.aoi_code in
            <foreach collection="aoiCodeList" item="item" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        ORDER BY jtrfr.create_time DESC
    </select>
@@ -245,7 +282,7 @@
            jczz_doorplate_address jda
            LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
            WHERE
            jc.res_police_user_id = #{userId})
            jc.res_police_user_id like concat('%',#{userId},'%'))
            )
        </if>
    </select>
@@ -253,12 +290,30 @@
    <select id="getStatisticsCount" resultType="org.springblade.modules.task.vo.TaskReportStatistics">
        SELECT
        COUNT( 1 ) AS total,
        ifnull(SUM( CASE WHEN STATUS = 10 THEN 1 ELSE 0 END ),0) AS handle
        FROM jczz_task_report_for_repairs
        count( 1 ) AS total,
        ifnull( sum( CASE WHEN STATUS = 10 THEN 1 ELSE 0 END ), 0 ) AS handle
        FROM
        jczz_task_report_for_repairs jtrfr
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jtrfr.address_code
        WHERE is_deleted = 0
        <if test="userId != null">
            and create_user = #{userId}
            and jtrfr.create_user = #{userId}
        </if>
        <if test="houseCode != null and houseCode != ''">
            and jtrfr.address_code = #{houseCode}
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and jda.nei_code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
                <otherwise>
                    and jda.nei_code in ('')
                </otherwise>
            </choose>
        </if>
    </select>