From fd2dee0c60271966208c673b718c17ee4e13b0c3 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 30 Jan 2024 11:58:20 +0800
Subject: [PATCH] 大坝安全监测业务一张图接口优化
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 765 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 507 insertions(+), 258 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
index 7acd8e4..458f2ec 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -79,10 +79,10 @@
</if>
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
)) errorNum
),SJZT_MD."att_ad_base" aab
@@ -94,109 +94,6 @@
</select>
<select id="getSingleRegionCountOptimize" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
-
-<!-- SELECT allNum,errorNum,AllNum-errorNum normalNum,aab."ad_name" adName,aab."guid" adCode FROM-->
-<!-- (-->
-<!-- SELECT-->
-<!-- (-->
-<!-- SELECT count(*) FROM-->
-<!-- (-->
-<!-- SELECT-->
-<!-- a."guid",-->
-<!-- a."name",-->
-<!-- a."eng_scal",-->
-<!-- case when b."ad_grad" = 4 THEN b."ad_code" ELSE NULL END AS "town_ad_code",-->
-<!-- case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS "town_ad_name",-->
-<!-- case when b."ad_grad" = 4 THEN b."order_id" ELSE NULL END AS "town_order_id",-->
-<!-- case when b."ad_grad" = 3 THEN b."ad_code" when c."ad_grad" = 3 THEN c."ad_code" END AS "county_ad_code",-->
-<!-- case when b."ad_grad" = 3 THEN b."ad_name"when c."ad_grad" = 3 THEN C."ad_name" END AS "county_ad_name",-->
-<!-- case when b."ad_grad" = 3 THEN b."order_id"when c."ad_grad" = 3 THEN C."order_id" END AS "county_order_id",-->
-<!-- case when b."ad_grad" = 2 THEN b."ad_code"when c."ad_grad" = 2 THEN c."ad_code"ELSE d."ad_code" END AS-->
-<!-- "city_ad_code",-->
-<!-- case when b."ad_grad" = 2 THEN b."ad_name"when c."ad_grad" = 2 THEN c."ad_name"ELSE d."ad_name" END AS-->
-<!-- "city_ad_name",-->
-<!-- case when b."ad_grad" = 2 THEN b."order_id" when c."ad_grad" = 2 THEN c."order_id"ELSE d."order_id" END AS-->
-<!-- "city_order_id",-->
-<!-- case when b."ad_grad" = 1 THEN b."ad_code"when c."ad_grad" = 1 THEN c."ad_code"when d."ad_grad" = 1 THEN-->
-<!-- d."ad_code"ELSE e."ad_code" END AS "province_ad_code",-->
-<!-- case when b."ad_grad" = 1 THEN b."ad_name"when c."ad_grad" = 1 THEN c."ad_name"when d."ad_grad" = 1 THEN-->
-<!-- d."ad_name"ELSE e."ad_name" END AS "province_ad_name",-->
-<!-- case when b."ad_grad" = 1 THEN b."order_id"when c."ad_grad" = 1 THEN c."order_id" when d."ad_grad" = 1 THEN-->
-<!-- d."order_id"ELSE e."order_id" END AS "province_order_id"-->
-<!-- FROM sjzt_md."att_res_base" a-->
-<!-- LEFT JOIN (-->
-
-<!-- SELECT-->
-<!-- distinct (dri."res_cd")-->
-<!-- FROM-->
-<!-- sjzt_dw."dim_res_info_a" dri-->
-<!-- LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"-->
-<!-- where dss."rscd" is not null-->
-
-
-<!-- ) f ON a."guid" = f."res_cd"-->
-<!-- LEFT JOIN (-->
-
-
-<!-- SELECT distinct(dri."res_cd")-->
-<!-- from sjzt_dw."dim_res_info_a" dri-->
-<!-- left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"-->
-<!-- where dss."rscd" is not null-->
-
-
-<!-- ) G on a."guid" = g."res_cd"-->
-<!-- LEFT JOIN (-->
-
-
-<!-- SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb-->
-<!-- where awcb."cd" != '00'-->
-
-<!-- ) h ON a."guid" = h."res_cd"-->
-<!-- LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"-->
-<!-- LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"-->
-<!-- LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"-->
-<!-- LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"-->
-<!-- where (f."res_cd" is not null OR g."res_cd" is not null OR h."res_cd" is not null)-->
-<!-- ) baseRes-->
-<!-- LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = baseRes."town_ad_code"-->
-<!-- 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-->
-<!-- <if test="dam.adCode != null and dam.adCode != '' ">-->
-<!-- AND (aab."ad_code" =#{dam.adCode} or aa."ad_code" = #{dam.adCode} or ab."ad_code" = #{dam.adCode} or-->
-<!-- ac."ad_code" = #{dam.adCode})-->
-<!-- </if>-->
-<!-- ) AllNum,-->
-<!-- (-->
-<!-- SELECT COUNT(*)-->
-<!-- FROM (SELECT distinct DAM_ID FROM NKY_ALARM_GET NAG-->
-<!-- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID-->
-<!-- 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-->
-<!-- <if test="dam.adCode != null and dam.adCode != '' ">-->
-<!-- and (aab."ad_code" =#{dam.adCode} or aa."ad_code" = #{dam.adCode} or ab."ad_code" = #{dam.adCode} or-->
-<!-- ac."ad_code" = #{dam.adCode})-->
-<!-- </if>-->
-
-<!-- <if test="dam.startTime != null and dam.startTime != ''">-->
-<!-- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}-->
-<!-- </if>-->
-<!-- <if test="dam.endTime != null and dam.endTime !='' ">-->
-<!-- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}-->
-<!-- </if>-->
-<!-- )) errorNum-->
-<!-- ),SJZT_MD."att_ad_base" aab-->
-<!-- where 1=1-->
-<!-- <if test="dam.adCode != null and dam.adCode != '' ">-->
-<!-- and aab."guid" = #{dam.adCode}-->
-<!-- </if>-->
-
-
-
SELECT SUM(TMP.allNum) allNum,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
select "ad_code","ad_name",
@@ -204,7 +101,7 @@
select count(*) from (
select max(NAG.dam_id) dam_id
FROM ywxt.NKY_ALARM_GET NAG
- where DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime} AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ where time >= #{dam.startTime} AND time <= #{dam.endTime}
group by NAG.dam_id
) NAG
left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
@@ -452,10 +349,10 @@
where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
)) errorNum,
@@ -479,7 +376,7 @@
select count(*) from (
select max(NAG.dam_id) dam_id
FROM ywxt.NKY_ALARM_GET NAG
- where DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime} AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ where time >= #{dam.startTime} AND time <= #{dam.endTime}
group by NAG.dam_id
) NAG
left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
@@ -748,10 +645,10 @@
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
@@ -764,10 +661,10 @@
SELECT DAM_ID, COUNT(*) FROM YWXT.NKY_ALARM_GET
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
@@ -880,10 +777,10 @@
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
@@ -896,10 +793,10 @@
SELECT DAM_ID, COUNT(*) FROM YWXT.NKY_ALARM_GET
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
@@ -1050,10 +947,10 @@
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
@@ -1066,10 +963,10 @@
SELECT DAM_ID, COUNT(*) FROM YWXT.NKY_ALARM_GET
WHERE 1=1
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
@@ -1673,12 +1570,12 @@
LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid"
LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code"
where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
- <if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
- </if>
- <if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
- </if>
+ <if test="dam.startTime != null and dam.startTime != ''">
+ AND time >= #{dam.startTime}
+ </if>
+ <if test="dam.endTime != null and dam.endTime !='' ">
+ AND time <= #{dam.endTime}
+ </if>
<if test="dam.engScal != null and dam.engScal !='' ">
AND arb."eng_scal" = #{dam.engScal}
@@ -1753,10 +1650,10 @@
where 1=1 and NAG.level != 5
AND (province."ad_code" = #{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode} or town."ad_code" = #{dam.adCode})
<if test="dam.startTime != null and dam.startTime != ''">
- AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime}
+ AND time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
- AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime}
+ AND time <= #{dam.endTime}
</if>
<if test="dam.engScal != null and dam.engScal !='' ">
@@ -1851,11 +1748,10 @@
</if>
<if test="vo.startTime != null and vo.startTime != ''">
- AND DATE_FORMAT(NAG.time,'%Y-%m-%d') >= #{vo.startTime}
+ AND NAG.time >= #{dam.startTime}
</if>
-
<if test="vo.endTime != null and vo.endTime !='' ">
- AND DATE_FORMAT(NAG.time,'%Y-%m-%d') <= #{vo.endTime}
+ AND NAG.time <= #{dam.endTime}
</if>
<if test="vo.level != null and vo.level !='' ">
@@ -4243,148 +4139,501 @@
<select id="damResInfoCountSy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
- SELECT
- base.total,
- base.errorNum,
- (base.total-base.errorNum) as normalNum,
- base.typeName,
- base.type FROM (
- SELECT
- COUNT(*) total,
- '渗压' AS typeName ,
- '1' AS type,
- (SELECT COUNT(*) FROM
- (
- SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE
- TYPE = 1
- AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
- <if test=" adCode!= null and adCode !='' ">
- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
- </if>
- GROUP BY DAM_ID
- )
- ) errorNum
- FROM
- (
- SELECT
- distinct (dri."res_cd")
- FROM
- sjzt_dw."dim_res_info_a" dri
- LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+<!-- SELECT-->
+<!-- base.total,-->
+<!-- base.errorNum,-->
+<!-- (base.total-base.errorNum) as normalNum,-->
+<!-- base.typeName,-->
+<!-- base.type FROM (-->
+<!-- SELECT-->
+<!-- COUNT(*) total,-->
+<!-- '渗压' AS typeName ,-->
+<!-- '1' AS type,-->
+<!-- (SELECT COUNT(*) FROM-->
+<!-- (-->
+<!-- SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp-->
+<!-- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"-->
+<!-- WHERE-->
+<!-- TYPE = 1-->
+<!-- AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()-->
+<!-- <if test=" adCode!= null and adCode !='' ">-->
+<!-- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})-->
+<!-- </if>-->
+<!-- GROUP BY DAM_ID-->
+<!-- )-->
+<!-- ) errorNum-->
+<!-- FROM-->
+<!-- (-->
+<!-- SELECT-->
+<!-- distinct (dri."res_cd")-->
+<!-- FROM-->
+<!-- sjzt_dw."dim_res_info_a" dri-->
+<!-- LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss ON dri."oth_reg_cd" = dss."rscd"-->
+<!-- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"-->
+<!-- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"-->
- where dss."rscd" is not null
- <if test=" adCode!= null and adCode !='' ">
- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
- </if>
- )
- )base
+<!-- where dss."rscd" is not null-->
+<!-- <if test=" adCode!= null and adCode !='' ">-->
+<!-- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})-->
+<!-- </if>-->
+<!-- )-->
+<!-- )base-->
+
+
+
+ SELECT '1' as type,'渗压' as typeName, SUM(TMP.allNum) total,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where
+ TYPE = 1
+ AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+
+ LEFT JOIN (
+ SELECT DISTINCT (dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spprmp" dss
+ ON dri."oth_reg_cd" = dss."rscd"
+ WHERE dss."rscd" is NOT NULL
+ ) f ON a."guid" = f."res_cd"
+
+
+
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ f."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="adCode != null and adCode !='' ">
+ "p_ad_code" = #{adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
+
+
+
+
+
+
+
+
+
+
</select>
<select id="damResInfoCountSl" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
- SELECT
- base.total,
- base.errorNum,
- (base.total-base.errorNum) as normalNum,
- base.typeName,
- base.type FROM (
- SELECT
- COUNT(*) total,
- '渗流' AS typeName ,
- '2' AS type,
- (SELECT COUNT(*) FROM
- (
- SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE
- TYPE = 2
- AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
- <if test=" adCode!= null and adCode !='' ">
- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
- </if>
- GROUP BY DAM_ID
- )
- ) errorNum
- FROM
- (
- select distinct(dri."res_cd")
- from sjzt_dw."dim_res_info_a" dri
- left join sjzt_ods."dsm_spg_spqnmp" dss on trim(dss."rscd") = dri."oth_reg_cd"
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = dri."res_cd"
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- where dss."rscd" is not null
- <if test=" adCode!= null and adCode !='' ">
- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
- </if>
- )
- )base
+
+ SELECT '2' as type,'渗流' as typeName, SUM(TMP.allNum) total,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
+ (
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where TYPE = 2
+ AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+
+
+ ) as errorNum,
+ (
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+
+
+
+ LEFT JOIN (
+ SELECT distinct(dri."res_cd")
+ FROM sjzt_dw."dim_res_info_a" dri
+ LEFT JOIN sjzt_ods."dsm_spg_spqnmp" dss ON trim(dss."rscd") = dri."oth_reg_cd"
+ WHERE dss."rscd" is NOT NULL
+ ) G ON a."guid" = g."res_cd"
+
+
+
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ g."res_cd" is NOT null
+ )
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
+
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="adCode != null and adCode !='' ">
+ "p_ad_code" = #{adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
</select>
<select id="damResInfoCountWy" resultType="cn.gistack.sm.damSecurity.vo.DamStatisticsRes">
- SELECT
- base.total,
- base.errorNum,
- (base.total-base.errorNum) as normalNum,
- base.typeName,
- base.type FROM (
- SELECT
- COUNT(*) total,
- '位移' AS typeName ,
- '3' AS type,
- (SELECT COUNT(*) FROM
+
+
+ SELECT '3' as type,'位移' as typeName, SUM(TMP.allNum) total,sum(TMP.errorNum) errorNum,sum(normalNum) normalNum FROM (
+ select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
+ select "ad_code","ad_name",
(
- SELECT DAM_ID FROM YWXT.NKY_ALARM_GET temp
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = temp.dam_id
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- WHERE
- (TYPE = 3 or type = 4 or type = 5)
+ select count(*) from (
+ select max(NAG.dam_id) dam_id
+ FROM ywxt.NKY_ALARM_GET NAG
+ where (TYPE = 3 or type = 4 or type = 5)
AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
- <if test=" adCode!= null and adCode !='' ">
- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
- </if>
- GROUP BY DAM_ID
- )
- ) errorNum
- FROM
+ group by NAG.dam_id
+ ) NAG
+ left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
+ left join sjzt_md."att_ad_base" ada on (ada."guid" = res."interior_ad_guid")
+ left join sjzt_md."att_ad_base" adb on (adb."guid" = ada."p_ad_code")
+ left join sjzt_md."att_ad_base" adc on (adc."guid" = adb."p_ad_code")
+ left join sjzt_md."att_ad_base" addd on (addd."guid" = adc."p_ad_code")
+ where res."interior_ad_guid" = aab."guid" or ada."guid" = aab."guid" or adb."guid" = aab."guid" or adc."guid" = aab."guid" or addd."guid" = aab."guid"
+
+
+ ) as errorNum,
(
+ SELECT COUNT(*) FROM (
+ SELECT a."guid",a."name",a."eng_scal",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_code"
+ ELSE NULL
+ END AS "town_ad_code",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."ad_name"
+ ELSE NULL
+ END AS "town_ad_name",
+ CASE
+ WHEN b."ad_grad" = 4 THEN
+ b."order_id"
+ ELSE NULL
+ END AS "town_order_id",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 3 THEN
+ c."ad_code"
+ END AS "county_ad_code",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 3 THEN
+ C."ad_name"
+ END AS "county_ad_name",
+ CASE
+ WHEN b."ad_grad" = 3 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 3 THEN
+ C."order_id"
+ END AS "county_order_id",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_code"
+ ELSE d."ad_code"
+ END AS "city_ad_code",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 2 THEN
+ c."ad_name"
+ ELSE d."ad_name"
+ END AS "city_ad_name",
+ CASE
+ WHEN b."ad_grad" = 2 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 2 THEN
+ c."order_id"
+ ELSE d."order_id"
+ END AS "city_order_id",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_code"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_code"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_code"
+ ELSE e."ad_code"
+ END AS "province_ad_code",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."ad_name"
+ WHEN c."ad_grad" = 1 THEN
+ c."ad_name"
+ WHEN d."ad_grad" = 1 THEN
+ d."ad_name"
+ ELSE e."ad_name"
+ END AS "province_ad_name",
+ CASE
+ WHEN b."ad_grad" = 1 THEN
+ b."order_id"
+ WHEN c."ad_grad" = 1 THEN
+ c."order_id"
+ WHEN d."ad_grad" = 1 THEN
+ d."order_id"
+ ELSE e."order_id"
+ END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
- select distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
- LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = awcb."res_cd"
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
- LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
- LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
- where awcb."cd" != '00'
- <if test=" adCode!= null and adCode !='' ">
- AND (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
- </if>
+
+ LEFT JOIN (
+ SELECT distinct("res_cd")
+ FROM sjzt_md."att_wy_cd_base" awcb
+ WHERE awcb."cd" != '00'
+ ) h ON a."guid" = h."res_cd"
+
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
+ LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN sjzt_md."att_ad_base" d ON c."p_ad_code" = d."guid"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ WHERE
+ (
+ h."res_cd" is NOT null
)
- )base
+ AND (d."ad_code" = aab."guid"
+ OR c."ad_code" = aab."guid"
+ OR b."ad_code" = aab."guid" )
+ )
+ ) allNum
-
+ FROM SJZT_MD."att_ad_base" aab
+ where
+ <choose>
+ <when test="adCode != null and adCode !='' ">
+ "p_ad_code" = #{adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ )TMP
</select>
--
Gitblit v1.9.3