lin
2024-03-02 d35386e9b1a5d87aa32b4367a745ba550b06ba12
房屋查询过滤
7 files modified
133 ■■■■ changed files
src/main/java/org/springblade/common/param/CommonParamSet.java 11 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/entity/HouseEntity.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml 55 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java 12 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/vo/HouseVO.java 9 ●●●●● patch | view | raw | blame | history
src/test/java/org/springblade/test/BladeTest.java 39 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -1,5 +1,6 @@
package org.springblade.common.param;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.AuthUtils;
@@ -62,8 +63,14 @@
                }
            }
            // 超级管理员、系统管理员、公安管理员不过滤数据
            isAdministrator = AuthUtils.isAdmin(roleName) || AuthUtils.isAdmin() ||
                AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
//            isAdministrator = AuthUtils.isAdmin(roleName) || AuthUtils.isAdmin() ||
//                AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
            if (StringUtils.isNotBlank(roleName)) {
                isAdministrator = AuthUtils.isAdmin(roleName) ? 1 : 2;
            } else {
                isAdministrator = AuthUtils.isAdmin() ||
                    AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
            }
            if (isAdministrator == 2) {
                // 获取当前用户的所属行政区划编号()
src/main/java/org/springblade/modules/house/entity/HouseEntity.java
@@ -152,6 +152,12 @@
    private String gridCode;
    /**
     * 警务网格编号
     */
    @ApiModelProperty(value = "警务网格编号")
    private String jwGridCode;
    /**
     * 来源 1:地址总表  2:国控采集
     */
    @ApiModelProperty(value = "来源 1:地址总表  2:国控采集")
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
@@ -48,6 +48,7 @@
    List<HouseVO> selectHousePage(IPage page,
                                  @Param("house") HouseVO house,
                                  @Param("regionChildCodesList") List<String> regionChildCodesList,
                                  @Param("gridCodeList") List<String> gridCodeList,
                                  @Param("isAdministrator") Integer isAdministrator);
    /**
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -140,6 +140,7 @@
        from jczz_house jh
        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_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
        <where>
            <if test="house.id != null ">and jh.id = #{house.id}</if>
            <if test="house.streetCode != null and house.streetCode != ''">
@@ -175,12 +176,56 @@
            <if test="house.buildingNo != null ">and jh.building_no = #{house.buildingNo}</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="house.roleName != null and house.roleName != ''">
                        <if test="house.roleName=='wgy'">
                            <choose>
                                <when test="gridCodeList !=null and gridCodeList.size()>0">
                                    and jh.grid_code in
                                    <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
                                        #{code}
                                    </foreach>
                                </when>
                                <otherwise>
                                    and jh.grid_code in ('')
                                </otherwise>
                            </choose>
                        </if>
                        <if test="house.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>
                            </otherwise>
                        </choose>
                    </otherwise>
                </choose>
            </if>
            <if test="house.parentId != null ">
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -23,6 +23,7 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.IdUtils;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
@@ -51,6 +52,7 @@
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -87,9 +89,13 @@
    @Override
    public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
        List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
        Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
        List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house, regionChildCodesList, isAdministrator);
//        List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
//        Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
        CommonParamSet commonParamSet = new CommonParamSet().invoke(HouseVO.class,house);
        List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house,
            commonParamSet.getRegionChildCodesList(),commonParamSet.getGridCodeList(), commonParamSet.getIsAdministrator()
            );
        return page.setRecords(houseVOS);
    }
src/main/java/org/springblade/modules/house/vo/HouseVO.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.house.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.house.entity.HouseEntity;
@@ -73,5 +74,13 @@
    //    标签父级id
    private Integer parentId;
    // 角色名称
    @ApiModelProperty(value = "角色名称", example = "")
    private String roleName;
    // 社区编号
    @ApiModelProperty(value = "社区编号", example = "")
    private String communityCode;
    private List<UserHouseLabelVO> userHouseLabelVOList = new ArrayList<>();
}
src/test/java/org/springblade/test/BladeTest.java
@@ -1,11 +1,13 @@
package org.springblade.test;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.apache.logging.log4j.util.Strings;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.test.BladeBootTest;
import org.springblade.core.test.BladeSpringExtension;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.flow.engine.entity.FlowModel;
import org.springblade.flow.engine.service.FlowEngineService;
@@ -15,6 +17,8 @@
import org.springblade.modules.house.service.IHouseService;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
import org.springblade.modules.task.service.ITaskReportForRepairsService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +44,7 @@
    private IDoorplateAddressService iDoorplateAddressService;
    @Autowired
    private ITaskReportForRepairsService iTaskReportForRepairsService;
    private IHouseService iHouseService;
//    @Test
    public void test() {
@@ -59,25 +63,24 @@
//    @Test
    public void test2() {
        List<TaskReportForRepairsEntity> list = iTaskReportForRepairsService.list();
        IHouseService bean = SpringUtils.getBean(IHouseService.class);
        IPlaceService bean2 = SpringUtils.getBean(IPlaceService.class);
        for (TaskReportForRepairsEntity taskReportForRepairsEntity : list) {
            HouseEntity houseEntity = bean.getOne(Wrappers.<HouseEntity>lambdaQuery()
                .eq(HouseEntity::getHouseCode, taskReportForRepairsEntity.getAddressCode()));
            if (houseEntity != null) {
//                taskReportForRepairsEntity.setGridCode(houseEntity.getGridCode());
                iTaskReportForRepairsService.updateById(taskReportForRepairsEntity);
            }else {
                PlaceEntity placeEntity = bean2.getOne(Wrappers.<PlaceEntity>lambdaQuery()
                    .eq(PlaceEntity::getHouseCode, taskReportForRepairsEntity.getAddressCode()).last("limit 1"));
//                taskReportForRepairsEntity.setGridCode(placeEntity.getGridCode());
                iTaskReportForRepairsService.updateById(taskReportForRepairsEntity);
        // 查询 警务网格为空的数据
        List<HouseEntity> list = iHouseService.list(Wrappers.<HouseEntity>lambdaQuery().eq(HouseEntity::getIsDeleted,0));
        // 遍历
        for (HouseEntity houseEntity : list) {
            if (!Strings.isBlank(houseEntity.getLng())) {
                // 空间分析
                //点坐标解析
                String point = "'POINT(" + houseEntity.getLng() + " " + houseEntity.getLat() + ")'";
                List<PoliceAffairsGridEntity> policeAffairsGridEntities
                    = SpringUtil.getBean(IPoliceAffairsGridService.class).spatialAnalysis(point);
                if (policeAffairsGridEntities.size() > 0) {
                    PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntities.get(0);
                    houseEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
                    // 更新
                    iHouseService.updateById(houseEntity);
                }
            }
        }
    }
    @Test