From 18c21937f2bc7d52ee54414562ff5dfecf52619f Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 12 May 2023 14:05:38 +0800
Subject: [PATCH] 巡查责任人查询修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml |   66 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 6 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 519555b..3ee3d55 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
@@ -26,14 +26,40 @@
     <!--获取水库对应责任人分页数据-->
     <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
+        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,
+        trmp2."user_unit" customsUnitName,trmp2."user_name" customsUsername,trmp2."user_phone" customsPhone,trmp2."position" customsPosition,
+        trmp3."user_unit" manageUnitUnitName,trmp3."user_name" manageUnitUsername,trmp3."user_phone" manageUnitPhone,trmp3."position" manageUnitPosition,
+        trmp4."user_unit" technologyUnitName,trmp4."user_name" technologyUsername,trmp4."user_phone" technologyPhone,trmp4."position" technologyPosition,
+        trmp5."user_unit" patrolUnitName,trmp5."user_name" patrolUsername,trmp5."user_phone" patrolPhone,trmp5."position" patrolPosition
         from SJZT_MD."att_res_base" arb
         left join "SJZT_MD"."att_ad_base" aab on aab."guid" = concat(arb."ad_guid",'000000')
+
+        left join (
+        select "res_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"."tb_res_manage_person" where  "type"=1 GROUP BY "res_guid"
+        ) trmp1 on arb."guid" = trmp1."res_guid"
+
+        left join (
+        select "res_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"."tb_res_manage_person" where  "type"=2 GROUP BY "res_guid"
+        ) trmp2 on arb."guid" = trmp2."res_guid"
+
+        left join (
+        select "res_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"."tb_res_manage_person" where  "type"=3 GROUP BY "res_guid"
+        ) trmp3 on arb."guid" = trmp3."res_guid"
+
+        left join (
+        select "res_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"."tb_res_manage_person" where  "type"=4 GROUP BY "res_guid"
+        ) trmp4 on arb."guid" = trmp4."res_guid"
+
+        left join (
+        select "res_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"."tb_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},'%')
@@ -44,6 +70,34 @@
         <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="list != null and list.size()>0">
             and aab."ad_code" in
             <foreach collection="list" item="adCode" separator ="," open="("  close=")">

--
Gitblit v1.9.3