From 732024c03df1d810b8f5a8a526066967f1bfbb5d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 26 六月 2026 17:53:27 +0800
Subject: [PATCH] 南华部分功能提交

---
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml |   65 +++++++++++++++++++++++++++++++-
 1 files changed, 63 insertions(+), 2 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index eb76a16..746a630 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -271,12 +271,36 @@
         <include refid="selectServiceSubtaskVo"/>
         where 1=1
         and del_flag = 0
+        and sendstate != 5
         <if test="orgid != null and orgid != ''">
             and orgid = #{orgid}
+        </if>
+        <if test="subId != null">
+            AND id = #{subId}
         </if>
         <if test="taskid != null ">and taskid = #{taskid}</if>
         <if test="visitTime != null">
             AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
+        </if>
+        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
+        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
+        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if>
+        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
+        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
+        UNION ALL
+        <include refid="selectServiceSubtaskVo"/>
+        where 1=1
+        and del_flag = 0
+        and sendstate = 5
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="subId != null">
+            AND id = #{subId}
+        </if>
+        <if test="taskid != null ">and taskid = #{taskid}</if>
+        <if test="visitTime != null">
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(DATE_ADD(#{visitTime}, INTERVAL 1 DAY),'%y%m%d')
         </if>
         <if test="sendstate != null ">and sendstate = #{sendstate}</if>
         <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
@@ -329,6 +353,12 @@
             AND sendstate IN
             <foreach collection="sendstates" item="state" open="(" separator="," close=")">
                 #{state}
+            </foreach>
+        </if>
+        <if test="subIdList != null  and sendstates.size() > 0">
+            AND id IN
+            <foreach collection="subIdList" item="subId" open="(" separator="," close=")">
+                #{subId}
             </foreach>
         </if>
         <!-- taskIds绛涢�� -->
@@ -545,11 +575,33 @@
             resultMap="ServiceSubtaskResult">
         <include refid="selectServiceSubtaskVo"/>
         where del_flag = 0
+        and sendstate != 5
         <if test="orgid != null and orgid != ''">
             and orgid = #{orgid}
         </if>
         <if test="visitTime != null">
             AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{visitTime},'%y%m%d')
+        </if>
+        <if test="subId != null">
+            AND id = #{subId}
+        </if>
+        <if test="sendstate != null ">and sendstate = #{sendstate}</if>
+        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
+        <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if>
+        <if test="continueCount != null ">and continue_count = #{continueCount}</if>
+        <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if>
+        UNION ALL
+        <include refid="selectServiceSubtaskVo"/>
+        where del_flag = 0
+        and sendstate = 5
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="visitTime != null">
+            AND date_format(visit_time,'%y%m%d') &lt;= date_format(DATE_ADD(#{visitTime}, INTERVAL 1 DAY),'%y%m%d')
+        </if>
+        <if test="subId != null">
+            AND id = #{subId}
         </if>
         <if test="sendstate != null ">and sendstate = #{sendstate}</if>
         <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
@@ -1484,6 +1536,10 @@
             AND visit_time >= DATE(#{startTime})
             AND visit_time &lt; DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
         </if>
+        <if test="hospitalStartTime != null and hospitalEndTime!=null">
+            AND endtime >= DATE(#{hospitalStartTime})
+            AND endtime &lt; DATE_ADD(DATE(#{hospitalEndTime}), INTERVAL 1 DAY)
+        </if>
         <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
         <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
         <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
@@ -1663,6 +1719,10 @@
             AND visit_time >= DATE(#{startTime})
             AND visit_time &lt; DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
         </if>
+        <if test="hospitalStartTime != null and hospitalEndTime!=null">
+            AND endtime >= DATE(#{hospitalStartTime})
+            AND endtime &lt; DATE_ADD(DATE(#{hospitalEndTime}), INTERVAL 1 DAY)
+        </if>
         <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
         <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
         <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
@@ -1811,6 +1871,7 @@
             <if test="deptcode != null and deptcode != ''">
                 AND deptcode = #{deptcode}
             </if>
+            order by endtime desc
             <if test="pageSize != null  and pageNum != null">
                 limit ${pageSize} OFFSET ${pageNum}
             </if>
@@ -2433,8 +2494,8 @@
         SUM(CASE WHEN sendstate = 5 THEN 1 ELSE 0 END) AS fssb,
         SUM(CASE WHEN sendstate >= 3 OR sendstate = 1 THEN 1 ELSE 0 END) AS yfs,
         SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq,
-        SUM(CASE WHEN sendstate != 4 THEN 1 ELSE 0 END) AS wxsf,
-        SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS xsf,
+        SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS wxsf,
+        SUM(CASE WHEN sendstate != 4 THEN 1 ELSE 0 END) AS xsf,
         SUM(CASE WHEN (sendstate = 1 OR sendstate = 2 OR sendstate = 3 OR sendstate = 5 OR sendstate = 7 ) THEN 1 ELSE 0 END) AS dsf,
         SUM(CASE WHEN sendstate = 6 THEN 1 ELSE 0 END) AS ywc,
         SUM(CASE WHEN excep IS NOT NULL AND excep = '1' THEN 1 ELSE 0 END) AS yc,

--
Gitblit v1.9.3