zhongrj
2024-02-07 48c2fece0e18e43fec9e661f852df70f8765abc1
场所详情查询过滤
3 files modified
106 ■■■■ changed files
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml 62 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java 41 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.java
@@ -43,7 +43,8 @@
                                        @Param("placeExt") PlaceExtVO placeExt,
                                        @Param("houseCodeList") List<String> houseCodeList,
                                        @Param("regionChildCodesList") List<String> regionChildCodesList,
                                        @Param("isAdministrator") Integer isAdministrator);
                                        @Param("isAdministrator") Integer isAdministrator,
                                        @Param("gridCodeList")  List<String> gridCodeList);
    /**
     * 场所详情表 自定义详情
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -19,25 +19,71 @@
        jczz_place_ext jpe
        LEFT JOIN jczz_place jp ON jpe.place_id = jp.id AND jp.is_deleted = 0
        LEFT JOIN jczz_grid jg ON jp.grid_code = jg.grid_code AND jg.is_deleted = 0
        WHERE
        jpe.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 jpe.is_deleted = 0
        and jp.place_name != ''
        <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="placeExt.roleName != null and placeExt.roleName != ''">
                    <if test="placeExt.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="placeExt.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 in ('')
                            )
                        </otherwise>
                    </choose>
                </otherwise>
            </choose>
        </if>
        <if test="placeExt.placeName != null and placeExt.placeName != ''">
            and jp.place_name like concat('%',#{placeExt.placeName},'%')
        </if>
        <if test="placeExt.communityCode != null and placeExt.communityCode != ''">
            and jpag.community_code like concat('%',#{placeExt.communityCode},'%')
        </if>
        <if test="placeExt.placeId != null">
            and jp.id = #{placeExt.placeId}
        </if>
src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -21,7 +21,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.entity.PlaceExtEntity;
@@ -31,8 +33,9 @@
import org.springblade.modules.place.service.IPlacePractitionerService;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceExtVO;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IRegionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -73,22 +76,42 @@
    @Override
    public IPage<PlaceExtVO> selectPlaceExtPage(IPage<PlaceExtVO> page, PlaceExtVO placeExt) {
        List<String> list = new ArrayList<>();
        if (null != placeExt.getRoleName() && !placeExt.getRoleName().equals("")) {
            if (placeExt.getRoleName().equals("网格员")) {
                // 查询对应的房屋地址code
                list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
            }
            if (!placeExt.getRoleName().equals("系统管理员")) {
                placeExt.setCreateUser(AuthUtil.getUserId());
//        if (null != placeExt.getRoleName() && !placeExt.getRoleName().equals("")) {
//            if (placeExt.getRoleName().equals("网格员")) {
//                // 查询对应的房屋地址code
//                list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
//            }
//            if (!placeExt.getRoleName().equals("系统管理员")) {
//                placeExt.setCreateUser(AuthUtil.getUserId());
//            }
//        }
        String roleName = SpringUtils.getRequestParam("roleName");
        String communityCode = SpringUtils.getRequestParam("communityCode");
        if (!Strings.isBlank(communityCode)){
            // 校验社区编号是否合规
            if(null!=SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
                placeExt.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)){
            placeExt.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());
            }
        }
        if (AuthUtil.getUserAccount().equals("18879306957")) {
            placeExt.setCommunityCode("361102003027");
            placeExt.setCreateUser(null);
        }
        return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt, list,regionChildCodesList,isAdministrator));
        return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt, list,regionChildCodesList,isAdministrator,gridCodeList));
    }
    /**