陈昶聿
9 天以前 c771ba20bf45ebc7be74ebe3ee7f76fb159e7ed3
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -23,6 +23,12 @@
 */
public interface IServiceSubtaskService {
    /**
     * 丽水中医院 orgid。
     * 微信公众号已领取未填写按默认选项完成,暂时只对该机构生效,其他医院仍走原补偿逻辑。
     */
    String WECHAT_DEFAULT_COMPLETE_ORGID = "47231022633110211A2101";
    /**
     * 查询单一任务(随访)
     *
     * @param id 单一任务(随访)主键
@@ -69,6 +75,8 @@
    public Map<String, Object> patItemCount(ServiceSubtaskEntity serviceSubtaskEntity);
    public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskEntity);
    /**
     * 新增单一任务(随访)
     *
@@ -84,6 +92,16 @@
     * @return 结果
     */
    public String addSubTaskAgain(ServiceSubtask ServiceSubtask);
    /**
     * 首次随访任务超时后,按下一任务自动生成再次随访任务(随访中心)。
     * <p>
     * 与手动入口的差异:随访中心科室未配置时回退原任务科室;同一原任务只生成一条(锁 + 条件更新幂等)。
     *
     * @param serviceSubtask 已超时的首次随访子任务
     * @return 结果描述
     */
    public String addSubTaskAgainByDeadline(ServiceSubtask serviceSubtask);
    /**
     * 修改单一任务(随访)
@@ -188,12 +206,27 @@
    public List<ServiceSubtaskStatistic> getSfStatisticsScript(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public Map<String, ServiceSubtaskScriptCount> getSfStatisticsScriptDetails(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public Map<String, Object> getSfStatisticsScriptDetails(ServiceSubtaskCountReq serviceSubtaskCountReq);
    /**
     * 问题选项数字下钻:查询选择了指定选项的 service_subtask 列表
     *
     * @param serviceSubtaskCountReq 统计维度、科室/病区、任务、题目及选项条件
     * @return service_subtask 列表
     */
    public List<ServiceSubtask> getSfStatisticsScriptDetailsHyperlink(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList);
    /**
     * 统计任务各种状态的数量 -【随访工作台】
     *
     * @param entity 查询条件(科室/病区权限、soonTimeoutHours 即将超时小时数等)
     * @return 含 pendingVisitCount、failedVisitCount、abnormalVisitCount、warnningVisitCount、
     * allVisitCount、soonTimeoutCount 的统计结果
     */
    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity);
    /**
@@ -214,12 +247,27 @@
     */
    public void setFailSubTaskDefalutVal(Long failDay);
    /**
     * 微信公众号已领取未填写:按题目默认选项补齐当前子任务,并将当前子任务完成。
     * <p>
     * 仅处理传入的当前子任务(subid),只允许:
     * 问卷类型(type=2)、当前发送方式为公众号(5)、子任务已领取(1)、未提交(submit!=1)、
     * 当前公众号发送方式为已发送(2)/已领取(3) 的数据。
     * 其他任务、其他发送方式、其他子任务均不受影响。
     *
     * @param serviceSubtask 当前子任务
     * @return true=已按默认选项完成;false=不满足条件或没有可填充的默认选项
     */
    public Boolean completeWechatClaimedByDefault(ServiceSubtask serviceSubtask);
    public Map<String, Object> getHeLibraryCount(@RequestBody HeLibraryCountVO heLibraryCountVO);
    public List<ServiceSubtask> gethelibraryCountHyperlink(@RequestBody HeLibraryCountVO heLibraryCountVO);
    Map<String, Object> smsSubTask(Long subid);
    Map<String, Object> weChatSubTask(Long subid);
    /**
     * 统计问题的选项的百分比 (用于服务类型 2)
     *