From 43e7dc349b8bc1515911e64fb12ea820afd1b0d2 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 23 三月 2026 17:07:34 +0800
Subject: [PATCH] 门急诊分表代码(增、改、查)提交
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 170 +++++++++++++++++++++++++-------------------------------
1 files changed, 75 insertions(+), 95 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 42f5bce..c28555d 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -1927,25 +1927,6 @@
</foreach>
</if>
- <!-- GROUP BY-->
- <!-- <choose>-->
- <!-- <when test="timeType == 'day'">-->
- <!-- DATE_FORMAT(visit_time, '%Y-%m-%d')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'month'">-->
- <!-- DATE_FORMAT(visit_time, '%Y-%m')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'year'">-->
- <!-- DATE_FORMAT(visit_time, '%Y')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'week'">-->
- <!-- CONCAT(YEAR(visit_time), '-W', LPAD(WEEK(visit_time, 1), 2, '0'))-->
- <!-- </when>-->
- <!-- <otherwise>-->
- <!-- DATE_FORMAT(visit_time, '%Y-%m-%d')-->
- <!-- </otherwise>-->
- <!-- </choose>-->
-
UNION ALL
-- 鍑洪櫌浜烘鏁版嵁
@@ -1997,85 +1978,48 @@
</foreach>
</if>
- <!-- GROUP BY-->
- <!-- <choose>-->
- <!-- <when test="timeType == 'day'">-->
- <!-- DATE_FORMAT(endtime, '%Y-%m-%d')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'month'">-->
- <!-- DATE_FORMAT(endtime, '%Y-%m')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'year'">-->
- <!-- DATE_FORMAT(endtime, '%Y')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'week'">-->
- <!-- CONCAT(YEAR(endtime), '-W', LPAD(WEEK(endtime, 1), 2, '0'))-->
- <!-- </when>-->
- <!-- <otherwise>-->
- <!-- DATE_FORMAT(endtime, '%Y-%m-%d')-->
- <!-- </otherwise>-->
- <!-- </choose>-->
+<!-- UNION ALL-->
- UNION ALL
+<!-- -- 闂ㄨ瘖浜烘鏁版嵁-->
+<!-- SELECT-->
+<!-- <choose>-->
+<!-- <when test="timeType == 'day'">-->
+<!-- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,-->
+<!-- </when>-->
+<!-- <when test="timeType == 'month'">-->
+<!-- DATE_FORMAT(admitdate, '%Y-%m') AS timePeriod,-->
+<!-- </when>-->
+<!-- <when test="timeType == 'year'">-->
+<!-- DATE_FORMAT(admitdate, '%Y') AS timePeriod,-->
+<!-- </when>-->
+<!-- <when test="timeType == 'week'">-->
+<!-- CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0')) AS timePeriod,-->
+<!-- </when>-->
+<!-- <otherwise>-->
+<!-- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,-->
+<!-- </otherwise>-->
+<!-- </choose>-->
+<!-- 0 AS dischargeFollowCount,-->
+<!-- 0 AS outpatientFollowCount,-->
+<!-- 0 AS pmiCount,-->
+<!-- 1 AS pmoCount-->
+<!-- FROM pat_med_outhosp-->
+<!-- WHERE del_flag = '0'-->
+<!-- <if test="startDate != null and endDate != null">-->
+<!-- AND admitdate >= #{startDate}-->
+<!-- AND admitdate <= DATE_ADD(#{endDate}, INTERVAL 1 DAY)-->
+<!-- </if>-->
+<!-- <if test="orgid != null">-->
+<!-- AND orgid = #{orgid}-->
+<!-- </if>-->
- -- 闂ㄨ瘖浜烘鏁版嵁
- SELECT
- <choose>
- <when test="timeType == 'day'">
- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,
- </when>
- <when test="timeType == 'month'">
- DATE_FORMAT(admitdate, '%Y-%m') AS timePeriod,
- </when>
- <when test="timeType == 'year'">
- DATE_FORMAT(admitdate, '%Y') AS timePeriod,
- </when>
- <when test="timeType == 'week'">
- CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0')) AS timePeriod,
- </when>
- <otherwise>
- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,
- </otherwise>
- </choose>
- 0 AS dischargeFollowCount,
- 0 AS outpatientFollowCount,
- 0 AS pmiCount,
- 1 AS pmoCount
- FROM pat_med_outhosp
- WHERE del_flag = '0'
- <if test="startDate != null and endDate != null">
- AND admitdate >= #{startDate}
- AND admitdate <= DATE_ADD(#{endDate}, INTERVAL 1 DAY)
- </if>
- <if test="orgid != null">
- AND orgid = #{orgid}
- </if>
+<!-- <if test="deptcodes != null and deptcodes.size() > 0">-->
+<!-- AND deptcode IN-->
+<!-- <foreach collection="deptcodes" item="deptcode" open="(" separator="," close=")">-->
+<!-- #{deptcode}-->
+<!-- </foreach>-->
+<!-- </if>-->
- <if test="deptcodes != null and deptcodes.size() > 0">
- AND deptcode IN
- <foreach collection="deptcodes" item="deptcode" open="(" separator="," close=")">
- #{deptcode}
- </foreach>
- </if>
-
- <!-- GROUP BY-->
- <!-- <choose>-->
- <!-- <when test="timeType == 'day'">-->
- <!-- DATE_FORMAT(admitdate, '%Y-%m-%d')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'month'">-->
- <!-- DATE_FORMAT(admitdate, '%Y-%m')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'year'">-->
- <!-- DATE_FORMAT(admitdate, '%Y')-->
- <!-- </when>-->
- <!-- <when test="timeType == 'week'">-->
- <!-- CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0'))-->
- <!-- </when>-->
- <!-- <otherwise>-->
- <!-- DATE_FORMAT(admitdate, '%Y-%m-%d')-->
- <!-- </otherwise>-->
- <!-- </choose>-->
) AS combined_data
GROUP BY timePeriod
ORDER BY timePeriod DESC
@@ -2134,6 +2078,14 @@
#{leaveldeptcode}
</foreach>
</if>
+ </if>
+ <if test="visitCount != null and visitCount > 1 and visitDeptCodes != null and visitDeptCodes.size() > 0">
+ AND visit_dept_code IN
+ <foreach collection="visitDeptCodes" item="visitDeptCodes" open="("
+ separator=","
+ close=")">
+ #{visitDeptCodes}
+ </foreach>
</if>
<if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">
AND leavehospitaldistrictname = #{leavehospitaldistrictname}
@@ -2257,6 +2209,34 @@
</if>
</select>
+
+ <select id="selectVisitCount" parameterType="com.smartor.domain.PatMedReq"
+ resultType="com.smartor.domain.PatMedRes">
+ select
+ 0 AS rc,
+ count(1) AS rs
+ FROM
+ service_subtask
+ where 1=1
+ and del_flag = 0
+ and service_type=3
+ <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>
+ </select>
+
<select id="getCurrentUserServiceSubtaskCount" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map">
SELECT
COUNT(CASE WHEN sendstate = 2 AND date_format(visit_time,'%y%m%d') <= date_format(CURDATE(),'%y%m%d') THEN 1 END) AS pendingVisitCount,
--
Gitblit v1.9.3