linwe
2024-08-07 06df33f156924c564c17b11fdb96c5bb298a810d
src/main/java/org/springblade/modules/grid/mapper/GridWorkLogMapper.xml
@@ -7,17 +7,18 @@
        select
        jgwl.*,
        jh.name,jh.phone_number as phone,
        if(jda.id is not null,jda.address_name,jh.current_address) as address,
        jda.town_street_name AS townName,
        jda.nei_name AS neiName,
        jh.current_address AS address,
        br.town_name AS townName,
        br.name AS neiName,
        jg.grid_name,
        bu.real_name as createUserName
        from jczz_grid_work_log jgwl
        left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
        LEFT JOIN jczz_grid_range jgr on jgr.house_code=jda.address_code
        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
        left join jczz_house jhs on jhs.house_code = jh.house_code and jhs.is_deleted = 0
        LEFT JOIN jczz_grid jg on jhs.grid_code = jg.grid_code and jg.is_deleted = 0
        LEFT JOIN blade_user bu on bu.id = jgwl.create_user and bu.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jhs.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        left join blade_region br on br.code = jpag.community_code
        where jgwl.is_deleted = 0
        <if test="gridWorkLog.type !=null">
            and jgwl.type = #{gridWorkLog.type}
@@ -31,9 +32,6 @@
        <if test="gridWorkLog.personType !=null">
            and jgwl.person_type = #{gridWorkLog.personType}
        </if>
        <if test="gridWorkLog.gridId !=null">
            and jgr.grid_id = #{gridWorkLog.gridId}
        </if>
        <if test="gridWorkLog.name !=null and gridWorkLog.name!=''">
            and jh.name like concat('%',#{gridWorkLog.name},'%')
        </if>
@@ -44,38 +42,121 @@
            and jh.phone_number like concat('%',#{gridWorkLog.phone},'%')
        </if>
        <if test="gridWorkLog.townName!=null and gridWorkLog.townName!=''">
            and jda.town_street_name like concat('%',#{gridWorkLog.townName},'%')
            and br.town_name like concat('%',#{gridWorkLog.townName},'%')
        </if>
        <if test="gridWorkLog.neiName!=null and gridWorkLog.neiName!=''">
            and jda.nei_name like concat('%',#{gridWorkLog.neiName},'%')
            and br.name  like concat('%',#{gridWorkLog.neiName},'%')
        </if>
        <if test="gridWorkLog.gridId !=null">
            and jg.id = #{gridWorkLog.gridId}
        </if>
        <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 test="gridWorkLog.roleName != null and gridWorkLog.roleName != ''">
                    <if test="gridWorkLog.roleName=='wgy'">
                        <choose>
                            <when test="gridCodeList !=null and gridCodeList.size()>0">
                                and jhs.grid_code in
                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jhs.grid_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                    <if test="gridWorkLog.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>
                    and jg.community_code in ('')
                    <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>
        order by jgwl.id desc
    </select>
    <!--走访日志数量统计-->
    <select id="getGridWorkCountHandleCount" resultType="java.lang.Integer">
        select count(*) from jczz_grid_work_log jgwl
        left join jczz_household jh on jgwl.household_id = jh.id and jh.is_deleted = 0
        left join jczz_grid_range jgr on jgr.house_code=jh.house_code
        left join jczz_house jhs on jhs.house_code=jh.house_code and jhs.is_deleted = 0
        where jgwl.is_deleted = 0
        <if test="status!=null">
            and jgwl.status = #{status}
            and (jgwl.status = #{status} or jgwl.status = 4)
        </if>
        <if test="gridId!=null">
            and jgr.grid_id = #{gridId}
        <if test="gridCode!=null and gridCode!=''">
            and jhs.grid_code = #{gridCode}
        </if>
    </select>
    <select id="getDetail" resultType="org.springblade.modules.grid.vo.GridWorkLogVO">
        SELECT
        jgwl.id,
        jgwl.type,
        jgwl.person_type,
        jgwl.household_id,
        jgwl.context,
        jgwl.url,
        jgwl.work_time,
        jgwl.source,
        jgwl.status,
        jgwl.create_time,
        jgwl.create_user,
        jgwl.is_deleted,
        jl.label_name
        FROM
        jczz_grid_work_log jgwl
        LEFT JOIN jczz_label jl ON jgwl.person_type = jl.id
        <where>
            <if test="id != null ">and jgwl.id = #{id}</if>
            <if test="type != null ">and jgwl.type = #{type}</if>
            <if test="personType != null ">and jgwl.person_type = #{personType}</if>
            <if test="householdId != null ">and jgwl.household_id = #{householdId}</if>
            <if test="context != null  and context != ''">and jgwl.context = #{context}</if>
            <if test="url != null  and url != ''">and jgwl.url = #{url}</if>
            <if test="workTime != null ">and jgwl.work_time = #{workTime}</if>
            <if test="source != null ">and jgwl.source = #{source}</if>
            <if test="status != null ">and jgwl.status = #{status}</if>
            <if test="createTime != null ">and jgwl.create_time = #{createTime}</if>
            <if test="createUser != null ">and jgwl.create_user = #{createUser}</if>
            <if test="isDeleted != null ">and jgwl.is_deleted = #{isDeleted}</if>
        </where>
    </select>
</mapper>