From 3ce737b52fca082ac3a2ecda4a848e2e4abcd0ee Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 06 Jul 2023 09:38:18 +0800
Subject: [PATCH] Merge branch 'jtdev' of https://hbsl-code.gistack.cn/hbwri/manager into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml |  130 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 2 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 22f8ba9..761a145 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
@@ -11,7 +11,7 @@
         </if>
     </select>
     <select id="getListByRegion" resultType="cn.gistack.sm.sjztmd.entity.AttResBase">
-        SELECT "guid","code","name","ad_guid","eng_scal" FROM "att_res_base"
+        SELECT "guid","code","name","ad_guid","eng_scal","res_loc" FROM "att_res_base"
         WHERE "is_deleted"=0
          AND "ad_guid" LIKE CONCAT('%',#{obj.code},'%')
          <if test="obj.name !=null and obj.name !=''">
@@ -19,7 +19,133 @@
          </if>
     </select>
     <select id="getDetailByCode" resultType="cn.gistack.sm.sjztmd.entity.AttResBase">
-        SELECT "code","name","ad_guid","guid" FROM "att_res_base"
+        SELECT * FROM "att_res_base"
         WHERE "is_deleted"=0 and "code" = #{code}
     </select>
+
+    <!--获取水库对应责任人分页数据-->
+    <select id="getAttResBaseUserPage" resultType="cn.gistack.sm.sjztmd.dto.AttResBaseUserDTO">
+        select
+        arb."guid", arb."name", arb."res_loc" as place, arb."res_reg_code" as resRegCode, arb."eng_scal" as engScal,
+        aab."ad_name" as adName,
+        trmp1."user_unit" areaUnitName,trmp1."user_name" areaUsername,trmp1."user_phone" areaPhone,trmp1."position" areaPosition,trmp1."guid" areaUserGuid,
+        trmp2."user_unit" customsUnitName,trmp2."user_name" customsUsername,trmp2."user_phone" customsPhone,trmp2."position" customsPosition,trmp2."guid" customsUserGuid,
+        trmp3."user_unit" manageUnitUnitName,trmp3."user_name" manageUnitUsername,trmp3."user_phone" manageUnitPhone,trmp3."position" manageUnitPosition,trmp3."guid" manageUnitUserGuid,
+        trmp4."user_unit" technologyUnitName,trmp4."user_name" technologyUsername,trmp4."user_phone" technologyPhone,trmp4."position" technologyPosition,trmp4."guid" technologyUserGuid,
+        trmp5."user_unit" patrolUnitName,trmp5."user_name" patrolUsername,trmp5."user_phone" patrolPhone,trmp5."position" patrolPosition,trmp5."guid" patrolUserGuid
+        from SJZT_MD."att_res_base" arb
+        left join "SJZT_MD"."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+        left join "SJZT_MD"."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
+        left join "SJZT_MD"."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
+        left join "SJZT_MD"."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
+        left join (
+        select "res_guid",WM_Concat("guid") "guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=1 GROUP BY "res_guid"
+        ) trmp1 on arb."guid" = trmp1."res_guid"
+
+        left join (
+        select "res_guid",WM_Concat("guid") "guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=2 GROUP BY "res_guid"
+        ) trmp2 on arb."guid" = trmp2."res_guid"
+
+        left join (
+        select "res_guid",WM_Concat("guid") "guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=3 GROUP BY "res_guid"
+        ) trmp3 on arb."guid" = trmp3."res_guid"
+
+        left join (
+        select "res_guid",WM_Concat("guid") "guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=4 GROUP BY "res_guid"
+        ) trmp4 on arb."guid" = trmp4."res_guid"
+
+        left join (
+        select "res_guid",WM_Concat("guid") "guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=5 GROUP BY "res_guid"
+        ) trmp5 on arb."guid" = trmp5."res_guid"
+        where 1=1
+        <if test="params.name !=null and params.name !=''">
+            AND arb."name" LIKE CONCAT('%',#{params.name},'%')
+        </if>
+        <if test="params.resRegCode !=null and params.resRegCode !=''">
+            AND arb."res_reg_code" LIKE CONCAT('%',#{params.resRegCode},'%')
+        </if>
+        <if test="params.engScal !=null and params.engScal !=''">
+            AND arb."eng_scal" LIKE CONCAT('%',#{params.engScal},'%')
+        </if>
+        <if test="params.isWorkable==1">
+            AND (
+                (
+                (arb."eng_scal" = '大(1)型' or arb."eng_scal" = '大(2)型' or arb."eng_scal" = '中型')
+                and
+                trmp1."user_unit" is not null and trmp2."user_unit" is not null and trmp3."user_unit" is not null
+                )
+                or
+                (
+                (arb."eng_scal" = '小(1)型' or arb."eng_scal" = '小(2)型')
+                and
+                trmp1."user_unit" is not null and trmp2."user_unit" is not null and trmp3."user_unit" is not null and trmp4."user_unit" is not null and trmp5."user_unit" is not null
+                )
+            )
+        </if>
+        <if test="params.isWorkable==2">
+            AND (
+                (arb."eng_scal" = '大(1)型' or arb."eng_scal" = '大(2)型' or arb."eng_scal" = '中型')
+                and
+                (trmp1."user_unit" is null or trmp2."user_unit" is null or trmp3."user_unit" is null)
+                or
+                (
+                (arb."eng_scal" = '小(1)型' or arb."eng_scal" = '小(2)型')
+                and
+                (trmp1."user_unit" is null or trmp2."user_unit" is null or trmp3."user_unit" is null or trmp4."user_unit" is null or trmp5."user_unit" is null)
+                )
+            )
+        </if>
+
+        <if test="params.adCode != null and params.adCode != '' ">
+            and (aab."ad_code" = #{params.adCode} or aa."ad_code" = #{params.adCode} or ab."ad_code" = #{params.adCode} or ac."ad_code" = #{params.adCode})
+        </if>
+    </select>
+
+    <!--查询各类型责任人-->
+    <select id="getUserByResBaseGuid" resultType="cn.gistack.sm.sjztmd.vo.ManagePersonVO">
+        select
+        trmp."type",
+        trmp."user_name" as username,
+        trmp."user_unit" as unitName,
+        trmp."position",
+        trmp."user_phone" as phone
+        from "SJZT_MD"."att_res_manage_person" trmp
+        where trmp."res_guid" = #{guid}
+    </select>
+
+    <update id="updateResBaseByGuid">
+        UPDATE "att_res_base" SET
+        <if test="attResBase.interiorAdGuid !=null and attResBase.interiorAdGuid != ''">
+            "interior_ad_guid" = #{attResBase.interiorAdGuid},
+        </if>
+        <if test="attResBase.label !=null and attResBase.label != ''">
+            "label" = #{attResBase.label},
+        </if>
+        <if test="attResBase.label ==null or attResBase.label == ''">
+            "label" = '',
+        </if>
+        "update_time" = #{attResBase.updateTime}
+        WHERE "guid" = #{attResBase.guid}
+    </update>
+
+    <!--查询当前水库对应的市级编号和县区编号-->
+    <select id="getCityCountyCodeByResGuid" resultType="cn.gistack.sm.sjztmd.vo.AttResBaseVO">
+        SELECT
+            case when b."ad_grad" = 3 THEN b."ad_code"
+                 when c."ad_grad" = 3 THEN c."ad_code" END AS countyCode,
+            case when b."ad_grad" = 2 THEN b."ad_code"
+                 when c."ad_grad" = 2 THEN c."ad_code"
+                 ELSE d."ad_code" END AS cityCode
+        FROM sjzt_md."att_res_base" a
+        LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+        LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+        LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+        where a."guid" = #{guid}
+    </select>
+
 </mapper>

--
Gitblit v1.9.3