| | |
| | | pat_archive a ON a.id = b.patid |
| | | LEFT JOIN |
| | | pat_archivetag c ON c.patid = a.id AND (c.del_flag = 0 OR c.del_flag IS NULL) |
| | | <where> |
| | | a.del_flag = 0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND a.del_flag = 0 |
| | | AND b.del_flag = 0 |
| | | AND a.idcardno IS NOT NULL |
| | | <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') >= |
| | | date_format(#{startOutHospTime},'%y%m%d') |
| | | AND date_format(#{startOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') <= |
| | | date_format(#{endOutHospTime},'%y%m%d') |
| | | AND date_format(#{endOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="startInHospTime != null ">and date_format(b.starttime,'%y%m%d') >= |
| | | date_format(#{startInHospTime},'%y%m%d') |
| | | AND date_format(#{startInHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') <= |
| | | date_format(#{endInHospTime},'%y%m%d') |
| | | AND date_format(#{endInHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="hospitalname != null and hospitalname != ''">and hospitalname like concat('%', #{hospitalname}, |
| | | '%') |
| | | <if test="hospitalname != null and hospitalname != ''"> |
| | | and hospitalname like concat('%', #{hospitalname},'%') |
| | | </if> |
| | | <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like |
| | | concat('%', #{hospitaldistrictname}, '%') |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''"> |
| | | and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if> |
| | |
| | | <if test="patid != null and patid != ''">and a.id =#{patid} |
| | | </if> |
| | | <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and |
| | | b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') |
| | | AND b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') |
| | | </if> |
| | | |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> |
| | | AND b.leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | AND close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND b.leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | | AND close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | GROUP BY |
| | | b.inhospid, |
| | | a.age, |
| | |
| | | FROM |
| | | pat_med_inhosp b |
| | | |
| | | <where> |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> |
| | | |
| | | </where> |
| | | |
| | | order by b.inhospid desc |
| | | </select> |
| | | |
| | |
| | | FROM |
| | | pat_med_inhosp b, |
| | | pat_archive a |
| | | <where> |
| | | a.del_flag=0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND a.del_flag=0 |
| | | and b.del_flag=0 |
| | | and a.id = b.patid |
| | | AND a.idcardno != '' |
| | | <if test="hospitalname != null and hospitalname != ''">and hospitalname like concat('%', #{hospitalname}, |
| | | '%') |
| | | <if test="hospitalname != null and hospitalname != ''"> |
| | | and hospitalname like concat('%', #{hospitalname},'%') |
| | | </if> |
| | | <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if> |
| | | <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like |
| | | concat('%', #{hospitaldistrictname}, '%') |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''"> |
| | | and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> |
| | |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> |
| | | AND b.leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | AND close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND b.leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | | AND close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | order by b.inhospid desc |
| | | </select> |
| | | |
| | |
| | | <if test="mz != null"> |
| | | SELECT deptname |
| | | FROM pat_med_outhosp |
| | | <where> |
| | | del_flag=0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag=0 |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | </if> |
| | | <if test="mz != null and zy != null"> |
| | | UNION ALL |
| | |
| | | <if test="zy != null"> |
| | | SELECT deptname |
| | | FROM pat_med_inhosp |
| | | <where> |
| | | del_flag=0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag=0 |
| | | and inhospstate=0 |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | </if> |
| | | <if test="cy != null and zy != null"> |
| | | UNION ALL |
| | | SELECT deptname |
| | | FROM pat_med_inhosp |
| | | <where> |
| | | del_flag=0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag=0 |
| | | and inhospstate=1 |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | </if> |
| | | <if test="mz != null and zy != null and cy==null"> |
| | | UNION ALL |
| | | SELECT deptname |
| | | FROM pat_med_inhosp |
| | | <where> |
| | | del_flag=0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag=0 |
| | | and inhospstate=1 |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | </if> |
| | | ) AS combined |
| | | GROUP BY deptname; |
| | |
| | | <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq" |
| | | resultType="com.smartor.domain.PatMedRes"> |
| | | SELECT SUM( rs ) AS rs, |
| | | SUM( rc ) AS rc |
| | | SUM( rc ) AS rc, |
| | | SUM( scsf ) AS scsf, |
| | | SUM( zcsf ) AS zcsf, |
| | | SUM( zbsf ) AS zbsf |
| | | FROM ( |
| | | <!-- 出院人次--> |
| | | SELECT |
| | | COUNT(1) AS rc, |
| | | 0 AS rs |
| | | 0 AS rs, |
| | | 0 AS scsf, |
| | | 0 AS zcsf, |
| | | 0 AS zbsf |
| | | FROM |
| | | pat_med_inhosp |
| | | <where> |
| | | del_flag=0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag=0 |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </if> |
| | |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and leaveldeptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </if> |
| | | |
| | | </where> |
| | | |
| | | <!-- 随访服务人数 --> |
| | | union all |
| | | select |
| | | 0 AS rc, |
| | | count(1) AS rs |
| | | count(1) AS rs, |
| | | 0 AS scsf, |
| | | 0 AS zcsf, |
| | | 0 AS zbsf |
| | | FROM |
| | | service_subtask |
| | | <where> |
| | | del_flag = 0 |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag = 0 |
| | | and service_type=2 |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | |
| | | <!-- 首次随访人数 --> |
| | | union all |
| | | select |
| | | 0 AS rc, |
| | | 0 AS rs, |
| | | count(1) AS scsf, |
| | | 0 AS zcsf, |
| | | 0 AS zbsf |
| | | FROM |
| | | service_subtask |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag = 0 |
| | | and service_type=2 |
| | | and is_visit_again = 0 |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | | <if test="startDate != null"> |
| | | AND date_format( visit_time, '%y%m%d' ) >= date_format( #{startDate}, '%y%m%d' ) |
| | | </if> |
| | | <if test="endDate != null"> |
| | | AND date_format( visit_time, '%y%m%d' ) <= date_format(#{endDate},'%y%m%d') |
| | | </if> |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | |
| | | <!-- 再次随访人数 --> |
| | | union all |
| | | select |
| | | 0 AS rc, |
| | | 0 AS rs, |
| | | 0 AS scsf, |
| | | count(1) AS zcsf, |
| | | 0 AS zbsf |
| | | FROM |
| | | service_subtask |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag = 0 |
| | | and service_type=2 |
| | | and is_visit_again = 1 |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | | <if test="startDate != null"> |
| | | AND date_format( visit_time, '%y%m%d' ) >= date_format( #{startDate}, '%y%m%d' ) |
| | | </if> |
| | | <if test="endDate != null"> |
| | | AND date_format( visit_time, '%y%m%d' ) <= date_format(#{endDate},'%y%m%d') |
| | | </if> |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | |
| | | <!-- 专病随访人数 --> |
| | | union all |
| | | select |
| | | 0 AS rc, |
| | | 0 AS rs, |
| | | 0 AS scsf, |
| | | 0 AS zcsf, |
| | | count(1) AS zbsf |
| | | FROM |
| | | service_subtask |
| | | WHERE 1=1 |
| | | <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if> |
| | | |
| | | AND del_flag = 0 |
| | | and service_type=13 |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | | <if test="startDate != null"> |
| | | AND date_format( visit_time, '%y%m%d' ) >= date_format( #{startDate}, '%y%m%d' ) |
| | | </if> |
| | | <if test="endDate != null"> |
| | | AND date_format( visit_time, '%y%m%d' ) <= date_format(#{endDate},'%y%m%d') |
| | | </if> |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | and deptcode in |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | |
| | | ) AS combined_data |
| | | </select> |
| | | |
| | | </mapper> |