zhongrj
2023-11-11 f4c033339e4a44198347f5e63b64c89204491920
户室,商铺查询过滤
3 files modified
40 ■■■■■ changed files
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java 15 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -83,11 +83,12 @@
    /**
     *  查询户室及住户相关信息,单元中包含住户
     * @param name
     * @param code
     * @param houseParam
     * @param list
     * @return
     */
    List<FuncNode> getUnitHouseholdList(@Param("name") String name, @Param("code") String code);
    List<FuncNode> getUnitHouseholdList(@Param("houseParam") HouseParam houseParam,
                                        @Param("list") List<String> list);
    /**
     * 先查询门牌信息
@@ -118,11 +119,12 @@
    /**
     * 根据街路巷编号查询街路巷门牌名称集合
     * @param name 该处当社区编号用
     * @param code 街路巷编号
     * @param houseParam name/code 该处当社区编号用/ 街路巷编号
     * @param list
     * @return
     */
    List<FuncNode> getDoorplateNameList(@Param("name") String name,@Param("code") String code);
    List<FuncNode> getDoorplateNameList(@Param("houseParam") HouseParam houseParam,
                                        @Param("list") List<String> list);
    /**
     * 根据参数获取地址详情
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -138,7 +138,8 @@
            and floor != ''
            and house_name != ''
            and doorplate_type = '户室牌'
            and building_code = #{code}
            and building_code = #{houseParam.code}
            <include refid="filterHouseGrid"/>
        )
        union all
        (
@@ -146,9 +147,10 @@
            '' as realName,'' as roleType,2 as addressType
            from jczz_doorplate_address
            where 1=1
            and building_code = #{code}
            and building_code = #{houseParam.code}
            and building_name != ''
            and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
            <include refid="filterHouseGrid"/>
        )
    </select>
@@ -216,9 +218,10 @@
      IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor
      from jczz_doorplate_address
      where 1=1
      and street_ru_code = #{code}
      and nei_code = #{name}
      and street_ru_code = #{houseParam.code}
      and nei_code = #{houseParam.name}
      and aoi_code is null
      <include refid="filterHouseGrid"/>
      order by doorplate_num,sub_door_plate_no
    </select>
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -213,12 +213,19 @@
     * @return
     */
    private Map<String, Object> getHouseLevelData(HouseParam houseParam, Map<String, Object> map) {
        List<String> stringList = new ArrayList<>();
        if (null!=houseParam.getRoleName() && !houseParam.getRoleName().equals("")){
            if (houseParam.getRoleName().equals("网格员")){
                // 查询对应的房屋地址code
                stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
            }
        }
        // 判断地址类型
        if (houseParam.getAddressType()==1) {
            List<FuncNode> aoiList = new ArrayList<>();
            List<FuncNode> shopList = new ArrayList<>();
            // 查询户室及住户相关信息,单元中包含住户,或者和单元平级的 商铺
            List<FuncNode> householdList = getUnitHouseholdList(houseParam.getName(), houseParam.getCode());
            List<FuncNode> householdList = getUnitHouseholdList(houseParam,stringList);
            // 遍历
            if (householdList.size()>0){
                for (FuncNode funcNode : householdList) {
@@ -236,7 +243,7 @@
            return map;
        }else{
            // 根据街路巷编号查询街路巷门牌名称集合
            List<FuncNode> doorplateNameList = baseMapper.getDoorplateNameList(houseParam.getName(), houseParam.getCode());
            List<FuncNode> doorplateNameList = baseMapper.getDoorplateNameList(houseParam,stringList);
            map.put("aoiList",new ArrayList<>());
            map.put("shopList",doorplateNameList);
            // 返回
@@ -297,10 +304,10 @@
     * @param code
     * @return
     */
    private List<FuncNode> getUnitHouseholdList(String name, String code) {
    private List<FuncNode> getUnitHouseholdList(HouseParam houseParam,List<String> stringList) {
        List<FuncNode> list = new ArrayList<>();
        // 查询户室及住户相关信息,单元中包含住户
        List<FuncNode> funcNodes  = baseMapper.getUnitHouseholdList(name,code);
        List<FuncNode> funcNodes  = baseMapper.getUnitHouseholdList(houseParam,stringList);
        // 遍历
        List<FuncNode> aoiNodes  = new ArrayList<>();
        List<FuncNode> shopNodes  = new ArrayList<>();