linwe
2024-08-02 a1eede2f9f7c2590952ab1bdf34210020cdde7c6
src/main/java/org/springblade/modules/task/mapper/TaskMapper.xml
@@ -14,15 +14,24 @@
        <result column="update_time" property="updateTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="status" property="status"/>
        <result column="source" property="source"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="house_code" property="houseCode"/>
        <result column="report_type" property="reportType"/>
    </resultMap>
    <!--查询非取保候审任务列表(场所相关)-->
    <select id="selectTaskPage" resultMap="taskResultMap">
        SELECT
        IFNULL( jda.address_name, jp.location ) address_name,
        jp.location AS address_name,
        br.district_code regionCode,
        br.village_code neiCode,
        br.town_code streetCode,
        jp.principal as realName,
        jp.principal_phone as phone,
        jp.nine_type,
        jp.front_type,
        jp.place_name,
        jt.id,
        jt.NAME,
        jt.type,
@@ -33,15 +42,470 @@
        jt.update_time,
        jt.update_user,
        jt.STATUS,
        jt.tenant_id,
        jt.create_dept,
        jt.source,
        jt.is_deleted,
        jt.house_code,
        jt.report_type
        FROM
        jczz_task jt
        LEFT JOIN jczz_place jp ON jt.house_code=jp.house_code and jp.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
        LEFT JOIN jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
        LEFT JOIN blade_region br on br.code = jg.community_code
        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="isAdministrator==2">
                <choose>
                    <when test="task.roleName != null and task.roleName != ''">
                        <if test="task.roleName=='wgy'">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and jh.grid_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
                                             separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jh.grid_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                        <if test="task.roleName=='mj' and isAdministrator==2">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and br.village_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")"
                                             separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and br.village_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                    </when>
                    <otherwise>
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and
                                (
                                jg.grid_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                or
                                br.village_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                )
                            </when>
                            <otherwise>
                                and
                                (
                                jg.grid_code in ('') or br.village_code in ('')
                                )
                            </otherwise>
                        </choose>
                    </otherwise>
                </choose>
            </if>
            <if test="task.status != null and task.status != null">
                and jt.status = #{task.status}
            </if>
            <if test="task.neiCode != null and task.neiCode != null">
                and jg.community_code = #{task.neiCode}
            </if>
            <if test="task.communityCode != null and task.communityCode != null">
                and jg.community_code = #{task.communityCode}
            </if>
            <if test="task.communityName != null and task.communityName != null">
                and br.name like concat('%', #{task.communityName}, '%')
            </if>
            <if test="task.streetCode != null and task.streetCode != null">
                and br.town_code = #{task.streetCode}
            </if>
            <if test="task.realName != null and task.realName != null">
                and jp.principal like concat('%', #{task.realName}, '%')
            </if>
            <if test="task.phone != null and task.phone != null">
                and bu.phone like concat('%', #{task.phone}, '%')
            </if>
            <if test="task.frequency != null and task.frequency != ''">
                and jt.frequency = #{task.frequency}
            </if>
            <if test="task.name != null and task.name != ''">
                and jt.name like concat('%', #{task.name}, '%')
            </if>
            <if test="task.id != null ">and jt.id = #{task.id}</if>
            <if test="task.type != null ">and jt.type = #{task.type}</if>
            <if test="task.remark != null  and task.remark != ''">and jt.remark = #{task.remark}</if>
            <if test="task.createTime != null ">and jt.create_time = #{task.createTime}</if>
            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
            </if>
            <!-- 场所店铺 -->
            <if test="task.reportType != null">
                and jt.report_type = #{task.reportType}
            </if>
            <if test="task.reportType == null">
                and jt.report_type in ( 5,7,8)
            </if>
            and jt.is_deleted = 0
            and jt.house_code is not null
            order by jt.create_time desc
        </where>
    </select>
    <!--查询取保候审任务列表(人房相关)-->
    <select id="selectTaskPageByPerson" resultType="org.springblade.modules.task.vo.TaskVO">
        SELECT
        jh.address AS address_name,
        jh.district_code AS aoiCode,
        br.district_code regionCode,
        br.village_code neiCode,
        br.town_code streetCode,
        jt.id,
        jt.NAME,
        jt.type,
        jt.frequency,
        jt.remark,
        jt.create_time,
        jt.create_user,
        jt.update_time,
        jt.update_user,
        jt.STATUS,
        jt.source,
        jt.is_deleted,
        jt.house_code,
        jt.report_type,
        jtbre.start_time startTimes,
        jtbre.reach_time,
        jtbre.return_time
        FROM
        jczz_task jt
        LEFT JOIN jczz_house jh ON jt.house_code=jh.house_code and jh.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
        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
        LEFT JOIN jczz_task_bail_reporting_event jtbre on jtbre.task_id = jt.id
        <where>
            <if test="isAdministrator==2">
                <choose>
                    <when test="task.roleName != null and task.roleName != ''">
                        <if test="task.roleName=='wgy'">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and jh.grid_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jh.grid_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                        <if test="task.roleName=='mj' and isAdministrator==2">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and br.village_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and br.village_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                    </when>
                    <otherwise>
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and
                                (
                                jg.grid_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                or
                                br.village_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                )
                            </when>
                            <otherwise>
                                and
                                (
                                jg.grid_code in ('') or br.village_code in ('')
                                )
                            </otherwise>
                        </choose>
                    </otherwise>
                </choose>
            </if>
            <if test="task.status != null and task.status != null">
                and jt.status = #{task.status}
            </if>
            <if test="task.aoiCode != null and task.aoiCode != null">
                and jh.district_code = #{task.aoiCode}
            </if>
            <if test="task.neiCode != null and task.neiCode != null">
                and jg.community_code = #{task.neiCode}
            </if>
            <if test="task.communityCode != null and task.communityCode != null">
                and jg.community_code = #{task.communityCode}
            </if>
            <if test="task.communityName != null and task.communityName != null">
                and br.name like concat('%', #{task.communityName}, '%')
            </if>
            <if test="task.streetCode != null and task.streetCode != null">
                and br.town_code = #{task.streetCode}
            </if>
            <if test="task.realName != null and task.realName != null">
                and bu.name like concat('%', #{task.realName}, '%')
            </if>
            <if test="task.phone != null and task.phone != null">
                and bu.phone like concat('%', #{task.phone}, '%')
            </if>
            <if test="task.districtName != null and task.districtName != null">
                and jh.district_name like concat('%', #{task.districtName}, '%')
            </if>
            <if test="task.frequency != null and task.frequency != ''">
                and jt.frequency = #{task.frequency}
            </if>
            <if test="task.name != null and task.name != ''">
                and jt.name like concat('%', #{task.name}, '%')
            </if>
            <if test="task.id != null ">and jt.id = #{task.id}</if>
            <if test="task.type != null ">and jt.type = #{task.type}</if>
            <if test="task.remark != null  and task.remark != ''">and jt.remark = #{task.remark}</if>
            <if test="task.createTime != null ">and jt.create_time = #{task.createTime}</if>
            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
            </if>
            <!-- 取保候审 或 报事报修 -->
            <if test="task.reportType != null and task.reportType != 2 ">
                and jt.report_type = #{task.reportType}
            </if>
            and jt.is_deleted = 0
            order by jt.create_time desc
        </where>
    </select>
    <select id="selectTaskCount" resultType="int" parameterType="org.springblade.modules.task.vo.TaskVO">
        SELECT
        count(1)
        FROM
        jczz_task jt
        LEFT JOIN jczz_place jp ON jt.house_code=jp.house_code and jp.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
        LEFT JOIN jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
        LEFT JOIN blade_region br on br.code = jg.community_code
        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="task.roleName != null and task.roleName != ''">
                <if test="task.roleName=='wgy'">
                    <if test="isAdministrator==2">
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and jp.grid_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jp.grid_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                </if>
                <if test="task.roleName=='mj'">
                    <if test="isAdministrator==2">
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and jpag.community_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jpag.community_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                </if>
            </if>
            <if test="isAdministrator==2">
                <choose>
                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                        and
                        (
                        jg.grid_code in
                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                            #{code}
                        </foreach>
                        or
                        br.village_code in
                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                            #{code}
                        </foreach>
                        )
                    </when>
                    <otherwise>
                        and
                        (
                        jg.grid_code in ('') or br.village_code in ('')
                        )
                    </otherwise>
                </choose>
            </if>
            <if test="task.status != null and task.status != null">
                and jt.status = #{task.status}
            </if>
            <if test="task.neiCode != null and task.neiCode != null">
                and jg.community_code = #{task.neiCode}
            </if>
            <if test="task.communityCode != null and task.communityCode != null">
                and jg.community_code = #{task.communityCode}
            </if>
            <if test="task.communityName != null and task.communityName != null">
                and br.name like concat('%', #{task.communityName}, '%')
            </if>
            <if test="task.streetCode != null and task.streetCode != null">
                and br.town_code = #{task.streetCode}
            </if>
            <if test="task.realName != null and task.realName != null">
                and jp.principal like concat('%', #{task.realName}, '%')
            </if>
            <if test="task.phone != null and task.phone != null">
                and bu.phone like concat('%', #{task.phone}, '%')
            </if>
            <if test="task.frequency != null and task.frequency != ''">
                and jt.frequency = #{task.frequency}
            </if>
            <if test="task.name != null and task.name != ''">
                and jt.name like concat('%', #{task.name}, '%')
            </if>
            <if test="task.id != null ">and jt.id = #{task.id}</if>
            <if test="task.type != null ">and jt.type = #{task.type}</if>
            <if test="task.remark != null  and task.remark != ''">and jt.remark = #{task.remark}</if>
            <if test="task.createTime != null ">and jt.create_time = #{task.createTime}</if>
            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
            </if>
            <!-- 场所店铺 -->
            <if test="task.reportType != null">
                and jt.report_type = #{task.reportType}
            </if>
            <if test="task.reportType == null">
                and jt.report_type in (5,8)
            </if>
            and jt.is_deleted = 0
        </where>
    </select>
    <select id="selectTaskPageBy" resultType="org.springblade.modules.task.vo.TaskVO">
        SELECT
        jt.* ,
        jda.address_name,
        jtbre.start_time startTimes,
        jtbre.reach_time,
        jtbre.return_time
        FROM
        jczz_task jt
        LEFT JOIN jczz_doorplate_address jda ON jt.house_code = jda.address_code
        LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
        LEFT JOIN jczz_task_bail_reporting_event jtbre on jtbre.task_id = jt.id
        <where>
            <if test="task.reportType != null and task.reportType != '' and task.reportType == 1">
                AND jt.report_type = #{task.reportType}
            </if>
            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
            </if>
            <if test="task.reportType == null or task.reportType == ''">
                AND jt.report_type in (2,3,6,7)
            </if>
            <if test="task.userId != null and task.userId != ''">
                AND jc.res_police_user_id like concat('%',#{task.userId},'%')
            </if>
            <if test="isAdministrator==2">
                <choose>
                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                        and jc.code in
                        <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                            #{code}
                        </foreach>
                    </when>
                    <otherwise>
                        and jc.code in ('')
                    </otherwise>
                </choose>
            </if>
        </where>
    </select>
    <!--取保候审人员查询-->
    <select id="getBailReportingPage" resultType="org.springblade.modules.task.vo.TaskVO">
        SELECT
        IFNULL( jda.address_name, jh.house_name ) AS address_name,
        jtbre.apply_name,
        jh.district_code aoiCode,
        jda.region_code,
        jg.community_code neiCode,
        jc.street_code streetCode,
        bu.real_name realName,
        ifnull(bu.phone,jtbre.check_telephone) as phone,
        jt.id,
        jt.NAME,
        jt.type,
        jt.frequency,
        jt.remark,
        jt.create_time,
        jt.create_user,
        jt.update_time,
        jt.update_user,
        jt.STATUS,
        jt.source,
        jt.is_deleted,
        jt.house_code,
        jt.report_type,
        jtbre.start_time startTimes,
        jtbre.reach_time,
        jtbre.return_time
        FROM
        jczz_task jt
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jt.house_code
        LEFT JOIN jczz_place jp ON jp.house_code = jt.house_code
        LEFT JOIN jczz_house jh ON jt.house_code = jh.house_code and jh.is_deleted = 0
        LEFT JOIN jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        LEFT JOIN jczz_community jc on jc.`code`= jg.community_code and jc.is_deleted = 0
        LEFT JOIN jczz_task_bail_reporting_event jtbre on jtbre.task_id = jt.id and jtbre.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jtbre.check_user_id and bu.is_deleted = 0
        <where>
            <if test="task.userId != null and task.userId != ''">
                AND jt.house_code IN (
@@ -62,6 +526,35 @@
            <if test="task.status != null and task.status != null">
                and jt.status = #{task.status}
            </if>
            <if test="task.aoiCode != null and task.aoiCode != null">
                and jh.district_code = #{task.aoiCode}
            </if>
            <if test="task.neiCode != null and task.neiCode != null">
                and jg.community_code = #{task.neiCode}
            </if>
            <if test="task.streetCode != null and task.streetCode != null">
                and jc.street_code = #{task.streetCode}
            </if>
            <if test="task.realName != null and task.realName != null">
                and bu.name like concat('%', #{task.realName}, '%')
            </if>
            <if test="task.phone != null and task.phone != null">
                and bu.phone like concat('%', #{task.phone}, '%')
            </if>
            <if test="task.communityName != null and task.communityName != null">
                and jc.name like concat('%', #{task.communityName}, '%')
            </if>
            <if test="task.districtName != null and task.districtName != null">
                and jh.district_name like concat('%', #{task.districtName}, '%')
            </if>
            <if test="task.frequency != null and task.frequency != ''">
                and jt.frequency = #{task.frequency}
            </if>
@@ -75,8 +568,6 @@
            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
            <if test="task.tenantId != null  and task.tenantId != ''">and jt.tenant_id = #{task.tenantId}</if>
            <if test="task.createDept != null ">and jt.create_dept = #{task.createDept}</if>
            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
@@ -86,90 +577,188 @@
            <if test="task.reportType != null and task.reportType != 2 ">
                and jt.report_type = #{task.reportType}
            </if>
            <!-- 场所店铺 -->
            <if test="task.reportType != null and task.reportType == 2 ">
                and jt.report_type in (2,3,4,5,6)
            </if>
            <if test="task.reportType == null">
                and jt.report_type in (2,3,4,5,6)
            <if test="isAdministrator==2">
                <choose>
                    <when test="task.roleName != null and task.roleName != ''">
                        <if test="task.roleName=='wgy'">
                            <choose>
                                <when test="gridCodeList !=null and gridCodeList.size()>0">
                                    and jg.grid_code in
                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jg.grid_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                        <if test="task.roleName=='mj'">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and jpag.community_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jpag.community_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                    </when>
                    <otherwise>
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and
                                (
                                jg.grid_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                or
                                jpag.community_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                )
                            </when>
                            <otherwise>
                                and
                                (
                                jg.grid_code in ('') or jpag.community_code in ('')
                                )
                            </otherwise>
                        </choose>
                    </otherwise>
                </choose>
            </if>
            and jt.is_deleted = 0
            and jt.house_code is not null
            order by jt.create_time desc
        </where>
    </select>
    <select id="selectTaskCount" resultType="int" parameterType="org.springblade.modules.task.vo.TaskVO">
    <select id="selectTaskPageByPersonCount" resultType="java.lang.Integer">
        SELECT
        count( 1 )
        count(1)
        FROM
        jczz_task jt
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jt.house_code
        LEFT JOIN jczz_house jh ON jt.house_code=jh.house_code and jh.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jt.create_user and bu.is_deleted = 0
        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
        LEFT JOIN jczz_task_bail_reporting_event jtbre on jtbre.task_id = jt.id
        <where>
            <if test="status != null">
                and jt.status = #{status}
            <if test="isAdministrator==2">
                <choose>
                    <when test="task.roleName != null and task.roleName != ''">
                        <if test="task.roleName=='wgy'">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and jh.grid_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jh.grid_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                        <if test="task.roleName=='mj' and isAdministrator==2">
                            <choose>
                                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                    and br.village_code in
                                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and br.village_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                    </when>
                    <otherwise>
                        <choose>
                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                                and
                                (
                                jg.grid_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                or
                                br.village_code in
                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                                )
                            </when>
                            <otherwise>
                                and
                                (
                                jg.grid_code in ('') or br.village_code in ('')
                                )
                            </otherwise>
                        </choose>
                    </otherwise>
                </choose>
            </if>
            <if test="frequency != null">
                and jt.frequency = #{frequency}
            <if test="task.status != null and task.status != null">
                and jt.status = #{task.status}
            </if>
            <if test="type != null">
                and jt.type = #{type}
            <if test="task.aoiCode != null and task.aoiCode != null">
                and jh.district_code = #{task.aoiCode}
            </if>
            <!-- 取保候审 -->
            <if test="reportType != null and reportType == 1 ">
                and jt.report_type = 1
            <if test="task.neiCode != null and task.neiCode != null">
                and jg.community_code = #{task.neiCode}
            </if>
            <!-- 场所店铺 -->
            <if test="reportType != null and reportType == 2 ">
                and jt.report_type in (2,3,4,5,6)
            <if test="task.communityCode != null and task.communityCode != null">
                and jg.community_code = #{task.communityCode}
            </if>
            <if test="name != null and name != ''">
                and jt.name like concat('%', #{name}, '%')
            <if test="task.communityName != null and task.communityName != null">
                and br.name like concat('%', #{task.communityName}, '%')
            </if>
            <if test="neiCode != null and neiCode != ''">
                and jda.nei_code = #{neiCode}
            <if test="task.streetCode != null and task.streetCode != null">
                and br.town_code = #{task.streetCode}
            </if>
            <if test="userId != null">
                AND jt.house_code IN (
                SELECT
                jgr.house_code
                FROM
                jczz_grid_range jgr
                LEFT JOIN jczz_grid jg ON jg.id = jgr.grid_id
                LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
                WHERE
                jg.is_deleted = 0
                AND jgm.user_id = #{userId} )
            <if test="task.realName != null and task.realName != null">
                and bu.name like concat('%', #{task.realName}, '%')
            </if>
            <if test="task.phone != null and task.phone != null">
                and bu.phone like concat('%', #{task.phone}, '%')
            </if>
            <if test="task.districtName != null and task.districtName != null">
                and jh.district_name like concat('%', #{task.districtName}, '%')
            </if>
            <if test="task.frequency != null and task.frequency != ''">
                and jt.frequency = #{task.frequency}
            </if>
            <if test="task.name != null and task.name != ''">
                and jt.name like concat('%', #{task.name}, '%')
            </if>
            <if test="task.id != null ">and jt.id = #{task.id}</if>
            <if test="task.type != null ">and jt.type = #{task.type}</if>
            <if test="task.remark != null  and task.remark != ''">and jt.remark = #{task.remark}</if>
            <if test="task.createTime != null ">and jt.create_time = #{task.createTime}</if>
            <if test="task.createUser != null ">and jt.create_user = #{task.createUser}</if>
            <if test="task.updateTime != null ">and jt.update_time = #{task.updateTime}</if>
            <if test="task.updateUser != null ">and jt.update_user = #{task.updateUser}</if>
            <if test="task.isDeleted != null ">and jt.is_deleted = #{task.isDeleted}</if>
            <if test="task.houseCode != null  and task.houseCode != ''">and jt.house_code = #{task.houseCode}</if>
            <if test="task.startTime != null and task.startTime != '' and task.endTime != null and task.endTime != '' ">
                AND jt.create_time BETWEEN #{task.startTime} and #{task.endTime}
            </if>
            <!-- 取保候审 或 报事报修 -->
            <if test="task.reportType != null and task.reportType != 2 ">
                and jt.report_type = #{task.reportType}
            </if>
            and jt.is_deleted = 0
            order by jt.create_time desc
        </where>
        order by jt.create_time desc
    </select>
    <select id="selectTaskPageBy" resultType="org.springblade.modules.task.vo.TaskVO">
        SELECT
        jt.* ,
        jda.address_name
        FROM
        jczz_task jt
        LEFT JOIN jczz_doorplate_address jda ON jt.house_code = jda.address_code
        LEFT JOIN jczz_community jc ON jc.CODE = jda.nei_code
        <where>
            <if test="task.reportType != null and task.reportType != '' and task.reportType == 1">
                AND jt.report_type = #{task.reportType}
            </if>
            <if test="task.reportType == null or task.reportType == ''">
                AND jt.report_type in (2,3,6)
            </if>
            <if test="task.userId != null and task.userId != ''">
                AND jc.res_police_user_id = #{task.userId}
            </if>
        </where>
    </select>