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/mapper/AttResBaseMapper.xml |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

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 !=''">

--
Gitblit v1.9.3