<?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.lymsh.platform.reportdata.dao.StatisticsMapper">

    <resultMap id="AreaDataResultMap" type="com.lymsh.platform.reportdata.model.AreaData">
        <result column="province_id" property="provinceId" jdbcType="VARCHAR"/>
        <result column="province_name" property="provinceName" jdbcType="VARCHAR"/>
        <result column="year" property="year" jdbcType="VARCHAR"/>
        <result column="val" property="val" jdbcType="INTEGER"/>
    </resultMap>

    <select id="queryProvincePatients" resultMap="AreaDataResultMap" parameterType="java.lang.String">
        SELECT
        ODS_D_PROVINCE.PROVINCE_ID as province_id,
        ODS_D_PROVINCE.PROVINCE as province_name,
        <if test="year != null and year != ''">
            ODS_D_DIM_DATE.YEAR_1 as year,
        </if>
        COUNT(ODS_F_GRAVIDA_RECORD.RECORD_ID) as val
        FROM
        ODS_D_PROVINCE,
        ODS_D_DIM_DATE,
        ODS_F_GRAVIDA_RECORD,
        ODS_D_HOSPITAL,
        ODS_D_CITY
        WHERE
        ( ODS_F_GRAVIDA_RECORD.HOSPITAL_NO=ODS_D_HOSPITAL.HOSPITAL_NO  )
        AND  ( ODS_D_CITY.PROVINCE_ID=ODS_D_PROVINCE.PROVINCE_ID  )
        AND  ( ODS_F_GRAVIDA_RECORD.INSERT_DATE=ODS_D_DIM_DATE.DATE_1  )
        AND  ( ODS_D_HOSPITAL.CITY_ID=ODS_D_CITY.CITY_ID(+)  )
        <if test="year != null and year != ''">
            AND ODS_D_DIM_DATE.YEAR_1=${year}
        </if>
        GROUP BY
        ODS_D_PROVINCE.PROVINCE_ID,
        ODS_D_PROVINCE.PROVINCE
        <if test="year != null and year != ''">
            ,ODS_D_DIM_DATE.YEAR_1
        </if>
    </select>

    <select id="queryProvinceRiskPatients" resultMap="AreaDataResultMap" parameterType="java.lang.String">
        SELECT
        ODS_D_PROVINCE.PROVINCE_ID as province_id,
        ODS_D_PROVINCE.PROVINCE as province_name,
        <if test="year != null and year != ''">
            ODS_D_DIM_DATE.YEAR_1 as year,
        </if>
        COUNT(ODS_F_GRAVIDA_RECORD.RECORD_ID) as val
        FROM
        ODS_D_PROVINCE,
        ODS_D_DIM_DATE,
        ODS_F_GRAVIDA_RECORD,
        ODS_F_EXAMINE_HISTORY,
        ODS_D_HOSPITAL,
        ODS_D_CITY
        WHERE
        ( ODS_F_GRAVIDA_RECORD.RECORD_ID=ODS_F_EXAMINE_HISTORY.RECORD_ID(+)  )
        AND  ( ODS_F_GRAVIDA_RECORD.HOSPITAL_NO=ODS_D_HOSPITAL.HOSPITAL_NO  )
        AND  ( ODS_D_CITY.PROVINCE_ID=ODS_D_PROVINCE.PROVINCE_ID  )
        AND  ( ODS_F_GRAVIDA_RECORD.INSERT_DATE=ODS_D_DIM_DATE.DATE_1  )
        AND  ( ODS_D_HOSPITAL.CITY_ID=ODS_D_CITY.CITY_ID(+)  )
        AND
        (
        ODS_F_EXAMINE_HISTORY.EXAMINE_HISTORY_NUM  =  1
        AND
        ODS_F_EXAMINE_HISTORY.HIGH_RISK_FACTOR  NOT IN  ( '健康','健康,无'  )
        )
        <if test="year != null and year != ''">
            AND ODS_D_DIM_DATE.YEAR_1=${year}
        </if>
        GROUP BY
        ODS_D_PROVINCE.PROVINCE_ID,
        ODS_D_PROVINCE.PROVINCE
        <if test="year != null and year != ''">
            ,ODS_D_DIM_DATE.YEAR_1
        </if>
    </select>


</mapper>