From fce30cf9f7692d49c3d408475dfb72d289b1cd4f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 25 四月 2025 17:41:50 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml |  161 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 130 insertions(+), 31 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 52ebd7f..e11d89f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -50,7 +50,8 @@
         <result property="hospno" column="hospno"/>
         <result property="hospType" column="hosp_type"/>
         <result property="wechat" column="wechat"/>
-        <result property="diagname" column="diagname"/>
+        <result property="leaveicd10code" column="leaveicd10code"/>
+        <result property="leavediagname" column="leavediagname"/>
         <result property="deptname" column="deptname"/>
         <result property="admindate" column="admindate"/>
         <result property="roomno" column="roomno"/>
@@ -74,6 +75,9 @@
         <result property="sendstate" column="sendstate"/>
         <result property="inhospid" column="inhospid"/>
         <result property="patfrom" column="patfrom"/>
+        <result property="patguid" column="patguid"/>
+        <result property="visitCount" column="visit_count"/>
+        <result property="isVisitAgain" column="is_visit_again"/>
     </resultMap>
 
     <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
@@ -89,6 +93,9 @@
                task_guid,
                patfrom,
                inhospid,
+               visit_count,
+               is_visit_again,
+               patguid,
                suggest,
                sendstate,
                endtime,
@@ -153,7 +160,8 @@
                stop_state,
                leavehospitaldistrictcode,
                leavehospitaldistrictname,
-               diagname
+               leavediagname,
+               leaveicd10code
         from service_subtask
     </sql>
 
@@ -172,6 +180,7 @@
             </if>
             <if test="sex != null  and sex != ''">and sex = #{sex}</if>
             <if test="age != null ">and age = #{age}</if>
+            <if test="patguid != null ">and patguid = #{patguid}</if>
             <if test="subId != null ">and id = #{subId}</if>
             <if test="inhospid != null ">and inhospid = #{inhospid}</if>
             <if test="submit != null ">and submit = #{submit}</if>
@@ -193,22 +202,49 @@
             <if test="endOutHospTime != null">
                 AND date_format(endtime,'%y%m%d') &lt;= date_format(#{endOutHospTime},'%y%m%d')
             </if>
+            <if test="startSendDateTime != null">
+                AND date_format(long_send_time,'%y%m%d') &gt;= date_format(#{startSendDateTime},'%y%m%d')
+            </if>
+            <if test="endSendDateTime != null">
+                AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{endSendDateTime},'%y%m%d')
+            </if>
+
             <if test="longSendTime != null">
                 AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{longSendTime},'%y%m%d')
             </if>
-            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
-                AND leavehospitaldistrictcode IN
-                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
-                         close=")">
-                    #{leavehospitaldistrictcode}
-                </foreach>
+            <if test="deptOrDistrict==1">
+                <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+                    AND leavehospitaldistrictcode IN
+                    <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
+                             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}
+                    </foreach>
+                </if>
             </if>
-            <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
-                AND deptcode IN
-                <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
-                         close=")">
-                    #{leaveldeptcode}
-                </foreach>
+            <if test="deptOrDistrict==2">
+                <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+                    AND (leavehospitaldistrictcode IN
+                    <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
+                             separator=","
+                             close=")">
+                        #{leavehospitaldistrictcode}
+                    </foreach>
+                </if>
+                <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
+                    OR deptcode IN
+                    <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
+                             close="))">
+                        #{leaveldeptcode}
+                    </foreach>
+                </if>
             </if>
 
             <if test="senddate != null ">and senddate = #{senddate}</if>
@@ -240,24 +276,55 @@
             <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
             <if test="sendstate != null ">and sendstate = #{sendstate}</if>
             <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
-            <if test="drcode != null ">and drcode = #{drcode}</if>
+            <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
+            <if test="drcode != null and drcode != ''">and (drcode = #{drcode}</if>
+            <if test="nurseId != null  and nurseId != ''">or nurse_id = #{nurseId})</if>
             <if test="starttime != null ">and starttime = #{starttime}</if>
             <if test="endtime != null ">and endtime = #{endtime}</if>
             <if test="excep != null ">and excep = #{excep}</if>
-            <if test="nurseId != null ">and nurse_id = #{nurseId}</if>
             <if test="nurseName != null ">and nurse_name = #{nurseName}</if>
             <if test="score != null">and score = #{score}</if>
+            <if test="visitCount != null">and visit_count = #{visitCount}</if>
             <if test="remark != null">and remark = #{remark}</if>
             <if test="suggest != null">and suggest = #{suggest}</if>
             <if test="createBy != null">and create_by = #{createBy}</if>
             <if test="taskGuid != null">and task_guid = #{taskGuid}</if>
+            <if test="isVisitAgain != null">and is_visit_again = #{isVisitAgain}</if>
         </where>
-        <if test="serviceType != null  and serviceType != ''and serviceType != '2'and serviceType != '3'">order by
-            long_send_time desc
-        </if>
-        <if test="serviceType != null  and serviceType != ''and serviceType == '2'">order by endtime desc</if>
-        <if test="serviceType != null  and serviceType != ''and serviceType == '3'">order by admindate desc</if>
+        <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>
+        <if test="sort != null  and sort==3">order by long_send_time desc</if>
+        <if test="sort != null  and sort==5">order by admindate asc</if>
+        <if test="sort != null  and sort==6">order by admindate desc</if>
+
         <!-- order by update_time desc,id desc -->
+    </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}
+            </if>
+            <if test="createBy != null ">and create_by = #{createBy}</if>
+            <if test="sendname != null ">and sendname = #{sendname}</if>
+            <if test="sfzh != null ">and sfzh = #{sfzh}</if>
+            <if test="patguid != null ">and patguid = #{patguid}</if>
+            <if test="visitCount != null ">and visit_count = #{visitCount}</if>
+            <if test="isVisitAgain != null ">and is_visit_again = #{isVisitAgain}</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}
+          and b.patid = #{patid}
     </select>
 
     <select id="selectServiceSubtaskById" parameterType="Long" resultMap="ServiceSubtaskResult">
@@ -312,7 +379,8 @@
             <if test="roomno != null  and roomno != ''">roomno,</if>
             <if test="admindate != null">admindate,</if>
             <if test="deptname != null  and deptname != ''">deptname,</if>
-            <if test="diagname != null  and diagname != ''">diagname,</if>
+            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code,</if>
+            <if test="leavediagname != null  and leavediagname != ''">leavediagname,</if>
             <if test="libtemplateid != null ">libtemplateid,</if>
             <if test="libtemplatename != null ">libtemplatename,</if>
             <if test="patid != null ">patid,</if>
@@ -340,6 +408,9 @@
             <if test="inhospid != null ">inhospid,</if>
             <if test="patfrom != null ">patfrom,</if>
             <if test="taskGuid != null ">task_guid,</if>
+            <if test="patguid != null ">patguid,</if>
+            <if test="visitCount != null ">visit_count,</if>
+            <if test="isVisitAgain != null ">is_visit_again,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="sendname != null">#{sendname},</if>
@@ -385,7 +456,8 @@
             <if test="roomno != null  and roomno != ''">#{roomno},</if>
             <if test="admindate != null ">#{admindate},</if>
             <if test="deptname != null  and deptname != ''">#{deptname},</if>
-            <if test="diagname != null  and diagname != ''">#{diagname},</if>
+            <if test="leaveicd10code != null  and leaveicd10code != ''">#{leaveicd10code},</if>
+            <if test="leavediagname != null  and leavediagname != ''">#{leavediagname},</if>
             <if test="libtemplateid != null ">#{libtemplateid},</if>
             <if test="libtemplatename != null ">#{libtemplatename},</if>
             <if test="patid != null ">#{patid},</if>
@@ -413,6 +485,9 @@
             <if test="inhospid != null ">#{inhospid},</if>
             <if test="patfrom != null ">#{patfrom},</if>
             <if test="taskGuid != null ">#{taskGuid},</if>
+            <if test="patguid != null ">#{patguid},</if>
+            <if test="visitCount != null ">#{visitCount},</if>
+            <if test="isVisitAgain != null ">#{isVisitAgain},</if>
         </trim>
     </insert>
 
@@ -422,6 +497,7 @@
             <if test="sendname != null">sendname = #{sendname},</if>
             <if test="phone != null">phone = #{phone},</if>
             <if test="sex != null">sex = #{sex},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
             <if test="age != null">age = #{age},</if>
             <if test="sfzh != null">sfzh = #{sfzh},</if>
             <if test="addr != null">addr = #{addr},</if>
@@ -462,7 +538,8 @@
             <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
             <if test="admindate != null ">admindate = #{admindate},</if>
             <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
-            <if test="diagname != null  and diagname != ''">diagname = #{diagname},</if>
+            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
+            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
             <if test="libtemplateid != null ">libtemplateid = #{libtemplateid},</if>
             <if test="libtemplatename != null ">libtemplatename = #{libtemplatename},</if>
             <if test="patid != null ">patid = #{patid},</if>
@@ -490,6 +567,9 @@
             <if test="inhospid != null ">inhospid=#{inhospid},</if>
             <if test="patfrom != null ">patfrom=#{patfrom},</if>
             <if test="taskGuid != null ">task_guid=#{taskGuid},</if>
+            <if test="patguid != null ">patguid=#{patguid},</if>
+            <if test="visitCount != null ">visit_count=#{visitCount},</if>
+            <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if>
         </trim>
         where id = #{id}
     </update>
@@ -500,6 +580,7 @@
             <if test="sendname != null">sendname = #{sendname},</if>
             <if test="phone != null">phone = #{phone},</if>
             <if test="sex != null">sex = #{sex},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
             <if test="age != null">age = #{age},</if>
             <if test="sfzh != null">sfzh = #{sfzh},</if>
             <if test="addr != null">addr = #{addr},</if>
@@ -540,7 +621,8 @@
             <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
             <if test="admindate != null">admindate = #{admindate},</if>
             <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
-            <if test="diagname != null  and diagname != ''">diagname = #{diagname},</if>
+            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
+            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
             <if test="libtemplateid != null ">libtemplateid = #{libtemplateid},</if>
             <if test="libtemplatename != null ">libtemplatename = #{libtemplatename},</if>
             <if test="patid != null ">patid = #{patid},</if>
@@ -549,6 +631,7 @@
             <if test="sendstate != null ">sendstate = #{sendstate},</if>
             <if test="serviceType != null ">service_type = #{serviceType},</if>
             <if test="score != null ">score = #{score},</if>
+            <if test="visitCount != null ">visit_count = #{visitCount},</if>
             <if test="submit != null ">submit = #{submit},</if>
             <if test="leavehospitaldistrictcode != null  and leavehospitaldistrictcode != ''">leavehospitaldistrictcode
                 = #{leavehospitaldistrictcode},
@@ -568,8 +651,13 @@
             <if test="inhospid != null ">inhospid=#{inhospid},</if>
             <if test="patfrom != null ">patfrom=#{patfrom},</if>
             <if test="taskGuid != null ">taskGuid=#{taskGuid},</if>
+            <if test="patguid != null ">patguid=#{patguid},</if>
+            <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if>
         </trim>
-        where patid = #{patid} and taskid = #{taskid}
+        <where>
+            <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">
@@ -605,6 +693,8 @@
             <if test="orgid != null">orgid = #{orgid},</if>
             <if test="pid != null">pid = #{pid},</if>
             <if test="guid != null">guid = #{guid},</if>
+            <if test="visitCount != null">visit_count = #{visitCount},</if>
+            <if test="isVisitAgain != null">is_visit_again = #{isVisitAgain},</if>
             <if test="textParam != null">text_param = #{textParam},</if>
             <if test="preachform != null">preachform = #{preachform},</if>
             <if test="bedNo != null">bed_no = #{bedNo},</if>
@@ -619,7 +709,8 @@
             <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
             <if test="admindate != null">admindate = #{admindate},</if>
             <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
-            <if test="diagname != null  and diagname != ''">diagname = #{diagname},</if>
+            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
+            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
             <if test="libtemplateid != null ">libtemplateid = #{libtemplateid},</if>
             <if test="libtemplatename != null ">libtemplatename = #{libtemplatename},</if>
             <if test="patid != null ">patid = #{patid},</if>
@@ -646,6 +737,7 @@
             <if test="inhospid != null ">inhospid=#{inhospid},</if>
             <if test="patfrom != null ">patfrom=#{patfrom},</if>
             <if test="taskGuid != null ">task_guid=#{taskGuid},</if>
+            <if test="patguid != null ">patguid=#{patguid},</if>
         </trim>
         where patid = #{patid} and taskid = #{taskid}
     </update>
@@ -696,8 +788,11 @@
             <if test="wechat != null  and wechat != ''">wechat = #{wechat},</if>
             <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
             <if test="admindate != null ">admindate = #{admindate},</if>
+            <if test="visitCount != null ">visit_count = #{visitCount},</if>
+            <if test="isVisitAgain != null ">is_visit_again = #{isVisitAgain},</if>
             <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
-            <if test="diagname != null  and diagname != ''">diagname = #{diagname},</if>
+            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
+            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
             <if test="libtemplateid != null ">libtemplateid = #{libtemplateid},</if>
             <if test="libtemplatename != null ">libtemplatename = #{libtemplatename},</if>
             <if test="patid != null ">patid = #{patid},</if>
@@ -724,10 +819,10 @@
             <if test="inhospid != null ">inhospid=#{inhospid},</if>
             <if test="patfrom != null ">patfrom=#{patfrom},</if>
             <if test="taskGuid != null ">task_guid=#{taskGuid},</if>
+            <if test="patguid != null ">patguid=#{patguid},</if>
         </trim>
-        where task_guid = #{taskGuid}
+        where task_guid = #{taskGuid} and task_name = #{taskName}
     </update>
-
 
 
     <update id="deleteServiceSubtaskById" parameterType="Long">
@@ -807,6 +902,8 @@
                upload_time,
                orgid,
                pid,
+               visit_count,
+               is_visit_again,
                guid,
                text_param,
                preachform,
@@ -838,7 +935,9 @@
                inhospid,
                patfrom,
                task_guid,
-               diagname
+               leavediagname,
+               patguid,
+               leaveicd10code
         FROM service_subtask,
              JSON_TABLE(send_time_slot, '$[*]' COLUMNS (
         begantime DATETIME PATH '$.begantime',

--
Gitblit v1.9.3