From ccadec06e8466b2fea13bd4f0790cd326f6fe0c8 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 03 Apr 2024 17:13:48 +0800
Subject: [PATCH] 地址二维码信息查询修改(返回对应场所负责人及业主信息)

---
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml             |   48 ++++++++++++++++++++++-
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |    9 ++--
 src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java                    |    5 ++
 3 files changed, 55 insertions(+), 7 deletions(-)

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 14ab067..9f8ff0b 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -382,7 +382,7 @@
             jp.id as cid,jp.*,jp.create_time as pcreateTime,
             bu.real_name as createUserName
         FROM jczz_doorplate_address jda
-        left join jczz_place jp on locate(jda.address_code,jp.house_code)>0 and jp.is_deleted = 0
+        left join jczz_place jp on jda.address_code = jp.house_code= and jp.is_deleted = 0
         left join blade_user bu on bu.id = jp.create_user and bu.is_deleted = 0
         WHERE 1=1
         <if test="vo.stdId != null and vo.stdId != ''">
@@ -651,10 +651,52 @@
     </select>
 
     <!--查询地址表详情-->
-    <select id="getDoorplateAddressVODetail" resultType="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO">
-        select jda.* from jczz_doorplate_address jda where address_code = #{doorplateAddress.addressCode}
+    <select id="getDoorplateAddressVODetail" resultMap="detailMap">
+        select
+        jda.*,
+        jh.id as hid,
+        jh.name as hname,
+        jh.phone_number,
+        jh.card_no,
+        jh.occupation,
+        jh.current_address,
+        jp.id as pid,
+        jp.principal,
+        jp.principal_phone,
+        jp.principal_id_card,
+        case
+        when jh.id is not null then 1
+        when jp.id is not null then 2
+        when jp.id is not null and jh.id is not null then 3
+        when jp.id is null and jh.id is null then 4
+        end as addType
+        from jczz_doorplate_address jda
+        left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted = 0
+        left join jczz_household jh on jh.house_code = jda.address_code and jh.is_deleted = 0 and jh.relationship = 1
+        where address_code = #{doorplateAddress.addressCode}
     </select>
 
+    <!--门牌地址详情查询-->
+    <resultMap id="detailMap" type="org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO"
+               autoMapping="true">
+        <id property="id" column="id"/>
+        <association property="place" javaType="org.springblade.modules.place.vo.PlaceVO">
+            <id property="id" column="pid"/>
+            <result property="principal" column="principal"/>
+            <result property="principalPhone" column="principal_phone"/>
+            <result property="principalIdCard" column="principal_id_card"/>
+        </association>
+        <collection property="householdList" javaType="java.util.List"
+                    ofType="org.springblade.modules.house.vo.HouseholdVO">
+            <id property="id" column="hid"/>
+            <result property="name" column="hname"/>
+            <result property="phoneNumber" column="phone_number"/>
+            <result property="cardNo" column="card_no"/>
+            <result property="occupation" column="occupation"/>
+            <result property="currentAddress" column="current_address"/>
+        </collection>
+    </resultMap>
+
     <!--查询所有的社区集合信息-->
     <select id="getAllCommunityList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
         SELECT
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 60ff672..f19cc30 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
@@ -973,9 +973,10 @@
 		if (null != doorplateAddressVO) {
 			// 不限制
 			doorplateAddressVO.setIsJur(1);
-			if (!Strings.isBlank(doorplateAddress.getRoleName())) {
+			String roleName = SpringUtils.getRequestParam("roleName");
+			if (!Strings.isBlank(roleName)) {
 				// 判断是否有权限
-				if (doorplateAddress.getRoleName().equals("网格员")) {
+				if (roleName.equals("wgy")) {
 					list = gridService.getAddressCodeListByUserId(AuthUtil.getUserId(),doorplateAddress.getAddressCode());
 					if (list.size() == 0) {
 						// 无权限
@@ -983,11 +984,11 @@
 					} else {
 						doorplateAddressVO.setIsJur(1);
 					}
-				} else if (doorplateAddress.getRoleName().equals("民警")) {
+				} else if (roleName.equals("mj")) {
 					// 无权限
 					doorplateAddressVO.setIsJur(2);
 					// 查询对应的社区code
-					list = policeAffairsGridService.getCommunityCodeListByUserId(AuthUtil.getUserId());
+					list = SysCache.getPoliceRegionChildCodesByDeptId(AuthUtil.getDeptId(),null);
 					if (null != list && list.size() > 0) {
 						boolean contains = list.contains(doorplateAddressVO.getNeiCode());
 						if (contains) {
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
index da66a99..b9dfce8 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/vo/DoorplateAddressVO.java
@@ -48,5 +48,10 @@
 	 */
 	private String communityCode;
 
+	/**
+	 * 类型 1:房屋  2:场所  3:都是 4:都不是
+	 */
+	private Integer addType;
+
 
 }

--
Gitblit v1.9.3