From 5e972eb9928c39b5abbdfd35e2a0aeff40876e7d Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 07 May 2024 17:23:16 +0800
Subject: [PATCH] 修改不成功问题
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 256 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 180 insertions(+), 76 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 458f2ec..fba93fa 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
@@ -527,7 +527,6 @@
info."guid" AS resCd,
info."name" AS resName,
info."eng_scal" AS engScal,
- info."res_reg_code" AS resRegCode,
info."town_ad_code" AS townCode,
info."town_ad_name" AS townName,
info."county_ad_code" AS countyCode,
@@ -546,7 +545,6 @@
a."guid",
a."name",
a."eng_scal",
- a."res_reg_code",
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",
@@ -566,34 +564,41 @@
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"
+ ) 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)
+ <if test="dam.adCode != null and dam.adCode !='' ">
+ AND (c."ad_code" = #{dam.adCode} or d."ad_code" =#{dam.adCode}or e."ad_code" = #{dam.adCode})
+ </if>
+
) baseRes
LEFT JOIN (
@@ -638,8 +643,6 @@
) sl ON sl."res_cd" = baseRes."guid"
-
-
LEFT JOIN (
SELECT DAM_ID ,COUNT(*) errorNum FROM NKY_ALARM_GET
WHERE 1=1
@@ -669,21 +672,15 @@
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
- LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = "town_ad_code"
- 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 1=1
<!--这里加条件-->
- <if test="dam.adCode != null and dam.adCode !='' ">
- AND (province."ad_code" = #{dam.adCode} or city."ad_code" =#{dam.adCode}or county."ad_code" = #{dam.adCode}
- )
- </if>
+
<if test="dam.resName != null and dam.resName !='' ">
AND "name" LIKE CONCAT('%',#{dam.resName},'%')
</if>
- ) info
+ ) info order by info.errorNum desc
</select>
@@ -824,6 +821,7 @@
SELECT
info."guid" AS resCd,
+ info."res_reg_code" as resRegCode,
info."name" AS resName,
info."eng_scal" AS engScal,
info."town_ad_code" AS townCode,
@@ -844,6 +842,7 @@
a."guid",
a."name",
a."eng_scal",
+ a."res_reg_code",
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",
@@ -989,6 +988,7 @@
SELECT
arb."center_long" AS longitude,
arb."center_lat" AS latitude,
+ arb."name" as resName,
resCd,
abb."code" AS basCode,
abb."name" AS basName
@@ -1648,7 +1648,8 @@
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 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})
+
+ AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{dam.adCode},'%')
<if test="dam.startTime != null and dam.startTime != ''">
AND time >= #{dam.startTime}
</if>
@@ -1744,14 +1745,13 @@
LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = NAG.DAM_ID AND NAG.POINT_ID = acb."cd"
WHERE 1=1 and level != 5
<if test=" vo.adCode != null and vo.adCode !='' ">
- AND (province."ad_code" =#{vo.adCode} or city."ad_code" = #{vo.adCode} or county."ad_code" = #{vo.adCode})
+ AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{vo.adCode},'%')
</if>
-
<if test="vo.startTime != null and vo.startTime != ''">
- AND NAG.time >= #{dam.startTime}
+ AND NAG.time >= #{vo.startTime}
</if>
<if test="vo.endTime != null and vo.endTime !='' ">
- AND NAG.time <= #{dam.endTime}
+ AND NAG.time <= #{vo.endTime}
</if>
<if test="vo.level != null and vo.level !='' ">
@@ -1863,7 +1863,7 @@
LEFT JOIN SJZT_MD."att_wy_cd_base" awcb ON awcb."res_cd" = NAG.DAM_ID AND NAG.POINT_ID = awcb."cd"
WHERE 1=1 and level != 5
<if test=" vo.adCode != null and vo.adCode !='' ">
- AND (province."ad_code" =#{vo.adCode} or city."ad_code" = #{vo.adCode} or county."ad_code" = #{vo.adCode})
+ AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{vo.adCode},'%')
</if>
<if test="vo.startTime != null and vo.startTime != ''">
@@ -1920,7 +1920,6 @@
#{item}
</foreach>
</if>
- ORDER BY NAG.TIME DESC
</select>
@@ -4139,54 +4138,6 @@
<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"-->
-
-<!-- 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 (
@@ -4197,7 +4148,7 @@
FROM ywxt.NKY_ALARM_GET NAG
where
TYPE = 1
- AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ AND time>= CURDATE()
group by NAG.dam_id
) NAG
left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
@@ -4354,7 +4305,7 @@
select max(NAG.dam_id) dam_id
FROM ywxt.NKY_ALARM_GET NAG
where TYPE = 2
- AND DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
+ AND time>= CURDATE()
group by NAG.dam_id
) NAG
left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
@@ -4503,7 +4454,7 @@
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()
+ AND time>= CURDATE()
group by NAG.dam_id
) NAG
left join sjzt_md."att_res_base" res on (res."guid" = NAG.dam_id)
@@ -4635,6 +4586,159 @@
)
)TMP
</select>
+ <select id="getLatestResRecord" resultType="cn.gistack.nky.vo.AlarmGetVO">
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE,
+ NAG.TIME,
+ NAG.VALUE,
+ NAG."DESC",
+ NAG.CREATE_TIME,
+ NAG.TASK_CATEGORY,
+ NAG.LEVEL,
+ NAG.BAOJINGZHI,
+ NAG.ORIGIN_ID,
+ NAG.FORWARD,
+ NAG."REVERSE",
+ NAG.RATIO,
+
+ ARB."name" reservoirName,
+ acb."cd_nm" cdName,
+
+ 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
+
+ FROM YWXT.NKY_ALARM_GET NAG
+ right JOIN (
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ MAX(NAG.TIME)TIME,
+ NAG.TYPE
+ FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = nag.dam_id
+
+ WHERE
+ dam_id = #{alarmGet.damId}
+ and type = #{alarmGet.type}
+ GROUP BY
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE
+
+ )TMP ON (
+ TMP.DAM_ID = NAG.DAM_ID
+ AND TMP.POINT_ID = NAG.POINT_ID
+ AND TMP.TYPE = NAG.TYPE
+ AND TMP.TIME = NAG.TIME
+ )
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = NAG.DAM_ID
+
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+
+ LEFT JOIN SJZT_MD."att_cd_base" acb on
+ acb."res_cd" = #{alarmGet.damId}
+ and acb."cd" = nag.point_id
+ <if test="alarmGet.type == 1">
+ and acb."cd_type" = 'sy'
+ </if>
+ <if test="alarmGet.type == 2">
+ and acb."cd_type" = 'sl'
+ </if>
+ ORDER BY POINT_ID
+ </select>
+ <select id="getLatestResRecordWy" resultType="cn.gistack.nky.vo.AlarmGetVO">
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE,
+ NAG.TIME,
+ NAG.VALUE,
+ NAG."DESC",
+ NAG.CREATE_TIME,
+ NAG.TASK_CATEGORY,
+ NAG.LEVEL,
+ NAG.BAOJINGZHI,
+ NAG.ORIGIN_ID,
+ NAG.FORWARD,
+ NAG."REVERSE",
+ NAG.RATIO,
+
+ ARB."name" reservoirName,
+ acb."cd_nm" cdName,
+
+ 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
+
+ FROM YWXT.NKY_ALARM_GET NAG
+ right JOIN (
+ SELECT
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ MAX(NAG.TIME)TIME,
+ MAX(NAG.CREATE_TIME) CREATE_TIME,
+ NAG.TYPE
+ FROM YWXT.NKY_ALARM_GET NAG
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = nag.dam_id
+
+ WHERE
+ dam_id = #{alarmGet.damId}
+ and (type = '3' or type = '4' or type = '5')
+ GROUP BY
+ NAG.DAM_ID,
+ NAG.POINT_ID,
+ NAG.TYPE
+
+ )TMP ON (
+ TMP.DAM_ID = NAG.DAM_ID
+ AND TMP.POINT_ID = NAG.POINT_ID
+ AND TMP.TYPE = NAG.TYPE
+ AND TMP.TIME = NAG.TIME
+ AND TMP.CREATE_TIME = NAG.CREATE_TIME
+ )
+ LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = NAG.DAM_ID
+
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+
+ LEFT JOIN SJZT_MD."att_wy_cd_base" acb on
+ acb."res_cd" = #{alarmGet.damId}
+ and acb."cd" = nag.point_id
+ and acb."cd_type" = 'wy'
+ ORDER BY POINT_ID
+ </select>
</mapper>
--
Gitblit v1.9.3