package com.xinelu.manage.service.statistics;

import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.dto.signpatientmanageroutenode.UploadRobotPublishRecordDto;
import com.xinelu.manage.dto.statistics.FollowUpRateDto;
import com.xinelu.manage.dto.statistics.QuestionnaireTaskStatisticsDto;
import com.xinelu.manage.vo.signpatientmanageroutenode.UploadRobotPublishRecordVo;
import com.xinelu.manage.vo.statistics.FollowUpDetailVo;
import com.xinelu.manage.vo.statistics.FollowUpRateVo;

import java.util.List;

/**
 * 统计模块Service接口
 *
 * @author haown
 * @date 2024-10-31
 */
public interface IStatisticsService {

	/**
	 * @description 随访成功率统计
	 * @Param queryDto 随访成功率查询传输对象
	 * @return 随访成功率查询返回视图类
	 * @Author haown
	 * @Date 2024-11-1 10:48
	*/
	FollowUpRateVo getFollowUpRate(FollowUpRateDto queryDto);

	/**
	 * @description 随访明细表统计查询
	 * @Param queryDto 随访成功率查询传输对象
	 * @return 随访明细表
	 * @Author haown
	 * @Date 2024-11-1 10:47
	*/
	List<FollowUpDetailVo> getFollowUpDetail(FollowUpRateDto queryDto);

    /**
     * 问卷任务统计
     *
     * @param questionnaireTaskStatisticsDto 时间问卷信息
     * @return AjaxResult
     */
    AjaxResult questionnaireTaskStatistics(QuestionnaireTaskStatisticsDto questionnaireTaskStatisticsDto);

	/**
	 * 问卷任务选项统计
	 *
	 * @param uploadRobotPublishRecordDto 时间信息
	 * @return UploadRobotPublishRecordVo
	 */
	List<UploadRobotPublishRecordVo> questionnaireTaskOptionList(UploadRobotPublishRecordDto uploadRobotPublishRecordDto);
}
