From da026a34bcc97b2eb49607a3b02d94d8f683f997 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 07 一月 2026 16:18:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml |  483 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 335 insertions(+), 148 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 351aab6..5e0594e 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -72,11 +72,13 @@
         <result property="fuspecialadvice" column="fuspecialadvice"/>
         <result property="managementDoctor" column="management_doctor"/>
         <result property="managementDoctorCode" column="management_doctor_code"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectPatMedInhospVo">
         select inhospid,
                patname,
+               campusid,
                fuflag,
                management_doctor,
                management_doctor_code,
@@ -169,6 +171,7 @@
         b.starttime,
         b.endtime,
         b.deptcode,
+        b.campusid,
         b.deptname,
         b.roomno,
         b.bed_no,
@@ -211,8 +214,8 @@
         pat_archive a ON a.id = b.patid
         LEFT JOIN
         pat_archivetag c ON c.patid = a.id AND (c.del_flag = 0 OR c.del_flag IS NULL)
-        <where>
-            a.del_flag = 0
+        where 1=1
+            AND a.del_flag = 0
             AND b.del_flag = 0
             AND a.idcardno IS NOT NULL
             <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') &gt;=
@@ -251,6 +254,7 @@
             <if test="cry != null and cry == 0 ">and b.endtime is null</if>
             <if test="cry != null and cry == 1 ">and b.inhospstate=1</if>
             <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
+            <if test="campusid != null ">and b.campusid = #{campusid}</if>
             <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
             <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if>
             <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if>
@@ -285,7 +289,6 @@
                     #{leaveldeptcode}
                 </foreach>
             </if>
-        </where>
         GROUP BY
         b.inhospid,
         a.age,
@@ -301,7 +304,8 @@
         </if>
     </select>
 
-    <select id="selectPatMedInhospListBySerialnum" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult">
+    <select id="selectPatMedInhospListBySerialnum" parameterType="com.smartor.domain.PatMedInhosp"
+            resultMap="PatMedInhospResult">
         select
         b.inhospid,
         b.nurse_id,
@@ -310,6 +314,7 @@
         b.management_doctor,
         b.management_doctor_code,
         b.out_way_id,
+        b.campusid,
         b.out_way_name,
         b.deptcheck_flag,
         b.wardcheck_flag,
@@ -364,11 +369,13 @@
         b.fuspecialadvice
         FROM
         pat_med_inhosp b
-
-        <where>
-            <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
-
-        </where>
+        where 1=1
+        <if test="orgid != null and orgid != ''">
+            and orgid = #{orgid}
+        </if>
+        <if test="serialnum != null ">
+            and b.serialnum = #{serialnum}
+        </if>
         order by b.inhospid desc
     </select>
 
@@ -382,14 +389,15 @@
         b.patname,
         b.operator_id,
         b.operator,
+        b.campusid,
         b.remark,
         b.out_way_id,
         b.out_way_name,
         b.nurse_id,
         b.nurse_name,
-        b.deptcheckFlag,
-        b.diagcheckFlag,
-        b.wardcheckFlag,
+        b.deptcheck_flag,
+        b.diagcheck_flag,
+        b.wardcheck_flag,
         b.inhospstate,
         b.patno,
         b.inhospno,
@@ -436,54 +444,58 @@
         b.futypecode,
         b.futypedesc,
         b.fuadvice,
-        b.fuspecialadvice
+        b.fuspecialadvice,
         b.schemetime
         FROM
         pat_med_inhosp b,
         pat_archive a
-        <where>
-            a.del_flag=0
-            and b.del_flag=0
-            and a.id = b.patid
-            AND a.idcardno != ''
-            <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
-                '%')
-            </if>
-            <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
-            <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
-            <if test="patname != null  and patname != ''">and patname like concat('%', #{patname}, '%')</if>
-            <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">and hospitaldistrictname like
-                concat('%', #{hospitaldistrictname}, '%')
-            </if>
-            <if test="endtime != null ">and b.endtime = #{endtime}</if>
-            <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
-            <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
-            <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
-            <if test="patno != null ">and b.patno = #{patno}</if>
-            <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
-            <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
-            <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
-            <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
-            <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
-            <if test="leavediagname != null  and leavediagname != ''">and b.leavediagname like concat('%',
-                #{leavediagname}, '%')
-            </if>
-            <if test="drname != null  and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
-                AND b.leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </foreach>
-            </if>
-            <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0">
-                AND b.leaveldeptcode IN
-                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
-                         close=")">
-                    #{leaveldeptcode}
-                </foreach>
-            </if>
-        </where>
+        where 1=1
+        and a.del_flag=0
+        and b.del_flag=0
+        and a.id = b.patid
+        AND a.idcardno != ''
+        <if test="orgid != null and orgid != ''">
+            and a.orgid = #{orgid}
+        </if>
+        <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
+            '%')
+        </if>
+        <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
+        <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
+        <if test="patname != null  and patname != ''">and patname like concat('%', #{patname}, '%')</if>
+        <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">and hospitaldistrictname like
+            concat('%', #{hospitaldistrictname}, '%')
+        </if>
+        <if test="endtime != null ">and b.endtime = #{endtime}</if>
+        <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
+        <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
+        <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
+        <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
+        <if test="patno != null ">and b.patno = #{patno}</if>
+        <if test="campusid != null ">and b.campusid = #{campusid}</if>
+        <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
+        <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
+        <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
+        <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
+        <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
+        <if test="leavediagname != null  and leavediagname != ''">and b.leavediagname like concat('%',
+            #{leavediagname}, '%')
+        </if>
+        <if test="drname != null  and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
+        <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
+            AND b.leavehospitaldistrictcode IN
+            <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                     close=")">
+                #{leavehospitaldistrictcode}
+            </foreach>
+        </if>
+        <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0">
+            AND b.leaveldeptcode IN
+            <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
+                     close=")">
+                #{leaveldeptcode}
+            </foreach>
+        </if>
         order by b.inhospid desc
     </select>
 
@@ -499,6 +511,75 @@
     <select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult">
         <include refid="selectPatMedInhospVo"/>
         where inhospid = #{inhospid}
+    </select>
+
+    <select id="selectPatMedInhosp" parameterType="Long" resultMap="PatMedInhospResult">
+        <include refid="selectPatMedInhospVo"/>
+        where del_flag=0
+        <if test="cry != null and cry == 0 ">and inhospstate=0</if>
+        <if test="cry != null and cry == 1 ">and inhospstate=1</if>
+        <if test="cry != null and cry == 3 ">and inhospstate=3</if>
+        <if test="serialnum != null">and serialnum = #{serialnum}</if>
+        <if test="hospitalname != null">and hospitalname = #{hospitalname}</if>
+        <if test="hospitalcode != null">and hospitalcode = #{hospitalcode}</if>
+        <if test="hospitaldistrictcode != null">and hospitaldistrictcode = #{hospitaldistrictcode}</if>
+        <if test="hospitaldistrictname != null">and hospitaldistrictname = #{hospitaldistrictname}</if>
+        <if test="icd10code != null">and icd10code = #{icd10code}</if>
+        <if test="diagname != null">and diagname = #{diagname}</if>
+        <if test="starttime != null">and starttime = #{starttime}</if>
+        <if test="endtime != null">and endtime = #{endtime}</if>
+        <if test="deptcode != null">and deptcode = #{deptcode}</if>
+        <if test="deptname != null">and deptname = #{deptname}</if>
+        <if test="roomno != null">and roomno = #{roomno}</if>
+        <if test="bedNo != null">and bed_no = #{bedNo}</if>
+        <if test="orgid != null">and orgid = #{orgid}</if>
+        <if test="updateBy != null">and update_by = #{updateBy}</if>
+        <if test="updateTime != null">and update_time = #{updateTime}</if>
+        <if test="createBy != null">and create_by = #{createBy}</if>
+        <if test="createTime != null">and create_time = #{createTime}</if>
+        <if test="isupload != null">and isupload = #{isupload}</if>
+        <if test="uploadTime != null">and upload_time = #{uploadTime}</if>
+        <if test="patid != null">and patid = #{patid}</if>
+        <if test="leavediagname != null">and leavediagname = #{leavediagname}</if>
+        <if test="leaveicd10code != null">and leaveicd10code = #{leaveicd10code}</if>
+        <if test="drcode != null">and drcode = #{drcode}</if>
+        <if test="drname != null">and drname = #{drname}</if>
+        <if test="schemestatus != null">and schemestatus = #{schemestatus}</if>
+        <if test="generalschemestatus != null">and generalschemestatus = #{generalschemestatus}</if>
+        <if test="leaveldeptcode != null">and leaveldeptcode = #{leaveldeptcode}</if>
+        <if test="leaveldeptname != null">and leaveldeptname = #{leaveldeptname}</if>
+        <if test="hospitaldistrictid != null">and hospitaldistrictid = #{hospitaldistrictid}</if>
+        <if test="leavehospitaldistrictcode != null">and leavehospitaldistrictcode = #{leavehospitaldistrictcode}</if>
+        <if test="leavehospitaldistrictname != null">and leavehospitaldistrictname = #{leavehospitaldistrictname}</if>
+        <if test="leavehospitaldistrictid != null">and leavehospitaldistrictid = #{leavehospitaldistrictid}</if>
+        <if test="deptid != null">and deptid = #{deptid}</if>
+        <if test="leaveldeptid != null">and leaveldeptid = #{leaveldeptid}</if>
+        <if test="schemetime != null">and schemetime = #{schemetime}</if>
+        <if test="patname!= null">and patname = #{patname}</if>
+        <if test="patno != null">and patno = #{patno}</if>
+        <if test="inhospstate != null">and inhospstate = #{inhospstate}</if>
+        <if test="deptcheckFlag != null">and deptcheck_flag = #{deptcheckFlag}</if>
+        <if test="wardcheckFlag != null">and wardcheck_flag = #{wardcheckFlag}</if>
+        <if test="diagcheckFlag != null">and diagcheck_flag = #{diagcheckFlag}</if>
+        <if test="longTaskReason != null">and long_task_reason = #{longTaskReason}</if>
+        <if test="nurseId != null ">and nurse_id = #{nurseId}</if>
+        <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
+        <if test="outWayId != null ">and out_way_id = #{outWayId}</if>
+        <if test="outWayName != null ">and out_way_name = #{outWayName}</if>
+        <if test="guid != null ">and guid = #{guid}</if>
+        <if test="operator != null ">and operator = #{operator}</if>
+        <if test="operatorId != null ">and operator_id = #{operatorId}</if>
+        <if test="remark != null ">and remark = #{remark}</if>
+        <if test="fuflag != null ">and fuflag = #{fuflag}</if>
+        <if test="fudate != null ">and fudate = #{fudate}</if>
+        <if test="fuperiod != null ">and fuperiod = #{fuperiod}</if>
+        <if test="futypecode != null ">and futypecode = #{futypecode}</if>
+        <if test="futypedesc != null ">and futypedesc = #{futypedesc}</if>
+        <if test="fuadvice != null ">and fuadvice = #{fuadvice}</if>
+        <if test="fuspecialadvice != null ">and fuspecialadvice = #{fuspecialadvice}</if>
+        <if test="managementDoctor != null ">and management_doctor = #{managementDoctor}</if>
+        <if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if>
+        <if test="campusid != null ">and campusid = #{campusid}</if>
     </select>
 
 
@@ -568,6 +649,7 @@
             <if test="fuspecialadvice != null ">fuspecialadvice,</if>
             <if test="managementDoctor != null ">management_doctor,</if>
             <if test="managementDoctorCode != null ">management_doctor_code,</if>
+            <if test="campusid != null ">campusid,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="serialnum != null">#{serialnum},</if>
@@ -632,6 +714,7 @@
             <if test="fuspecialadvice != null ">#{fuspecialadvice},</if>
             <if test="managementDoctor != null ">#{managementDoctor},</if>
             <if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
+            <if test="campusid != null ">#{campusid},</if>
         </trim>
     </insert>
 
@@ -650,7 +733,7 @@
         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
+        management_doctor_doctor,campusid
         )
         values
         <foreach collection="list" item="item" separator=",">
@@ -672,7 +755,7 @@
             #{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid},
             #{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark},
             #{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice},
-            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}
+            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}
             )
         </foreach>
     </insert>
@@ -741,7 +824,8 @@
             <if test="fuadvice != null ">fuadvice = #{fuadvice},</if>
             <if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
             <if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if>
-            <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode}</if>
+            <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode},</if>
+            <if test="campusid != null ">campusid = #{campusid}</if>
 
         </trim>
         where inhospid = #{inhospid}
@@ -776,15 +860,17 @@
         <if test="mz != null">
             SELECT deptname
             FROM pat_med_outhosp
-            <where>
-                del_flag=0
-                <if test="deptcodeList != null   and deptcodeList.size() > 0">
-                    and deptcode in
-                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
-                        #{deptcode}
-                    </foreach>
-                </if>
-            </where>
+            where 1=1
+            and del_flag=0
+            <if test="deptcodeList != null   and deptcodeList.size() > 0">
+                and deptcode in
+                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                    #{deptcode}
+                </foreach>
+            </if>
+            <if test="orgid != null and orgid != ''">
+                and orgid = #{orgid}
+            </if>
         </if>
         <if test="mz != null and zy != null">
             UNION ALL
@@ -792,46 +878,52 @@
         <if test="zy != null">
             SELECT deptname
             FROM pat_med_inhosp
-            <where>
-                del_flag=0
-                and inhospstate=0
-                <if test="deptcodeList != null   and deptcodeList.size() > 0">
-                    and deptcode in
-                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
-                        #{deptcode}
-                    </foreach>
-                </if>
-            </where>
+            where 1=1
+            and del_flag=0
+            and inhospstate=0
+            <if test="deptcodeList != null   and deptcodeList.size() > 0">
+                and deptcode in
+                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                    #{deptcode}
+                </foreach>
+            </if>
+            <if test="orgid != null and orgid != ''">
+                and orgid = #{orgid}
+            </if>
         </if>
         <if test="cy != null and zy != null">
             UNION ALL
             SELECT deptname
             FROM pat_med_inhosp
-            <where>
-                del_flag=0
-                and inhospstate=1
-                <if test="deptcodeList != null   and deptcodeList.size() > 0">
-                    and deptcode in
-                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
-                        #{deptcode}
-                    </foreach>
-                </if>
-            </where>
+            where 1=1
+            and del_flag=0
+            and inhospstate=1
+            <if test="deptcodeList != null   and deptcodeList.size() > 0">
+                and deptcode in
+                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                    #{deptcode}
+                </foreach>
+            </if>
+            <if test="orgid != null and orgid != ''">
+                and orgid = #{orgid}
+            </if>
         </if>
         <if test="mz != null and zy != null and cy==null">
             UNION ALL
             SELECT deptname
             FROM pat_med_inhosp
-            <where>
-                del_flag=0
-                and inhospstate=1
-                <if test="deptcodeList != null   and deptcodeList.size() > 0">
-                    and deptcode in
-                    <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
-                        #{deptcode}
-                    </foreach>
-                </if>
-            </where>
+            where 1=1
+            and del_flag=0
+            and inhospstate=1
+            <if test="deptcodeList != null   and deptcodeList.size() > 0">
+                and deptcode in
+                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                    #{deptcode}
+                </foreach>
+            </if>
+            <if test="orgid != null and orgid != ''">
+                and orgid = #{orgid}
+            </if>
         </if>
         ) AS combined
         GROUP BY deptname;
@@ -839,67 +931,162 @@
     <select id="selectPatMedInhospCount" parameterType="com.smartor.domain.PatMedReq"
             resultType="com.smartor.domain.PatMedRes">
         SELECT SUM( rs ) AS rs,
-        SUM( rc ) AS rc
+        SUM( rc ) AS rc,
+        SUM( scsf ) AS scsf,
+        SUM( zcsf ) AS zcsf,
+        SUM( zbsf ) AS zbsf
         FROM (
+        <!-- 鍑洪櫌浜烘-->
         SELECT
         COUNT(1) AS rc,
-        0 AS rs
+        0 AS rs,
+        0 AS scsf,
+        0 AS zcsf,
+        0 AS zbsf
         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>
+        where 1=1
+        and del_flag=0
+        <if test="orgid != null and orgid != ''">
+            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>
-        </where>
+        </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>
+        <!-- 闅忚鏈嶅姟浜烘暟 -->
+        union all
+        select
+        0 AS rc,
+        count(1) AS rs,
+        0 AS scsf,
+        0 AS zcsf,
+        0 AS zbsf
+        FROM
+        service_subtask
+        where 1=1
+        and del_flag = 0
+        and service_type=2
+        <if test="orgid != null and orgid != ''">
+            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
+            <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                #{deptcode}
+            </foreach>
+        </if>
+        <!-- 棣栨闅忚浜烘暟 -->
+        union all
+        select
+        0 AS rc,
+        0 AS rs,
+        count(1) AS scsf,
+        0 AS zcsf,
+        0 AS zbsf
+        FROM
+        service_subtask
+        where 1=1
+        and del_flag = 0
+        and service_type=2
+        and is_visit_again = 0
+        <if test="orgid != null and orgid != ''">
+            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
+            <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                #{deptcode}
+            </foreach>
+        </if>
+        <!-- 鍐嶆闅忚浜烘暟 -->
+        union all
+        select
+        0 AS rc,
+        0 AS rs,
+        0 AS scsf,
+        count(1) AS zcsf,
+        0 AS zbsf
+        FROM
+        service_subtask
+        where 1=1
+        and del_flag = 0
+        and service_type=2
+        and is_visit_again = 1
+        <if test="orgid != null and orgid != ''">
+            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
+            <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                #{deptcode}
+            </foreach>
+        </if>
+        <!-- 涓撶梾闅忚浜烘暟 -->
+        union all
+        select
+        0 AS rc,
+        0 AS rs,
+        0 AS scsf,
+        0 AS zcsf,
+        count(1) AS zbsf
+        FROM
+        service_subtask
+        where 1=1
+        and del_flag = 0
+        and service_type=13
+        <if test="orgid != null and orgid != ''">
+            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
+            <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                #{deptcode}
+            </foreach>
+        </if>
         ) AS combined_data
     </select>
+
 </mapper>

--
Gitblit v1.9.3