using System; using System.Collections.Generic; using IRaCIS.Core.Application.Contracts.RequestAndResponse; namespace IRaCIS.Application.ViewModels { public class EnrollStatByReviewerDTO { public Guid Id { get; set; } public string Hospital { get; set; } public string ChineseName { get; set; } = string.Empty; public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public string ReviewerCode { get; set; } = string.Empty; public int Pending { get; set; } public int Approved { get; set; } public int Reading { get; set; } public int Finished { get; set; } public int Total { get; set; } public double EntryRate { get { if (Total == 0) { return 0; } return Math.Round(((Reading + Finished) / (double)Total) * 100, 1, MidpointRounding.AwayFromZero); ; } } } public class EnrollStatByTrialDTO { public string TrialCode { get; set; } public Guid TrialId { get; set; } public string Indication { get; set; } //public Guid CroId { get; set; } public string Cro { get; set; } = string.Empty; public DateTime CreateTime { get; set; } public int Expedited { get; set; } public int EnrollCount { get; set; } public List ReviewerNameCNList=new List(); public List ReviewerNameList=new List(); } #region 统计 20200413 add by dingke public class WorkloadByTrialAndReviewerDTO { public Guid Id { get; set; } public string TrialCode { get; set; } public Guid TrialId { get; set; } public string Indication { get; set; } public Guid? CroId { get; set; } public string Cro { get; set; } = string.Empty; public string ChineseName { get; set; } = string.Empty; public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public string ReviewerCode { get; set; } = string.Empty; public decimal Training { get; set; } public decimal Downtime { get; set; } public int Timepoint { get; set; } public int TimepointIn24H { get; set; } public int TimepointIn48H { get; set; } public int Adjudication { get; set; } public int AdjudicationIn24H { get; set; } public int AdjudicationIn48H { get; set; } public int Global { get; set; } public decimal RefresherTraining { get; set; } public int PersonalTotal { get; set; } } public class StatisticsQueryDTO : PageInput { public Guid? CroId { get; set; } = Guid.Empty; public string TrialCode { get; set; } = string.Empty; public string Reviewer { get; set; } = string.Empty; public DateTime BeginDate { get; set; } = DateTime.Now; public DateTime EndDate { get; set; } = DateTime.Now; public int StatType { get; set; } //医生付费类型 CN US public int? Nation { get; set; } public int? AttendedReviewerType { get; set; } } public class StatisticsWorkloadQueryParam : PageInput { public Guid? CroId { get; set; } = Guid.Empty; public string TrialCode { get; set; } = string.Empty; public string Reviewer { get; set; } = string.Empty; public DateTime BeginDate { get; set; } = DateTime.Now; public DateTime EndDate { get; set; } = DateTime.Now; public int StatType { get; set; } public Guid? HospitalId { get; set; } = Guid.Empty; } public class RevenuesStatQueryDTO : PageInput { public Guid CroId { get; set; } = Guid.Empty; public string Reviewer { get; set; } = string.Empty; public string TrialCode { get; set; } = string.Empty; public DateTime BeginDate { get; set; } = DateTime.Now; public DateTime EndDate { get; set; } = DateTime.Now; public int StatType { get; set; } } public class EnrollStatByReviewerQueryDTO : PageInput { public Guid? HospitalId { get; set; } = Guid.Empty; public string Reviewer { get; set; } = string.Empty; public DateTime BeginDate { get; set; } = DateTime.Now; public DateTime EndDate { get; set; } = DateTime.Now; } public class EnrollStatByTrialQueryDTO : PageInput { public string TrialCode { get; set; } public string Indication { get; set; } public DateTime? BeginDate { get; set; } = DateTime.Now; public DateTime? EndDate { get; set; } = DateTime.Now; public Guid? CROId { get; set; } public int? Expedited { get; set; } } #endregion #region dashbord /// /// 读片数量分类统计 /// public class ReadingDataDTO { public int Timepoint { get; set; } public int Adjudication { get; set; } public int Global { get; set; } } public class ReadingDataMonthDTO : ReadingDataDTO { public string Month { get; set; } } public class ReadingDataRankDTO : ReadingDataDTO { public int TotalReadingCount { get; set; } public Guid ReviewerId { get; set; } public string ReviewerCode { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string ChineseName { get; set; } } public class RankReviewersDTO { public Guid RankId { get; set; } public string RankName { get; set; } public string RankNameAbbreviation { get { var arr = RankName.Split(' '); return arr[0]; } } public int ReviewerCount { get; set; } } public class EnrollDataDTO { public int Year { get; set; } public int Month { get; set; } public string QuarterStr => Year + "-Q" + (Month / 3 + (Month % 3 == 0 ? 0 : 1)); public string YearMonth => new DateTime(Year, Month, 1).ToString("yyyy-MM"); public int EnrollCount { get; set; } } public class EnrollQuartDataDTO { //public int Year { get; set; } public string ViewStr { get; set; } public int EnrollCount { get; set; } } public class LatestWorkLoadDTO : ReadingDataDTO { public int TotalReadingCount => Timepoint + Adjudication + Global; public Guid ReviewerId { get; set; } public string ReviewerCode { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string ChineseName { get; set; } public string TrialCode { get; set; } } public class TrialDataRankDTO { public Guid ReviewerId { get; set; } public string ReviewerCode { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string ChineseName { get; set; } public int TrialCount { get; set; } } #endregion }