From b570568ea3dba9e42e6feb77281f21217334e84e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 06 Feb 2024 16:58:37 +0800
Subject: [PATCH] 任务数量统计接口优化
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml | 127 ++++++++++++++++++++++++++++++++++--------
1 files changed, 103 insertions(+), 24 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 43a79e6..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 >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND qm.create_time <= #{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,27 +40,22 @@
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') >= #{vo.startTime}
- </if>
- <if test="vo.endTime !=null and vo.endTime !=''">
- AND DATE_FORMAT(qm.create_time,'%Y-%m-%d') <= #{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">
SELECT
@@ -71,8 +75,19 @@
</select>
<insert id="addQualityManage">
- insert into SM_RES_DATA_QUALITY_MANAGE (res_id,rule_id,create_time,update_time)
- select a."guid" as res_id,${ruleId} AS rule_id,NOW() AS create_time,NOW() AS update_time
+ 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 >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND qm.create_time <= #{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