liusheng
2025-03-20 db13d846510525ddd4d5c48ee0c549c62cf93efa
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -154,7 +154,8 @@
               stop_state,
               leavehospitaldistrictcode,
               leavehospitaldistrictname,
               leavediagname,leaveicd10code
               leavediagname,
               leaveicd10code
        from service_subtask
    </sql>
@@ -194,22 +195,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>
@@ -241,6 +269,7 @@
            <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="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
            <if test="drcode != null ">and drcode = #{drcode}</if>
            <if test="starttime != null ">and starttime = #{starttime}</if>
            <if test="endtime != null ">and endtime = #{endtime}</if>
@@ -253,12 +282,37 @@
            <if test="createBy != null">and create_by = #{createBy}</if>
            <if test="taskGuid != null">and task_guid = #{taskGuid}</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>
        </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">
@@ -311,7 +365,7 @@
            <if test="hospno != null  and hospno != ''">hospno,</if>
            <if test="wechat != null  and wechat != ''">wechat,</if>
            <if test="roomno != null  and roomno != ''">roomno,</if>
            <if test="admindate != null  and admindate != ''">admindate,</if>
            <if test="admindate != null">admindate,</if>
            <if test="deptname != null  and deptname != ''">deptname,</if>
            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code,</if>
            <if test="leavediagname != null  and leavediagname != ''">leavediagname,</if>
@@ -385,7 +439,7 @@
            <if test="hospno != null  and hospno != ''">#{hospno},</if>
            <if test="wechat != null  and wechat != ''">#{wechat},</if>
            <if test="roomno != null  and roomno != ''">#{roomno},</if>
            <if test="admindate != null  and admindate != ''">#{admindate},</if>
            <if test="admindate != null ">#{admindate},</if>
            <if test="deptname != null  and deptname != ''">#{deptname},</if>
            <if test="leaveicd10code != null  and leaveicd10code != ''">#{leaveicd10code},</if>
            <if test="leavediagname != null  and leavediagname != ''">#{leavediagname},</if>
@@ -463,7 +517,7 @@
            <if test="hospno != null  and hospno != ''">hospno = #{hospno},</if>
            <if test="wechat != null  and wechat != ''">wechat = #{wechat},</if>
            <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
            <if test="admindate != null  and admindate != ''">admindate = #{admindate},</if>
            <if test="admindate != null ">admindate = #{admindate},</if>
            <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
@@ -542,7 +596,7 @@
            <if test="hospno != null  and hospno != ''">hospno = #{hospno},</if>
            <if test="wechat != null  and wechat != ''">wechat = #{wechat},</if>
            <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
            <if test="admindate != null  and admindate != ''">admindate = #{admindate},</if>
            <if test="admindate != null">admindate = #{admindate},</if>
            <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
@@ -574,7 +628,10 @@
            <if test="patfrom != null ">patfrom=#{patfrom},</if>
            <if test="taskGuid != null ">taskGuid=#{taskGuid},</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">
@@ -622,7 +679,7 @@
            <if test="hospno != null  and hospno != ''">hospno = #{hospno},</if>
            <if test="wechat != null  and wechat != ''">wechat = #{wechat},</if>
            <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
            <if test="admindate != null  and admindate != ''">admindate = #{admindate},</if>
            <if test="admindate != null">admindate = #{admindate},</if>
            <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
@@ -701,7 +758,7 @@
            <if test="hospno != null  and hospno != ''">hospno = #{hospno},</if>
            <if test="wechat != null  and wechat != ''">wechat = #{wechat},</if>
            <if test="roomno != null  and roomno != ''">roomno = #{roomno},</if>
            <if test="admindate != null  and admindate != ''">admindate = #{admindate},</if>
            <if test="admindate != null ">admindate = #{admindate},</if>
            <if test="deptname != null  and deptname != ''">deptname = #{deptname},</if>
            <if test="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
@@ -732,9 +789,8 @@
            <if test="patfrom != null ">patfrom=#{patfrom},</if>
            <if test="taskGuid != null ">task_guid=#{taskGuid},</if>
        </trim>
        where task_guid = #{taskGuid}
        where task_guid = #{taskGuid} and task_name = #{taskName}
    </update>
    <update id="deleteServiceSubtaskById" parameterType="Long">