From d047a35e640a59e02a422d9a9a62c752c88b69b5 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 28 十月 2026 15:51:52 +0800
Subject: [PATCH] 【丽水】 同一 inhospid + taskid 已存在未删除的首次随访(upid 为空)时,不再插入,避免出现两条首次随访
---
ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml | 75 ++++++++++++++++++++++++++++++-------
1 files changed, 60 insertions(+), 15 deletions(-)
diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
index c88cd19..ab800a8 100644
--- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
+++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -488,27 +488,41 @@
</select>
<select id="yhyksxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult">
- select user_id , user_code , dept_type ,dept_code,dept_name,deptparent,del_flag,orgid
- FROM healthy_user_dept
+ select ud.user_id , ud.user_code , ud.dept_type ,ud.dept_code,ud.dept_name,ud.deptparent,ud.del_flag,ud.orgid
+ FROM healthy_user_dept ud
where 1=1
- and user_id != 'admin'
- and dept_type = '1'
+ and ud.user_id != 'admin'
+ and ud.dept_type = '1'
<if test="orgid != null and orgid != ''">
- AND orgid = #{orgid}
+ AND ud.orgid = #{orgid}
</if>
- <if test="hisUserId != null ">and user_id = #{hisUserId}</if>
+ <if test="hisUserId != null ">and ud.user_id = #{hisUserId}</if>
+ <if test="campusid != null and campusid != ''">
+ AND EXISTS (
+ SELECT 1 FROM healthy_dept d
+ WHERE d.his_dept_id = ud.dept_code
+ AND d.orgid = #{campusid}
+ )
+ </if>
</select>
<select id="yhybfxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult">
- select user_id , user_code , dept_type ,dept_code,dept_name,deptparent,del_flag,orgid
- FROM healthy_user_dept
+ select ud.user_id , ud.user_code , ud.dept_type ,ud.dept_code,ud.dept_name,ud.deptparent,ud.del_flag,ud.orgid
+ FROM healthy_user_dept ud
where 1=1
- and user_id != 'admin'
- and dept_type = '2'
+ and ud.user_id != 'admin'
+ and ud.dept_type = '2'
<if test="orgid != null and orgid != ''">
- AND orgid = #{orgid}
+ AND ud.orgid = #{orgid}
</if>
- <if test="hisUserId != null ">and user_id = #{hisUserId}</if>
+ <if test="hisUserId != null ">and ud.user_id = #{hisUserId}</if>
+ <if test="campusid != null and campusid != ''">
+ AND EXISTS (
+ SELECT 1 FROM healthy_dept d
+ WHERE d.his_dept_id = ud.dept_code
+ AND d.orgid = #{campusid}
+ )
+ </if>
</select>
<select id="yhyyqxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserOrgResult">
@@ -526,7 +540,7 @@
<if test="hisUserId != null ">
AND ud.user_id = #{hisUserId}
</if>
- <if test="campusid != null">
+ <if test="campusid != null and campusid != ''">
AND d.orgid = #{campusid}
</if>
union all
@@ -544,7 +558,7 @@
<if test="hisUserId != null ">
AND udb.user_id = #{hisUserId}
</if>
- <if test="campusid != null">
+ <if test="campusid != null and campusid != ''">
AND d.orgid = #{campusid}
</if>
</select>
@@ -658,7 +672,8 @@
b.leavehospitaldistrictname,
b.leavehospitaldistrictid,
b.deptid,
- b.leaveldeptid
+ b.leaveldeptid,
+ b.del_flag
FROM
healthy_inhosp b
where 1=1
@@ -767,6 +782,30 @@
where 1=1
<if test="orgid != null and orgid != ''">
AND u.orgid = #{orgid}
+ </if>
+ <if test="lastStartTime != null and lastStartTime != ''">
+ AND u.last_Update_Time >= to_date(#{lastStartTime}, 'YYYY-MM-DD HH24:MI:SS')
+ </if>
+ <if test="lastEndTime != null and lastEndTime != ''">
+ AND u.last_Update_Time <= to_date(#{lastEndTime}, 'YYYY-MM-DD HH24:MI:SS')
+ </if>
+ <if test="campusid != null and campusid != ''">
+ AND (
+ EXISTS (
+ SELECT 1
+ FROM healthy_user_dept ud
+ JOIN healthy_dept d ON d.his_dept_id = ud.dept_code
+ WHERE ud.user_id = u.his_user_id
+ AND d.orgid = #{campusid}
+ )
+ OR EXISTS (
+ SELECT 1
+ FROM healthy_user_dept_bf udb
+ JOIN healthy_dept d2 ON d2.his_dept_id = udb.dept_code
+ WHERE udb.user_id = u.his_user_id
+ AND d2.orgid = #{campusid}
+ )
+ )
</if>
<if test="userId != null and userId != 0">
AND u.user_id = #{userId}
@@ -899,6 +938,9 @@
<if test="orgid != null and orgid != ''">
AND o.orgid = #{orgid}
</if>
+ <if test="opreqid != null and opreqid != ''">
+ AND o.opreqid = #{opreqid}
+ </if>
<if test="lastStartTime != null and lastStartTime != ''">
and to_char(o.last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') >= #{lastStartTime}
</if>
@@ -941,6 +983,9 @@
<if test="opid != null and opid != ''">
AND oi.opid = #{opid}
</if>
+ <if test="operationid != null and operationid != ''">
+ AND oi.operationid = #{operationid}
+ </if>
<if test="lastStartTime != null and lastStartTime != ''">
and oi.last_Update_Time >= to_date(#{lastStartTime}, 'YYYY-MM-DD HH24:MI:SS')
</if>
--
Gitblit v1.9.3