水利项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

93 lines
2.6 KiB

<?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="com.kms.yg.df.mapper.BsSgcDfYhxxMapper">
<sql id="info">
select sy.`status`,
count(1) num,
sx.`name`
from bs_sgc_df_yhxx sy
left join att_dike_base sj on sj.dike_code=sy.dike_code
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>
<resultMap type="pieDto" id="pieDto">
<result property="status" column="status"/>
<result property="num" column="num"/>
<result property="name" column="name"/>
</resultMap>
<select id="getPie" resultMap="pieDto">
<include refid="info"></include>
<if test="layer==1">
WHERE
sj.adcd LIKE concat(#{adcd},'%') GROUP BY sy.`status`
</if>
<if test="layer==2">
WHERE
sj.adcd LIKE concat(#{adcd},'%') GROUP BY sy.`status`
</if>
<if test="layer==3">
WHERE
sj.adcd = #{adcd} GROUP BY sy.`status`
</if>
</select>
<select id="getNo" resultMap="pieDto">
<include refid="info"></include>
<if test="layer==1">
WHERE
sj.adcd LIKE concat(#{adcd},'%') GROUP BY LEFT(sj.adcd,4)
</if>
<if test="layer==2">
WHERE
sj.adcd LIKE concat(#{adcd},'%') GROUP BY sj.adcd
</if>
<if test="layer==3">
WHERE
sj.adcd = #{adcd}
</if>
</select>
<select id="getFin" resultMap="pieDto">
<include refid="info"></include>
<if test="layer==1">
WHERE
sj.adcd LIKE concat(#{adcd},'%') and sj.status!='0' GROUP BY LEFT(sj.adcd,4)
</if>
<if test="layer==2">
WHERE
sj.adcd LIKE concat(#{adcd},'%') and sj.status!='0' GROUP BY sj.adcd
</if>
<if test="layer==3">
WHERE
sj.adcd = #{adcd} and sj.status!='0'
</if>
</select>
<select id="getHistogram" resultMap="pieDto">
select * from (
<include refid="info"></include>
<if test="layer==1">
WHERE
sj.adcd LIKE concat(#{adcd},'%') and sj.status!='0' GROUP BY LEFT(sj.adcd,4)
</if>
<if test="layer==2">
WHERE
sj.adcd LIKE concat(#{adcd},'%') and sj.status!='0' GROUP BY sj.adcd
</if>
<if test="layer==3">
WHERE
sj.adcd = #{adcd} and sj.status!='0'
</if> ) t
GROUP BY t.`status`
</select>
</mapper>