From f20611265f7d34fd4fbcdfdaff6cb9cccd0b25fc Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 21 Jun 2024 11:53:21 +0800
Subject: [PATCH] 湖北水库:施工:项目查询过滤无效修复、根据角色查询用户
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 245 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 189 insertions(+), 56 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 26107fc..2d0ce54 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
@@ -110,8 +110,6 @@
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 (
@@ -231,7 +229,6 @@
OR b."ad_code" = aab."guid" )
)
) allNum
-
FROM SJZT_MD."att_ad_base" aab
where
<choose>
@@ -244,21 +241,14 @@
</choose>
)
)TMP
-
-
-
-
-
</select>
<select id="listRegionCount" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
-
SELECT allNum,errorNum, allNum-errorNum normalNum,adName,adCode FROM
(
-
SELECT
(
SELECT COUNT(*) FROM
@@ -339,7 +329,6 @@
or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
)
) 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
@@ -347,14 +336,12 @@
left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_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 time >= #{dam.startTime}
</if>
<if test="dam.endTime != null and dam.endTime !='' ">
AND time <= #{dam.endTime}
</if>
-
)) errorNum,
aab."ad_name" adName , aab."guid" adCode from SJZT_MD."att_ad_base" aab
where
@@ -367,7 +354,6 @@
</otherwise>
</choose>
)
-
</select>
<select id="listRegionCountOptimize" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
select "ad_code","ad_name",allNum,errorNum,allNum-errorNum normalNum from (
@@ -385,8 +371,6 @@
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 (
@@ -506,7 +490,6 @@
OR b."ad_code" = aab."guid" )
)
) allNum
-
FROM SJZT_MD."att_ad_base" aab
where
<choose>
@@ -818,9 +801,9 @@
<select id="tableResCountPageOptimize" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
-
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,
@@ -841,6 +824,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",
@@ -861,30 +845,22 @@
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"
@@ -894,23 +870,15 @@
<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 (
-
-
select res."res_cd",count(*) wyStation from(
-
SELECT distinct("res_cd") from sjzt_md."att_wy_cd_base" awcb
where awcb."cd" != '00'
-
)res LEFT JOIN SJZT_MD."att_wy_cd_base" acb ON acb."res_cd" = res."res_cd"
where acb."cd_type" = 'wy' group by res."res_cd"
-
-
) wy ON wy."res_cd" = baseRes."guid"
LEFT JOIN(
-
select res."res_cd",count(*) syStation from(
SELECT
distinct (dri."res_cd")
@@ -920,40 +888,27 @@
where dss."rscd" is not null
)res LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = res."res_cd"
where acb."cd_type" = 'sy' group by res."res_cd"
-
) sy ON sy."res_cd" = baseRes."guid"
LEFT JOIN (
-
-
select res."res_cd",count(*) slStation 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"
where dss."rscd" is not null
-
-
)res LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = res."res_cd"
where acb."cd_type" = 'sl' group by res."res_cd"
-
-
) sl ON sl."res_cd" = baseRes."guid"
LEFT JOIN (
SELECT DAM_ID ,COUNT(*) errorNum FROM NKY_ALARM_GET
WHERE 1=1
-
<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>
-
-
GROUP BY "DAM_ID"
) alarm ON alarm.DAM_ID = baseRes."guid"
-
LEFT JOIN (
SELECT DAM_ID ,COUNT(*) errorCountNum
FROM (
@@ -967,12 +922,7 @@
</if>
GROUP BY DAM_ID,POINT_ID
) baseCount GROUP BY DAM_ID) c1 ON c1.dam_id = baseRes."guid"
-
-
WHERE 1=1
- <!--这里加条件-->
-
-
<if test="dam.resName != null and dam.resName !='' ">
AND "name" LIKE CONCAT('%',#{dam.resName},'%')
</if>
@@ -982,10 +932,40 @@
+ <select id="alarmResCountByZt" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
+ SELECT
+ arb."center_long" AS longitude,
+ arb."center_lat" AS latitude,
+ arb."name" as resName,
+ sar.reservoir_number resCd,
+ abb."code" AS basCode,
+ abb."name" AS basName
+ FROM
+ (
+
+ select sar.* from YWXT.sm_alarm_record sar
+ left join ywxt.sm_alarm_rule b on (sar.alarm_rule_id = b.id)
+ where sar.create_time >= #{dam.startTime} and sar.create_time <= #{dam.endTime}
+ and b.create_alarm_type not like '%缺失%'
+ and (b.type = '渗压监测' or b.type = '变形监测' or b.type = '渗流监测')
+ and (b.ALARM_LEVEL = '红色预警' or b.ALARM_LEVEL = '橙色预警')
+ ) sar
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = sar.reservoir_number
+ 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"
+
+ LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = sar.reservoir_number
+ 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"
+ </select>
+
<select id="alarmResCount" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
SELECT
arb."center_long" AS longitude,
arb."center_lat" AS latitude,
+ arb."name" as resName,
resCd,
abb."code" AS basCode,
abb."name" AS basName
@@ -1645,7 +1625,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>
@@ -1741,9 +1722,8 @@
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 >= #{vo.startTime}
</if>
@@ -1860,7 +1840,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 != ''">
@@ -4583,6 +4563,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