From ec23ec3d3dc4ec1ba7d79ba4f46ae2c31d5a16a9 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 07 一月 2026 10:49:10 +0800
Subject: [PATCH] 【市一】调整mapper获取ordid
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 236 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 123 insertions(+), 113 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index fe4f4ed..9c943e6 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -210,32 +210,34 @@
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<if test="taskid != null ">and taskid = #{taskid}</if>
<if test="serviceType != null ">and service_type = #{serviceType}</if>
<if test="patid != null ">and patid = #{patid}</if>
<if test="sendstates!=null">
AND sendstate IN
<foreach collection="sendstates" item="sendstate" open="(" separator=","
- close=")">
+ AND close=")">
#{sendstate}
</foreach>
</if>
- </where>
+
</select>
<select id="queryServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<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>
- </where>
+
</select>
@@ -243,15 +245,16 @@
<select id="selectServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<if test="sendname != null and sendname != ''">and sendname like concat('%', #{sendname}, '%')</if>
<if test="phone != null and phone != ''">and phone = #{phone}</if>
<if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">and
- leavehospitaldistrictcode = #{leavehospitaldistrictcode}
+ AND leavehospitaldistrictcode = #{leavehospitaldistrictcode}
</if>
<if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and
- leavehospitaldistrictname = #{leavehospitaldistrictname}
+ AND leavehospitaldistrictname = #{leavehospitaldistrictname}
</if>
<if test="leavediagname != null and leavediagname != ''">and leavediagname like concat('%',
#{leavediagname}, '%')
@@ -277,7 +280,7 @@
<if test="taskid != null ">and taskid = #{taskid}</if>
<if test="templateid != null and templateid != ''">and templateid = #{templateid}</if>
<if test="templatename != null and templatename != ''">and templatename like concat('%', #{templatename},
- '%')
+ AND '%')
</if>
<if test="startOutHospTime != null">
AND date_format(endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
@@ -299,16 +302,16 @@
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
- separator=","
- close=")">
- #{leavehospitaldistrictcode}
+ AND separator=","
+ AND close=")">
+ #{leavehospitaldistrictcode}
</foreach>
</if>
<if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
AND deptcode IN
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
- close=")">
- #{leaveldeptcode}
+ AND close=")">
+ #{leaveldeptcode}
</foreach>
</if>
</if>
@@ -316,16 +319,16 @@
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND (leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
- separator=","
- close=")">
- #{leavehospitaldistrictcode}
+ AND separator=","
+ AND close=")">
+ #{leavehospitaldistrictcode}
</foreach>
</if>
<if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
OR deptcode IN
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
- close="))">
- #{leaveldeptcode}
+ AND close="))">
+ #{leaveldeptcode}
</foreach>
</if>
</if>
@@ -391,12 +394,12 @@
<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=")">
+ AND separator=","
+ AND close=")">
#{visitDeptCodes}
</foreach>
</if>
- </where>
+
<if test="sort != null and sort==0">order by endtime asc</if>
<if test="sort != null and sort==1">order by endtime desc</if>
<if test="sort != null and sort==2">order by long_send_time asc</if>
@@ -411,24 +414,25 @@
<select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.ServiceSubtaskVO"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<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>
- </where>
+
</select>
<select id="selectServiceSubtaskListByCreateTime" parameterType="com.smartor.domain.ServiceSubtaskVO"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
- <if test="createStartTime != null and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
- #{createEndTime}
+ WHERE 1=1
+ and del_flag=0
+ <if test="createStartTime != null and createEndTime != null">
+ and create_time BETWEEN #{createStartTime} AND #{createEndTime}
</if>
<if test="createBy != null ">and create_by = #{createBy}</if>
<if test="sendname != null ">and sendname = #{sendname}</if>
@@ -443,20 +447,18 @@
<if test="managementDoctor != null">and management_doctor = #{managementDoctor}</if>
<if test="currentPreachform != null">and current_preachform = #{currentPreachform}</if>
<if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
- </where>
-
</select>
<select id="selectServiceSubtaskListAgain" parameterType="com.smartor.domain.ServiceSubtaskVO"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
+ WHERE 1=1
+ AND del_flag=0
and upid is not null
and visit_count > 1
- <if test="createStartTime != null and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
- #{createEndTime}
+ <if test="createStartTime != null and createEndTime != null">
+ and create_time BETWEEN #{createStartTime} AND #{createEndTime}
</if>
<if test="senddate != null ">and senddate = #{senddate}</if>
<if test="senduuid != null and senduuid != ''">and senduuid = #{senduuid}</if>
@@ -501,21 +503,20 @@
<if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
<if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
<if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
- </where>
-
</select>
<select id="selectSendstateByCondition" parameterType="com.smartor.domain.ServiceSubtask" resultType="Integer">
SELECT b.sendstate
from service_task a
JOIN service_subtask b on a.taskid = b.taskid and a.pat_cycle = 0 and b.del_flag = 0
- <where>b.taskid = #{taskid}
+ WHERE 1=1
+AND b.taskid = #{taskid}
and b.patid = #{patid}
<if test="createTime != null and createTime != ''">
- DATE_FORMAT(b.create_time, '%Y-%m-%d') LIKE CONCAT(#{createTimeNew}, '%')
+ AND DATE_FORMAT(b.create_time, '%Y-%m-%d') LIKE CONCAT(#{createTimeNew}, '%')
</if>
<if test="sendstate != null ">and b.sendstate = #{sendstate}</if>
- </where>
+
</select>
<select id="selectTimelyRate" parameterType="com.smartor.domain.ServiceSubtask" resultType="double">
@@ -550,16 +551,17 @@
<select id="selectTimelyRateDetail" parameterType="com.smartor.domain.ServiceSubtask"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- id in (
- SELECT id FROM
- (SELECT id, visit_time, finishtime,
- (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' ) < DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(),
- finishtime
- ), '%y%m%d' ) )
- THEN 1 ELSE 0 END ) finished,1 AS tasknumber FROM service_subtask
- WHERE del_flag=0
- -- AND visit_time < NOW()
+ WHERE 1=1
+
+ AND id in (
+ AND SELECT id FROM
+ AND (SELECT id, visit_time, finishtime,
+ AND (CASE WHEN ( DATE_FORMAT( visit_time, '%y%m%d' ) < DATE_FORMAT( IF ( ISNULL( finishtime ), NOW(),
+ AND finishtime
+ AND ), '%y%m%d' ) )
+ AND THEN 1 ELSE 0 END ) finished,1 AS tasknumber FROM service_subtask
+ AND WHERE del_flag=0
+ AND -- AND visit_time < NOW()
<if test="starttime != null and endtime!=null">
AND date_format(visit_time,'%y%m%d') >= date_format(#{starttime},'%y%m%d')
AND date_format(visit_time,'%y%m%d') <= date_format(#{endtime},'%y%m%d')
@@ -569,15 +571,15 @@
<if test="deptcode != null and deptcode != ''">and deptcode = #{deptcode}</if>
<if test="deptname != null and deptname != ''">and deptname = #{deptname}</if>
<if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">and
- leavehospitaldistrictcode = #{leavehospitaldistrictcode}
+ AND leavehospitaldistrictcode = #{leavehospitaldistrictcode}
</if>
<if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and
- leavehospitaldistrictname = #{leavehospitaldistrictname}
+ AND leavehospitaldistrictname = #{leavehospitaldistrictname}
</if>
<if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if>
<if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if>
- ) a where a.finished =1)
- </where>
+ AND ) a where a.finished =1)
+
</select>
<select id="selectServiceSubtaskById" parameterType="Long" resultMap="ServiceSubtaskResult">
@@ -957,10 +959,11 @@
<if test="taskSituation != null">task_situation=#{taskSituation},</if>
<if test="isabnormal != null">isabnormal=#{isabnormal},</if>
</trim>
- <where>
+ WHERE 1=1
+
<if test="patid != null ">and patid = #{patid}</if>
<if test="taskid != null ">and taskid = #{taskid}</if>
- </where>
+
</update>
<update id="updateServiceSubtaskByCondition" parameterType="com.smartor.domain.ServiceSubtask">
@@ -1165,26 +1168,27 @@
<select id="getSfStatistics" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
resultMap="ServiceSubtaskResult">
<include refid="selectServiceSubtaskVo"/>
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
+ AND close=")">
#{leavehospitaldistrictcode}
</foreach>
</if>
<if test="deptcodes != null and deptcodes.size() > 0">
AND deptcode IN
<foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
+ AND close=")">
#{deptcode}
</foreach>
</if>
<if test="serviceType != null and serviceType.size() > 0">
AND service_type IN
<foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
+ AND close=")">
#{serviceType}
</foreach>
</if>
@@ -1195,7 +1199,7 @@
<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
<if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if>
<if test="isabnormal != null">abd isabnormal = #{isabnormal}</if>
- </where>
+
</select>
<select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
@@ -1205,26 +1209,27 @@
config_key='joyCount')) joyAllCount
FROM service_subtask_detail a
WHERE sub_id IN(SELECT id FROM service_subtask t
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
+ AND close=")">
#{leavehospitaldistrictcode}
</foreach>
</if>
<if test="deptcodes != null and deptcodes.size() > 0">
AND deptcode IN
<foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
+ AND close=")">
#{deptcode}
</foreach>
</if>
<if test="serviceType != null and serviceType.size() > 0">
AND service_type IN
<foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
+ AND close=")">
#{serviceType}
</foreach>
</if>
@@ -1235,7 +1240,7 @@
<if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
<if test="visitDeptName != null">abd visit_dept_name = #{visitDeptName}</if>
<if test="isabnormal != null">abd isabnormal = #{isabnormal}</if>
- </where>
+
)
AND targetid IN ( SELECT id FROM ivr_liba_target WHERE assortid IN (SELECT config_value FROM sys_config WHERE
config_key='joyCount'))
@@ -1247,26 +1252,27 @@
SELECT joyName,joyCount,joyAllCount,ROUND(joyCount/joyAllCount,2) joyTotal FROM (
SELECT targetname joyName,
(select COUNT(sub_id) FROM service_subtask_detail WHERE sub_id IN(SELECT id FROM service_subtask t
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
+ AND close=")">
#{leavehospitaldistrictcode}
</foreach>
</if>
<if test="deptcodes != null and deptcodes.size() > 0">
AND deptcode IN
<foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
+ AND close=")">
#{deptcode}
</foreach>
</if>
<if test="serviceType != null and serviceType.size() > 0">
AND service_type IN
<foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
+ AND close=")">
#{serviceType}
</foreach>
</if>
@@ -1274,30 +1280,31 @@
AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
AND date_format(visit_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
</if>
- </where>
+
) AND targetid=a.id) joyCount , (SELECT COUNT(*) from (select sub_id FROM service_subtask_detail
WHERE sub_id IN(SELECT id FROM service_subtask t
- <where>
- del_flag=0
+ WHERE 1=1
+
+ AND del_flag=0
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">AND
- leavehospitaldistrictcode IN
+ AND leavehospitaldistrictcode IN
<foreach
- collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
+ AND collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+ AND close=")">
#{leavehospitaldistrictcode}
</foreach>
</if>
<if test="deptcodes != null and deptcodes.size() > 0">
AND deptcode IN
<foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
+ AND close=")">
#{deptcode}
</foreach>
</if>
<if test="serviceType != null and serviceType.size() > 0">
AND service_type IN
<foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
+ AND close=")">
#{serviceType}
</foreach>
</if>
@@ -1305,7 +1312,7 @@
AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
AND date_format(visit_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
</if>
- </where>
+
GROUP BY sub_id ) ) ta ) joyAllCount
FROM ivr_liba_target a
WHERE assortid IN (SELECT config_value FROM sys_config WHERE config_key=
@@ -1323,27 +1330,28 @@
COUNT(sub_id) joyCount
FROM service_subtask_detail a
INNER JOIN service_subtask t ON a.sub_id = t.id
- <where>
- a.del_flag=0
+ WHERE 1=1
+
+ AND a.del_flag=0
AND t.del_flag=0
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND t.leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
+ AND close=")">
#{leavehospitaldistrictcode}
</foreach>
</if>
<if test="deptcodes != null and deptcodes.size() > 0">
AND t.deptcode IN
<foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
+ AND close=")">
#{deptcode}
</foreach>
</if>
<if test="serviceType != null and serviceType.size() > 0">
AND t.service_type IN
<foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
+ AND close=")">
#{serviceType}
</foreach>
</if>
@@ -1364,7 +1372,7 @@
<if test="type != null">
and t.type = #{type}
</if>
- </where>
+
GROUP BY a.sub_id
</select>
@@ -1448,28 +1456,29 @@
FROM
service_subtask_detail ssd
INNER JOIN service_subtask ss ON ssd.sub_id = ss.id
- <where>
- ss.del_flag=0
+ WHERE 1=1
+
+ AND ss.del_flag=0
AND IFNULL(ssd.matchedtext,ssd.asrtext) IS NOT NULL
AND IFNULL(ssd.matchedtext,ssd.asrtext) != ''
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND ss.leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
+ AND close=")">
#{leavehospitaldistrictcode}
</foreach>
</if>
<if test="deptcodes != null and deptcodes.size() > 0">
AND ss.deptcode IN
<foreach collection="deptcodes" item="deptcode" open="(" separator=","
- close=")">
+ AND close=")">
#{deptcode}
</foreach>
</if>
<if test="serviceType != null and serviceType.size() > 0">
AND ss.service_type IN
<foreach collection="serviceType" item="serviceType" open="(" separator=","
- close=")">
+ AND close=")">
#{serviceType}
</foreach>
</if>
@@ -1484,7 +1493,7 @@
<if test="configValue != null and configValue != ''">
AND ssd.categoryid IN (${configValue})
</if>
- </where>
+
group by ssd.scriptid, IFNULL(ssd.matchedtext,ssd.asrtext)
</select>
@@ -1841,8 +1850,9 @@
SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq,
SUM(CASE WHEN excep IS NOT NULL AND excep != '0' THEN 1 ELSE 0 END) AS yc
FROM service_subtask
- <where>
- del_flag = 0
+ WHERE 1=1
+
+ AND del_flag = 0
<if test="sendname != null and sendname != ''">
AND sendname LIKE CONCAT('%', #{sendname}, '%')
</if>
@@ -1853,16 +1863,16 @@
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
- separator=","
- close=")">
- #{leavehospitaldistrictcode}
+ AND separator=","
+ AND close=")">
+ #{leavehospitaldistrictcode}
</foreach>
</if>
<if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
AND deptcode IN
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
- close=")">
- #{leaveldeptcode}
+ AND close=")">
+ #{leaveldeptcode}
</foreach>
</if>
</if>
@@ -1870,16 +1880,16 @@
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND (leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
- separator=","
- close=")">
- #{leavehospitaldistrictcode}
+ AND separator=","
+ AND close=")">
+ #{leavehospitaldistrictcode}
</foreach>
</if>
<if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
OR deptcode IN
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
- close="))">
- #{leaveldeptcode}
+ AND close="))">
+ #{leaveldeptcode}
</foreach>
</if>
</if>
@@ -1965,14 +1975,14 @@
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND leavehospitaldistrictcode IN
<foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
- separator="," close=")">
- #{leavehospitaldistrictcode}
+ AND separator="," close=")">
+ #{leavehospitaldistrictcode}
</foreach>
</if>
<if test="leaveldeptcodes != null and leaveldeptcodes.size() > 0">
AND deptcode IN
<foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," close=")">
- #{leaveldeptcode}
+ #{leaveldeptcode}
</foreach>
</if>
</if>
@@ -2000,7 +2010,7 @@
<if test="visitCount != null and visitCount > 1">
AND visit_count > 1
</if>
- </where>
+
</select>
</mapper>
--
Gitblit v1.9.3