<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="cn.gistack.sm.damSecurity.mapper.DamSecurityMapper">
|
|
<select id="getSingleRegionCount" 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 "res_cd", "sys_resource"FROM
|
(SELECT b."guid" as "res_cd", 'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_pztb" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
|
UNION
|
SELECT b."guid" as "res_cd", 'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code") WHERE "res_cd" is not null) f ON a."guid" = f."res_cd"
|
LEFT JOIN (
|
SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'sl' as "sys_resource" FROM sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid") WHERE "res_cd" is not null) G on a."guid" = g."res_cd"
|
LEFT JOIN (
|
SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'wy' as "sys_resource" FROM (SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" group by b."guid") WHERE "res_cd" is not null) 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>
|
)) 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>
|
|
|
|
|
|
<select id="listRegionCount" resultType="cn.gistack.sm.damSecurity.vo.DamSecurityStatistics">
|
|
SELECT allNum,errorNum, allNum-errorNum normalNum,adName,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
|
"res_cd",
|
"sys_resource"
|
FROM
|
(SELECT
|
b."guid" as "res_cd",
|
'sy' as "sys_resource"
|
FROM
|
sjzt_ods."dsm_spg_pztb" a
|
LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
|
UNION
|
SELECT
|
b."guid" as "res_cd",
|
'sy' as "sys_resource"
|
FROM
|
sjzt_ods."dsm_spg_spprmp" a
|
LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code") WHERE "res_cd" is not null) f ON a."guid" = f."res_cd"
|
LEFT JOIN (SELECT
|
"res_cd",
|
"sys_resource"
|
FROM
|
(SELECT
|
b."guid" as "res_cd",
|
'sl' as "sys_resource"
|
FROM
|
sjzt_ods."dsm_spg_spqnmp" a
|
LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid") WHERE "res_cd" is not null) G on a."guid" = g."res_cd"
|
LEFT JOIN (SELECT
|
"res_cd",
|
"sys_resource"
|
FROM
|
(SELECT
|
b."guid" as "res_cd",
|
'wy' as "sys_resource"
|
FROM
|
(SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a
|
LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" group by b."guid") WHERE "res_cd" is not null) 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) and (d."ad_code" = aab."guid" 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
|
left join SJZT_MD."att_ad_base" b on arb."interior_ad_guid" = b."ad_code"
|
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" )
|
)) errorNum,
|
aab."ad_name" adName , aab."guid" adCode from SJZT_MD."att_ad_base" aab
|
where
|
<choose>
|
<when test="dam.adCode != null and dam.adCode !='' ">
|
"p_ad_code" = #{dam.adCode}
|
</when>
|
<otherwise>
|
"ad_grad" = 2
|
</otherwise>
|
</choose>
|
)
|
|
</select>
|
</mapper>
|