From 76d431070dbe0647c0470632b1b70becb357debd Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 21 Nov 2023 12:01:29 +0800
Subject: [PATCH] 新增商超展示,逻辑调整

---
 src/main/java/org/springblade/common/node/TreeNode.java                                              |    2 
 src/main/java/org/springblade/modules/place/service/IPlaceRelService.java                            |    8 +
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java                       |   41 ++++--
 src/main/java/org/springblade/modules/place/controller/PlaceController.java                          |    2 
 src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml                                |   16 ++
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.java                                    |    9 +
 src/main/java/org/springblade/modules/house/vo/HouseParam.java                                       |   15 ++
 src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java                    |   12 +
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml             |   49 ++++++++
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java                         |   11 +
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java            |   14 ++
 src/main/java/org/springblade/modules/place/service/IPlaceService.java                               |    2 
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml                                     |   12 ++
 src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java                              |    2 
 src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java                               |   11 +
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |  107 +++++++++++++----
 src/main/java/org/springblade/modules/place/vo/PlaceVO.java                                          |    4 
 src/main/java/org/springblade/modules/grid/service/IGridService.java                                 |    8 +
 18 files changed, 274 insertions(+), 51 deletions(-)

diff --git a/src/main/java/org/springblade/common/node/TreeNode.java b/src/main/java/org/springblade/common/node/TreeNode.java
index 4297f25..8d96d04 100644
--- a/src/main/java/org/springblade/common/node/TreeNode.java
+++ b/src/main/java/org/springblade/common/node/TreeNode.java
@@ -50,7 +50,7 @@
 
 
 	/**
-	 * 地址类型 1:小区  2:非小区  3:街路巷
+	 * 地址类型 1:小区  2:非小区  3:街路巷 4:商超
 	 */
 	private Integer addressType;
 
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
index 079f930..1a29119 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.java
@@ -164,4 +164,18 @@
 	 * @return
 	 */
 	List<DoorplateAddressEntity> getHouseList();
+
+	/**
+	 * 查询商超
+	 * @param houseParam
+	 * @return
+	 */
+	List<TreeNode> getPlaceRelList(@Param("houseParam") HouseParam houseParam);
+
+	/**
+	 * 查询商超详情集合
+	 * @param houseParam
+	 * @return
+	 */
+	List<FuncNode> getPlaceRelDetailList(@Param("houseParam") HouseParam houseParam);
 }
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index a29c098..6a11449 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -98,6 +98,19 @@
         <include refid="filterHouseGrid"/>
         group by nei_code
         )
+        union all
+        (
+        select '商超' as id,'商超' as name,4 as addressType from jczz_place_rel jpl
+        join jczz_place jp on jpl.place_id = jp.id and jp.is_deleted = 0
+        where jpl.is_deleted = 0
+        <if test="houseParam.communityName!=null and houseParam.communityName!=''">
+            and community_name like concat('%',#{houseParam.communityName},'%')
+        </if>
+        <if test="houseParam.gridName!=null and houseParam.gridName!=''">
+            and grid_name like concat('%',#{houseParam.gridName},'%')
+        </if>
+        limit 1
+        )
     </select>
 
     <!--根据小区名称查询楼栋/商铺集合-->
@@ -215,7 +228,8 @@
     <!--根据街路巷编号查询街路巷门牌名称集合-->
     <select id="getDoorplateNameList" resultType="org.springblade.modules.doorplateAddress.vo.FuncNode">
       select address_code as addressCode,
-      IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor
+      IFNULL(CONCAT(doorplate_num,sub_door_plate_no), IF(doorplate_num IS NULL, sub_door_plate_no, doorplate_num)) as floor,
+      3 as addressType
       from jczz_doorplate_address
       where 1=1
       and street_ru_code = #{houseParam.code}
@@ -325,4 +339,37 @@
         )
     </select>
 
+    <!--查询商超-->
+    <select id="getPlaceRelList" resultType="org.springblade.common.node.TreeNode">
+        select building_name as id,building_name as name,4 as addressType from jczz_place_rel jpl
+        join jczz_place jp on jpl.place_id = jp.id and jp.is_deleted = 0
+        where jpl.is_deleted = 0
+        <if test="houseParam.communityName!=null and houseParam.communityName!=''">
+            and community_name like concat('%',#{houseParam.communityName},'%')
+        </if>
+        <if test="houseParam.gridName!=null and houseParam.gridName!=''">
+            and grid_name like concat('%',#{houseParam.gridName},'%')
+        </if>
+        group by building_name
+    </select>
+
+    <!--查询商超详情集合-->
+    <select id="getPlaceRelDetailList" resultType="org.springblade.modules.doorplateAddress.vo.FuncNode">
+        select jp.id as addressCode,
+        doorplate_num as floor,
+        4 as addressType
+        from jczz_place_rel jpl
+        join jczz_place jp on jpl.place_id = jp.id and jp.is_deleted = 0
+        where jpl.is_deleted = 0
+        <if test="houseParam.communityName!=null and houseParam.communityName!=''">
+            and community_name like concat('%',#{houseParam.communityName},'%')
+        </if>
+        <if test="houseParam.gridName!=null and houseParam.gridName!=''">
+            and grid_name like concat('%',#{houseParam.gridName},'%')
+        </if>
+        <if test="houseParam.buildingName!=null and houseParam.buildingName!=''">
+            and building_name = #{houseParam.buildingName}
+        </if>
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index 2f0a741..86ef42f 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -21,6 +21,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.constant.DictConstant;
 import org.springblade.common.node.TreeNode;
 import org.springblade.common.utils.NodeTreeUtil;
@@ -31,6 +32,7 @@
 import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO;
 import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
 import org.springblade.modules.doorplateAddress.vo.FuncNode;
+import org.springblade.modules.grid.entity.GridEntity;
 import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.house.entity.HouseEntity;
 import org.springblade.modules.house.service.IHouseRentalService;
@@ -190,7 +192,10 @@
 	public Object getHousesList(HouseParam houseParam) {
 		List<TreeNode> list = new ArrayList<>();
 		Map<String, Object> map = new HashMap<>(2);
+		// 获取网格员对应的地址编号集合
 		List<String> stringList = getHouseCodeList(houseParam);
+		// 获取网格员对应的网格信息
+		getGridInfoByGridman(houseParam);
 		// 查小区,场所
 		if (houseParam.getType()==1){
 			// 根据社区名称查询小区集合
@@ -205,6 +210,28 @@
 			return getHouseLevelData(houseParam, map);
 		}
 		return list;
+	}
+
+	/**
+	 * 获取网格员对应的网格信息
+	 * @param houseParam
+	 */
+	private void getGridInfoByGridman(HouseParam houseParam) {
+		if (houseParam.getRoleName().equals("网格员")) {
+			QueryWrapper<GridEntity> wrapper = new QueryWrapper<>();
+			wrapper.eq("is_deleted", 0)
+				.eq("user_id", AuthUtil.getUserId());
+			List<GridEntity> list = gridService.list(wrapper);
+			if (list.size() > 0) {
+				GridEntity gridEntity = list.get(0);
+				if (!Strings.isBlank(gridEntity.getCommunityName())) {
+					houseParam.setCommunityName(gridEntity.getCommunityName().split("居民委员会")[0]);
+				}
+				if (!Strings.isBlank(gridEntity.getGridName())) {
+					houseParam.setGridName(gridEntity.getGridName());
+				}
+			}
+		}
 	}
 
 	/**
@@ -236,7 +263,8 @@
 			map.put("shopList",shopList);
 			// 返回
 			return map;
-		}else{
+		}
+		if(houseParam.getAddressType()==3){
 			// 根据街路巷编号查询街路巷门牌名称集合
 			List<FuncNode> doorplateNameList = baseMapper.getDoorplateNameList(houseParam,stringList);
 			map.put("aoiList",new ArrayList<>());
@@ -244,6 +272,16 @@
 			// 返回
 			return map;
 		}
+		if(houseParam.getAddressType()==4){
+			getGridInfoByGridman(houseParam);
+			// 查询商超
+			List<FuncNode> doorplateNameList = baseMapper.getPlaceRelDetailList(houseParam);
+			map.put("aoiList",new ArrayList<>());
+			map.put("shopList",doorplateNameList);
+			// 返回
+			return map;
+		}
+		return map;
 	}
 
 	/**
@@ -253,37 +291,48 @@
 	 * @return
 	 */
 	private Object getBuildLevelData(HouseParam houseParam,Map<String, Object> map) {
-		List<String> stringList = getHouseCodeList(houseParam);
-		// 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
-		if (houseParam.getCode().length()>12){
-			List<TreeNode> aoiList = new ArrayList<>();
-			List<TreeNode> shopList = new ArrayList<>();
-			// 根据社区名称查询楼栋或者商铺的集合
-
-			List<TreeNode> list = baseMapper.getBuildingList(houseParam,stringList);
-			// 排序  StringUtils.getDigits(X.getName()) 取出数字排序
-			List<TreeNode> sortList = list.stream().sorted(Comparator.comparing(X -> StringUtils.getDigits(X.getName()))).collect(Collectors.toList());
-			if (list.size()>0){
-				for (TreeNode treeNode : sortList) {
-					if (treeNode.getAddressType()==1){
-						aoiList.add(treeNode);
-					}
-					if (treeNode.getAddressType()==2){
-						shopList.add(treeNode);
-					}
-				}
-			}
-			map.put("aoiList",aoiList);
-			map.put("shopList",shopList);
+		if (houseParam.getAddressType()==4){
+			// 获取网格员对应的网格信息
+			getGridInfoByGridman(houseParam);
+			// 查询商超
+			List<TreeNode> list = baseMapper.getPlaceRelList(houseParam);
+			map.put("aoiList", new ArrayList<>());
+			map.put("shopList", list);
 			// 返回
 			return map;
 		}else {
-			// 查询街路巷
-			List<TreeNode> list  = baseMapper.getStreetRuList(houseParam,stringList);
-			map.put("aoiList",new ArrayList<>());
-			map.put("shopList",list);
-			// 返回
-			return map;
+			List<String> stringList = getHouseCodeList(houseParam);
+			// 判断 code 长度,如果 code 长度大于 12 则为小区查楼栋/商铺,否则则按社区查街路巷
+			if (houseParam.getCode().length() > 12) {
+				List<TreeNode> aoiList = new ArrayList<>();
+				List<TreeNode> shopList = new ArrayList<>();
+				// 根据社区名称查询楼栋或者商铺的集合
+
+				List<TreeNode> list = baseMapper.getBuildingList(houseParam, stringList);
+				// 排序  StringUtils.getDigits(X.getName()) 取出数字排序
+				List<TreeNode> sortList = list.stream().sorted(Comparator.comparing(X -> StringUtils.getDigits(X.getName()))).collect(Collectors.toList());
+				if (list.size() > 0) {
+					for (TreeNode treeNode : sortList) {
+						if (treeNode.getAddressType() == 1) {
+							aoiList.add(treeNode);
+						}
+						if (treeNode.getAddressType() == 2) {
+							shopList.add(treeNode);
+						}
+					}
+				}
+				map.put("aoiList", aoiList);
+				map.put("shopList", shopList);
+				// 返回
+				return map;
+			} else {
+				// 查询街路巷
+				List<TreeNode> list = baseMapper.getStreetRuList(houseParam, stringList);
+				map.put("aoiList", new ArrayList<>());
+				map.put("shopList", list);
+				// 返回
+				return map;
+			}
 		}
 	}
 
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java b/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
index 38b0b48..362b8d1 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/FuncNode.java
@@ -49,7 +49,7 @@
 	private String residentialStatus;
 
 	/**
-	 * 地址类型 1:小区  2:非小区
+	 * 地址类型 1:小区  2:非小区  3:商超
 	 */
 	private Integer addressType;
 
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
index 7f2178e..18446bb 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -21,6 +21,8 @@
 import org.springblade.modules.grid.vo.GridVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
+
 import java.util.List;
 
 /**
@@ -58,4 +60,11 @@
 	 * 空间分析 mysql 5.7  点落面
 	 */
 	GridEntity spatialAnalysis(@Param("point")String point);
+
+	/**
+	 * 根据参数查询网格数据
+	 * @param place
+	 * @return
+	 */
+	GridVO getGridDetailByParam(@Param("place") PlaceVO place);
 }
diff --git a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
index 3f07461..52d3ba7 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -31,5 +31,17 @@
         SELECT * FROM jczz_grid WHERE ST_Intersects(geom, ST_GeomFromText(${point},0))
     </select>
 
+    <!--根据地址编号查询网格数据-->
+    <select id="getGridDetailByParam" resultType="org.springblade.modules.grid.vo.GridVO">
+        select jg.id,jg.grid_name,jg.community_name,
+        bu.real_name as realName,bu.phone as gridPhone
+        from jczz_grid jg
+        left join jczz_grid_range jgr on jg.id = jgr.grid_id
+        left join jczz_place_rel jpr on locate(jpr.community_name,jg.community_name)>0 and locate(jpr.grid_name,jg.grid_name)>0 and jpr.is_deleted = 0
+        left join blade_user bu on bu.id = jg.user_id and bu.is_deleted = 0
+        where jg.is_deleted = 0
+        and jpr.place_id = #{place.id}
+        limit 1
+    </select>
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/grid/service/IGridService.java b/src/main/java/org/springblade/modules/grid/service/IGridService.java
index a9bc28c..fdc1974 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridService.java
@@ -22,6 +22,7 @@
 import org.springblade.modules.grid.vo.GridVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
 
 import java.util.List;
 
@@ -67,4 +68,11 @@
 	 * 空间分析
 	 */
 	Object spatialAnalysis();
+
+	/**
+	 * 根据参数查询网格数据
+	 * @param place
+	 * @return
+	 */
+	GridVO getGridDetailByParam(PlaceVO place);
 }
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
index b633976..acbe123 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java
@@ -30,6 +30,7 @@
 import org.springblade.modules.grid.mapper.GridMapper;
 import org.springblade.modules.grid.service.IGridService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.place.vo.PlaceVO;
 import org.springblade.modules.system.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -141,4 +142,14 @@
 		}
 		return null;
 	}
+
+	/**
+	 * 根据参数查询网格数据
+	 * @param place
+	 * @return
+	 */
+	@Override
+	public GridVO getGridDetailByParam(PlaceVO place) {
+		return baseMapper.getGridDetailByParam(place);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseParam.java b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
index 6482744..a1d9ddb 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseParam.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseParam.java
@@ -31,4 +31,19 @@
 	 * 角色名称
 	 */
 	private String roleName;
+
+	/**
+	 * 网格名称
+	 */
+	private String gridName;
+
+	/**
+	 * 社区名称
+	 */
+	private String communityName;
+
+	/**
+	 * 商超写字楼名称
+	 */
+	private String buildingName;
 }
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index c30d9a6..fe3d131 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -162,7 +162,7 @@
 	 * @return
 	 */
 	@GetMapping("/getDetail")
-	public R<PlaceVO> getDetail(PlaceEntity place) {
+	public R<PlaceVO> getDetail(PlaceVO place) {
 		return R.data(placeService.getDetail(place));
 	}
 
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
index 8011ea4..4346372 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
@@ -16,10 +16,14 @@
  */
 package org.springblade.modules.place.mapper;
 
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
 import org.springblade.modules.place.entity.PlaceRelEntity;
 import org.springblade.modules.place.vo.PlaceRelVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
+
 import java.util.List;
 
 /**
@@ -39,5 +43,10 @@
 	 */
 	List<PlaceRelVO> selectPlaceRelPage(IPage page, PlaceRelVO placeRel);
 
-
+	/**
+	 * 查询地址编码信息(社区派出所相关信息)
+	 * @param place
+	 * @return
+	 */
+	DoorplateAddressEntity getDoorplateAddressEntity(@Param("place") PlaceVO place);
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
index 5903b7c..fb30a3c 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
@@ -25,5 +25,21 @@
         select * from jczz_place_rel where is_deleted = 0
     </select>
 
+    <!--查询地址编码信息(社区派出所相关信息)-->
+    <select id="getDoorplateAddressEntity" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
+		select
+        street_name as townStreetName,
+        community_name as neiName,
+        jda.branch_name,
+        jda.local_police_station_name,
+        jda.policeman,
+        jda.policeman_phone
+        from jczz_place_rel jpr
+        left join jczz_doorplate_address jda on locate(jpr.community_name,jda.nei_name)>0
+        where is_deleted = 0
+        and place_id = #{place.id}
+        limit 1
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java b/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
index a3aae8b..5aa43bb 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
@@ -17,9 +17,11 @@
 package org.springblade.modules.place.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
 import org.springblade.modules.place.entity.PlaceRelEntity;
 import org.springblade.modules.place.vo.PlaceRelVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.place.vo.PlaceVO;
 
 /**
  * 场所区域关联信息表(商超) 服务类
@@ -39,4 +41,10 @@
 	IPage<PlaceRelVO> selectPlaceRelPage(IPage<PlaceRelVO> page, PlaceRelVO placeRel);
 
 
+	/**
+	 * 查询地址编码信息(社区派出所相关信息)
+	 * @param place
+	 * @return
+	 */
+	DoorplateAddressEntity getDoorplateAddressEntity(PlaceVO place);
 }
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index 9db4a3f..e58114d 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -77,7 +77,7 @@
 	 * @param place
 	 * @return
 	 */
-	PlaceVO getDetail(PlaceEntity place);
+	PlaceVO getDetail(PlaceVO place);
 
 	/**
 	 * 场所数据到导入
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
index f8363d6..3a98856 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
@@ -17,11 +17,13 @@
 package org.springblade.modules.place.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
 import org.springblade.modules.place.entity.PlaceRelEntity;
 import org.springblade.modules.place.vo.PlaceRelVO;
 import org.springblade.modules.place.mapper.PlaceRelMapper;
 import org.springblade.modules.place.service.IPlaceRelService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.place.vo.PlaceVO;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -39,5 +41,13 @@
 		return page.setRecords(baseMapper.selectPlaceRelPage(page, placeRel));
 	}
 
-
+	/**
+	 * 查询地址编码信息(社区派出所相关信息)
+	 * @param place
+	 * @return
+	 */
+	@Override
+	public DoorplateAddressEntity getDoorplateAddressEntity(PlaceVO place) {
+		return baseMapper.getDoorplateAddressEntity(place);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 6a3cf71..d340b03 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -255,25 +255,36 @@
 	 * @return
 	 */
 	@Override
-	public PlaceVO getDetail(PlaceEntity place) {
+	public PlaceVO getDetail(PlaceVO place) {
 		// 查询场所信息
 		PlaceVO placeVO = baseMapper.getDetail(place);
-		if (null!= placeVO) {
-			if (null != placeVO.getHouseCode() && !placeVO.getHouseCode().equals("")){
-				place.setHouseCode(placeVO.getHouseCode());
+		if (null!= place.getAddressType() && place.getAddressType()==4){
+			if (null != placeVO) {
+				// 查询地址编码信息(社区派出所相关信息)
+				DoorplateAddressEntity addressEntity = placeRelService.getDoorplateAddressEntity(placeVO);
+				placeVO.setDoorplateAddressEntity(addressEntity);
+				// 查询网格信息
+				placeVO.setGrid(gridService.getGridDetailByParam(placeVO));
 			}
-			// 查询门牌地址信息
-			if (null != place.getHouseCode() && !place.getHouseCode().equals("")) {
-				QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
-				wrapper.eq("address_code", place.getHouseCode());
-				List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
-				if (list.size() > 0) {
-					placeVO.setDoorplateAddressEntity(list.get(0));
+		}else {
+			if (null != placeVO) {
+				if (null != placeVO.getHouseCode() && !placeVO.getHouseCode().equals("")) {
+					place.setHouseCode(placeVO.getHouseCode());
 				}
-				// 查询网格数据
-				placeVO.setGrid(gridService.getGridDetailByHouseCode(place.getHouseCode()));
-			}else {
-				// 通过定位点落面分析网格位置,反向推出社区派出所相关数据
+				// 查询门牌地址信息
+				if (null != place.getHouseCode() && !place.getHouseCode().equals("")) {
+					QueryWrapper<DoorplateAddressEntity> wrapper = new QueryWrapper<>();
+					wrapper.eq("address_code", place.getHouseCode());
+					List<DoorplateAddressEntity> list = doorplateAddressService.list(wrapper);
+					if (list.size() > 0) {
+						placeVO.setDoorplateAddressEntity(list.get(0));
+					}
+					// 查询网格数据
+					placeVO.setGrid(gridService.getGridDetailByHouseCode(place.getHouseCode()));
+				} else {
+					// 通过定位点落面分析网格位置,反向推出社区派出所相关数据
+
+				}
 			}
 		}
 		// 返回
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
index 8c9519b..2038ab3 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -50,6 +50,10 @@
 	 * 角色名称
 	 */
 	private String roleName;
+	/**
+	 * 类型 2:非小区(能关联地址表)  3:商超
+	 */
+	private Integer addressType;
 
 	/**
 	 * 采集人姓名

--
Gitblit v1.9.3