liusheng
22 小时以前 e4e220916dd2a4aa649a9b0162e5b5ed0dc9d7e5
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -75,6 +75,10 @@
        <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"/>
        <result property="upid" column="upid"/>
    </resultMap>
    <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
@@ -89,7 +93,11 @@
               hosp_type,
               task_guid,
               patfrom,
               upid,
               inhospid,
               visit_count,
               is_visit_again,
               patguid,
               suggest,
               sendstate,
               endtime,
@@ -174,9 +182,11 @@
            </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>
            <if test="upid != null ">and upid = #{upid}</if>
            <if test="patfrom != null ">and patfrom = #{patfrom}</if>
            <if test="serviceType != null ">and service_type = #{serviceType}</if>
            <if test="patid != null ">and patid = #{patid}</if>
@@ -195,6 +205,13 @@
            <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>
@@ -217,7 +234,7 @@
            </if>
            <if test="deptOrDistrict==2">
                <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
                    AND leavehospitaldistrictcode IN
                    AND (leavehospitaldistrictcode IN
                    <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="("
                             separator=","
                             close=")">
@@ -227,7 +244,7 @@
                <if test=" leaveldeptcodes != null and leaveldeptcodes.size()>0">
                    OR deptcode IN
                    <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator=","
                             close=")">
                             close="))">
                        #{leaveldeptcode}
                    </foreach>
                </if>
@@ -262,23 +279,28 @@
            <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>
@@ -287,10 +309,77 @@
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
            <if test="createStartTime != null  and createEndTime != null">create_time BETWEEN #{createStartTime} AND #{createEndTime}</if>
            <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="upid != null ">and upid = #{upid}</if>
            <if test="visitCount != null ">and visit_count = #{visitCount}</if>
            <if test="isVisitAgain != null ">and is_visit_again = #{isVisitAgain}</if>
        </where>
    </select>
    <select id="selectServiceSubtaskListAgain" parameterType="com.smartor.domain.ServiceSubtaskVO"
            resultMap="ServiceSubtaskResult">
        <include refid="selectServiceSubtaskVo"/>
        <where>
            del_flag=0
            and upid is not null
            and visit_count > 1
            <if test="createStartTime != null  and createEndTime != null">and create_time BETWEEN #{createStartTime} AND
                #{createEndTime}
            </if>
            <if test="senddate != null ">and senddate = #{senddate}</if>
            <if test="senduuid != null  and senduuid != ''">and senduuid = #{senduuid}</if>
            <if test="result != null  and result != ''">and result = #{result}</if>
            <if test="finishtime != null ">and finishtime = #{finishtime}</if>
            <if test="recordid != null ">and recordid = #{recordid}</if>
            <if test="exrecallcount != null ">and exrecallcount = #{exrecallcount}</if>
            <if test="pulltime != null ">and pulltime = #{pulltime}</if>
            <if test="deptcode != null  and deptcode != ''">and deptcode = #{deptcode}</if>
            <if test="deptname != null  and deptname != ''">and deptname = #{deptname}</if>
            <if test="labelstatus != null ">and labelstatus = #{labelstatus}</if>
            <if test="isupload != null ">and isupload = #{isupload}</if>
            <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
            <if test="pid != null ">and pid = #{pid}</if>
            <if test="preachform != null ">and preachform = #{preachform}</if>
            <if test="guid != null  and guid != ''">and guid = #{guid}</if>
            <if test="textParam != null  and textParam != ''">and text_param = #{textParam}</if>
            <if test="bedNo != null">and bed_no = #{bedNo}</if>
            <if test="sendType != null  and sendType != ''">and send_type = #{sendType}</if>
            <if test="operator != null  and operator != ''">and operator = #{operator}</if>
            <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
            <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
            <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
            <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
            <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
            <if test="openid != null ">and openid = #{openid}</if>
            <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 != ''">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="nurseName != null ">and nurse_name = #{nurseName}</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">
@@ -374,6 +463,10 @@
            <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>
            <if test="upid != null ">upid,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sendname != null">#{sendname},</if>
@@ -448,6 +541,10 @@
            <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>
            <if test="upid != null ">#{upid},</if>
        </trim>
    </insert>
@@ -457,6 +554,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>
@@ -526,6 +624,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>
            <if test="visitCount != null ">visit_count=#{visitCount},</if>
            <if test="isVisitAgain != null ">is_visit_again=#{isVisitAgain},</if>
            <if test="upid != null ">upid=#{upid},</if>
        </trim>
        where id = #{id}
    </update>
@@ -536,6 +638,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>
@@ -586,6 +689,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},
@@ -605,6 +709,9 @@
            <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>
            <if test="upid != null ">upid=#{upid},</if>
        </trim>
        <where>
            <if test="patid != null ">and patid = #{patid}</if>
@@ -645,6 +752,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>
@@ -687,6 +796,8 @@
            <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="upid != null ">upid=#{upid},</if>
        </trim>
        where patid = #{patid} and taskid = #{taskid}
    </update>
@@ -737,6 +848,8 @@
            <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="leaveicd10code != null  and leaveicd10code != ''">leaveicd10code = #{leaveicd10code},</if>
            <if test="leavediagname != null  and leavediagname != ''">leavediagname = #{leavediagname},</if>
@@ -766,6 +879,8 @@
            <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="upid != null ">upid=#{upid},</if>
        </trim>
        where task_guid = #{taskGuid} and task_name = #{taskName}
    </update>
@@ -840,6 +955,7 @@
               deptcode,
               labelstatus,
               del_flag,
               upid,
               update_by,
               update_time,
               create_by,
@@ -848,6 +964,8 @@
               upload_time,
               orgid,
               pid,
               visit_count,
               is_visit_again,
               guid,
               text_param,
               preachform,
@@ -880,6 +998,7 @@
               patfrom,
               task_guid,
               leavediagname,
               patguid,
               leaveicd10code
        FROM service_subtask,
             JSON_TABLE(send_time_slot, '$[*]' COLUMNS (
@@ -916,4 +1035,13 @@
            month, st.service_type, st.id;
    </select>
    <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes">
        SELECT deptname,
               count(1) AS rc
        FROM service_subtask
        WHERE DATE_FORMAT(finishtime, '%Y-%m-%d') >= #{startDate}
          AND DATE_FORMAT(finishtime, '%Y-%m-%d') &lt;= #{endDate}
        GROUP BY deptname
    </select>
</mapper>