CostCalculationItem/IRaCIS.Core.Application.Con.../StatisticsViewModel.cs

244 lines
7.1 KiB
C#

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<string> ReviewerNameCNList=new List<string>();
public List<string> ReviewerNameList=new List<string>();
}
#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
/// <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; }
}
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
}