From fe546224146c917c4a9730d3a46c214cd2ceda20 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 30 七月 2026 15:52:36 +0800
Subject: [PATCH] 【市一】AI
---
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 260 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 189 insertions(+), 71 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 24f8484..95f1bcc 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -48,8 +48,11 @@
<result property="patno" column="patno"/>
<result property="inhospstate" column="inhospstate"/>
<result property="deptcheckFlag" column="deptcheck_flag"/>
+ <result property="inWardcheckFlag" column="in_wardcheck_flag"/>
+ <result property="inDeptcheckFlag" column="in_deptcheck_flag"/>
<result property="wardcheckFlag" column="wardcheck_flag"/>
<result property="diagcheckFlag" column="diagcheck_flag"/>
+ <result property="scheduleCheckFlag" column="schedulecheck_flag"/>
<result property="age" column="age"/>
<result property="sex" column="sex"/>
<result property="telcode" column="telcode"/>
@@ -73,11 +76,19 @@
<result property="managementDoctor" column="management_doctor"/>
<result property="managementDoctorCode" column="management_doctor_code"/>
<result property="campusid" column="campusid"/>
+ <result property="inhospMydFlag" column="inhosp_myd_flag"/>
+ <result property="encounterSourceId" column="encounter_source_id"/>
+ <result property="importanceFlagCode" column="importance_flag_code"/>
+ <result property="emergencyLevelCode" column="emergency_level_code"/>
</resultMap>
<sql id="selectPatMedInhospVo">
select inhospid,
+ encounter_source_id,
+ importance_flag_code,
+ emergency_level_code,
patname,
+ inhosp_myd_flag,
campusid,
fuflag,
management_doctor,
@@ -98,7 +109,10 @@
nurse_name,
deptcheck_flag,
wardcheck_flag,
+ in_deptcheck_flag,
+ in_wardcheck_flag,
diagcheck_flag,
+ schedulecheck_flag,
inhospstate,
patno,
long_task_reason,
@@ -157,7 +171,10 @@
b.out_way_name,
b.deptcheck_flag,
b.wardcheck_flag,
+ b.in_deptcheck_flag,
+ b.in_wardcheck_flag,
b.diagcheck_flag,
+ b.schedulecheck_flag,
b.inhospstate,
b.patno,
b.inhospno,
@@ -207,6 +224,10 @@
b.futypedesc,
b.fuadvice,
b.fuspecialadvice,
+ b.inhosp_myd_flag,
+ b.encounter_source_id,
+ b.importance_flag_code,
+ b.emergency_level_code,
a.idcardno
FROM
pat_med_inhosp b
@@ -236,6 +257,7 @@
concat('%', #{hospitaldistrictname}, '%')
</if>
<if test="endtime != null ">and b.endtime = #{endtime}</if>
+ <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
<if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
<if test="inhospno != null ">and b.inhospno = #{inhospno}</if>
@@ -247,10 +269,18 @@
<if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
<if test="nurseName != null and nurseName != ''">and b.nurse_name = #{nurseName}</if>
<if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
+ <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if>
<if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
+ <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if>
+ <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if>
<if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
+ <if test="encounterSourceId != null ">and b.encounter_source_id = #{encounterSourceId}</if>
+ <if test="importanceFlagCode != null ">and b.importance_flag_code = #{importanceFlagCode}</if>
+ <if test="emergencyLevelCode != null ">and b.emergency_level_code = #{emergencyLevelCode}</if>
<if test="cry != null and cry == 0 ">and b.endtime is null</if>
<if test="cry != null and cry == 1 ">and b.inhospstate=1</if>
+ <if test="cry != null and cry == 2 ">and b.inhospstate=2</if>
+ <if test="cry != null and cry == 3 ">and b.inhospstate=3</if>
<if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
<if test="campusid != null ">and b.campusid = #{campusid}</if>
<if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
@@ -280,11 +310,33 @@
#{leavehospitaldistrictcode}
</foreach>
</if>
+
+ <if test="hospitaldistrictcodeList != null and hospitaldistrictcodeList.size()>0">
+ AND b.hospitaldistrictcode IN
+ <foreach collection="hospitaldistrictcodeList" item="hospitaldistrictcode" open="(" separator=","
+ close=")">
+ #{hospitaldistrictcode}
+ </foreach>
+ </if>
<if test="leaveldeptcodes != null and leaveldeptcodes.size()>0">
AND b.leaveldeptcode IN
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
close=")">
#{leaveldeptcode}
+ </foreach>
+ </if>
+ <if test="deptcodeList != null and deptcodeList.size()>0">
+ AND b.deptcode IN
+ <foreach collection="deptcodeList" item="deptcode" open="(" separator=","
+ close=")">
+ #{deptcode}
+ </foreach>
+ </if>
+ <if test="icd10codeList != null and icd10codeList.size()>0">
+ AND b.leaveicd10code IN
+ <foreach collection="icd10codeList" item="icd10code" open="(" separator=","
+ close=")">
+ #{icd10code}
</foreach>
</if>
GROUP BY
@@ -294,10 +346,16 @@
a.telcode,
a.id,
a.sex
- <if test="cry==1">
+ <if test="cry != null and cry==1">
order by b.endtime desc
</if>
- <if test="cry==0">
+ <if test="cry != null and cry==2">
+ order by b.endtime desc
+ </if>
+ <if test="cry != null and cry==3">
+ order by b.endtime desc
+ </if>
+ <if test="cry != null and cry==0">
order by b.starttime desc
</if>
</select>
@@ -307,6 +365,9 @@
select
b.inhospid,
b.nurse_id,
+ b.encounter_source_id,
+ b.importance_flag_code,
+ b.emergency_level_code,
b.nurse_name,
b.patname,
b.management_doctor,
@@ -316,7 +377,10 @@
b.out_way_name,
b.deptcheck_flag,
b.wardcheck_flag,
+ b.in_deptcheck_flag,
+ b.in_wardcheck_flag,
b.diagcheck_flag,
+ b.schedulecheck_flag,
b.inhospstate,
b.patno,
b.inhospno,
@@ -364,14 +428,25 @@
b.futypecode,
b.futypedesc,
b.fuadvice,
+ b.inhosp_myd_flag,
b.fuspecialadvice
FROM
pat_med_inhosp b
where 1=1
+ <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="orgid != null and orgid != ''">
and orgid = #{orgid}
</if>
- <if test="serialnum != null ">
+ <if test="encounterSourceId != null and encounterSourceId != ''">
+ and b.encounter_source_id = #{encounterSourceId}
+ </if>
+ <if test="importanceFlagCode != null and importanceFlagCode != ''">
+ and b.importance_flag_code = #{importanceFlagCode}
+ </if>
+ <if test="emergencyLevelCode != null and emergencyLevelCode != ''">
+ and b.emergency_level_code = #{emergencyLevelCode}
+ </if>
+ <if test="serialnum != null and serialnum != ''">
and b.serialnum = #{serialnum}
</if>
order by b.inhospid desc
@@ -382,6 +457,9 @@
select CONCAT( a.age, a.age_unit ) AS age,
a.telcode as telcode,
b.inhospid,
+ b.encounter_source_id,
+ b.importance_flag_code,
+ b.emergency_level_code,
b.management_doctor,
b.management_doctor_code,
b.patname,
@@ -394,8 +472,9 @@
b.nurse_id,
b.nurse_name,
b.deptcheck_flag,
- b.diagcheck_flag,
b.wardcheck_flag,
+ b.in_deptcheck_flag,
+ b.in_wardcheck_flag,
b.inhospstate,
b.patno,
b.inhospno,
@@ -443,6 +522,7 @@
b.futypedesc,
b.fuadvice,
b.fuspecialadvice,
+ b.inhosp_myd_flag,
b.schemetime
FROM
pat_med_inhosp b,
@@ -452,6 +532,16 @@
and b.del_flag=0
and a.id = b.patid
AND a.idcardno != ''
+ <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
+ <if test="encounterSourceId != null and encounterSourceId != ''">
+ and b.encounter_source_id = #{encounterSourceId}
+ </if>
+ <if test="importanceFlagCode != null and importanceFlagCode != ''">
+ and b.importance_flag_code = #{importanceFlagCode}
+ </if>
+ <if test="emergencyLevelCode != null and emergencyLevelCode != ''">
+ and b.emergency_level_code = #{emergencyLevelCode}
+ </if>
<if test="orgid != null and orgid != ''">
and a.orgid = #{orgid}
</if>
@@ -473,7 +563,10 @@
<if test="campusid != null ">and b.campusid = #{campusid}</if>
<if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
<if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
+ <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if>
<if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
+ <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if>
+ <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if>
<if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
<if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
<if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%',
@@ -517,6 +610,7 @@
<if test="cry != null and cry == 0 ">and inhospstate=0</if>
<if test="cry != null and cry == 1 ">and inhospstate=1</if>
<if test="cry != null and cry == 3 ">and inhospstate=3</if>
+ <if test="inhospMydFlag != null ">and inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="serialnum != null">and serialnum = #{serialnum}</if>
<if test="hospitalname != null">and hospitalname = #{hospitalname}</if>
<if test="hospitalcode != null">and hospitalcode = #{hospitalcode}</if>
@@ -558,6 +652,9 @@
<if test="inhospstate != null">and inhospstate = #{inhospstate}</if>
<if test="deptcheckFlag != null">and deptcheck_flag = #{deptcheckFlag}</if>
<if test="wardcheckFlag != null">and wardcheck_flag = #{wardcheckFlag}</if>
+ <if test="inDeptcheckFlag != null">and in_deptcheck_flag = #{inDeptcheckFlag}</if>
+ <if test="inWardcheckFlag != null">and in_wardcheck_flag = #{inWardcheckFlag}</if>
+ <if test="wardcheckFlag != null">and wardcheck_flag = #{wardcheckFlag}</if>
<if test="diagcheckFlag != null">and diagcheck_flag = #{diagcheckFlag}</if>
<if test="longTaskReason != null">and long_task_reason = #{longTaskReason}</if>
<if test="nurseId != null ">and nurse_id = #{nurseId}</if>
@@ -578,6 +675,9 @@
<if test="managementDoctor != null ">and management_doctor = #{managementDoctor}</if>
<if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if>
<if test="campusid != null ">and campusid = #{campusid}</if>
+ <if test="importanceFlagCode != null ">and importance_flag_code = #{importanceFlagCode}</if>
+ <if test="emergencyLevelCode != null ">and emergency_level_code = #{emergencyLevelCode}</if>
+ <if test="encounterSourceId != null ">and encounter_source_id = #{encounterSourceId}</if>
</select>
@@ -627,6 +727,8 @@
<if test="inhospstate != null">inhospstate,</if>
<if test="deptcheckFlag != null">deptcheck_flag,</if>
<if test="wardcheckFlag != null">wardcheck_flag,</if>
+ <if test="inDeptcheckFlag != null">in_deptcheck_flag,</if>
+ <if test="inWardcheckFlag != null">in_wardcheck_flag,</if>
<if test="diagcheckFlag != null">diagcheck_flag,</if>
<if test="longTaskReason != null">long_task_reason,</if>
<if test="nurseId != null ">nurse_id,</if>
@@ -648,6 +750,10 @@
<if test="managementDoctor != null ">management_doctor,</if>
<if test="managementDoctorCode != null ">management_doctor_code,</if>
<if test="campusid != null ">campusid,</if>
+ <if test="inhospMydFlag != null ">inhosp_myd_flag,</if>
+ <if test="importanceFlagCode != null ">importance_flag_code,</if>
+ <if test="emergencyLevelCode != null ">emergency_level_code,</if>
+ <if test="encounterSourceId != null ">encounter_source_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="serialnum != null">#{serialnum},</if>
@@ -692,6 +798,8 @@
<if test="inhospstate != null">#{inhospstate},</if>
<if test="deptcheckFlag != null">#{deptcheckFlag},</if>
<if test="wardcheckFlag != null">#{wardcheckFlag},</if>
+ <if test="inDeptcheckFlag != null">#{inDeptcheckFlag},</if>
+ <if test="inWardcheckFlag != null">#{inWardcheckFlag},</if>
<if test="diagcheckFlag != null">#{diagcheckFlag},</if>
<if test="longTaskReason != null">#{longTaskReason},</if>
<if test="nurseId != null ">#{nurseId},</if>
@@ -713,6 +821,9 @@
<if test="managementDoctor != null ">#{managementDoctor},</if>
<if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
<if test="campusid != null ">#{campusid},</if>
+ <if test="importanceFlagCode != null ">#{importanceFlagCode},</if>
+ <if test="emergencyLevelCode != null ">#{emergencyLevelCode},</if>
+ <if test="encounterSourceId != null ">#{encounterSourceId},</if>
</trim>
</insert>
@@ -727,11 +838,11 @@
schemestatus, generalschemestatus, leaveldeptcode, leaveldeptname, hospitaldistrictid,
leavehospitaldistrictcode, leavehospitaldistrictname, leavehospitaldistrictid,
deptid, leaveldeptid, schemetime, patname, patno, inhospstate,
- deptcheck_flag, wardcheck_flag, diagcheck_flag, long_task_reason,
+ deptcheck_flag, wardcheck_flag,in_deptcheck_flag, in_wardcheck_flag, diagcheck_flag, long_task_reason,
nurse_id, nurse_name, out_way_id, out_way_name, guid,
operator, operator_id, inhospno, remark,
fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor,
- management_doctor_doctor,campusid
+ management_doctor_doctor,campusid, inhosp_myd_flag, importance_flag_code, emergency_level_code, encounter_source_id
)
values
<foreach collection="list" item="item" separator=",">
@@ -749,11 +860,12 @@
#{item.leavehospitaldistrictcode}, #{item.leavehospitaldistrictname}, #{item.leavehospitaldistrictid},
#{item.deptid}, #{item.leaveldeptid}, #{item.schemetime}, #{item.patname}, #{item.patno},
#{item.inhospstate},
- #{item.deptcheckFlag}, #{item.wardcheckFlag}, #{item.diagcheckFlag}, #{item.longTaskReason},
+ #{item.deptcheckFlag}, #{item.wardcheckFlag},#{item.inDeptcheckFlag}, #{item.inWardcheckFlag}, #{item.diagcheckFlag}, #{item.longTaskReason},
#{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid},
#{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark},
#{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice},
- #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}
+ #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}, #{item.inhospMydFlag},
+ #{item.importanceFlagCode}, #{item.emergencyLevelCode}, #{item.encounterSourceId}
)
</foreach>
</insert>
@@ -803,7 +915,10 @@
<if test="patno != null">patno = #{patno},</if>
<if test="inhospstate != null">inhospstate = #{inhospstate},</if>
<if test="deptcheckFlag != null">deptcheck_flag = #{deptcheckFlag},</if>
+ <if test="scheduleCheckFlag != null">schedulecheck_flag = #{scheduleCheckFlag},</if>
<if test="wardcheckFlag != null">wardcheck_flag = #{wardcheckFlag},</if>
+ <if test="inDeptcheckFlag != null">in_deptcheck_flag = #{inDeptcheckFlag},</if>
+ <if test="inWardcheckFlag != null">in_wardcheck_flag = #{inWardcheckFlag},</if>
<if test="diagcheckFlag != null">diagcheck_flag = #{diagcheckFlag},</if>
<if test="longTaskReason != null">long_task_reason = #{longTaskReason},</if>
<if test="nurseId != null ">nurse_id = #{nurseId},</if>
@@ -823,8 +938,11 @@
<if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
<if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if>
<if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode},</if>
- <if test="campusid != null ">campusid = #{campusid}</if>
-
+ <if test="campusid != null ">campusid = #{campusid},</if>
+ <if test="inhospMydFlag != null ">inhosp_myd_flag = #{inhospMydFlag},</if>
+ <if test="importanceFlagCode != null ">importance_flag_code = #{importanceFlagCode},</if>
+ <if test="emergencyLevelCode != null ">emergency_level_code = #{emergencyLevelCode},</if>
+ <if test="encounterSourceId != null ">encounter_source_id = #{encounterSourceId},</if>
</trim>
where inhospid = #{inhospid}
</update>
@@ -855,73 +973,73 @@
<select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
resultType="com.smartor.domain.PatMedRes">
SELECT SUM(rc) AS rc,
- SUM(rs) AS rs,
- SUM(scsf) AS scsf,
- SUM(zcsf) AS zcsf,
- SUM(zbsf) AS zbsf
+ SUM(rs) AS rs,
+ SUM(scsf) AS scsf,
+ SUM(zcsf) AS zcsf,
+ SUM(zbsf) AS zbsf
FROM (
- <!-- 鍑洪櫌浜烘锛氬幓鎺� date_format 鍖呰锛屼娇鏃ユ湡瀛楁绱㈠紩鐢熸晥 -->
- SELECT
- COUNT(1) AS rc,
- 0 AS rs,
- 0 AS scsf,
- 0 AS zcsf,
- 0 AS zbsf
- FROM pat_med_inhosp
- JOIN pat_archive ON pat_archive.id = pat_med_inhosp.patid
- WHERE pat_med_inhosp.del_flag = 0
- <if test="orgid != null and orgid != ''">
- AND pat_med_inhosp.orgid = #{orgid}
- </if>
- AND pat_archive.idcardno IS NOT NULL
- <if test="zy != null">
- AND pat_med_inhosp.inhospstate = 0
- AND pat_med_inhosp.starttime >= #{startDate}
- AND pat_med_inhosp.starttime < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
- <if test="deptcodeList != null and deptcodeList.size() > 0">
- AND pat_med_inhosp.deptcode IN
- <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
- </if>
- <if test="cy != null">
- AND pat_med_inhosp.inhospstate = 1
- AND pat_med_inhosp.endtime >= #{startDate}
- AND pat_med_inhosp.endtime < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
- <if test="deptcodeList != null and deptcodeList.size() > 0">
- AND pat_med_inhosp.leaveldeptcode IN
- <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
- </if>
- UNION ALL
- <!-- 闅忚鏈嶅姟/棣栨/鍐嶆/涓撶梾闅忚锛氬悎骞朵负鍗曟鎵弿锛岀敤鏉′欢鑱氬悎浠f浛4涓� UNION ALL -->
- SELECT
- 0 AS rc,
- COUNT(1) AS rs,
- SUM(CASE WHEN service_type = 2 AND visit_count = 1 THEN 1 ELSE 0 END) AS scsf,
- SUM(CASE WHEN service_type = 2 AND visit_count > 1 THEN 1 ELSE 0 END) AS zcsf,
- SUM(CASE WHEN service_type = 13 THEN 1 ELSE 0 END) AS zbsf
- FROM service_subtask
- WHERE del_flag = 0
- AND service_type IN (2, 13)
- <if test="orgid != null and orgid != ''">
- AND orgid = #{orgid}
- </if>
- <if test="startDate != null">
- AND visit_time >= #{startDate}
- </if>
- <if test="endDate != null">
- AND visit_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
- </if>
+ <!-- 鍑洪櫌浜烘锛氬幓鎺� date_format 鍖呰锛屼娇鏃ユ湡瀛楁绱㈠紩鐢熸晥 -->
+ SELECT
+ COUNT(1) AS rc,
+ 0 AS rs,
+ 0 AS scsf,
+ 0 AS zcsf,
+ 0 AS zbsf
+ FROM pat_med_inhosp
+ JOIN pat_archive ON pat_archive.id = pat_med_inhosp.patid
+ WHERE pat_med_inhosp.del_flag = 0
+ <if test="orgid != null and orgid != ''">
+ AND pat_med_inhosp.orgid = #{orgid}
+ </if>
+ AND pat_archive.idcardno IS NOT NULL
+ <if test="zy != null">
+ AND pat_med_inhosp.inhospstate = 0
+ AND pat_med_inhosp.starttime >= #{startDate}
+ AND pat_med_inhosp.starttime < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
<if test="deptcodeList != null and deptcodeList.size() > 0">
- AND deptcode IN
+ AND pat_med_inhosp.deptcode IN
<foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
#{deptcode}
</foreach>
</if>
+ </if>
+ <if test="cy != null">
+ AND pat_med_inhosp.inhospstate = 1
+ AND pat_med_inhosp.endtime >= #{startDate}
+ AND pat_med_inhosp.endtime < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
+ <if test="deptcodeList != null and deptcodeList.size() > 0">
+ AND pat_med_inhosp.leaveldeptcode IN
+ <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+ #{deptcode}
+ </foreach>
+ </if>
+ </if>
+ UNION ALL
+ <!-- 闅忚鏈嶅姟/棣栨/鍐嶆/涓撶梾闅忚锛氬悎骞朵负鍗曟鎵弿锛岀敤鏉′欢鑱氬悎浠f浛4涓� UNION ALL -->
+ SELECT
+ 0 AS rc,
+ COUNT(1) AS rs,
+ SUM(CASE WHEN service_type = 2 AND visit_count = 1 THEN 1 ELSE 0 END) AS scsf,
+ SUM(CASE WHEN service_type = 2 AND visit_count > 1 THEN 1 ELSE 0 END) AS zcsf,
+ SUM(CASE WHEN service_type = 13 THEN 1 ELSE 0 END) AS zbsf
+ FROM service_subtask
+ WHERE del_flag = 0
+ AND service_type IN (2, 13)
+ <if test="orgid != null and orgid != ''">
+ AND orgid = #{orgid}
+ </if>
+ <if test="startDate != null">
+ AND visit_time >= #{startDate}
+ </if>
+ <if test="endDate != null">
+ AND visit_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
+ </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>
--
Gitblit v1.9.3