<?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.sjztmd.mapper.TbResGeneralInvestigationMapper">
|
<!--namespace根据自己需要创建的的mapper的路径和名称填写-->
|
|
<sql id="resBase">
|
(
|
SELECT arb."code",
|
arb."name",
|
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 sjzt_MD."att_res_base" ARB
|
LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
|
) arb
|
</sql>
|
|
|
<sql id="selectResByRegion">
|
SELECT arb."code",
|
arb."name",
|
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 sjzt_MD."att_res_base" ARB
|
LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
</sql>
|
|
|
|
|
|
|
|
|
<select id="statisticsPie" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie">
|
|
SELECT
|
tempNum.totalNum,
|
tempNum.finishNum,
|
tempNum.totalNum-tempNum.finishNum as unFinishNum
|
FROM(
|
SELECT
|
COUNT(*) totalNum,
|
SUM(CASE WHEN (trgis."check_state" = 1 or trgis."check_state" = 2) THEN 1 ELSE 0 END) as finishNum
|
from
|
<include refid="resBase"/>
|
LEFT JOIN SJZT_MD."tb_res_general_investigation_state" trgis ON trgis."res_guid" = arb."code" AND (trgis."check_state" = 1 or trgis."check_state" = 2)
|
<if test="params.tbYear != null and params.tbYear !=''">
|
AND trgis."tb_year" = #{params.tbYear}
|
</if>
|
WHERE 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
|
</if>
|
) tempNum
|
|
</select>
|
|
|
<select id="getStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
|
|
select
|
"ad_code" code,
|
"ad_name" name,
|
(
|
SELECT COUNT(*)FROM
|
(
|
<include refid="selectResByRegion"/>
|
where (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
)res
|
) AS resNum,
|
(
|
SELECT COUNT(*) FROM (
|
SELECT trgis."res_guid",tmp.totalDangerNum FROM
|
SJZT_MD."tb_res_general_investigation_state" trgis
|
LEFT JOIN
|
(
|
SELECT TRGI."tb_state_id",TRGI."res_guid",
|
SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum
|
from sjzt_md."tb_res_general_investigation" trgi
|
where 1=1
|
<if test="params.tbYear != null and params.tbYear !=''">
|
AND TRGI."tb_year" = #{params.tbYear}
|
</if>
|
group by TRGI."tb_state_id",TRGI."res_guid"
|
) tmp on tmp."tb_state_id" = trgis."guid"
|
LEFT JOIN SJZT_MD."att_res_base" arb on arb."code" = trgis."res_guid"
|
LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
<!--只有已审核数据才显示-->
|
and (trgis."check_state" = 3 and totalDangerNum > 0)
|
)
|
) dangerNum
|
FROM YWXT."att_ad_base" aab
|
where
|
<if test="params.adCode != null and params.adCode !=''">
|
"p_ad_code" = #{params.adCode}
|
</if>
|
|
</select>
|
|
|
|
<select id="getCountyStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
|
SELECT
|
arb."code" as code,
|
arb."name" as name,
|
CASE WHEN tmp.termiteNum THEN tmp.termiteNum ELSE 0 END as termiteNum,
|
CASE WHEN tmp.otherNum THEN tmp.otherNum ELSE 0 END as otherNum
|
FROM <include refid="resBase"/>
|
left join "SJZT_MD"."tb_res_general_investigation_state" trgis on trgis."res_guid" = arb."code" and (trgis."check_state" =1 or trgis."check_state" =2)
|
left join
|
(
|
SELECT TRGI."tb_state_id",TRGI."res_guid",
|
SUM(CASE WHEN (trgi."investigation_variety" = '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS termiteNum,
|
SUM(CASE WHEN (trgi."investigation_variety" != '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum
|
from sjzt_md."tb_res_general_investigation" trgi
|
where 1=1
|
<if test="params.tbYear != null and params.tbYear !=''">
|
AND trgi."tb_year" = #{params.tbYear}
|
</if>
|
group by TRGI."tb_state_id",TRGI."res_guid"
|
) tmp on tmp."tb_state_id" = trgis."guid"
|
where 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
|
</if>
|
</select>
|
<select id="getCityStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
|
SELECT
|
aab."guid" code,
|
aab."ad_name" name,
|
CASE WHEN resTmp.resNum THEN resTmp.resNum ELSE 0 END AS resNum,
|
CASE WHEN resTmp.dangerNum THEN resTmp.dangerNum ELSE 0 END AS dangerNum
|
FROM YWXT."att_ad_base" aab
|
LEFT JOIN (
|
SELECT
|
COUNT(*) resNum,
|
arb.countyCode adCode,
|
arb.countyName adName,
|
SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum
|
FROM <include refid="resBase"/>
|
left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid" and (trgis."check_state" =1 or trgis."check_state" =2)
|
LEFT JOIN
|
(
|
SELECT TRGI."tb_state_id",TRGI."res_guid",
|
SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum
|
from sjzt_md."tb_res_general_investigation" trgi
|
where 1=1
|
<if test="params.tbYear != null and params.tbYear != ''">
|
AND TRGI."tb_year" = #{params.tbYear}
|
</if>
|
group by TRGI."tb_state_id",TRGI."res_guid"
|
|
) tmp on tmp."tb_state_id" = trgis."guid"
|
WHERE 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
|
</if>
|
group by arb.countyCode,arb.countyName
|
) resTmp ON resTmp.adCode = aab."guid"
|
where 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
and aab."p_ad_code" = #{params.adCode}
|
</if>
|
</select>
|
|
|
<select id="getProvinceStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
|
SELECT
|
aab."guid" code,
|
aab."ad_name" name,
|
CASE WHEN resTmp.resNum THEN resTmp.resNum ELSE 0 END AS resNum,
|
CASE WHEN resTmp.dangerNum THEN resTmp.dangerNum ELSE 0 END AS dangerNum
|
FROM YWXT."att_ad_base" aab
|
LEFT JOIN (
|
SELECT
|
COUNT(*) resNum,
|
arb.cityCode adCode,
|
arb.cityName adName,
|
SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum
|
FROM <include refid="resBase"/>
|
|
left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid" and (trgis."check_state" =1 or trgis."check_state" =2)
|
LEFT JOIN
|
(
|
SELECT TRGI."tb_state_id",TRGI."res_guid",
|
SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum
|
from sjzt_md."tb_res_general_investigation" trgi
|
where 1=1
|
<if test="params.tbYear != null and params.tbYear != ''">
|
AND TRGI."tb_year" = #{params.tbYear}
|
</if>
|
group by TRGI."tb_state_id",TRGI."res_guid"
|
) tmp on tmp."tb_state_id" = trgis."guid"
|
WHERE 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
|
</if>
|
group by arb.cityCode ,arb.cityName
|
) resTmp ON resTmp.adCode = aab."guid"
|
where 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
and aab."p_ad_code" = #{params.adCode}
|
</if>
|
order by aab."guid" asc
|
|
</select>
|
|
<select id="getCityStatisticsTable" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable">
|
|
SELECT
|
aab."guid" as adCode,
|
aab."ad_name" as adName,
|
ifNull(res.resNum,0 )as resNum,
|
ifNull(res.investigationResNum,0) as investigationResNum,
|
ifNull(res.resNum - res.investigationResNum,0)as unInvestigationResNum,
|
ifNull(res.checkResNum,0) as checkResNum,
|
|
ifNull(dyke.dykeNum,0 )as dykeNum,
|
ifNull(dyke.investigationDykeNum,0) as investigationDykeNum,
|
ifNull(dyke.dykeNum - dyke.investigationDykeNum,0)as unInvestigationDykeNum,
|
ifNull(dyke.checkDykeNum,0) as checkDykeNum
|
from
|
ywxt."att_ad_base" aab
|
LEFT JOIN
|
(
|
SELECT
|
arb.countyCode adCode,
|
arb.countyName adName,
|
COUNT(*) AS resNum,
|
SUM(CASE WHEN trgis."check_state" = 1 THEN 1 ELSE 0 END) investigationResNum,
|
SUM(CASE WHEN trgis."check_state" = 2 THEN 1 ELSE 0 END) checkResNum
|
FROM
|
<include refid="resBase"/>
|
left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid"
|
WHERE 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
|
</if>
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and trgis."tb_year" = #{params.tbYear}
|
</if>
|
group by arb.countyCode,arb.countyName
|
)res on res.adCode = aab."guid"
|
LEFT JOIN
|
(
|
SELECT
|
trd."ad_code" adCode,
|
trd."ad_name" adNmae,
|
COUNT(*) AS dykeNum,
|
SUM(CASE WHEN tdis."check_state" = 1 THEN 1 ELSE 0 END) investigationDykeNum,
|
SUM(CASE WHEN tdis."check_state" = 2 THEN 1 ELSE 0 END) checkDykeNum
|
FROM SJZT_MD."tb_res_dyke" trd
|
left join SJZT_MD."tb_dyke_investigation_state" tdis on trd."guid" = tdis."dyke_guid"
|
WHERE 1=1
|
<if test="params.adGuid != null and params.adGuid !=''">
|
and trd."ad_code" LIKE #{params.adGuid}
|
</if>
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and tdis."tb_year" = #{params.tbYear}
|
</if>
|
GROUP BY trd."ad_code",trd."ad_name"
|
)dyke on dyke.adCode = aab."guid"
|
where 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND aab."p_ad_code" = #{params.adCode}
|
</if>
|
order by aab."guid" asc
|
</select>
|
|
<select id="getProvinceStatisticsTable" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable">
|
SELECT
|
aab."guid" as adCode,
|
aab."ad_name" as adName,
|
ifNull(res.resNum,0 )as resNum,
|
ifNull(res.investigationResNum,0) as investigationResNum,
|
ifNull(res.resNum - res.investigationResNum,0)as unInvestigationResNum,
|
ifNull(res.checkResNum,0) as checkResNum,
|
|
ifNull(dyke.dykeNum,0 )as dykeNum,
|
ifNull(dyke.investigationDykeNum,0) as investigationDykeNum,
|
ifNull(dyke.dykeNum - dyke.investigationDykeNum,0)as unInvestigationDykeNum,
|
ifNull(dyke.checkDykeNum,0) as checkDykeNum
|
from
|
ywxt."att_ad_base" aab
|
LEFT JOIN
|
(
|
SELECT
|
arb.cityCode adCode,
|
arb.cityName adName,
|
COUNT(*) AS resNum,
|
SUM(CASE WHEN trgis."check_state" = 1 THEN 1 ELSE 0 END) investigationResNum,
|
SUM(CASE WHEN trgis."check_state" = 2 THEN 1 ELSE 0 END) checkResNum
|
FROM
|
<include refid="resBase"/>
|
left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid"
|
WHERE 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
|
</if>
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and trgis."tb_year" = #{params.tbYear}
|
</if>
|
group by arb.cityCode, arb.cityName
|
)res on res.adCode = aab."guid"
|
LEFT JOIN
|
(
|
SELECT
|
trd."ad_code" adCode,
|
trd."ad_name" adNmae,
|
COUNT(*) AS dykeNum,
|
SUM(CASE WHEN tdis."check_state" = 1 THEN 1 ELSE 0 END) investigationDykeNum,
|
SUM(CASE WHEN tdis."check_state" = 2 THEN 1 ELSE 0 END) checkDykeNum
|
FROM SJZT_MD."tb_res_dyke" trd
|
left join SJZT_MD."tb_dyke_investigation_state" tdis on trd."guid" = tdis."dyke_guid"
|
WHERE 1=1
|
<if test="params.adGuid != null and params.adGuid !=''">
|
and trd."ad_code" LIKE #{params.adGuid}
|
</if>
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and tdis."tb_year" = #{params.tbYear}
|
</if>
|
GROUP BY trd."ad_code",trd."ad_name"
|
)dyke on dyke.adCode = aab."guid"
|
where 1=1
|
<if test="params.adCode != null and params.adCode !=''">
|
AND aab."p_ad_code" = #{params.adCode}
|
</if>
|
order by aab."guid" asc
|
</select>
|
<select id="getStatisticsTable" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable">
|
SELECT
|
aab."guid" adCode,
|
aab."ad_name" adName,
|
paab."guid" padCode,
|
paab."ad_name" padName,
|
aab."ad_grad" as adGrad,
|
(
|
SELECT COUNT(*)
|
from(
|
<include refid="selectResByRegion"/>
|
where
|
(town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
)
|
) resNum,
|
(
|
SELECT COUNT(*) FROM
|
SJZT_MD."tb_res_general_investigation_state" trgis
|
LEFT JOIN sjzt_MD."att_res_base" ARB ON ARB."code" = trgis."res_guid"
|
LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where 1=1
|
and (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and trgis."tb_year" = #{params.tbYear}
|
</if>
|
and (trgis."check_state" = 1 or trgis."check_state" = 2 or trgis."check_state" = 3)
|
)investigationResNum,
|
(
|
SELECT COUNT(*) FROM
|
SJZT_MD."tb_res_general_investigation_state" trgis
|
LEFT JOIN sjzt_MD."att_res_base" ARB ON ARB."code" = trgis."res_guid"
|
LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where 1=1
|
and (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and trgis."tb_year" = #{params.tbYear}
|
</if>
|
and trgis."check_state" = 3
|
)checkResNum,
|
(
|
SELECT COUNT(*) FROM
|
(
|
select trgis.*,trgi.dangerNum from SJZT_MD."tb_res_general_investigation_state" trgis
|
left join (
|
select * from (
|
select "tb_state_id",count(*) dangerNum from SJZT_MD."tb_res_general_investigation"
|
where "hazard_rating" = '有危害' group by "tb_state_id"
|
)
|
) trgi on trgi."tb_state_id" = trgis."guid"
|
) trgis
|
left join SJZT_MD."tb_res_general_investigation" trgi on trgi."tb_state_id" = trgis."res_guid" and trgi."hazard_rating" = '有危害'
|
LEFT JOIN sjzt_MD."att_res_base" ARB ON ARB."code" = trgis."res_guid"
|
LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where 1=1
|
and (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and trgis."tb_year" = #{params.tbYear}
|
</if>
|
and trgis."check_state" = 3 and trgis.dangerNum is not null
|
)resMayiNum,
|
(
|
SELECT COUNT(*)
|
FROM SJZT_MD."tb_res_dyke" trd
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where 1=1
|
and ( county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
)dykeNum,
|
(
|
SELECT COUNT(*) FROM
|
SJZT_MD."tb_dyke_investigation_state" tdis
|
LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where 1=1
|
and (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and tdis."tb_year" = #{params.tbYear}
|
</if>
|
and (tdis."check_state" = 1 or tdis."check_state" = 2 or tdis."check_state" = 3)
|
)investigationDykeNum,
|
(
|
SELECT COUNT(*) FROM
|
SJZT_MD."tb_dyke_investigation_state" tdis
|
LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where 1=1
|
and (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and tdis."tb_year" = #{params.tbYear}
|
</if>
|
and (tdis."check_state" = 2 or tdis."check_state" = 3)
|
)checkDykeNum,
|
IFNULL(
|
(
|
SELECT SUM(CASE WHEN trd."dyke_length" THEN trd."dyke_length" ELSE 0 END) FROM (
|
SELECT TRD.* FROM SJZT_MD."tb_dyke_investigation_state" tdis
|
LEFT JOIN SJZT_MD."tb_res_dyke" trd on (trd."guid" = tdis."dyke_guid")
|
<where>
|
<if test="params.tbYear != null and params.tbYear !=''">
|
and tdis."tb_year" = #{params.tbYear}
|
</if>
|
and tdis."check_state" = 3
|
</where>
|
) trd
|
LEFT JOIN ywxt."att_ad_base" county on county."ad_code" = trd."ad_code"
|
LEFT JOIN ywxt."att_ad_base" city on city."ad_code" = county."p_ad_code"
|
LEFT JOIN ywxt."att_ad_base" province on province."ad_code" = city."p_ad_code"
|
where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
),0
|
) AS tbDykeLength,
|
IFNULL(
|
(
|
SELECT
|
SUM(CASE WHEN trd."dyke_length" THEN trd."dyke_length" ELSE 0 END)
|
FROM SJZT_MD."tb_res_dyke" trd
|
LEFT JOIN ywxt."att_ad_base" county on county."ad_code" = trd."ad_code"
|
LEFT JOIN ywxt."att_ad_base" city on city."ad_code" = county."p_ad_code"
|
LEFT JOIN ywxt."att_ad_base" province on province."ad_code" = city."p_ad_code"
|
where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
),0) AS dykeTotalLength,
|
IFNULL((
|
SELECT
|
SUM(CASE WHEN trd.dangerLength THEN trd.dangerLength ELSE 0 END)
|
FROM (
|
SELECT
|
tdis."guid",
|
tdis."dyke_guid",
|
trd."ad_code",
|
trd."dyke_level",
|
trd."dyke_length",
|
tdi.dangerLength
|
FROM SJZT_MD."tb_dyke_investigation_state" tdis
|
LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
|
LEFT JOIN (
|
SELECT
|
TEMP1."tb_state_id",
|
TEMP1."unit",
|
TEMP1.dangerLength/temp1.num as dangerLength
|
FROM (
|
SELECT
|
tdi."tb_state_id",
|
tdi."dyke_guid",
|
tdi."unit",
|
count(*) as num,
|
SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength
|
from sjzt_md."tb_dyke_investigation" tdi
|
where 1=1
|
<if test="params.tbYear != null and params.tbYear != ''">
|
AND tdi."tb_year" = #{params.tbYear}
|
</if>
|
group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit"
|
)TEMP1
|
) tdi on tdi."tb_state_id" = tdis."guid"
|
where (tdis."check_state" = 1 or tdis."check_state" = 2 or tdis."check_state" = 3)
|
) trd
|
LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
|
LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
|
LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
|
where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
|
),0) AS dangerTotalLength
|
FROM YWXT."att_ad_base" aab
|
LEFT JOIN YWXT."att_ad_base" paab ON paab."guid" = aab."p_ad_code"
|
where
|
<if test="params.adCode != null and params.adCode != null">
|
aab."p_ad_code" = #{params.adCode}
|
</if>
|
order by aab."guid"
|
</select>
|
|
<select id="getIamgeAndVideoUrl" resultType="cn.gistack.sm.sjztmd.vo.ImageAndVideoVO">
|
select "image_urls" as imagesUrl ,"video_urls" as videosUrl from sjzt_md."tb_res_general_investigation"
|
</select>
|
|
</mapper>
|