From e603bf1ebf58458c7fec04e7f75cba488e3b90ad Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 22 Jan 2024 10:24:49 +0800
Subject: [PATCH] 新增机构区域(网格)绑定处理

---
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java            |    6 +++
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java   |   11 +++++
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml             |    7 +++
 src/main/java/org/springblade/modules/system/controller/DeptController.java    |    9 ++++
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java |   24 ++++++++++++
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml               |    9 ++++
 src/main/java/org/springblade/modules/system/service/IDeptService.java         |    5 ++
 src/main/java/org/springblade/modules/grid/mapper/GridMapper.java              |    9 ++++
 src/main/java/org/springblade/modules/grid/service/IGridService.java           |    8 ++++
 9 files changed, 88 insertions(+), 0 deletions(-)

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 0685155..396004f 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.java
@@ -120,4 +120,13 @@
 	 * @return
 	 */
     GridEntity getGridByUserId(@Param("userId") Long userId);
+
+	/**
+	 * 根据网格名称,社区名称查询对应的网格
+	 * @param gridName
+	 * @param communityName
+	 * @return
+	 */
+    GridEntity getGridByNames(@Param("gridName") String gridName,
+							  @Param("communityName")  String communityName);
 }
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 45fb583..6c5fb6b 100644
--- a/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
+++ b/src/main/java/org/springblade/modules/grid/mapper/GridMapper.xml
@@ -182,4 +182,13 @@
         )
     </select>
 
+    <!--根据网格名称,社区名称查询对应的网格-->
+    <select id="getGridByNames" resultType="org.springblade.modules.grid.entity.GridEntity">
+        select jg.* from jczz_grid jg
+        left join blade_region br on br.village_code = jg.community_code
+        where jg.is_deleted = 0
+        and jg.grid_name = #{gridName}
+        and br.name = #{communityName}
+    </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 697b9e6..2cd34ac 100644
--- a/src/main/java/org/springblade/modules/grid/service/IGridService.java
+++ b/src/main/java/org/springblade/modules/grid/service/IGridService.java
@@ -123,4 +123,12 @@
 	 * @return
 	 */
     GridEntity getGridByUserId(Long userId);
+
+	/**
+	 * 根据网格名称,社区名称查询对应的网格
+	 * @param gridName
+	 * @param communityName
+	 * @return
+	 */
+    GridEntity getGridByNames(String gridName, String communityName);
 }
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 d76c8c4..105357a 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
@@ -317,4 +317,15 @@
 	public GridEntity getGridByUserId(Long userId) {
 		return baseMapper.getGridByUserId(userId);
 	}
+
+	/**
+	 * 根据网格名称,社区名称查询对应的网格
+	 * @param gridName
+	 * @param communityName
+	 * @return
+	 */
+	@Override
+	public GridEntity getGridByNames(String gridName, String communityName) {
+		return baseMapper.getGridByNames(gridName,communityName);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java
index b67d1cb..9bcbad9 100644
--- a/src/main/java/org/springblade/modules/system/controller/DeptController.java
+++ b/src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -199,6 +199,15 @@
 	}
 
 
+	/**
+	 * 数据处理(区域网格编号绑定)
+	 */
+	@GetMapping("/dataRegionGridCodeBindHandle")
+	public R dataRegionGridCodeBindHandle() {
+		return R.data(deptService.dataRegionGridCodeBindHandle());
+	}
+
+
 
 
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index 7d0b5e1..6797ece 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -72,4 +72,10 @@
 	 * @return
 	 */
     DeptVO getDeptById(@Param("id") Long id);
+
+	/**
+	 * 查询网格对应的机构信息(包含父级机构名称)
+	 * @return
+	 */
+	List<DeptVO> getGridDeptAndParentList();
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index 985a331..a96df60 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -124,4 +124,11 @@
         and c.id = #{id}
     </select>
 
+    <!--查询网格对应的机构信息(包含父级机构名称)-->
+    <select id="getGridDeptAndParentList" resultType="org.springblade.modules.system.vo.DeptVO">
+        select bd.*,bd1.dept_name as parentName from blade_dept bd
+        left join blade_dept bd1 on bd.parent_id = bd1.id
+        where bd.dept_name like '%网格%'
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index b996997..430aed4 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -127,4 +127,9 @@
 	 * 数据处理(社区绑定)
 	 */
     Object dataHandle();
+
+	/**
+	 * 数据处理(区域网格编号绑定)
+	 */
+    Object dataRegionGridCodeBindHandle();
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index bfdea32..c315513 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -22,6 +22,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.cache.SysCache;
 import org.springblade.common.node.TreeStringNode;
+import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.constant.BladeConstant;
@@ -29,12 +30,15 @@
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.grid.entity.GridEntity;
+import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.property.entity.PropertyCompanyEntity;
 import org.springblade.modules.property.service.IPropertyCompanyService;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.mapper.DeptMapper;
 import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IRegionService;
+import org.springblade.modules.system.vo.DeptDetailVO;
 import org.springblade.modules.system.vo.DeptVO;
 import org.springblade.modules.system.wrapper.DeptWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -338,4 +342,24 @@
 		}
 		return null;
 	}
+
+	/**
+	 * 数据处理(区域网格编号绑定)
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public Object dataRegionGridCodeBindHandle() {
+		// 查询网格对应的机构信息(包含父级机构名称)
+		List<DeptVO> deptVOS = baseMapper.getGridDeptAndParentList();
+		//遍历处理
+		for (DeptVO deptVO : deptVOS) {
+			GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getGridByNames(deptVO.getDeptName(),deptVO.getParentName());
+			if (null!=gridEntity){
+				deptVO.setRegionCode(gridEntity.getGridCode());
+				// 更新
+				updateById(deptVO);
+			}
+		}
+		return null;
+	}
 }

--
Gitblit v1.9.3