From 28446c1489c8977d634e7a39dbbc96967e22c6f1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 11 五月 2026 11:32:31 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 494 +++++++++++++++++++++++++++---------------------------
1 files changed, 243 insertions(+), 251 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index f873005..b71c096 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -48,6 +48,8 @@
<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="age" column="age"/>
@@ -98,6 +100,8 @@
nurse_name,
deptcheck_flag,
wardcheck_flag,
+ in_deptcheck_flag,
+ in_wardcheck_flag,
diagcheck_flag,
inhospstate,
patno,
@@ -157,6 +161,8 @@
b.out_way_name,
b.deptcheck_flag,
b.wardcheck_flag,
+ b.in_deptcheck_flag,
+ b.in_wardcheck_flag,
b.diagcheck_flag,
b.inhospstate,
b.patno,
@@ -212,84 +218,98 @@
pat_med_inhosp b
JOIN
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
- 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')
- </if>
- <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') <=
- 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')
- </if>
- <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') <=
- date_format(#{endInHospTime},'%y%m%d')
- </if>
- <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>
- <if test="endtime != null ">and b.endtime = #{endtime}</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>
- <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
- <if test="orgid != null ">and b.orgid = #{orgid}</if>
- <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
- <if test="endtime != null ">and b.endtime = #{endtime}</if>
- <if test="patno != null ">and b.patno = #{patno}</if>
- <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="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
- <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</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="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>
- <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if>
- <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if>
- <if test="leaveldeptcode != null ">and b.leaveldeptcode = #{leaveldeptcode}</if>
- <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%',
- #{leavediagname}, '%')
- </if>
- <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
- <if test="leaveldeptname != null and leaveldeptname != ''">and b.leaveldeptname like concat('%',
- #{leaveldeptname}, '%')
- </if>
- <if test="deptname != null and deptname != ''">and b.deptname like concat('%',
- #{deptname}, '%')
- </if>
- <if test="patid != null and patid != ''">and a.id =#{patid}
- </if>
- <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and
- b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%')
- </if>
+ where 1=1
+ 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')
+ </if>
+ <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') <=
+ 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')
+ </if>
+ <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') <=
+ date_format(#{endInHospTime},'%y%m%d')
+ </if>
+ <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>
+ <if test="endtime != null ">and b.endtime = #{endtime}</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>
+ <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
+ <if test="orgid != null ">and b.orgid = #{orgid}</if>
+ <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
+ <if test="endtime != null ">and b.endtime = #{endtime}</if>
+ <if test="patno != null ">and b.patno = #{patno}</if>
+ <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="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="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="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>
+ <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if>
+ <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if>
+ <if test="leaveldeptcode != null ">and b.leaveldeptcode = #{leaveldeptcode}</if>
+ <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%',
+ #{leavediagname}, '%')
+ </if>
+ <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
+ <if test="leaveldeptname != null and leaveldeptname != ''">and b.leaveldeptname like concat('%',
+ #{leaveldeptname}, '%')
+ </if>
+ <if test="deptname != null and deptname != ''">and b.deptname like concat('%',
+ #{deptname}, '%')
+ </if>
+ <if test="patid != null and patid != ''">and a.id =#{patid}
+ </if>
+ <if test="leavehospitaldistrictname != null and 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=")">
- #{leavehospitaldistrictcode}
- </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>
- </where>
+ <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
+ AND b.leavehospitaldistrictcode IN
+ <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+ close=")">
+ #{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>
GROUP BY
b.inhospid,
a.age,
@@ -319,6 +339,8 @@
b.out_way_name,
b.deptcheck_flag,
b.wardcheck_flag,
+ b.in_deptcheck_flag,
+ b.in_wardcheck_flag,
b.diagcheck_flag,
b.inhospstate,
b.patno,
@@ -370,11 +392,13 @@
b.fuspecialadvice
FROM
pat_med_inhosp b
-
- <where>
- <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
-
- </where>
+ where 1=1
+ <if test="orgid != null and orgid != ''">
+ and orgid = #{orgid}
+ </if>
+ <if test="serialnum != null ">
+ and b.serialnum = #{serialnum}
+ </if>
order by b.inhospid desc
</select>
@@ -395,8 +419,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,
@@ -448,51 +473,55 @@
FROM
pat_med_inhosp b,
pat_archive a
- <where>
- 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>
- <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>
- <if test="endtime != null ">and b.endtime = #{endtime}</if>
- <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
- <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
- <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
- <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
- <if test="patno != null ">and b.patno = #{patno}</if>
- <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="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</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('%',
- #{leavediagname}, '%')
- </if>
- <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
- <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
- AND b.leavehospitaldistrictcode IN
- <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
- #{leavehospitaldistrictcode}
- </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>
- </where>
+ where 1=1
+ and a.del_flag=0
+ and b.del_flag=0
+ and a.id = b.patid
+ AND a.idcardno != ''
+ <if test="orgid != null and orgid != ''">
+ and a.orgid = #{orgid}
+ </if>
+ <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>
+ <if test="endtime != null ">and b.endtime = #{endtime}</if>
+ <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
+ <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
+ <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
+ <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
+ <if test="patno != null ">and b.patno = #{patno}</if>
+ <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="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('%',
+ #{leavediagname}, '%')
+ </if>
+ <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
+ <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
+ AND b.leavehospitaldistrictcode IN
+ <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+ close=")">
+ #{leavehospitaldistrictcode}
+ </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>
order by b.inhospid desc
</select>
@@ -556,6 +585,9 @@
<if test="patno != null">and patno = #{patno}</if>
<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>
@@ -626,6 +658,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>
@@ -691,6 +725,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>
@@ -726,7 +762,7 @@
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,
@@ -748,7 +784,7 @@
#{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},
@@ -803,6 +839,8 @@
<if test="inhospstate != null">inhospstate = #{inhospstate},</if>
<if test="deptcheckFlag != null">deptcheck_flag = #{deptcheckFlag},</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>
@@ -851,136 +889,90 @@
</foreach>
</delete>
- <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes">
- SELECT deptname, COUNT(1) AS rc
- FROM (
- <if test="mz != null">
- SELECT deptname
- FROM pat_med_outhosp
- <where>
- del_flag=0
- <if test="deptcodeList != null and deptcodeList.size() > 0">
- and deptcode in
- <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
- </where>
- </if>
- <if test="mz != null and zy != null">
- UNION ALL
- </if>
- <if test="zy != null">
- SELECT deptname
- FROM pat_med_inhosp
- <where>
- 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}
- </foreach>
- </if>
- </where>
- </if>
- <if test="cy != null and zy != null">
- UNION ALL
- SELECT deptname
- FROM pat_med_inhosp
- <where>
- 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}
- </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
- and inhospstate=1
- <if test="deptcodeList != null and deptcodeList.size() > 0">
- and deptcode in
- <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
- </where>
- </if>
- ) AS combined
- GROUP BY deptname;
- </select>
<select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
resultType="com.smartor.domain.PatMedRes">
- SELECT SUM( rs ) AS rs,
- SUM( rc ) AS rc
+ SELECT SUM(rc) AS rc,
+ 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
- FROM
- pat_med_inhosp
- <where>
- del_flag=0
- <if test="orgid != null">
- AND orgid = #{orgid}
- </if>
- <if test="zy != null">
- and inhospstate=0
- and date_format(starttime,'%y%m%d') >= date_format(#{startDate},'%y%m%d')
- and date_format(starttime,'%y%m%d') <= date_format(#{endDate},'%y%m%d')
- <if test="deptcodeList != null and deptcodeList.size() > 0">
- and deptcode in
- <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
- </if>
- <if test="cy != null">
- and inhospstate=1
- and date_format(endtime,'%y%m%d') >= date_format(#{startDate},'%y%m%d')
- and date_format(endtime,'%y%m%d') <= date_format(#{endDate},'%y%m%d')
- <if test="deptcodeList != null and deptcodeList.size() > 0">
- and leaveldeptcode in
- <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
- </if>
-
- </where>
- union all
- select
- 0 AS rc,
- count(1) AS rs
- FROM
- service_subtask
- <where>
- del_flag = 0
- and service_type=2
- <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
+ 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>
- </where>
+ </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>
+
+ <!-- 鏌ヨ涓変釜缁村害浠绘剰涓�涓湭澶勭悊鐨勫嚭闄㈡偅鑰� -->
+ <select id="selectNeedProcessList" resultMap="PatMedInhospResult">
+ SELECT *
+ FROM pat_med_inhosp
+ WHERE inhospstate = '1'
+ AND fuflag = '1'
+ AND del_flag = '0'
+ AND (
+ dept_check_flag = '0'
+ OR ward_check_flag = '0'
+ OR diag_check_flag = '0'
+ )
+ </select>
</mapper>
--
Gitblit v1.9.3