using System; using System.Collections.Generic; using IRaCIS.Application.Contracts; using IRaCIS.Core.Infrastructure.Extention; namespace IRaCIS.Application.Interfaces { public interface IStatisticsService { Task<PageOutput<WorkloadByTrialAndReviewerDTO>> GetWorkloadByTrialAndReviewer(StatisticsWorkloadQueryParam param); PageOutput<EnrollStatByTrialDTO> GetEnrollStatByTrial(EnrollStatByTrialQueryDTO param); PageOutput<UserParticipateTrialStat> GetParticipateTrialStat(ParticipateQueryDto param); List<UserParticipateTrialDetail> GetParticipateTrialList(Guid userId); #region Dashboard 数据统计 /// <summary> 按类型统计读片数量 </summary> ReadingDataDTO GetReadingDataByType(); /// <summary> 按月份统计读片数量 </summary> List<ReadingDataMonthDTO> GetReadingDataByMonth(int monthCount); /// <summary> 读片数量排行 </summary> List<ReadingDataRankDTO> GetReadingDataRank(int topCount); /// <summary> 按Position统计 Reviewers 数量 </summary> List<RankReviewersDTO> GetReviewersByRank(); ///<summary> 每月入组人次 </summary> List<EnrollQuartDataDTO> GetEnrollDataByQuarter(int quarterCount, int monthCount); ///<summary> 参与项目数排行 </summary> List<TrialDataRankDTO> GetTrialCountRank(int topCount); ///<summary> 最新工作量 (已确定的)</summary> List<LatestWorkLoadDTO> GetLatestWorkLoadList( int searchCount); #endregion Task<PageOutput<EnrollStatByReviewerDTO>> GetEnrollStatByReviewer(EnrollStatByReviewerQueryDTO enrollTrialStatisticsQueryParam); } }