From 55d724ddd52b2acb6e7ee2d291e04e4b6d96ad19 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 09 十一月 2026 16:06:47 +0800
Subject: [PATCH] sync: service_subtask 科室病区字段重命名对齐
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml | 43 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml
index f661975..f4774dc 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailMapper.xml
@@ -201,8 +201,8 @@
ssd.targetid,
ssd.template_type,
ssd.lib_templateid,
- sd.deptcode,
- sd.deptname,
+ sd.leaveldeptcode AS deptcode,
+ sd.leaveldeptname AS deptname,
sd.leavehospitaldistrictcode,
sd.leavehospitaldistrictname
from service_subtask_detail ssd
@@ -229,7 +229,7 @@
</foreach>
</if>
<if test="leaveldeptcodes != null and leaveldeptcodes.size() > 0">
- and sd.deptcode in
+ and sd.leaveldeptcode in
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," close=")">
#{leaveldeptcode}
</foreach>
@@ -239,6 +239,13 @@
<foreach collection="scriptIds" item="scriptId" open="(" separator="," close=")">
#{scriptId}
</foreach>
+ </if>
+ <if test="isFilled != null and isFilled != '0'">
+ AND IFNULL(ssd.matchedtext,ssd.asrtext) is not null
+ AND IFNULL(ssd.matchedtext,ssd.asrtext) != ''
+ </if>
+ <if test="configValue != null and configValue != ''">
+ AND ssd.categoryid IN (${configValue})
</if>
order by ssd.sub_id desc, ssd.id desc
</select>
@@ -539,4 +546,34 @@
ivr_liba_target.targetname,
service_subtask_detail.matchedtext
</select>
+
+ <select id="selectRepeatDetailIds" resultType="Long">
+ SELECT d1.id
+ FROM service_subtask_detail d1
+ INNER JOIN (
+ SELECT sub_id, questiontext,
+ MAX(create_time) AS max_create_time,
+ MAX(id) AS keep_id
+ FROM service_subtask_detail
+ WHERE del_flag = 0
+ GROUP BY sub_id, questiontext
+ HAVING COUNT(*) > 1
+ ) d2 ON d1.sub_id = d2.sub_id
+ AND d1.questiontext = d2.questiontext
+ AND (
+ d1.create_time < d2.max_create_time
+ OR (d1.create_time = d2.max_create_time AND d1.id < d2.keep_id)
+ )
+ WHERE d1.del_flag = 0
+ </select>
+
+ <update id="deleteRepeatDetailByIds">
+ UPDATE service_subtask_detail
+ SET del_flag = 1
+ WHERE del_flag = 0
+ AND id IN
+ <foreach collection="ids" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </update>
</mapper>
--
Gitblit v1.9.3