using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using IRaCIS.Core.Application.Contracts.RequestAndResponse; using IRaCIS.Core.Domain.Share; namespace IRaCIS.Application.ViewModels { /// ///后台 工作量审核视图模型 /// public class WorkLoadDetailDTO : WorkloadDTO { public DateTime CreateTime { get; set; } public string ChineseName { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Code { get; set; } public string Indication { get; set; } public int RowIntId { get; set; } public Guid RowGuid { get; set; } public string YearMonthStr { get; set; } public string WorkTimeStr => YearMonthStr; public bool IsLock { get; set; } = false; } public class WorkLoadDetailViewModel : WorkloadDTO { public DateTime CreateTime { get; set; } public string ChineseName { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Code { get; set; } public string Indication { get; set; } public Guid RowGuid { get; set; } public string YearMonthStr { get; set; } public bool IsLock { get; set; } = false; public string DeclareTimeStr => CreateTime.ToString("yyyy-MM-dd"); public string WorkTimeStr => WorkTime.ToString("yyyy-MM-dd"); } public class CalculatePaymentDTO : WorkloadDTO { public string TrialCode { get; set; } public decimal? TrialAdditional { get; set; } public decimal AdjustmentMultiple { get; set; } //public double RankPrice { get; set; } public decimal PersonalAdditional { get; set; } public decimal TimepointPrice { get; set; } public decimal TimepointIn24HPrice { get; set; } public decimal TimepointIn48HPrice { get; set; } public decimal AdjudicationPrice { get; set; } public decimal AdjudicationIn24HPrice { get; set; } public decimal AdjudicationIn48HPrice { get; set; } public decimal GlobalPrice { get; set; } public decimal TrainingPrice { get; set; } public bool IsNewTrial { get; set; } public decimal DowntimePrice { get; set; } public decimal RefresherTrainingPrice { get; set; } } /// /// 工作量审核数据库查询模型 /// public class WorkloadDTO { public Guid? Id { get; set; } public Guid TrialId { get; set; } public Guid DoctorId { get; set; } public int DataFrom { get; set; } public DateTime WorkTime { get; set; } 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 class WorkLoadQueryDTO : PageInput { public Guid TrialId { get; set; } public int WorkLoadFromStatus { get; set; } // 关联枚举 public DateTime? SearchBeginDateTime { get; set; } public DateTime? SearchEndDateTime { get; set; } } /// /// 后台查询模型 /// public class WorkLoadStatsQueryDTO : PageInput { public Guid? TrialId { get; set; } public Guid? DoctorId { get; set; } = Guid.Empty; public List WorkLoadFromStatus { get; set; } = new List(); // 关联枚举 public DateTime? SearchBeginDateTime { get; set; } public DateTime? SearchEndDateTime { get; set; } } public class WorkLoadDetailQueryDTO { public Guid TrialId { get; set; } = Guid.Empty; public Guid DoctorId { get; set; } = Guid.Empty; public string YearMonthStr { get; set; } } public class CalculateDoctorAndMonthDTO { [Required(ErrorMessage = "需要有效的时间")] public DateTime CalculateMonth { get; set; } [Required(ErrorMessage = "需要有效的医生列表")] public List NeedCalculateReviewers { get; set; } } public class WorkLoadDoctorQueryDTO : PageInput { public Guid TrialId { get; set; } = Guid.Empty; } public class WorkLoadCommand : WorkloadDTO { public Guid CreateUserId { get; set; } public int CreateUserType { get; set; } public Guid UpdateUserId { get; set; } } public class ExistWorkloadViewModel { public bool IsExist { get; set; } public WorkloadDTO WorkLoad { get; set; } } public class WorkloadCommand : WorkloadDTO { } public class WorkloadExistQueryDTO { public Guid TrialId { get; set; } public Guid DoctorId { get; set; } public DateTime WorkDate { get; set; } } public class WorkLoadAndTrainingDTO { public Guid DoctorId { get; set; }/*=Guid.Empty;*/ public string Code { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string ChineseName { get; set; } public DateTime? EnrollTime { get; set; } public int ReviewerReadingType { get; set; } public string EnrollTimeStr => EnrollTime?.ToString("yyyy-MM-dd HH:mm:ss"); public DateTime? UpdateTime { get; set; } public string UpdateTimeStr => UpdateTime?.ToString("yyyy-MM-dd HH:mm:ss"); public decimal TrainingTimes { 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 class WorkLoadAndAgreementDTO : WorkLoadAndTrainingDTO { public Guid AgreementId { get; set; } public string AgreementPath { get; set; } public string AgreementFileName => AgreementPath?.Split('/').Last(); public string AgreementFullPath => SystemConfig.RootUrl + AgreementPath; } }