liusheng
9 天以前 34f78281cf395a24e1f3f1c3b861186ff8a03b7b
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -3,11 +3,16 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.smartor.domain.*;
import com.smartor.domain.ServiceSubtask;
import com.smartor.domain.VO.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.ruoyi.template.domain.VO.HeLibraryCountVO;
import com.ruoyi.template.domain.IvrTaskTemplateTargetoption;
/**
 * 单一任务(随访)Service接口
 *
@@ -31,9 +36,9 @@
     * @param serviceSubtaskVO 单一任务(随访)
     * @return 单一任务(随访)集合
     */
    public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO);
    public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskEntity serviceSubtaskVO);
    public List<ServiceSubtask> selectServiceSubtaskListAgain(ServiceSubtaskVO serviceSubtaskVO);
    public List<ServiceSubtask> selectServiceSubtaskListAgain(ServiceSubtaskEntity serviceSubtaskVO);
    /**
     * 根据条件查询任务信息
@@ -46,11 +51,23 @@
    /**
     * 查询患者随访信息
     */
    public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO);
    public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity);
    public List<ServiceSubtask> patItem2(ServiceSubtaskVO serviceSubtaskVO);
    public List<ServiceSubtask> getServiceSubtasks(ServiceSubtaskEntity serviceSubtaskEntity);
    public Map<String, Object> patItemCount(ServiceSubtaskVO serviceSubtaskVO);
    /**
     * 转移科室病区
     *
     * @param transferDeptVO
     * @return
     */
    public Integer transferDept(TransferDeptVO transferDeptVO);
    public List<ServiceSubtask> patItem2(ServiceSubtaskEntity serviceSubtaskEntity);
    public Map<String, Object> patItemCount(ServiceSubtaskEntity serviceSubtaskEntity);
    public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskEntity);
    /**
     * 新增单一任务(随访)
@@ -58,7 +75,7 @@
     * @param ServiceSubtask 单一任务(随访)
     * @return 结果
     */
    public int insertServiceSubtask(ServiceSubtask ServiceSubtask);
    public Map<String, Object> insertServiceSubtask(ServiceSubtask ServiceSubtask);
    /**
     * 再次新增单一任务(随访)
@@ -75,6 +92,14 @@
     * @return 结果
     */
    public Boolean updateServiceSubtask(ServiceSubtask ServiceSubtask);
    /**
     * 子任务模板修改
     *
     * @param serviceSubtaskTemplateVO
     * @return
     */
    public Boolean updateTemplate(ServiceSubtaskTemplateVO serviceSubtaskTemplateVO);
    /**
     * 批量删除单一任务(随访)
@@ -109,6 +134,13 @@
     */
    public PhoneCallBackYQVO phoneCallBackYQ(PhoneCallReqYQVO phoneCallReqYQVO);
    public PhoneCallBackSHVO getFirstQues(PhoneCallReqYQVO phoneCallReqYQVO);
    public PhoneCallBackSHVO processResust(PhoneCallResultYQVO phoneCallReqYQVO);
    /**
     * 雨绮任务拉取
     *
@@ -130,14 +162,83 @@
    public List<ServiceSubtaskCount> getSfFzInfoEveryMonth(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<ServiceSubtaskStatistic> getSpecialSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
    //导出随访
    public List<ServiceSubtaskStatistic> getSfStatisticsExport(ServiceSubtaskCountReq serviceSubtaskCountReq);
    //导出随访-异常
    public List<ServiceSubtaskIsAbnormalStatistic> getSfStatisticsIsAbnormalExport(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<ServiceSubtaskStatistic> getSfStatisticsJoy(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<ServiceSubtaskCount> getSfStatisticsJoydetails(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<ServiceSubtask> getSfStatisticsHyperlink(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<ServiceStatisticsResponse> getServiceStatistics(ServiceStatisticsRequest request);
    public List<ServiceSubtaskStatistic> getSfStatisticsScript(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public Map<String, ServiceSubtaskScriptCount> getSfStatisticsScriptDetails(ServiceSubtaskCountReq serviceSubtaskCountReq);
    public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS);
    public List<ServiceSubtaskDiagname> convertToDiagnameList(List<ServiceSubtask> subtaskList);
    public Map<String, Object> getCurrentUserServiceSubtaskCount(ServiceSubtaskEntity entity);
    /**
     * 按病区或科室统计延续护理数量
     * 都不传时同时按病区和科室各统计一遍
     *
     * @param vo 查询条件(leavehospitaldistrictcodes 与 deptcodes 互斥)
     * @return noContinueCount、ContinueCount 及 detail 列表
     */
    Map<String, Object> getContinueNurseCount(ServiceSubtaskCotinueCountVO vo);
    /**
     * 设置失败任务默认值,并将失败任务重新置为成功
     * <p>
     * *@param failDay   (失败天数:距离当前日期失败天数)
     *
     * @return
     */
    public void setFailSubTaskDefalutVal(Long failDay);
    public Map<String, Object> getHeLibraryCount(@RequestBody HeLibraryCountVO heLibraryCountVO);
    public List<ServiceSubtask> gethelibraryCountHyperlink(@RequestBody HeLibraryCountVO heLibraryCountVO);
    Map<String, Object> smsSubTask(Long subid);
    public String scanGenerateSubtask(ServiceTask serviceTaskVo);
    /**
     * AI 选项匹配(把 options 序列化后 POST 到外部 AI 服务)。
     * <p>
     * ⚠️ 入参改成<b>泛型</b> {@code List<T>}(原为 {@code List<IvrTaskTemplateTargetoption>}):
     * 那个类型已随模板模块化搬进 {@code ruoyi-template},而本方法要经
     * {@code SubtaskOptionMatchApiBridge} 向模板模块暴露(接口在 ruoyi-common)。
     * 泛型让模板模块不必知道 {@code T} 是什么,同时保持 smartor 内部 4 处调用点形状不变。
     * <p>
     * 语义无变化:方法体只做 {@code jsonObject.put("options", options)} 后整体序列化,
     * 从不读 {@code T} 的字段。
     */
    public <T> Integer matchOptionIndex(String url, String questionText, String voiceText, List<T> options, String uuid);
}