liusheng
3 天以前 051964f3cd65e421681a8af7b90c27011c36650d
1.门诊满意度综合得分排名(按科室或病区)  修改serviceTypes
已修改3个文件
26 ■■■■■ 文件已修改
smartor/src/main/java/com/smartor/domain/VO/MzMydScoreRankVO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/VO/MzMydScoreRankVO.java
@@ -33,7 +33,7 @@
     * 服务类型,默认 14(门诊满意度调查)
     */
    @ApiModelProperty(value = "服务类型,默认14(门诊满意度调查)")
    private String serviceType = "14";
    private List<String> serviceTypes;
    /**
     * 科室编号集合,为空表示全部科室(按科室统计时使用)
@@ -68,4 +68,10 @@
     */
    @ApiModelProperty(value = "只返回前N名,为空或小于等于0表示返回全部")
    private Integer limit;
    /**
     * 问题内容
     */
    @ApiModelProperty(value = "问题内容")
    private String questionText;
}
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -6433,8 +6433,9 @@
        if (StringUtils.isEmpty(mzMydScoreRankVO.getDimensionType())) {
            mzMydScoreRankVO.setDimensionType("1");
        }
        if (StringUtils.isEmpty(mzMydScoreRankVO.getServiceType())) {
            mzMydScoreRankVO.setServiceType("14");
        if (CollectionUtils.isEmpty(mzMydScoreRankVO.getServiceTypes())) {
          List<String> list=new ArrayList<>(Arrays.asList("14"));
            mzMydScoreRankVO.setServiceTypes(list);
        }
        List<MzMydScoreRankDTO> list = serviceSubtaskMapper.selectMzMydScoreRank(mzMydScoreRankVO);
        if (CollectionUtils.isEmpty(list)) {
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -3036,7 +3036,7 @@
               ROUND(avg(d.score), 2) AS totalScore
        FROM service_subtask_detail d
                 JOIN service_task t ON d.taskid = t.taskid
        WHERE t.service_type IN (6, 14)
        WHERE t.service_type IN (14)
          AND t.del_flag = 0
          AND d.del_flag = 0
          AND d.create_time >= #{startFinishTime}
@@ -3493,7 +3493,13 @@
        WHERE s.del_flag = '0'
        AND d.del_flag = '0'
        AND s.sendstate = 6
        AND s.service_type = #{serviceType}
        <if test="serviceTypes != null and serviceTypes.size() > 0">
            AND service_type IN
            <foreach collection="serviceTypes" item="serviceType" open="(" separator=","
                     close=")">
                #{serviceType}
            </foreach>
        </if>
<!--        &lt;!&ndash; 只取公式里的五档权重,空值/0/未答等既不进分子也不进分母 &ndash;&gt;-->
<!--        AND CAST(d.score AS DECIMAL(10,4)) IN (1, 0.8, 0.6, 0.4, 0.2)-->
        <!-- 同一子任务同一题目只保留最新一条,避免重答被重复计入项数 -->
@@ -3516,6 +3522,9 @@
        <if test="endFinishTime != null">
            AND s.finishtime &lt; DATE_ADD(#{endFinishTime}, INTERVAL 1 DAY)
        </if>
        <if test="questionText != null  and questionText != ''">and d.questiontext like concat('%', #{questionText},
            '%')
        </if>
        <choose>
            <when test='dimensionType == "2"'>
                AND s.leavehospitaldistrictcode IS NOT NULL AND s.leavehospitaldistrictcode &lt;&gt; ''