陈昶聿
6 天以前 9f9e9be084ea03f7b7eb301f2f6e201c6c2589d7
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -69,6 +69,23 @@
    public int insertServiceSubtask(ServiceSubtask ServiceSubtask);
    /**
     * 任务组(appltype=5):统计某一轮次内仍在运行的 subtask 数量。
     * 仍在运行 = sendstate in (1,2,3) 且未删除。
     * 用于判断本轮是否已全部 finalize(成功/失败/不执行/超时)。
     *
     * @param scheduleId 计划主键
     * @param loopCount  轮次(0=首轮)
     */
    public int countActiveByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId,
                                              @Param("loopCount") Long loopCount);
    /**
     * 任务组(appltype=5):拉取某一轮次的全部 subtask(用于克隆到下一轮)。
     */
    public List<ServiceSubtask> selectByScheduleIdAndLoop(@Param("scheduleId") Long scheduleId,
                                                          @Param("loopCount") Long loopCount);
    /**
     * 随访及时率:应随访时间<实际随访时间
     *
     * @param ServiceSubtask
@@ -77,7 +94,14 @@
    public Double selectTimelyRate(ServiceSubtask ServiceSubtask);
    /**
     * 随访及时率:应随访时间<实际随访时间
     * 随访及时率(按 groupKey 分组批量统计)
     * <p>
     * rate:出院时间(endtime)起 rateDay + 补偿天数 内完成随访的占比。
     * 补偿天数取自 service_subtask_preachform.compensate_time 按子任务求和,
     * 用子任务快照而非 service_task.preachform_desc,保证历史数据不随任务改配置而变动。
     * rateDay 为空时 rate 返回 NULL。
     * <p>
     * finishRate:应随访时间(visit_time) &lt;= 实际完成时间(finishtime) 的占比,当前未被随访统计使用。
     *
     * @param ServiceSubtaskvo
     * @return