From 8fe7805b75fceef28f00fb0124901031a287429c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 07 五月 2026 16:46:10 +0800
Subject: [PATCH] 【市一】remark 统一调整
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 74 ++++++++++++++++++++++++++++++++++---
1 files changed, 68 insertions(+), 6 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 1c33426..d4b064b 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -92,6 +92,7 @@
<result property="continueContent" column="continue_content"/>
<result property="continueCount" column="continue_count"/>
<result property="continueTimeNext" column="continue_time_next"/>
+ <result property="operationItemId" column="operation_item_id"/>
</resultMap>
<resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
@@ -212,6 +213,7 @@
continue_content,
continue_count,
continue_time_next,
+ operation_item_id,
task_situation
from service_subtask
</sql>
@@ -662,25 +664,29 @@
) a
</select>
- <select id="selectTimelyRateBatch" parameterType="com.smartor.domain.ServiceSubtask" resultType="map">
+ <select id="selectTimelyRateBatch" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map">
SELECT
<if test="groupKey != null and groupKey != ''">
${groupKey} as groupKey,
</if>
- SUM(CASE WHEN DATE(visit_time) < DATE(IFNULL(finishtime, NOW())) THEN 1 ELSE 0 END) / COUNT(*) as rate
+ SUM(CASE WHEN finishtime IS NOT NULL AND DATE(visit_time) <= DATE(finishtime) THEN 1 ELSE 0 END) / COUNT(*) AS finishRate,
+ <if test="rateDay != null">
+ SUM(CASE WHEN finishtime IS NOT NULL AND DATEDIFF(finishtime, endtime) <= #{rateDay} THEN 1 ELSE 0 END) / COUNT(*) AS rate
+ </if>
+ <if test="rateDay == null">
+ NULL AS rate
+ </if>
FROM service_subtask
WHERE del_flag = 0
AND visit_time IS NOT NULL
- AND finishtime IS NOT NULL
- <if test="orgid != null">AND orgid = #{orgid}</if>
<if test="starttime == null and endtime==null">
- AND visit_time < NOW()
+ AND DATE(visit_time) < DATE(NOW())
</if>
<if test="starttime != null and endtime!=null">
AND visit_time >= #{starttime}
AND visit_time < DATE_ADD(#{endtime}, INTERVAL 1 DAY)
</if>
- <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if>
+ <if test="orgid != null and orgid != ''">AND orgid = #{orgid}</if>
<if test="deptcode != null and deptcode != ''">and deptcode = #{deptcode}</if>
<if test="deptname != null and deptname != ''">and deptname = #{deptname}</if>
<if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
@@ -697,6 +703,13 @@
</if>
<if test="visitCount != null and visitCount > 1">
AND visit_count > 1
+ </if>
+ <if test="serviceTypeList != null">
+ AND service_type IN
+ <foreach collection="serviceTypeList" item="serviceType" open="(" separator=","
+ close=")">
+ #{serviceType}
+ </foreach>
</if>
<if test="groupKey != null and groupKey != ''">
AND ${groupKey} IN
@@ -860,6 +873,7 @@
<if test="continueCount != null ">continue_count,</if>
<if test="continueTimeNext != null ">continue_time_next,</if>
<if test="continueContent != null ">continue_content,</if>
+ <if test="operationItemId != null ">operation_item_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sendname != null">#{sendname},</if>
@@ -951,6 +965,7 @@
<if test="continueCount != null ">#{continueCount},</if>
<if test="continueTimeNext != null ">#{continueTimeNext,jdbcType=TIMESTAMP},</if>
<if test="continueContent != null ">#{continueContent},</if>
+ <if test="operationItemId != null ">#{operationItemId},</if>
</trim>
</insert>
@@ -1047,6 +1062,7 @@
<if test="continueCount != null ">continue_count = #{continueCount},</if>
<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>
</trim>
where id = #{id}
</update>
@@ -2484,4 +2500,50 @@
ORDER BY groupCode
</select>
+ <!-- 瀹f暀缁熻锛氭寜鐥呭尯鎴栫瀹ゅ垎缁勶紝缁熻鍙戦�佹�婚噺銆佸彂閫佹垚鍔熼噺锛坰endstate=6锛夈�佸凡璇婚噺锛坒inishtime涓嶄负绌猴級 -->
+ <select id="getHeLibraryCount" parameterType="com.smartor.domain.VO.HeLibraryCountVO" resultType="map">
+ SELECT
+ <choose>
+ <when test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0">
+ leavehospitaldistrictcode AS groupCode,
+ leavehospitaldistrictname AS groupName,
+ </when>
+ <otherwise>
+ deptcode AS groupCode,
+ deptname AS groupName,
+ </otherwise>
+ </choose>
+ COUNT(*) AS totalCount,
+ SUM(CASE WHEN sendstate = 6 THEN 1 ELSE 0 END) AS sendSuccessCount,
+ SUM(CASE WHEN finishtime IS NOT NULL THEN 1 ELSE 0 END) AS readCount
+ FROM service_subtask
+ WHERE del_flag = 0
+ AND service_type = 4
+ <if test="starttime != null">AND starttime >= #{starttime}</if>
+ <if test="endtime != null">AND endtime <= #{endtime}</if>
+ <if test="visittime != null">AND DATE(visit_time) = DATE(#{visittime})</if>
+ <if test="finishtime != null">AND DATE(finishtime) = DATE(#{finishtime})</if>
+ <if test="hospType != null and hospType != ''">AND hosp_type = #{hospType}</if>
+ <choose>
+ <when test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0">
+ AND leavehospitaldistrictcode IN
+ <foreach collection="hospitaldistrictcodes" item="code" open="(" separator="," close=")">
+ #{code}
+ </foreach>
+ GROUP BY leavehospitaldistrictcode, leavehospitaldistrictname
+ ORDER BY groupCode
+ </when>
+ <otherwise>
+ <if test="deptcodes != null and deptcodes.size() > 0">
+ AND deptcode IN
+ <foreach collection="deptcodes" item="code" open="(" separator="," close=")">
+ #{code}
+ </foreach>
+ </if>
+ GROUP BY deptcode, deptname
+ ORDER BY groupCode
+ </otherwise>
+ </choose>
+ </select>
+
</mapper>
--
Gitblit v1.9.3