From f7307b96f58e4dda1e799d8302c84a4831e885d7 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 01 七月 2026 13:53:43 +0800
Subject: [PATCH] 【景宁】任务组开发
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 115 insertions(+), 2 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 1927131..4899c45 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -52,6 +52,7 @@
<result property="wechat" column="wechat"/>
<result property="leaveicd10code" column="leaveicd10code"/>
<result property="leavediagname" column="leavediagname"/>
+ <result property="diagname" column="diagname"/>
<result property="deptname" column="deptname"/>
<result property="admindate" column="admindate"/>
<result property="roomno" column="roomno"/>
@@ -93,6 +94,10 @@
<result property="continueCount" column="continue_count"/>
<result property="continueTimeNext" column="continue_time_next"/>
<result property="operationItemId" column="operation_item_id"/>
+ <result property="scheduleId" column="schedule_id"/>
+ <result property="scheduleDetailId" column="schedule_detail_id"/>
+ <result property="scheduleSeq" column="schedule_seq"/>
+ <result property="loopCount" column="loop_count"/>
</resultMap>
<resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
@@ -147,6 +152,7 @@
select id,
hosp_type,
task_guid,
+ diagname,
patfrom,
management_doctor,
management_doctor_code,
@@ -236,6 +242,10 @@
continue_count,
continue_time_next,
operation_item_id,
+ schedule_id,
+ schedule_detail_id,
+ schedule_seq,
+ loop_count,
task_situation
from service_subtask
</sql>
@@ -269,12 +279,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') <= 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') <= 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>
@@ -327,6 +361,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绛涢�� -->
@@ -543,11 +583,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') <= 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') <= 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>
@@ -804,6 +866,12 @@
<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>
+ <if test="startOutHospTime != null">
+ AND date_format(endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
+ </if>
+ <if test="endOutHospTime != null">
+ AND date_format(endtime,'%y%m%d') <= date_format(#{endOutHospTime},'%y%m%d')
+ </if>
GROUP BY sendname,sendstate,starttime,endtime,nurse_name,phone,sex,task_name,leavediagname,visit_time
ORDER BY sendname,visit_time
<if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
@@ -903,6 +971,10 @@
<if test="continueTimeNext != null ">continue_time_next,</if>
<if test="continueContent != null ">continue_content,</if>
<if test="operationItemId != null ">operation_item_id,</if>
+ <if test="scheduleId != null ">schedule_id,</if>
+ <if test="scheduleDetailId != null ">schedule_detail_id,</if>
+ <if test="scheduleSeq != null ">schedule_seq,</if>
+ <if test="loopCount != null ">loop_count,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sendname != null">#{sendname},</if>
@@ -995,6 +1067,10 @@
<if test="continueTimeNext != null ">#{continueTimeNext,jdbcType=TIMESTAMP},</if>
<if test="continueContent != null ">#{continueContent},</if>
<if test="operationItemId != null ">#{operationItemId},</if>
+ <if test="scheduleId != null ">#{scheduleId},</if>
+ <if test="scheduleDetailId != null ">#{scheduleDetailId},</if>
+ <if test="scheduleSeq != null ">#{scheduleSeq},</if>
+ <if test="loopCount != null ">#{loopCount},</if>
</trim>
</insert>
@@ -1092,6 +1168,10 @@
<if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP},</if>
<if test="continueContent != null ">continue_content = #{continueContent},</if>
<if test="operationItemId != null ">operation_item_id = #{operationItemId},</if>
+ <if test="scheduleId != null ">schedule_id = #{scheduleId},</if>
+ <if test="scheduleDetailId != null ">schedule_detail_id = #{scheduleDetailId},</if>
+ <if test="scheduleSeq != null ">schedule_seq = #{scheduleSeq},</if>
+ <if test="loopCount != null ">loop_count = #{loopCount},</if>
</trim>
where id = #{id}
</update>
@@ -1482,6 +1562,10 @@
AND visit_time >= DATE(#{startTime})
AND visit_time < DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
</if>
+ <if test="hospitalStartTime != null and hospitalEndTime!=null">
+ AND endtime >= DATE(#{hospitalStartTime})
+ AND endtime < 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>
@@ -1661,6 +1745,10 @@
AND visit_time >= DATE(#{startTime})
AND visit_time < DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
</if>
+ <if test="hospitalStartTime != null and hospitalEndTime!=null">
+ AND endtime >= DATE(#{hospitalStartTime})
+ AND endtime < 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>
@@ -1809,6 +1897,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>
@@ -2426,8 +2515,13 @@
<!-- 浼樺寲鐨勭粺璁℃煡璇細鐩存帴鍦ㄦ暟鎹簱灞傚畬鎴愯仛鍚堣绠� -->
<select id="countByCondition" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map">
SELECT
- 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 wzx,
+ SUM(CASE WHEN sendstate != 4 AND sendstate != 2 THEN 1 ELSE 0 END) AS ysf,
+ 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 = 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,
@@ -2822,5 +2916,24 @@
</choose>
</select>
+ <!-- 浠诲姟缁勶紙appltype=5锛夋粴鍔ㄨ皟搴︾敤锛氭湰杞粛鍦ㄨ窇鐨勬暟閲� -->
+ <select id="countActiveByScheduleIdAndLoop" resultType="int">
+ select count(1)
+ from service_subtask
+ where schedule_id = #{scheduleId}
+ and loop_count = #{loopCount}
+ and (del_flag is null or del_flag = '0')
+ and sendstate in (1, 2, 3)
+ </select>
+
+ <!-- 浠诲姟缁勶紙appltype=5锛夋粴鍔ㄨ皟搴︾敤锛氭媺鏈疆鍏ㄩ噺 subtask锛屼綔涓轰笅涓�杞殑鍏嬮殕妯℃澘 -->
+ <select id="selectByScheduleIdAndLoop" resultMap="ServiceSubtaskResult">
+ <include refid="selectServiceSubtaskVo"/>
+ where schedule_id = #{scheduleId}
+ and loop_count = #{loopCount}
+ and (del_flag is null or del_flag = '0')
+ order by schedule_seq asc, id asc
+ </select>
+
</mapper>
--
Gitblit v1.9.3