289 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			289 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using IRaCIS.Core.Infrastructure.Extention;
 | |
| 
 | |
| namespace IRaCIS.Application.Contracts
 | |
| {
 | |
| 
 | |
|     public class EnrollStatByReviewerDTO
 | |
|     {
 | |
|         public Guid Id { get; set; }
 | |
|         public string Hospital { 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 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; } = string.Empty;
 | |
|         public Guid TrialId { get; set; }
 | |
|         public string Indication { get; set; } = string.Empty;
 | |
|         //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<string> ReviewerNameCNList=new List<string>();
 | |
| 
 | |
|         public List<string> ReviewerNameList=new List<string>();
 | |
|     }
 | |
| 
 | |
| 
 | |
|     #region 参与项目统计
 | |
| 
 | |
| 
 | |
|     public class ParticipateQueryDto:PageInput
 | |
|     {
 | |
|         public string UserInfo { get; set; } = string.Empty;
 | |
|         public string OrganizationName { get; set; } = string.Empty;
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public class UserParticipateTrialStat
 | |
|     {
 | |
|         public Guid UserId { get; set; }
 | |
|         public string OrganizationName { get; set; } = string.Empty;
 | |
| 
 | |
|         public string UserCode { get; set; } = string.Empty;
 | |
| 
 | |
|         public string Name { get; set; } = string.Empty;
 | |
| 
 | |
|         public string UserName { get; set; } = string.Empty;
 | |
| 
 | |
|         public string Phone { get; set; } = string.Empty;
 | |
| 
 | |
|         public string Email { get; set; } = string.Empty;
 | |
| 
 | |
|         public int TrialCount { get; set; }
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public class UserParticipateTrialDetail
 | |
|     {
 | |
|         public Guid TrialId { get; set; }
 | |
|         public string Code { get; set; } = string.Empty;
 | |
|         public string Indication { get; set; } = string.Empty;
 | |
| 
 | |
|         public int Expedited { get; set; }
 | |
| 
 | |
|         public string CROName { get; set; } = string.Empty;
 | |
|         public string UserType { get; set; } = string.Empty;
 | |
|     }
 | |
| 
 | |
|     #endregion
 | |
| 
 | |
| 
 | |
| 
 | |
|     #region 统计 20200413 
 | |
|     public class WorkloadByTrialAndReviewerDTO
 | |
|     {
 | |
|         public Guid Id { get; set; }
 | |
|         public string TrialCode { get; set; } = string.Empty;
 | |
|         public Guid TrialId { get; set; }
 | |
|         public string Indication { get; set; } = string.Empty;
 | |
|         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 int Training { get; set; }
 | |
|         public int 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 int 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; } 
 | |
|         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; } 
 | |
|     }
 | |
| 
 | |
|     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; } = string.Empty;
 | |
| 
 | |
|         public string Indication { get; set; } = string.Empty;
 | |
|         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
 | |
| 
 | |
|     /// <summary>
 | |
|     /// 读片数量分类统计
 | |
|     /// </summary>
 | |
|     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; } = String.Empty;
 | |
|     }
 | |
| 
 | |
|     public class ReadingDataRankDTO : ReadingDataDTO
 | |
|     {
 | |
|         public int TotalReadingCount { get; set; }
 | |
|         public Guid ReviewerId { get; set; }
 | |
|         public string ReviewerCode { get; set; } = String.Empty;
 | |
|         public string FirstName { get; set; } = String.Empty;
 | |
|         public string LastName { get; set; } = String.Empty;
 | |
|         public string ChineseName { get; set; } = String.Empty;
 | |
|     }
 | |
| 
 | |
|     public class RankReviewersDTO
 | |
|     {
 | |
|         public Guid? RankId { get; set; }
 | |
|         public string RankName { get; set; } = String.Empty;
 | |
|         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; } = String.Empty;
 | |
| 
 | |
|         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; } = String.Empty;
 | |
|         public string FirstName { get; set; } = String.Empty;
 | |
|         public string LastName { get; set; } = String.Empty;
 | |
|         public string ChineseName { get; set; } = String.Empty;
 | |
|         public string TrialCode { get; set; } = String.Empty;
 | |
|     }
 | |
| 
 | |
| 
 | |
|     
 | |
| 
 | |
|     public class TrialDataRankDTO
 | |
|     {
 | |
|         public Guid ReviewerId { get; set; }
 | |
|         public string ReviewerCode { get; set; } = String.Empty;
 | |
|         public string FirstName { get; set; } = String.Empty;
 | |
|         public string LastName { get; set; } = String.Empty;
 | |
|         public string ChineseName { get; set; } = String.Empty;
 | |
| 
 | |
|         public int TrialCount { get; set; }
 | |
|     }
 | |
| 
 | |
|     #endregion
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| }
 |