<?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.QualityManageDetailMapper">
|
|
|
<insert id="saveQualityManageDetail">
|
|
insert into
|
SM_RES_DATA_QUALITY_MANAGE_DETAIL
|
(
|
res_id,rule_id,rule_name,rule_description,create_time,update_time,val,
|
is_gate,eng_scal,is_danger,town_code,town_name,county_code,county_name,city_code,city_name,
|
res_reg_code,res_name,rz,tb_weir_top_elevation,tb_flse_lim_stag,tb_norm_pool_stag,tb_control_z,tb_des_fl_stag,tb_dam_top_elevation,tb_dead_stag,remark
|
)
|
select
|
distinct
|
a."guid" as res_id,
|
${rule.id} AS rule_id,
|
${rule.name}AS rule_name,
|
${rule.description}AS rule_description,
|
NOW() AS create_time,
|
NOW() AS update_time,
|
${varStr},
|
a."is_gate" AS is_gate,
|
a."eng_scal" AS eng_scal,
|
dria."is_danger_res" AS is_danger,
|
|
case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS town_code,
|
case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS town_name,
|
|
case when town."ad_grad" = 3 THEN town."ad_code"
|
when county."ad_grad" = 3 THEN county."ad_code" END AS county_code,
|
|
case when town."ad_grad" = 3 THEN town."ad_name"
|
when county."ad_grad" = 3 THEN county."ad_name" END AS county_name,
|
|
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 city_code,
|
|
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 city_name,
|
|
a."res_reg_code" as res_reg_code,
|
a."name" as res_name,
|
f."rz" as rz,
|
g."tb_weir_top_elevation",
|
d2."tb_flse_lim_stag",
|
c."tb_norm_pool_stag",
|
b."tb_control_z",
|
c."tb_des_fl_stag",
|
h."tb_dam_top_elevation",
|
c."tb_dead_stag",
|
${rule.description} as remark
|
|
from SJZT_MD."att_res_base" a
|
|
LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = a."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_DW."dim_res_info_a" dria ON (dria."guid" = a."guid")
|
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="selectCustomizePage" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageDetailVO">
|
SELECT
|
MAX(id) id,
|
RES_ID,
|
MAX(is_gate) is_gate,
|
MAX(eng_scal) eng_scal,
|
MAX(is_danger) is_danger,
|
MAX(town_code) town_code,
|
MAX(town_name) town_name,
|
MAX(county_code)county_code,
|
MAX(county_name)county_name,
|
MAX(city_code) city_code,
|
MAX(city_name) city_name,
|
MAX(res_reg_code) res_reg_code,
|
MAX(res_name) res_name,
|
MAX(rz) rz,
|
MAX(tb_flse_lim_stag) tb_flse_lim_stag,
|
MAX(tb_weir_top_elevation) tb_weir_top_elevation,
|
MAX(tb_norm_pool_stag) tb_norm_pool_stag,
|
MAX(tb_control_z) tb_control_z,
|
MAX(tb_des_fl_stag) tb_des_fl_stag,
|
MAX(tb_dam_top_elevation) tb_dam_top_elevation,
|
MAX(tb_dead_stag) tb_dead_stag,
|
replace(wm_concat(remark),',',';') as remark,
|
MAX(create_time) create_time
|
from YWXT.SM_RES_DATA_QUALITY_MANAGE_DETAIL
|
where
|
1=1
|
<if test="vo.resId != null and vo.resId != ''">
|
AND res_id = #{vo.resId}
|
</if>
|
<if test="vo.resName != null and vo.resName != ''">
|
AND res_name LIKE CONCAT('%', #{vo.resName},'%')
|
</if>
|
<if test="vo.startTime != null and vo.startTime != ''">
|
AND DATE_FORMAT(create_time,'%Y-%m-%d') >= #{vo.startTime}
|
</if>
|
<if test="vo.endTime != null and vo.endTime !='' ">
|
AND DATE_FORMAT(create_time,'%Y-%m-%d') <= #{vo.endTime}
|
</if>
|
<if test="vo.engScal != null and vo.engScal != ''">
|
and eng_scal = #{vo.engScal}
|
</if>
|
<if test="vo.isDanger != null and vo.isDanger != ''">
|
and is_danger = #{vo.isDanger}
|
</if>
|
<if test="vo.cityCode != null and vo.cityCode != ''">
|
and city_code = #{vo.cityCode}
|
</if>
|
<if test="vo.countyCode != null and vo.countyCode != ''">
|
and county_code = #{vo.countyCode}
|
</if>
|
<if test="vo.townCode != null and vo.townCode != ''">
|
and town_code= #{vo.townCode}
|
</if>
|
GROUP BY
|
RES_ID
|
</select>
|
</mapper>
|