From 32f523123a41d6ba1d9cfdfa2bc24df768204653 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 20 Feb 2024 11:26:41 +0800
Subject: [PATCH] 网格新增,查询修改

---
 src/main/java/org/springblade/modules/grid/service/impl/GridServiceImpl.java |   97 ++++++++++++++++++++++++++----------------------
 1 files changed, 53 insertions(+), 44 deletions(-)

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 bd25f92..d42f5cd 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
@@ -210,52 +210,61 @@
 	@Transactional(rollbackFor = Exception.class)
 	public boolean saveOrUpdateGrid(GridEntity grid) {
 		boolean flag = false;
-		// 先查询当前网格社区对应的机构id
-		QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
-		regionWrapper.eq("code",grid.getCommunityCode());
-		Region region = regionService.getOne(regionWrapper);
-		// 查询父机构(社区机构)
-		System.out.println("社区名称 = " + region.getName());
-		QueryWrapper<Dept> wrapper = new QueryWrapper<>();
-		wrapper.eq("dept_name",region.getName())
-			.eq("is_deleted",0);
-		Dept dept = deptService.getOne(wrapper);
-		// 查询当前网格在机构中是否存在,存在不做操作,否则则新增
-		QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
-		wrapperChild.eq("dept_name",grid.getGridName())
-			.eq("is_deleted",0)
-			.eq("parent_id",dept.getId());
-		List<Dept> deptChild = deptService.list(wrapperChild);
-		if (deptChild.size()==0){
-			Dept deptInfo = new Dept();
-			deptInfo.setParentId(dept.getId());
-			deptInfo.setFullName(grid.getGridName());
-			deptInfo.setDeptName(grid.getGridName());
-			deptInfo.setDeptCategory(1);
-			deptInfo.setTenantId("000000");
-			deptInfo.setRegionCode(grid.getGridCode());
-			deptInfo.setAncestors(dept.getAncestors() + "," +dept.getId());
-			// 新增
-			deptService.save(deptInfo);
-			// 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
-			QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("grid_code",grid.getGridCode())
-				.eq("is_deleted",0);
-			System.out.println("网格编号 = " + grid.getGridCode());
-			GridEntity one = getOne(queryWrapper);
-			if (null!=one){
-				grid.setId(one.getId());
-				grid.setDeptId(deptInfo.getId());
-				if (null!= grid.getGeom() && grid.getGeom().equals("")){
+		if (null!=grid.getId()) {
+			// 更新
+			flag = updateById(grid);
+		}else {
+			// 先查询当前网格社区对应的机构id
+			QueryWrapper<Region> regionWrapper = new QueryWrapper<>();
+			regionWrapper.eq("code", grid.getCommunityCode());
+			Region region = regionService.getOne(regionWrapper);
+			// 查询父机构(社区机构)
+			System.out.println("社区名称 = " + region.getName());
+			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+			wrapper.eq("dept_name", region.getName())
+				.eq("dept_nature", 2)
+				.eq("is_deleted", 0);
+			Dept dept = deptService.getOne(wrapper);
+			// 查询当前网格在机构中是否存在,存在不做操作,否则则新增
+			QueryWrapper<Dept> wrapperChild = new QueryWrapper<>();
+			wrapperChild.eq("dept_name", grid.getGridName())
+				.eq("is_deleted", 0)
+				.eq("dept_nature", 2)
+				.eq("parent_id", dept.getId());
+			List<Dept> deptChild = deptService.list(wrapperChild);
+			if (deptChild.size() == 0) {
+				Dept deptInfo = new Dept();
+				deptInfo.setParentId(dept.getId());
+				deptInfo.setFullName(grid.getGridName());
+				deptInfo.setDeptName(grid.getGridName());
+				deptInfo.setDeptCategory(1);
+				// 综治
+				deptInfo.setDeptNature(2);
+				deptInfo.setTenantId("000000");
+				deptInfo.setRegionCode(grid.getGridCode());
+				deptInfo.setAncestors(dept.getAncestors() + "," + dept.getId());
+				// 新增
+				deptService.save(deptInfo);
+				// 查询网格是否已存在(社区编号-网格名称),已存在更新,不存在插入新的
+				QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
+				queryWrapper.eq("grid_code", grid.getGridCode())
+					.eq("is_deleted", 0);
+				System.out.println("网格编号 = " + grid.getGridCode());
+				GridEntity one = getOne(queryWrapper);
+				if (null != one) {
+					grid.setId(one.getId());
+					grid.setDeptId(deptInfo.getId());
+					if (null != grid.getGeom() && grid.getGeom().equals("")) {
+						grid.setGeom(null);
+					}
+					// 更新
+					flag = updateById(grid);
+				} else {
+					grid.setDeptId(deptInfo.getId());
 					grid.setGeom(null);
+					// 插入
+					flag = save(grid);
 				}
-				// 更新
-				flag = updateById(grid);
-			}else {
-				grid.setDeptId(deptInfo.getId());
-				grid.setGeom(null);
-				// 插入
-				flag = save(grid);
 			}
 		}
 		return flag;

--
Gitblit v1.9.3