From a0ca0a148ee81d857592dd2d1d4ae8f797e07a7a Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 03 Apr 2024 11:45:40 +0800
Subject: [PATCH] 质量管理去除重复数据
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml | 144 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 132 insertions(+), 12 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 5b8ea8a..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
@@ -5,29 +5,57 @@
<select id="selectCustomizePage" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
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,
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
- WHERE qm.is_deleted = 0
- <if test="vo.resName !=null and vo.resName !='' ">
- AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
- </if>
- <if test="vo.vo.engScal !=null and vo.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>
+ 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>
+ <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>
+ </where>
+ order by qm.create_time desc
</select>
<select id="getDetail" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
SELECT
@@ -45,4 +73,96 @@
LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
WHERE qm.is_deleted = 0 AND qm.id = #{id}
</select>
+
+ <insert id="addQualityManage">
+ 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")
+ left join SJZT_MD."att_res_flse_lim" d1 on (a."guid" = d1."res_guid" and d1."flood_season_name" = '前汛期')
+ left join SJZT_MD."att_res_flse_lim" d2 on (a."guid" = d2."res_guid" and d2."flood_season_name" = '中汛期')
+ left join SJZT_MD."att_res_flse_lim" d3 on (a."guid" = d3."res_guid" and d3."flood_season_name" = '后汛期')
+ left join SJZT_MD."att_st_base" e on (a."guid" = e."res_guid" and e."is_main_rsvr" = '1')
+ left join SJZT_MD."st_rsvr_r_last" f on (e."code" = f."stcd")
+ left join (select tmp."res_guid",max(tmp."tb_weir_top_elevation") "tb_weir_top_elevation" from SJZT_MD."att_res_rsb_norspi" tmp group by tmp."res_guid") g on (a."guid" = g."res_guid")
+ left join (select tmp2."res_guid",max(tmp2."tb_dam_top_elevation") "tb_dam_top_elevation" from SJZT_MD."att_res_water_block" tmp2 group by tmp2."res_guid") h on (a."guid" = h."res_guid")
+ ${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