| | |
| | | AND date_format(visit_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') |
| | | </if> |
| | | </select> |
| | | <!-- |
| | | 满意度统计:只查本次条件下实际存在哪些 type。 |
| | | 过滤条件与 selectSatisfactionSubtaskList 完全一致,只是: |
| | | 1) 只 select distinct type(原来是把上百个字段全查回来); |
| | | 2) visit_time 改成可走索引的范围条件(原来对列套 date_format,索引用不上)。 |
| | | --> |
| | | <select id="selectSatisfactionSubtaskTypes" parameterType="com.smartor.domain.VO.PatSatisfactionReqVO" |
| | | resultType="java.lang.String"> |
| | | select distinct type |
| | | from service_subtask |
| | | where 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 visit_time >= #{startTime} |
| | | AND visit_time < date_add(#{endTime}, interval 1 day) |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getCompensateServiceSubtaskList" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" |
| | | resultMap="ServiceSubtaskResult"> |
| | | <include refid="selectServiceSubtaskVo"/> |
| | |
| | | </select> |
| | | |
| | | <!-- |
| | | 满意度柱状图:一次性统计本次请求全部模板的发送量。 |
| | | 与 querySendCount 的过滤条件完全一致,区别是: |
| | | 1) 按 libtemplateid 分组,一次返回所有模板(替代逐个模板查询); |
| | | 2) visit_time 改成可走索引的范围条件(原来对列套 date_format,索引用不上)。 |
| | | --> |
| | | <select id="selectSatisfactionSendCount" parameterType="com.smartor.domain.entity.SatisfactionStatQuery" |
| | | resultType="java.util.Map"> |
| | | select libtemplateid as libtemplateid, count(distinct id) as cnt |
| | | 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 != ''">and type = #{type}</if> |
| | | <if test="startTime != null"> |
| | | and visit_time >= #{startTime} |
| | | </if> |
| | | <if test="endTime != null"> |
| | | and visit_time < date_add(#{endTime}, interval 1 day) |
| | | </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> |
| | | group by libtemplateid |
| | | </select> |
| | | |
| | | <!-- |
| | | 按病区或科室分组统计 continue_flag 数量 |
| | | 传了 leavehospitaldistrictcodes → 按病区维度 |
| | | 传了 deptcodes → 按科室维度 |