From 068e93cfe7e05cdd0161ae40e16e1c4eae4a2058 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 18 Apr 2024 10:02:02 +0800
Subject: [PATCH] 机构关联水库,编辑水库行政区划时同步更改机构

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java |   11 ++
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/feign/SysClient.java                   |   12 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml             |   45 +++++++++-
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java                 |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseVO.java                    |    8 +
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java              |   11 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml                                                                    |    5 +
 skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java               |    3 
 skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClientFallback.java  |   10 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java    |    3 
 skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClient.java          |    8 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java            |    2 
 skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java                       |   14 ++
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java         |    6 +
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java      |   39 +++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java         |    2 
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml                  |   10 ++
 17 files changed, 175 insertions(+), 16 deletions(-)

diff --git a/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java b/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
index c9f1f71..9ddd652 100644
--- a/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
+++ b/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -170,11 +170,19 @@
 			userInfo.getDetail().set("phone",Base64Utils.getBase64Encode(user.getPhone()));
 
 			String deptStr = "";
-			if (userInfo.getUser().getDeptId().indexOf(",") > 0){
-				deptStr = userInfo.getUser().getDeptId().split(",")[0];
+
+			String deptIds = userInfo.getUser().getDeptId();
+			if (deptIds.indexOf(",") > 0){
+				deptStr = deptIds.split(",")[0];
 			}else {
-				deptStr = userInfo.getUser().getDeptId();
+				deptStr = deptIds;
 			}
+
+			String resDeptIds = "";
+
+			resDeptIds = sysClient.getResDept(deptIds);
+			userInfo.getDetail().set("resDeptIds",resDeptIds);
+
 			R<Dept> deptRes = sysClient.getDept(Long.valueOf(deptStr));
 			if (StringUtil.isBlank(deptRes.getData().getAdCode())) {
 				// 部门为空
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
index a6e7af3..c7da819 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
@@ -110,5 +110,8 @@
 	@ApiModelProperty(value = "区划名称")
 	private String adCode;
 
+	private String adGrad;
+
+	private String resGuid;
 
 }
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClient.java
index 7f2c7c6..0c784df 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClient.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClient.java
@@ -46,6 +46,9 @@
 	String PARAM_VALUE = API_PREFIX + "/param-value";
 	String REGION = API_PREFIX + "/region";
 
+	String UPDATE_DEPT_BY_TB = API_PREFIX + "updateDeptByTb";
+	String GET_RES_DEPT = API_PREFIX + "getResDept";
+
 	/**
 	 * 获取菜单
 	 *
@@ -267,4 +270,9 @@
 	@GetMapping(REGION)
 	R<Region> getRegion(@RequestParam("code") String code);
 
+	@GetMapping(UPDATE_DEPT_BY_TB)
+	boolean updateDeptByTb(@RequestParam("adCode") String adCode, @RequestParam("resGuid") String resGuid);
+
+	@GetMapping(GET_RES_DEPT)
+	String getResDept(@RequestParam("deptIds") String deptIds);
 }
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClientFallback.java b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClientFallback.java
index e2bf5ef..c035a5d 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClientFallback.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/feign/ISysClientFallback.java
@@ -150,5 +150,15 @@
 		return R.fail("获取数据失败");
 	}
 
+	@Override
+	public boolean updateDeptByTb(String adCode, String resGuid) {
+		return false;
+	}
+
+	@Override
+	public String getResDept(String deptIds) {
+		return null;
+	}
+
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
index 62cf28a..0cf81b6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
@@ -71,6 +71,11 @@
             <version>3.0.1.RELEASE</version>
         </dependency>
         <dependency>
+            <groupId>cn.gistack</groupId>
+            <artifactId>skjcmanager-system-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+        </dependency>
+        <dependency>
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-excel</artifactId>
         </dependency>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java
index 43a0620..d480c47 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResBaseController.java
@@ -8,6 +8,7 @@
 import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
 import cn.gistack.sm.sjztmd.service.IAttResBaseService;
 import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
+import cn.gistack.sm.sjztmd.vo.AttResBaseVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -57,7 +58,7 @@
 	@ApiOperation(value = "中台水库-查询该行政区下的水库", notes = "中台水库-查询该行政区下的水库")
 	@GetMapping(value = "/getListByRegion")
 	public R getListByRegion(@ApiIgnore @RequestParam Map<String, Object> obj,Query query) {
-		IPage<AttResBase> pageList = attResBaseService.getListByRegion(Condition.getPage(query),obj);
+		IPage<AttResBaseVO> pageList = attResBaseService.getListByRegion(Condition.getPage(query),obj);
 		return R.data(pageList);
 	}
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
index 20b929a..f6ff604 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.java
@@ -28,7 +28,7 @@
 
 	List<AttResBaseGeneralInvestigationVO> selectAttResBaseGeneralInvestigation(IPage<AttResBaseGeneralInvestigationVO> page, @Param("attResBase")  AttResBaseGeneralInvestigationVO attResBase);
 
-    List<AttResBase> getListByRegion(IPage<AttResBase> page,@Param("obj") Map<String, Object> obj);
+    List<AttResBaseVO> getListByRegion(IPage<AttResBaseVO> page,@Param("obj") Map<String, Object> obj);
 
 	AttResBase getDetailByCode(@Param("code") String code);
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
index 19cce61..2ba09fc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -107,7 +107,37 @@
 
     </select>
 
-    <select id="getListByRegion" resultType="cn.gistack.sm.sjztmd.entity.AttResBase">
+
+    <sql id="resBase">
+                   case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+                   case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+                   case
+                       when town."ad_grad" = 3 THEN town."ad_code"
+                       when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
+                   case
+                       when town."ad_grad" = 3 THEN town."ad_name"
+                       when county."ad_grad" = 3 THEN county."ad_name" END  AS countyName,
+                   case
+                       when town."ad_grad" = 2 THEN town."ad_code"
+                       when county."ad_grad" = 2 THEN county."ad_code"
+                       ELSE city."ad_code" END  AS cityCode,
+                   case
+                       when town."ad_grad" = 2 THEN town."ad_name"
+                       when county."ad_grad" = 2 THEN county."ad_name"
+                       ELSE city."ad_name" END AS cityName,
+                   case
+                       when town."ad_grad" = 1 THEN town."ad_code"
+                       when county."ad_grad" = 1 THEN county."ad_code"
+                       when city."ad_grad" = 1 THEN city."ad_code"
+                       ELSE province."ad_code" END   AS provinceCode,
+                   case
+                       when town."ad_grad" = 1 THEN town."ad_name"
+                       when county."ad_grad" = 1 THEN county."ad_name"
+                       when city."ad_grad" = 1 THEN city."ad_name"
+                       ELSE province."ad_name" END  AS provinceName
+    </sql>
+
+    <select id="getListByRegion" resultType="cn.gistack.sm.sjztmd.vo.AttResBaseVO">
         SELECT
             arb."guid",
             arb."code",
@@ -115,15 +145,16 @@
             arb."ad_guid",
             arb."eng_scal",
             arb."res_loc" ,
-            arb."res_reg_code"
+            arb."res_reg_code",
+            <include refid="resBase"></include>
         FROM "att_res_base" arb
-        left join "att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
-        left join "att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
-        left join "att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
-        left join "att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
+        left join "att_ad_base" town on town."guid" = arb."interior_ad_guid"
+        left join "att_ad_base" county on town."p_ad_code" = county."ad_code"
+        left join "att_ad_base" city on county."p_ad_code" = city."ad_code"
+        left join "att_ad_base" province on city."p_ad_code" = province."ad_code"
         WHERE arb."is_deleted"=0
         <if test="obj.code != null and obj.code != '' ">
-            and (aab."ad_code" = #{obj.code} or aa."ad_code" = #{obj.code} or ab."ad_code" = #{obj.code} or ac."ad_code"
+            and (town."ad_code" = #{obj.code} or county."ad_code" = #{obj.code} or city."ad_code" = #{obj.code} or province."ad_code"
             = #{obj.code})
         </if>
         <if test="obj.name !=null and obj.name !=''">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
index 29d17c7..bbd33d8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResBaseService.java
@@ -25,7 +25,7 @@
 
 	Object selectAttResBaseGeneralInvestigation(IPage<AttResBaseGeneralInvestigationVO> page, AttResBaseGeneralInvestigationVO attResBase);
 
-	IPage<AttResBase> getListByRegion(IPage<AttResBase> page,Map<String, Object> obj);
+	IPage<AttResBaseVO> getListByRegion(IPage<AttResBaseVO> page,Map<String, Object> obj);
 
 	AttResBase getDetailByCode(String code);
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
index 8e80676..183a1dc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResBaseServiceImpl.java
@@ -10,6 +10,7 @@
 import cn.gistack.sm.sjztmd.service.IAttResBaseService;
 import cn.gistack.sm.sjztmd.service.IRelResLabelService;
 import cn.gistack.sm.sjztmd.vo.*;
+import cn.gistack.system.feign.ISysClient;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -21,7 +22,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestParam;
-
 import java.util.*;
 
 /**
@@ -41,6 +41,9 @@
 	@Autowired
 	private IRelResLabelService relResLabelService;
 
+	@Autowired
+	private ISysClient sysClient;
+
 
 	@Override
 	public IPage<AttResBase> selectAttResBasePage(IPage<AttResBase> page, AttResBase attResBase) {
@@ -58,7 +61,7 @@
 	}
 
 	@Override
-	public IPage<AttResBase> getListByRegion(IPage<AttResBase> page,Map<String, Object> obj) {
+	public IPage<AttResBaseVO> getListByRegion(IPage<AttResBaseVO> page,Map<String, Object> obj) {
 		return page.setRecords(baseMapper.getListByRegion(page,obj));
 	}
 
@@ -133,6 +136,10 @@
 		updateBy = updateBy + updateLog;
 		//向水库标签表中更新数据
 		relResLabelService.updateEntity(attResBase.getGuid(),attResBase.getLabel());
+
+		//更新机构表中的水库位置
+		sysClient.updateDeptByTb(interiorAdGuid,attResBase.getGuid());
+
 		//向操作记录表中增加记录
 		baseMapper.updateRelResUpdateLoc(attResBase.getGuid(),updateBy);
 		return baseMapper.updateResBaseByGuid(attResBase);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseVO.java
index 6a154e7..cc636e8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/AttResBaseVO.java
@@ -1,5 +1,6 @@
 package cn.gistack.sm.sjztmd.vo;
 
+import cn.gistack.sm.sjztmd.entity.AttResBase;
 import lombok.Data;
 import java.io.Serializable;
 
@@ -9,15 +10,20 @@
  * @author Chill
  */
 @Data
-public class AttResBaseVO implements Serializable {
+public class AttResBaseVO extends AttResBase {
 
 	/**
 	 * 市编号
 	 */
 	private String cityCode;
+	private String cityName;
 
 	/**
 	 * 区县编号
 	 */
 	private String countyCode;
+	private String countyName;
+
+	private String townCode;
+	private String townName;
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java
index 04e4c4f..8855f8a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/DeptController.java
@@ -198,5 +198,11 @@
 		return R.data(deptService.getDeptAndUserTree(treeNode));
 	}
 
+	@GetMapping("updateAllDept")
+	public R updateAllDept(){
+		int number = deptService.updateAllDept();
+		return R.data(number);
+	}
+
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/feign/SysClient.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/feign/SysClient.java
index 2defaae..3938665 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/feign/SysClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/feign/SysClient.java
@@ -190,5 +190,17 @@
 		return R.data(regionService.getById(code));
 	}
 
+	@Override
+	@GetMapping(UPDATE_DEPT_BY_TB)
+	public boolean updateDeptByTb(String adCode, String resGuid) {
+		return deptService.updateDeptByTb(adCode,resGuid);
+	}
+
+	@Override
+	@GetMapping(GET_RES_DEPT)
+	public String getResDept(String deptIds) {
+		return deptService.getResDept(deptIds);
+	}
+
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
index 9fea3ae..aadd02d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.java
@@ -94,4 +94,6 @@
 	 */
 	@MapKey(value = "id")
 	Map<String, DeptUserTreeNode> getUserMap(@Param("treeNode") DeptUserTreeNode treeNode);
+
+    String getResDept(@Param("deptIds") String deptIds);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
index 291d2e5..295e868 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
@@ -202,5 +202,15 @@
             and bu.dept_id like concat(concat('%',#{treeNode.id}),'%')
         </if>
     </select>
+    <select id="getResDept" resultType="java.lang.String">
+
+        SELECT WM_CONCAT(res_guid)
+        FROM blade_dept where res_guid is not null and res_guid != ''
+        and id in
+        <foreach collection="deptIds.split(',')" item="item" index="index" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+
+    </select>
 
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java
index 3188801..5e8cab5 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IDeptService.java
@@ -125,4 +125,15 @@
 	 * @return
 	 */
 	List<TreeNode> getDeptAndUserTree(DeptUserTreeNode treeNode);
+
+	int updateAllDept();
+
+	boolean updateDeptByTb(String adCode, String resGuid);
+
+	/**
+	 * 根据机构ids获取水库编码
+	 * @param deptIds
+	 * @return
+	 */
+	String getResDept(String deptIds);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
index bc9e1c9..7aa3e17 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/DeptServiceImpl.java
@@ -20,9 +20,11 @@
 import cn.gistack.common.node.TreeNode;
 import cn.gistack.common.utils.NodeTreeUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
@@ -195,4 +197,41 @@
 		// 处理并返回
 		return NodeTreeUtil.getDeptAndUserNodeTree(deptMap);
 	}
+
+	@Override
+	public int updateAllDept() {
+
+		Dept params = new Dept();
+		params.setAdGrad("9");
+		List<Dept> list = list(Condition.getQueryWrapper(params));
+
+		list.forEach(dept -> {
+			this.submit(dept);
+		});
+		return list.size();
+	}
+
+	@Override
+	public boolean updateDeptByTb(String adCode, String resGuid) {
+		//根据水库编码找到机构
+		QueryWrapper<Dept> query1 = new QueryWrapper<>();
+		query1.eq("RES_GUID",resGuid);
+		Dept resDept = getOne(query1);
+
+		//找到移到哪个行政区划下的机构
+		QueryWrapper<Dept> query2 = new QueryWrapper<>();
+		query2.eq("AD_CODE",adCode);
+		Dept adCodeDept = getOne(query2);
+
+		if (resDept != null && adCodeDept != null){
+			resDept.setParentId(adCodeDept.getId());
+			return this.submit(resDept);
+		}
+		return false;
+	}
+
+	@Override
+	public String getResDept(String deptIds) {
+		return baseMapper.getResDept(deptIds);
+	}
 }

--
Gitblit v1.9.3