| | |
| | | <if test="sort != null and sort==6">order by admindate desc</if> |
| | | <if test="sort != null and sort==7">order by visit_time asc</if> |
| | | <if test="sort != null and sort==8">order by visit_time desc</if> |
| | | <if test="sort != null and sort==9">order by sendname asc</if> |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | | <select id="selectSatisfactionSubtaskList" parameterType="com.smartor.domain.VO.PatSatisfactionReqVO" |
| | | resultMap="ServiceSubtaskResult"> |
| | | <include refid="selectServiceSubtaskVo"/> |
| | | where 1=1 |
| | | and del_flag = 0 |
| | | <if test="questionType != null">and type = #{questionType}</if> |
| | | |
| | | <if test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0"> |
| | | AND leavehospitaldistrictcode IN |
| | | <foreach collection="hospitaldistrictcodes" item="hospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{hospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="deptcodes != null and deptcodes.size() > 0"> |
| | | AND deptcode IN |
| | | <foreach collection="deptcodes" item="deptcode" open="(" separator="," |
| | | close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="serviceTypes != null and serviceTypes.size() > 0"> |
| | | AND service_type IN |
| | | <foreach collection="serviceTypes" item="serviceType" open="(" separator="," |
| | | close=")"> |
| | | #{serviceType} |
| | | </foreach> |
| | | </if> |
| | | |
| | | <if test="startTime != null and endTime != null"> |
| | | AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d') |
| | | AND date_format(visit_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') |
| | | </if> |
| | | </select> |
| | | <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" |
| | | resultMap="ServiceSubtaskResult"> |
| | |
| | | </if> |
| | | <if test="managementDoctorCode != null">and management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="managementDoctor != null">and management_doctor like concat('%',#{managementDoctor}, '%')</if> |
| | | <if test="visitCount != null and visitCount == 1"> |
| | | AND visit_count = 1 |
| | | </if> |
| | | <if test="visitCount != null and visitCount > 1"> |
| | | AND visit_count > 1 |
| | | </if> |
| | | <if test="groupKey != null and groupKey != ''"> |
| | | AND ${groupKey} IN |
| | | <foreach collection="groupKeyList" item="key" open="(" separator="," |
| | |
| | | resultMap="ServiceSubtaskResult"> |
| | | select sendstate,starttime,endtime,nurse_name,phone,sex,task_name,sendname,leavediagname,visit_time FROM |
| | | service_subtask WHERE del_flag=0 |
| | | and service_type != 4 |
| | | <if test="leavediagname != null">and leavediagname like concat('%',#{leavediagname}, '%')</if> |
| | | <if test="sendname != null">and sendname like concat('%',#{sendname}, '%')</if> |
| | | <if test="taskName != null">and task_name like concat('%',#{taskName}, '%')</if> |
| | |
| | | <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if> |
| | | <if test="continueCount != null ">and continue_count = #{continueCount}</if> |
| | | <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext}</if> |
| | | GROUP BY sendname,sendstate,starttime,endtime,nurse_name,phone,sex,task_name,leavediagname,visit_time ORDER BY |
| | | visit_time |
| | | GROUP BY sendname,sendstate,starttime,endtime,nurse_name,phone,sex,task_name,leavediagname,visit_time |
| | | ORDER BY sendname,visit_time |
| | | <if test="pageSize != null and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if> |
| | | </select> |
| | | |
| | |
| | | <if test="type != null"> |
| | | and type = #{type} |
| | | </if> |
| | | <if test="visitCount != null and visitCount == 1"> |
| | | AND visit_count = 1 |
| | | </if> |
| | | <if test="visitCount != null and visitCount > 1"> |
| | | AND visit_count > 1 |
| | | </if> |
| | | <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0"> |
| | | AND ${groupKey} IN |
| | | <foreach collection="groupKeyList" item="key" open="(" separator="," |
| | |
| | | <!-- 目前只统计语音和问卷 --> |
| | | <if test="type != null"> |
| | | and type = #{type} |
| | | </if> |
| | | <if test="visitCount != null and visitCount == 1"> |
| | | AND visit_count = 1 |
| | | </if> |
| | | <if test="visitCount != null and visitCount > 1"> |
| | | AND visit_count > 1 |
| | | </if> |
| | | <if test="groupKey != null and groupKey != ''"> |
| | | group by ${groupKey} |
| | |
| | | |
| | | <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes"> |
| | | SELECT deptname, |
| | | count(1) AS rc |
| | | count(1) AS rc |
| | | FROM service_subtask |
| | | WHERE DATE_FORMAT(finishtime, '%Y-%m-%d') >= #{startDate} |
| | | AND DATE_FORMAT(finishtime, '%Y-%m-%d') <= #{endDate} |
| | | AND DATE_FORMAT(finishtime, '%Y-%m-%d') <= #{endDate} |
| | | <if test="orgid != null"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | |
| | | </foreach> |
| | | </if> |
| | | |
| | | <!-- UNION ALL--> |
| | | <!-- UNION ALL--> |
| | | |
| | | <!-- -- 门诊人次数据--> |
| | | <!-- SELECT--> |
| | | <!-- <choose>--> |
| | | <!-- <when test="timeType == 'day'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'month'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m') AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'year'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y') AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'week'">--> |
| | | <!-- CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0')) AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | <!-- 0 AS dischargeFollowCount,--> |
| | | <!-- 0 AS outpatientFollowCount,--> |
| | | <!-- 0 AS pmiCount,--> |
| | | <!-- 1 AS pmoCount--> |
| | | <!-- FROM pat_med_outhosp--> |
| | | <!-- WHERE del_flag = '0'--> |
| | | <!-- <if test="startDate != null and endDate != null">--> |
| | | <!-- AND admitdate >= #{startDate}--> |
| | | <!-- AND admitdate <= DATE_ADD(#{endDate}, INTERVAL 1 DAY)--> |
| | | <!-- </if>--> |
| | | <!-- <if test="orgid != null">--> |
| | | <!-- AND orgid = #{orgid}--> |
| | | <!-- </if>--> |
| | | <!-- -- 门诊人次数据--> |
| | | <!-- SELECT--> |
| | | <!-- <choose>--> |
| | | <!-- <when test="timeType == 'day'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'month'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m') AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'year'">--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y') AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <when test="timeType == 'week'">--> |
| | | <!-- CONCAT(YEAR(admitdate), '-W', LPAD(WEEK(admitdate, 1), 2, '0')) AS timePeriod,--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- DATE_FORMAT(admitdate, '%Y-%m-%d') AS timePeriod,--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | <!-- 0 AS dischargeFollowCount,--> |
| | | <!-- 0 AS outpatientFollowCount,--> |
| | | <!-- 0 AS pmiCount,--> |
| | | <!-- 1 AS pmoCount--> |
| | | <!-- FROM pat_med_outhosp--> |
| | | <!-- WHERE del_flag = '0'--> |
| | | <!-- <if test="startDate != null and endDate != null">--> |
| | | <!-- AND admitdate >= #{startDate}--> |
| | | <!-- AND admitdate <= DATE_ADD(#{endDate}, INTERVAL 1 DAY)--> |
| | | <!-- </if>--> |
| | | <!-- <if test="orgid != null">--> |
| | | <!-- AND orgid = #{orgid}--> |
| | | <!-- </if>--> |
| | | |
| | | <!-- <if test="deptcodes != null and deptcodes.size() > 0">--> |
| | | <!-- AND deptcode IN--> |
| | | <!-- <foreach collection="deptcodes" item="deptcode" open="(" separator="," close=")">--> |
| | | <!-- #{deptcode}--> |
| | | <!-- </foreach>--> |
| | | <!-- </if>--> |
| | | <!-- <if test="deptcodes != null and deptcodes.size() > 0">--> |
| | | <!-- AND deptcode IN--> |
| | | <!-- <foreach collection="deptcodes" item="deptcode" open="(" separator="," close=")">--> |
| | | <!-- #{deptcode}--> |
| | | <!-- </foreach>--> |
| | | <!-- </if>--> |
| | | |
| | | ) AS combined_data |
| | | GROUP BY timePeriod |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getCurrentUserServiceSubtaskCount" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map"> |
| | | <select id="getCurrentUserServiceSubtaskCount" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" |
| | | resultType="map"> |
| | | SELECT |
| | | COUNT(CASE WHEN sendstate = 2 AND date_format(visit_time,'%y%m%d') <= date_format(CURDATE(),'%y%m%d') THEN 1 END) AS pendingVisitCount, |
| | | COUNT(CASE WHEN sendstate = 2 AND date_format(visit_time,'%y%m%d') <= date_format(CURDATE(),'%y%m%d') THEN 1 |
| | | END) AS pendingVisitCount, |
| | | COUNT(CASE WHEN sendstate = 5 THEN 1 END) AS failedVisitCount, |
| | | SUM(CASE WHEN excep IS NOT NULL AND excep = '1' THEN 1 ELSE 0 END) AS abnormalVisitCount, |
| | | SUM(CASE WHEN excep IS NOT NULL AND excep = '2' THEN 1 ELSE 0 END) AS warnningVisitCount, |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="querySendCount" parameterType="com.smartor.domain.entity.ServiceSubtaskSatisfactionEntity" |
| | | resultType="Long"> |
| | | select distinct id from service_subtask |
| | | where del_flag = 0 |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="campusid != null and campusid != ''"> |
| | | and campusid = #{campusid} |
| | | </if> |
| | | <if test="type != null ">and type = #{type}</if> |
| | | <if test="startTime != null"> |
| | | AND date_format(visit_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d') |
| | | </if> |
| | | <if test="endTime != null"> |
| | | AND date_format(visit_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') |
| | | </if> |
| | | <if test=" libTemplateIds != null and libTemplateIds.size()>0"> |
| | | AND libtemplateid IN |
| | | <foreach collection="libTemplateIds" item="libTemplateId" open="(" separator="," |
| | | close=")"> |
| | | #{libTemplateId} |
| | | </foreach> |
| | | </if> |
| | | <if test="(hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0) or (deptcodes != null and deptcodes.size() > 0)"> |
| | | AND ( |
| | | <if test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0"> |
| | | leavehospitaldistrictcode IN |
| | | <foreach collection="hospitaldistrictcodes" item="hospitaldistrictcode" open="(" |
| | | separator="," |
| | | close=")"> |
| | | #{hospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0 and deptcodes != null and deptcodes.size() > 0"> |
| | | OR |
| | | </if> |
| | | <if test="deptcodes != null and deptcodes.size() > 0"> |
| | | deptcode IN |
| | | <foreach collection="deptcodes" item="deptcode" open="(" separator="," |
| | | close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | ) |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |