zhongrj
2024-02-07 86ad1fbba8961fe2a7875a02c52372328daa59dd
场所检查数据过滤
4 files modified
113 ■■■■■ changed files
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java 5 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml 66 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.java
@@ -40,7 +40,10 @@
     * @return
     */
    List<PlaceCheckVO> selectPlaceCheckPage(IPage page,
                                            @Param("placeCheck") PlaceCheckVO placeCheck);
                                            @Param("placeCheck") PlaceCheckVO placeCheck,
                                            @Param("isAdministrator") Integer isAdministrator,
                                            @Param("regionChildCodesList") List<String> regionChildCodesList,
                                            @Param("gridCodeList") List<String> gridCodeList);
    /**
     * 查询场所检查表
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
@@ -93,11 +93,12 @@
        jpe.legal_person
        FROM
        jczz_place_check jpc
        LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code
        LEFT JOIN jczz_grid jg ON jg.grid_code = jp.grid_code
        LEFT JOIN jczz_place jp ON jpc.house_code = jp.house_code and jp.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_place_ext jpe ON jpe.place_id = jp.id
        LEFT JOIN blade_user bu ON bu.id = jpc.create_user
        LEFT JOIN jczz_place_ext jpe ON jpe.place_id = jp.id and jpe.is_deleted = 0
        LEFT JOIN blade_user bu ON bu.id = jpc.create_user and bu.is_deleted = 0
        LEFT JOIN jczz_police_affairs_grid jpag on jp.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        where jpc.is_deleted = 0
        <if test="placeCheck.houseCode!=null and placeCheck.houseCode!=''">
            and jpc.house_code = #{placeCheck.houseCode}
@@ -133,7 +134,62 @@
        <if test="placeCheck.endTime!=null and placeCheck.endTime!=''">
            and date_format(jpc.create_time,'%Y-%m-%d') &lt;= #{placeCheck.endTime}
        </if>
        <if test="isAdministrator==2">
            <choose>
                <when test="placeCheck.roleName != null and placeCheck.roleName != ''">
                    <if test="placeCheck.roleName=='wgy'">
                        <choose>
                            <when test="gridCodeList !=null and gridCodeList.size()>0">
                                and jp.grid_code in
                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                    #{code}
                                </foreach>
                            </when>
                            <otherwise>
                                and jp.grid_code in ('')
                            </otherwise>
                        </choose>
                    </if>
                    <if test="placeCheck.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 in ('')
                            )
                        </otherwise>
                    </choose>
                </otherwise>
            </choose>
        </if>
        order by jpc.create_time desc
    </select>
src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
@@ -16,16 +16,20 @@
 */
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xxl.job.core.util.FileUtil;
import org.apache.logging.log4j.util.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.patrol.entity.PatrolRecord;
import org.springblade.modules.patrol.service.IPatrolRecordService;
import org.springblade.modules.place.dto.PlaceCheckDTO;
@@ -34,6 +38,9 @@
import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.modules.place.mapper.PlaceCheckMapper;
import org.springblade.modules.place.service.IPlaceCheckService;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity;
import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
@@ -41,6 +48,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@@ -58,7 +66,29 @@
    @Override
    public IPage<PlaceCheckVO> selectPlaceCheckPage(IPage<PlaceCheckVO> page, PlaceCheckVO placeCheck) {
        List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck);
        String roleName = SpringUtils.getRequestParam("roleName");
        String communityCode = SpringUtils.getRequestParam("communityCode");
        if (!Strings.isBlank(communityCode)){
            // 校验社区编号是否合规
            if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
                placeCheck.setCommunityCode(communityCode);
            }
        }
        List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
        Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2;
        // 网格编号集合
        List<String> gridCodeList = new ArrayList<>();
        // 民警角色
        if (!Strings.isBlank(roleName)){
            placeCheck.setRoleName(roleName);
            if(roleName.equals("mj")) {
                regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
            }
            if (roleName.equals("wgy")) {
                gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
            }
        }
        List<PlaceCheckVO> placeCheckVOS = baseMapper.selectPlaceCheckPage(page, placeCheck,isAdministrator,regionChildCodesList,gridCodeList);
        for (PlaceCheckVO placeCheckVO : placeCheckVOS) {
            int number = 0;
            for (PatrolRecord patrolRecord : placeCheckVO.getPatrolRecordVOList()) {
src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
@@ -98,4 +98,14 @@
    private Long jpid;
    /**
     * 角色名称
     */
    private String roleName;
    /**
     * 社区编号
     */
    private String communityCode;
}