From 8d5f3db4e1e88b77cb3dc04565ad007f2421c74e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 20 Mar 2024 09:28:04 +0800
Subject: [PATCH] 普查填报逻辑修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml |  125 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 102 insertions(+), 23 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
index e52e3f1..19bab00 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
@@ -22,8 +22,17 @@
                rule.description AS ruleDesc,
                rule.pro_description AS proDesc,
                qm.*
-        FROM
-            SM_RES_DATA_QUALITY_MANAGE qm
+        FROM (
+            select * from  SM_RES_DATA_QUALITY_MANAGE qm
+            WHERE qm.is_deleted = 0
+            <if test="vo.startTime !=null and vo.startTime !=''">
+                AND qm.create_time &gt;= #{vo.startTime}
+            </if>
+            <if test="vo.endTime !=null and vo.endTime !=''">
+                AND qm.create_time &lt;= #{vo.endTime}
+            </if>
+        ) as qm
+
         LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = qm.res_id
         LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
 
@@ -31,26 +40,21 @@
         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"
+        <where>
+            <if test="vo.resName !=null and vo.resName !='' ">
+                AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
+            </if>
+            <if test="vo.engScal !=null and vo.engScal !='' ">
+                AND arb."eng_scal"  = #{vo.engScal}
+            </if>
+            <if test="vo.ruleName !=null and vo.ruleName !='' ">
+                AND rule.name LIKE CONCAT('%',#{vo.ruleName},'%')
+            </if>
 
-        WHERE qm.is_deleted = 0
-        <if test="vo.resName !=null and vo.resName !='' ">
-            AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
-        </if>
-        <if test="vo.engScal !=null and vo.engScal !='' ">
-            AND arb."eng_scal"  = #{vo.engScal}
-        </if>
-        <if test="vo.ruleName !=null and vo.ruleName !='' ">
-            AND rule.name LIKE CONCAT('%',#{vo.ruleName},'%')
-        </if>
-        <if test="vo.startTime !=null and vo.startTime !=''">
-            AND DATE_FORMAT(qm.create_time,'%Y-%m-%d') &gt;= #{vo.startTime}
-        </if>
-        <if test="vo.endTime !=null and vo.endTime !=''">
-            AND DATE_FORMAT(qm.create_time,'%Y-%m-%d') &lt;= #{vo.endTime}
-        </if>
-        <if test="vo.adCode != null and vo.adCode != '' ">
-            and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
-        </if>
+            <if test="vo.adCode != null and vo.adCode != '' ">
+                and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+            </if>
+        </where>
         order by qm.create_time desc
     </select>
     <select id="getDetail" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
@@ -71,8 +75,19 @@
     </select>
 
     <insert id="addQualityManage">
-        insert into SM_RES_DATA_QUALITY_MANAGE (res_id,rule_id,create_time,update_time,val)
-        select a."guid" as res_id,${ruleId} AS rule_id,NOW() AS create_time,NOW() AS update_time, ${varStr}
+        insert into SM_RES_DATA_QUALITY_MANAGE (res_id,rule_id,create_time,update_time,flag,val)
+        select
+            distinct a."guid" as res_id,
+                     ${ruleId} AS rule_id,
+                     NOW() AS create_time,
+                     NOW() AS update_time,
+                     case when f."flag" = '老库' THEN '地方平台'
+                          when f."flag" = '物联网' THEN '省级平台'
+                          when f."flag" = '水文' THEN '水文系统'
+                          else ''
+                    end as flag,
+                     ${varStr}
+
         from SJZT_MD."att_res_base" a
                  left join SJZT_MD."att_res_danger_manage_special" b on (a."guid" = b."res_guid")
                  left join SJZT_MD."att_res_stag_char" c on (a."guid" = c."res_guid")
@@ -86,4 +101,68 @@
             ${whereStr}
     </insert>
 
+    <select id="exportData" resultType="cn.gistack.sm.resDataCheck.excel.QualityManageExcel">
+
+    SELECT  ROWNUM as no, TMP.* FROM (
+        SELECT
+        arb."guid" AS resGuid,
+        arb."name" AS resName,
+        arb."res_loc" AS resLoc,
+        CASE aab."ad_name"
+        when '' then
+        CASE aa."ad_name" when '' then
+        CASE ab."ad_name" when '' then ac."ad_name" else ab."ad_name" end
+        else aa."ad_name"
+        END
+        else aab."ad_name"
+        END  adName,
+        arb."res_reg_code" AS resRegCode,
+        arb."eng_scal" AS engScal,
+        rule.name AS ruleName,
+        rule.description AS ruleDesc,
+        bdb.dict_value AS proDesc,
+        qm.*
+        FROM (
+        select * from  SM_RES_DATA_QUALITY_MANAGE qm
+        WHERE qm.is_deleted = 0
+        <if test="vo.startTime !=null and vo.startTime !=''">
+            AND qm.create_time &gt;= #{vo.startTime}
+        </if>
+        <if test="vo.endTime !=null and vo.endTime !=''">
+            AND qm.create_time &lt;= #{vo.endTime}
+        </if>
+        ) as qm
+
+        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = qm.res_id
+        LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
+        left join blade_dict_biz bdb on bdb.dict_key = rule.pro_description
+
+        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"
+        where 1=1 and bdb.code = 'RES_DATA_RULES_PRO_DESCRIPTION'
+        <if test="vo.resName !=null and vo.resName !='' ">
+            AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
+        </if>
+        <if test="vo.engScal !=null and vo.engScal !='' ">
+            AND arb."eng_scal"  = #{vo.engScal}
+        </if>
+        <if test="vo.ruleName !=null and vo.ruleName !='' ">
+            AND rule.name LIKE CONCAT('%',#{vo.ruleName},'%')
+        </if>
+
+        <if test="vo.adCode != null and vo.adCode != '' ">
+            and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+        </if>
+        order by qm.create_time desc
+
+        )TMP
+
+
+
+
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.3