<?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.resDataCheck.mapper.QualityManageMapper">
|
|
|
<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 (
|
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 "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
|
arb."name" AS resName,
|
arb."res_loc" AS resLoc,
|
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
|
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 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>
|
<select id="getList" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
|
|
|
<!-- SELECT-->
|
<!-- arb."guid" AS resGuid,-->
|
<!-- arb."name" AS resName,-->
|
<!-- arb."res_loc" AS resLoc,-->
|
<!-- 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,-->
|
<!-- case when town."ad_grad" = 1 THEN town."ad_code"-->
|
<!-- when county."ad_grad" = 1 THEN county."ad_code"-->
|
<!-- when city."ad_grad" = 1 THEN city."ad_code"-->
|
<!-- ELSE province."ad_code" END AS provinceCode,-->
|
<!-- case when town."ad_grad" = 1 THEN town."ad_name"-->
|
<!-- when county."ad_grad" = 1 THEN county."ad_name"-->
|
<!-- when city."ad_grad" = 1 THEN city."ad_name"-->
|
<!-- ELSE province."ad_name" END AS provinceName,-->
|
|
<!-- qm.val,-->
|
<!-- qm.create_time-->
|
<!-- 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 "SJZT_MD"."att_ad_base" town on town."guid" = 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_ad_base" province on province."ad_code" = city."p_ad_code"-->
|
<!-- where qm.is_deleted = 0-->
|
<!-- and qm.rule_id in ('1775403351266652162')-->
|
<!-- <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 concat(province."ad_code",city."ad_code",county."ad_code",town."ad_code") like CONCAT('%',#{vo.adCode},'%')-->
|
<!-- </if>-->
|
<!-- order by qm.create_time desc-->
|
|
select
|
BASIC.*,
|
arb."guid" as resGuid,
|
arb."name" as resName,
|
|
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 ,
|
case when town."ad_grad" = 1 then town."ad_code" when county."ad_grad" = 1 then county."ad_code" when city."ad_grad" = 1 then city."ad_code" else province."ad_code" end as provinceCode ,
|
case when town."ad_grad" = 1 then town."ad_name" when county."ad_grad" = 1 then county."ad_name" when city."ad_grad" = 1 then city."ad_name" else province."ad_name" end as provinceName
|
from (
|
select
|
qm.res_id,wm_concat(srdcr.description) ruleDesc
|
|
from ywxt.SM_RES_DATA_QUALITY_MANAGE qm
|
left join ywxt.SM_RES_DATA_CHECK_RULES srdcr on srdcr.id = qm.rule_id
|
where qm.is_deleted = 0
|
and qm.rule_id in ( '1777252387305783298', '1777252642021670914', '1777253026366717954', '1777253294051393537', '1777253523538542594', '1777253725028712449', '1777254213505744898', '1777254438337216514', '1777254629534564354', '1777254774644899841' )
|
<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>
|
group by qm.res_id
|
)
|
basic
|
left join SJZT_MD."att_res_base" arb on arb."guid" = basic.res_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."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_ad_base" province on province."ad_code" = city."p_ad_code"
|
where 1 = 1 and concat(province."ad_code", city."ad_code", county."ad_code", town."ad_code") like CONCAT('%', '422826200000', '%')
|
|
</select>
|
|
|
</mapper>
|