liusheng
6 小时以前 c24d16a37523a49080392610357872ce580cbc38
ruoyi-satisfaction/src/main/java/com/ruoyi/satisfaction/mapper/SatisfactionMapper.java
@@ -22,8 +22,8 @@
/**
 * 满意度统计 Mapper 接口。
 * <p>
 * 迁移说明:方法原本散落在 {@code com.smartor.mapper.ServiceSubtaskMapper} 与
 * {@code com.smartor.mapper.ServiceSubtaskDetailMapper} 中,满意度模块化后集中到此处。
 * 迁移说明:方法原本散落在 {@code com.ruoyi.task.mapper.ServiceSubtaskMapper} 与
 * {@code com.ruoyi.task.mapper.ServiceSubtaskDetailMapper} 中,满意度模块化后集中到此处。
 * <p>
 * 本模块自带 SQL,<b>直接查询</b> {@code service_subtask} / {@code service_subtask_detail},
 * 以及模板分类表;不依赖任何其它模块的 Mapper。
@@ -57,6 +57,28 @@
     */
    List<String> selectSatisfactionSubtaskTypes(PatSatisfactionReqVO patSatisfactionReqVO);
    /**
     * 满意度统计:本次条件下<b>真正下发过任务</b>的模板 id(去重)。
     * <p>
     * <b>为什么需要它</b>:{@code /statistics} 的题目来源是
     * {@code SatisfactionScriptMapper.querySvyScriptByCategory} / {@code queryIvrScriptByAssort},
     * 只按「满意度分类」取库里的全部题目,<b>不看模板、不看时间</b>。
     * 题库里每多挂进一套历史问卷模板(题目还在、但从来没下发过任务),
     * 统计结果就会多出一整批「得分 0 / 答题人数 0」的行
     * (实测:满意度分类下 6 套模板 69 道题,本期只有 2 套 25 道题有数据)。
     * <p>
     * 这里按与 {@link #selectSatisfactionSubtaskTypes} <b>完全相同的条件</b>
     * (orgid、serviceTypes、科室 OR 病区、离院科室 OR 病区、时间兜底口径)取模板 id,
     * 调用方据此把题库题目裁剪成「本期真正在用的模板」,
     * 使返回行数只由当前生效的问卷决定,而不是题库历史积累。
     *
     * @param query 查询条件(复用 {@link PatSatisfactionReqVO} 的字段)
     * @param type  service_subtask.type:1 语音、2 问卷
     * @return 去重后的 libtemplateid 列表(可能为空)
     */
    List<Long> selectSatisfactionActiveTemplateIds(@Param("q") PatSatisfactionReqVO query,
                                                   @Param("type") String type);
    // ================================================================ 填报量统计
    /**