From 8fc6411b399d4f418006f063334a4122857e2077 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 14 Mar 2024 10:38:28 +0800
Subject: [PATCH] 水库调度新增行政区划,注册登记码,工程规模字段及对应查询

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/schedulingModules/mapper/SchedulingRecordMapper.xml |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/schedulingModules/mapper/SchedulingRecordMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/schedulingModules/mapper/SchedulingRecordMapper.xml
index 3dfc202..08e10f4 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/schedulingModules/mapper/SchedulingRecordMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/schedulingModules/mapper/SchedulingRecordMapper.xml
@@ -17,22 +17,56 @@
         <result property="createTime" column="create_time"/>
         <result property="status" column="status"/>
         <result property="isDeleted" column="is_deleted"/>
+
+        <result property="cityCode" column="cityCode"/>
+        <result property="cityName" column="cityName"/>
+        <result property="countyCode" column="countyCode"/>
+        <result property="countyName" column="countyName"/>
+        <result property="townCode" column="townCode"/>
+        <result property="townName" column="townName"/>
+
+        <result property="engScal" column="engScal"/>
+        <result property="resRegCode" column="resRegCode"/>
+
     </resultMap>
 
 
     <select id="selectRecordPage" resultMap="vo">
-        SELECT R.*,arb."name" reservoirName,U.REAL_NAME FROM SM_SCHEDULING_RECORD R
+        SELECT
+            R.*,
+               arb."name" reservoirName,
+
+                arb."res_reg_code" as resRegCode,
+                arb."eng_scal" as engScal,
+
+                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,
+
+               U.REAL_NAME
+        FROM SM_SCHEDULING_RECORD R
         LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = R.reservoir_id
         LEFT JOIN BLADE_USER U ON U.ID = R.CREATE_USER
 
-        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 SJZT_MD."att_ad_base"town ON arb."interior_ad_guid" = town."guid"
+        LEFT JOIN SJZT_MD."att_ad_base" county ON town."p_ad_code" = county."guid"
+        LEFT JOIN SJZT_MD."att_ad_base" city ON county."p_ad_code" = city."guid"
+        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
 
         WHERE R.IS_DELETED = 0
         <if test="record.adCode != null and record.adCode != '' ">
-            and (aab."ad_code" = #{record.adCode} or aa."ad_code" = #{record.adCode} or ab."ad_code" = #{record.adCode} or ac."ad_code" = #{record.adCode})
+            AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{record.adCode},'%')
         </if>
         <if test="record.reservoirName != null and record.reservoirName !=''">
             AND arb."name" LIKE CONCAT('%',#{record.reservoirName},'%')
@@ -43,6 +77,24 @@
         <if test="record.createUser !=null and record.createUser !=''">
             AND R.CREATE_USER = #{record.createUser}
         </if>
+
+        <if test="record.resRegCode != null and record.resRegCode != ''">
+            AND arb."res_reg_code" LIKE CONCAT('%',#{record.resRegCode},'%')
+        </if>
+        <if test="record.reservoirId != null and record.reservoirId != ''">
+            AND r.reservoir_id LIKE CONCAT('%',#{record.reservoirId},'%')
+        </if>
+        <if test="record.engScal != null and record.engScal != ''">
+            AND arb."eng_scal" = #{record.engScal}
+        </if>
+        <if test="record.startTime != null and record.startTime != ''">
+            AND R.create_time &gt;= #{record.startTime}
+        </if>
+        <if test="record.endTime != null and record.endTime !='' ">
+            AND R.create_time &lt;= #{record.endTime}
+        </if>
+
+
         ORDER BY R.CREATE_TIME  DESC
     </select>
     <select id="customizeGetDetail" resultType="cn.gistack.sm.schedulingModules.vo.SchedulingRecordVO">

--
Gitblit v1.9.3