<?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="city_id" property="cityId" jdbcType="VARCHAR"/>
<result column="city_name" property="cityName" jdbcType="VARCHAR"/>
<result column="area_id" property="areaId" jdbcType="VARCHAR"/>
<result column="area_name" property="areaName" jdbcType="VARCHAR"/>
<result column="group_name" property="groupName" jdbcType="VARCHAR"/>
<result column="risk_name" property="riskName" jdbcType="VARCHAR"/>
<result column="year" property="year" jdbcType="VARCHAR"/>
<result column="val" property="val" jdbcType="INTEGER"/>
<result column="val2" property="val2" jdbcType="INTEGER"/>
<result column="ymd" property="ymd" jdbcType="TIMESTAMP"/>
<result column="hospitalId" property="hospitalId" jdbcType="VARCHAR"/>
<result column="hospitalName" property="hospitalName" jdbcType="VARCHAR"/>
<result column="localHospitalId" property="localHospitalId" jdbcType="VARCHAR"/>
</resultMap>
<select id="queryProvincePatientsByYear" 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>
<!--1. 查询每个省当前的高危总人数危总人数-->
<select id="queryProvinceRisks" resultMap="AreaDataResultMap">
<![CDATA[
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
AND A.NOW_WEEKS<42
AND B.HIGH_RISK_FACTOR<>'健康'
AND B.HIGH_RISK_FACTOR IS NOT NULL
AND B.EXAMINE_HISTORY_NUM=1
AND B.INSERT_DATE<=TRUNC(SYSDATE)
GROUP BY D.PROVINCE_ID,
D.PROVINCE
]]>
</select>
<!--1.1. 查询每个省内各地区当前的高危总人数-->
<select id="queryRisksByProvince" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
<![CDATA[
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
D.CITY_ID as city_id,
D.CITY as city_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
AND B.HIGH_RISK_FACTOR<>'健康'
AND B.HIGH_RISK_FACTOR IS NOT NULL
AND A.NOW_WEEKS<42
AND B.EXAMINE_HISTORY_NUM=1
AND B.INSERT_DATE<=TRUNC(SYSDATE)
AND D.PROVINCE_ID=#{provinceId}
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
D.CITY_ID,
D.CITY
]]>
</select>
<!--1.2. 查询每个地区内各区县当前的高危总人数-->
<select id="queryRisksByCity" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
<![CDATA[
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
AND A.NOW_WEEKS<42
AND B.HIGH_RISK_FACTOR<>'健康'
AND B.HIGH_RISK_FACTOR IS NOT NULL
AND B.EXAMINE_HISTORY_NUM=1
AND B.INSERT_DATE<=TRUNC(SYSDATE)
-- AND D.PROVINCE_ID=130000
AND D.CITY_ID=#{cityId}
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY
]]>
</select>
<!--2. 查询每个省近30天的建档总人数-->
<select id="queryProvincePatients" resultMap="AreaDataResultMap">
<![CDATA[
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND A.CREATE_DATE=E.DATE_1
AND A.CREATE_DATE<=TRUNC(SYSDATE)
AND A.CREATE_DATE>=(TRUNC(SYSDATE)-30)
GROUP BY D.PROVINCE_ID,
D.PROVINCE
]]>
</select>
<!--2.1. 查询每个省内各地区近30天的建档总人数-->
<select id="queryPatientsByProvince" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
<![CDATA[
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
D.CITY_ID as city_id,
D.CITY as city_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND A.CREATE_DATE=E.DATE_1
AND D.PROVINCE_ID=#{provinceId}
AND A.CREATE_DATE<=TRUNC(SYSDATE)
AND A.CREATE_DATE>=(TRUNC(SYSDATE)-30)
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
D.CITY_ID,
D.CITY
]]>
</select>
<!--2.2. 查询每个地区内各区县近30天的建档总人数-->
<select id="queryPatientsByCity" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
<![CDATA[
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND A.CREATE_DATE=E.DATE_1
AND D.CITY_ID=#{cityId}
AND A.CREATE_DATE<=TRUNC(SYSDATE)
AND A.CREATE_DATE>=(TRUNC(SYSDATE)-30)
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY
]]>
</select>
<!--3. 按省或市或地区查询区域内当前高危总数(按颜色分组、按高危项分组)-->
<select id="queryRisks" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
F.HIGH_RISK_GROUP as group_name,
F.HIGH_RISK_CONTENT as risk_name,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E,
ODS_F_HIGH_RISK_VALUE F
<![CDATA[
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
AND B.EXAMINE_ID=F.EXAMINE_ID
AND A.NOW_WEEKS<42
AND F.HIGH_RISK_CONTENT<>'健康'
AND B.EXAMINE_HISTORY_NUM=1
]]>
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
F.HIGH_RISK_GROUP,
F.HIGH_RISK_CONTENT
</select>
<!--4. 按省或市或地区查询区域内近12个自然月每月建档人数-->
<select id="queryMonthPatients" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
E.YEAR_MONTH as year,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND A.CREATE_DATE=E.DATE_1
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
<![CDATA[
AND A.CREATE_DATE<=TRUNC(SYSDATE)
AND A.CREATE_DATE>=TRUNC(ADD_MONTHS(SYSDATE,-11))
]]>
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
E.YEAR_MONTH
ORDER BY E.YEAR_MONTH
</select>
<!--4.1. 按省或市或地区查询区域内近12个自然周每周建档人数(如不能按周就同4.2查询近90天按天的)-->
<!--4.2. 按省或市或地区查询区域内近12个自然周每周建档人数(如不能按周就同4.2查询近30天按天的)-->
<select id="queryDayPatients" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
E.DATE_1 as ymd,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND A.CREATE_DATE=E.DATE_1
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
<![CDATA[ AND A.CREATE_DATE<=TRUNC(SYSDATE) ]]>
AND A.CREATE_DATE>=(TRUNC(SYSDATE)-${days})
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
E.DATE_1
ORDER BY E.DATE_1
</select>
<!--5. 按省或市或地区查询区域内近12个自然月每月初诊人数、复诊人数-->
<select id="queryMonthReports" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
E.YEAR_MONTH as year,
SUM(DECODE(B.EXAMINE_CATEGORY_ID,1,1,0)) AS val,
SUM(DECODE(B.EXAMINE_CATEGORY_ID,2,1,0)) AS val2
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
<![CDATA[ AND B.INSERT_DATE<=TRUNC(SYSDATE) ]]>
AND B.INSERT_DATE>=TRUNC(ADD_MONTHS(SYSDATE,-11))
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
E.YEAR_MONTH
ORDER BY E.YEAR_MONTH
</select>
<!--5.1. 按省或市或地区查询区域内近12个自然周每周初诊人数、复诊人数(如不能按周就同5.2查询近90天按天的)-->
<!--5.2. 按省或市或地区查询区域内近30天每天初诊人数、复诊人数-->
<select id="queryDayReports" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
E.DATE_1 as ymd,
SUM(DECODE(B.EXAMINE_CATEGORY_ID,1,1,0)) AS val,
SUM(DECODE(B.EXAMINE_CATEGORY_ID,2,1,0)) AS val2
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
<![CDATA[ AND B.INSERT_DATE<=TRUNC(SYSDATE) ]]>
AND B.INSERT_DATE>=(TRUNC(SYSDATE)-${days})
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
E.DATE_1
ORDER BY E.DATE_1
</select>
<!--6. 按省或市或地区查询区域内近6个自然月每月产检中历史高危人数(按颜色分组)-->
<select id="queryHrefYearRisks" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
F.HIGH_RISK_GROUP as group_name,
E.YEAR_MONTH as year,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E,
ODS_F_HIGH_RISK_VALUE F
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
AND B.EXAMINE_ID=F.EXAMINE_ID
<![CDATA[
AND F.HIGH_RISK_CONTENT<>'健康'
AND F.HIGH_RISK_GROUP<>'其他'
AND B.EXAMINE_HISTORY_NUM=1
AND B.INSERT_DATE<=TRUNC(SYSDATE)
AND B.INSERT_DATE>=TRUNC(ADD_MONTHS(SYSDATE,-${days}))
]]>
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
F.HIGH_RISK_GROUP,
E.YEAR_MONTH
ORDER BY F.HIGH_RISK_GROUP,E.YEAR_MONTH
</select>
<!--6.1. 按省或市或地区查询区域内近30天每天产检中历史高危人数(按颜色分组)-->
<select id="queryDaysRisks" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT D.PROVINCE_ID as province_id,
D.PROVINCE as province_name,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID as city_id,
D.CITY as city_name,
D.AREA_COUNTY_ID as area_id,
D.AREA_COUNTY as area_name,
</if>
F.HIGH_RISK_GROUP as group_name,
E.DATE_2 as year,
COUNT(A.RECORD_ID) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_F_EXAMINE_HISTORY B,
ODS_D_HOSPITAL C,
ODS_D_AREA_COUNTY D,
ODS_D_DIM_DATE E,
ODS_F_HIGH_RISK_VALUE F
WHERE A.RECORD_ID=B.RECORD_ID
AND A.HOSPITAL_NO=C.HOSPITAL_NO
AND C.AREA_COUNTY_ID=D.AREA_COUNTY_ID
AND B.INSERT_DATE=E.DATE_1
AND B.EXAMINE_ID=F.EXAMINE_ID
<![CDATA[
AND F.HIGH_RISK_CONTENT<>'健康'
AND F.HIGH_RISK_GROUP<>'其他'
AND B.EXAMINE_HISTORY_NUM=1
AND B.INSERT_DATE<=TRUNC(SYSDATE)
AND B.INSERT_DATE>=(TRUNC(SYSDATE)-${days})
]]>
<if test="provinceId != null and provinceId != ''">
AND D.PROVINCE_ID=#{provinceId}
</if>
<if test="cityId != null and cityId != ''">
AND D.CITY_ID=#{cityId}
</if>
GROUP BY D.PROVINCE_ID,
D.PROVINCE,
<if test="provinceId != null and provinceId != ''">
D.CITY_ID,
D.CITY,
</if>
<if test="cityId != null and cityId != ''">
D.CITY_ID,
D.CITY,
D.AREA_COUNTY_ID,
D.AREA_COUNTY,
</if>
F.HIGH_RISK_GROUP,
E.DATE_2
ORDER BY F.HIGH_RISK_GROUP,E.DATE_2;
</select>
<select id="queryYunChanQiRenShu" resultMap="AreaDataResultMap"
parameterType="com.lymsh.platform.reportdata.model.AreaDataQuery">
SELECT
B.PROVINCE as province_name,
B.PROVINCE_ID as province_id,
B.CITY as city_name,
B.CITY_ID as city_id,
B.AREA_COUNTY as area_name,
B.AREA_COUNTY_ID as area_id,
B.HOSPITAL_NAME as hospitalName,
B.HOSPITAL_NO as hospitalId,
B.YCY_STSTEM_ID as localHospitalId,
A.EDD_DATE as ymd,
COUNT(*) AS val
FROM ODS_F_GRAVIDA_RECORD A,
ODS_D_HOSPITAL B
WHERE A.HOSPITAL_NO=B.HOSPITAL_NO
AND A.EDD_DATE IS NOT NULL
AND A.IS_CHILDBIRTH=1
AND B.YCY_STSTEM_ID={localHospitalId}
<if test="start != null">
<![CDATA[ and A.EDD_DATE >= #{start,jdbcType=TIMESTAMP} ]]>
</if>
<if test="end != null">
<![CDATA[ and A.EDD_DATE <= #{end,jdbcType=TIMESTAMP} ]]>
</if>
GROUP BY
B.PROVINCE,
B.PROVINCE_ID,
B.CITY,
B.CITY_ID,
B.AREA_COUNTY,
B.AREA_COUNTY_ID,
B.HOSPITAL_NAME,
B.HOSPITAL_NO,
B.YCY_STSTEM_ID,
A.EDD_DATE
ORDER BY A.EDD_DATE
</select>
</mapper>