From 2a3d4e4c082403aeb31d4c1c499a6107ffa835af Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期六, 13 九月 2025 14:22:55 +0800
Subject: [PATCH] 同步数据接口和随访率改成只有已完成

---
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml |  117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 115 insertions(+), 2 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index d70cb54..272f207 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -300,6 +300,78 @@
             order by b.starttime desc
         </if>
     </select>
+
+    <select id="selectPatMedInhospListBySerialnum" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult">
+        select
+        b.inhospid,
+        b.nurse_id,
+        b.nurse_name,
+        b.patname,
+        b.management_doctor,
+        b.management_doctor_code,
+        b.out_way_id,
+        b.out_way_name,
+        b.deptcheck_flag,
+        b.wardcheck_flag,
+        b.diagcheck_flag,
+        b.inhospstate,
+        b.patno,
+        b.inhospno,
+        b.serialnum,
+        b.hospitalname,
+        b.hospitalcode,
+        b.hospitaldistrictcode,
+        b.hospitaldistrictname,
+        b.icd10code,
+        b.diagname,
+        b.starttime,
+        b.endtime,
+        b.deptcode,
+        b.deptname,
+        b.roomno,
+        b.bed_no,
+        b.orgid,
+        b.del_flag,
+        b.update_by,
+        b.update_time,
+        b.create_by,
+        b.create_time,
+        b.isupload,
+        b.upload_time,
+        b.patid,
+        b.leavediagname,
+        b.leaveicd10code,
+        b.drcode,
+        b.drname,
+        b.schemestatus,
+        b.generalschemestatus,
+        b.leaveldeptcode,
+        b.leaveldeptname,
+        b.hospitaldistrictid,
+        b.leavehospitaldistrictcode,
+        b.leavehospitaldistrictname,
+        b.leavehospitaldistrictid,
+        b.deptid,
+        b.leaveldeptid,
+        b.long_task_reason,
+        b.schemetime,
+        b.fuflag,
+        b.fudate,
+        b.fuperiod,
+        b.futypecode,
+        b.futypedesc,
+        b.fuadvice,
+        b.fuspecialadvice
+        FROM
+        pat_med_inhosp b
+
+        <where>
+            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
+
+        </where>
+        order by b.inhospid desc
+    </select>
+
     <select id="selectPatMedInhospListByCondition" parameterType="com.smartor.domain.PatMedInhospVO"
             resultMap="PatMedInhospResult">
         select CONCAT( a.age, a.age_unit ) AS age,
@@ -414,6 +486,7 @@
         </where>
         order by b.inhospid desc
     </select>
+
 
     <select id="getTagnameBypatid" parameterType="Long" resultType="string">
         SELECT GROUP_CONCAT(d.tagname, ', ')
@@ -576,7 +649,8 @@
         deptcheck_flag, wardcheck_flag, diagcheck_flag, long_task_reason,
         nurse_id, nurse_name, out_way_id, out_way_name, guid,
         operator, operator_id, inhospno, remark,
-        fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor, management_doctor_doctor
+        fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor,
+        management_doctor_doctor
         )
         values
         <foreach collection="list" item="item" separator=",">
@@ -764,22 +838,60 @@
     </select>
     <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
             resultType="com.smartor.domain.PatMedRes">
+        SELECT SUM( rs ) AS rs,
+        SUM( rc ) AS rc
+        FROM (
         SELECT
         COUNT(1) AS rc,
-        COUNT(DISTINCT patid) AS rs
+        0 AS rs
         FROM
         pat_med_inhosp
         <where>
             del_flag=0
+            <if test="orgid != null">
+                AND orgid = #{orgid}
+            </if>
             <if test="zy != null">
                 and inhospstate=0
                 and date_format(starttime,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
                 and date_format(starttime,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
+                <if test="deptcodeList != null   and deptcodeList.size() > 0">
+                    and deptcode in
+                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                        #{deptcode}
+                    </foreach>
+                </if>
             </if>
             <if test="cy != null">
                 and inhospstate=1
                 and date_format(endtime,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
                 and date_format(endtime,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
+                <if test="deptcodeList != null   and deptcodeList.size() > 0">
+                    and leaveldeptcode in
+                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                        #{deptcode}
+                    </foreach>
+                </if>
+            </if>
+
+        </where>
+        union all
+        select
+        0 AS rc,
+        count(1) AS rs
+        FROM
+        service_subtask
+        <where>
+            del_flag = 0
+            and service_type=2
+            <if test="orgid != null">
+                AND orgid = #{orgid}
+            </if>
+            <if test="startDate != null">
+                AND date_format( visit_time, '%y%m%d' ) &gt;= date_format( #{startDate}, '%y%m%d' )
+            </if>
+            <if test="endDate != null">
+                AND date_format( visit_time, '%y%m%d' ) &lt;= date_format(#{endDate},'%y%m%d')
             </if>
             <if test="deptcodeList != null   and deptcodeList.size() > 0">
                 and deptcode in
@@ -788,5 +900,6 @@
                 </foreach>
             </if>
         </where>
+        ) AS combined_data
     </select>
 </mapper>

--
Gitblit v1.9.3