//-------------------------------------------------------------------- // 此代码由T4模板自动生成 byzhouhang 20210918 // 生成时间 2022-06-07 14:10:54 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- using System; using IRaCIS.Core.Domain.Share; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; namespace IRaCIS.Core.Application.ViewModel { public class VisitTaskViewBasic { public Guid Id { get; set; } public Guid TrialId { get; set; } public string TaskCode { get; set; } public string TaskName { get; set; } public string TaskBlindName { get; set; } public decimal VisitTaskNum { get; set; } public ReadingCategory ReadingCategory { get; set; } public TaskAllocationState TaskAllocationState { get; set; } public TaskState TaskState { get; set; } public DateTime? SignTime { get; set; } public DateTime? AllocateTime { get; set; } public Guid SubjectId { get; set; } public bool IsUrgent { get; set; } public Arm ArmEnum { get; set; } public Guid? DoctorUserId { get; set; } public Guid CreateUserId { get; set; } public DateTime CreateTime { get; set; } public DateTime UpdateTime { get; set; } public Guid UpdateUserId { get; set; } public Guid SiteId { get; set; } public String TrialSiteCode { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty; } /// VisitTaskView 列表视图模型 public class VisitTaskView : VisitTaskViewBasic { public string UserCode { get; set; } public string UserName { get; set; } public string FullName { get; set; } public string UserTypeShortName { get; set; } } public class UserSimpleInfo { public Guid UserId { get; set; } public string UserCode { get; set; } public string UserName { get; set; } public string FullName { get; set; } //public string UserTypeShortName { get; set; } } public class JudgeVisitTaskView : VisitTaskView { public List HistoryReadingDoctorUserList { get; set; } } public class ReadingTaskView : VisitTaskView { public ReadingTaskState ReadingTaskState { get; set; } public ReReadingApplyState ReReadingApplyState { get; set; } public DateTime? SuggesteFinishedTime { get; set; } } public class AnalysisTaskView: ReadingTaskView { public bool IsSelfAnalysis { get; set; } } //public class IRReReadingTaskView: ReReadingTaskView //{ //} public class ReReadingTaskView { //重阅原始编号 //public string ReReadingOriginalTaskCode { get; set; } public Guid Id { get; set; } public VisitTaskView OriginalReReadingTask { get; set; } public string? ReReadingNewTaskCode { get; set; } public ReadingTaskState ReadingTaskState { get; set; } public RequestReReadingType RequestReReadingType { get; set; } public string RequestReReadingRejectReason { get; set; } = string.Empty; public DateTime? RequestReReadingTime { get; set; } public string RequestReReadingReason { get; set; } = string.Empty; public DateTime? SuggesteFinishedTime { get; set; } public RequestReReadingResult RequestReReadingResultEnum { get; set; } //重阅原始任务Id 重阅会产生新的任务 public Guid OriginalReReadingTaskId { get; set; } //重阅申请 产生的新任务Id public Guid? NewReReadingTaskId { get; set; } //产生重阅的根任务Id public Guid RootReReadingTaskId { get; set; } } public class IRHaveReadView : VisitTaskViewBasic { public ReadingTaskState ReadingTaskState { get; set; } public ReReadingApplyState ReReadingApplyState { get; set; } public DateTime? SuggesteFinishedTime { get; set; } } public class IRUnReadSubjectView { //public Guid SiteId { get; set; } //public String TrialSiteCode { get; set; } = String.Empty; //public Guid TrialId { get; set; } public Guid? SubjectId { get; set; } public string SubjectCode { get; set; } = String.Empty; public bool IsUrgent => UnReadTaskList.Any(t => t.IsUrgent); public int UnReadTaskCount { get; set; } public DateTime? SuggesteFinishedTime => UnReadTaskList.Max(t => t.SuggesteFinishedTime); public List UnReadTaskList { get; set; } = new List(); } public class IRUnreadTaskView { public Guid Id { get; set; } public bool IsUrgent { get; set; } public DateTime? SuggesteFinishedTime { get; set; } } public class HistoryReadingDoctorUser { public string? JudgeTaskCode { get; set; } public Guid DoctorUserId { get; set; } public string UserCode { get; set; } public string UserName { get; set; } public string FullName { get; set; } } public class VisitTaskQuery : PageInput { [NotDefault] public Guid TrialId { get; set; } public Guid? SiteId { get; set; } public Guid? SubjectId { get; set; } public string SubjectCode { get; set; } = String.Empty; public bool? IsUrgent { get; set; } public string TaskName { get; set; } = String.Empty; public Guid? DoctorUserId { get; set; } public ReadingCategory? ReadingCategory { get; set; } public ReadingTaskState? ReadingTaskState { get; set; } public TaskAllocationState? TaskAllocationState { get; set; } public DateTime? BeginAllocateDate { get; set; } public DateTime? EndAllocateDate { get; set; } public Guid? RootReReadingTaskId { get; set; } public string? TaskCode { get; set; } } public class IRUnReadSubjectQuery : PageInput { public Guid TrialId { get; set; } public string SubjectCode { get; set; } } public class IRUnReadOutDto { /// /// 未完成阅片量 /// public int UnReadTaskCount { get; set; } /// /// 完成阅片量 /// public int FinishTaskCount { get; set; } /// /// 未完成裁判任务数量 /// public int UnReadJudgeTaskCount { get; set; } /// /// 完成裁判任务数量 /// public int FinishJudgeTaskCount { get; set; } /// /// 建议完成时间 /// public DateTime? SuggesteFinishedTime { get; set; } } public class SubjectAssignQuery : PageInput { [NotDefault] public Guid TrialId { get; set; } public Guid? SiteId { get; set; } public Guid? SubjectId { get; set; } public string SubjectCode { get; set; } = String.Empty; public bool IsJudgeDoctor { get; set; } public Guid? DoctorUserId { get; set; } public bool? IsHaveAssigned { get; set; } public bool? IsAssignConfirmed { get; set; } } public class SubjectAssignView { public Guid TrialId { get; set; } public Guid SiteId { get; set; } public Guid SubjectId { get; set; } public String TrialSiteCode { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty; public bool IsAssignedDoctorUser { get; set; } [JsonIgnore] public bool IsJudge { get; set; } public bool IsConfirmed => DoctorUserList.Where(t => IsJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).All(t => t.IsConfirmed) && DoctorUserList.Where(t => IsJudge ? t.ArmEnum == Arm.JudgeArm : t.ArmEnum != Arm.JudgeArm).Count() > 0; public List DoctorUserIdList => DoctorUserList.Select(t => t.DoctorUserId).ToList(); //.ForEach(t => t.HistoryDoctorList = TotalDoctorUserList.Where(c => (Guid?)t.Id == c.OrignalSubjectUserId).ToList()) public List DoctorUserList => TotalDoctorUserList.Where(t => t.OrignalSubjectUserId == null).ToList() ; [JsonIgnore] public List TotalDoctorUserList { get; set; } = new List(); } public class AssignDoctorView { public Guid Id { get; set; } public Guid DoctorUserId { get; set; } public string UserCode { get; set; } public string UserName { get; set; } public string FullName { get; set; } public string UserTypeShortName { get; set; } public DateTime? AssignTime { get; set; } public Arm ArmEnum { get; set; } public bool IsConfirmed { get; set; } //该属性有值 说明该医生被替换了 分配的时候 要过滤掉 public Guid? OrignalSubjectUserId { get; set; } //public List HistoryDoctorList { get; set; } } public class AssginSubjectDoctorCommand { public Guid TrialId { get; set; } public bool IsReAssign { get; set; } public List SubjectIdList { get; set; } public bool IsJudgeDoctor { get; set; } public List DoctorUserIdArmList { get; set; } = new List(); } public class DoctorArm { public Guid DoctorUserId { get; set; } public Arm ArmEnum { get; set; } } public class CancelSubjectAssignCommand { public Guid TrialId { get; set; } public bool IsJudgeDoctor { get; set; } public List SubjectIdList { get; set; } } public class AutoAssignResultDTO { public Guid DoctorUserId { get; set; } public int PlanReadingRatio { get; set; } public List SubjectArmList { get; set; } = new List(); public int SubjectCount { get; set; } public int Weight => (SubjectCount - SubjectArmList.Count) * PlanReadingRatio; } public class SubjectArm { public Guid SubjectId { get; set; } public Arm ArmEnum { get; set; } } public class ApplySubjectCommand { public Guid TrialId { get; set; } public bool IsJudgeDoctor { get; set; } public List SubjectIdList { get; set; } = new List(); } public class AssignConfirmCommand { public Guid TrialId { get; set; } public bool IsJudgeDoctor { get; set; } public List SubjectDoctorUserList { get; set; } = new List(); } public class SubjectDoctorCommand { public Guid SubjectId { get; set; } public List DoctorUserIdArmList { get; set; } = new List(); } public class AutoSubjectAssignCommand { public Guid TrialId { get; set; } public bool IsJudgeDoctor { get; set; } } public class AssignSubjectTaskToDoctorCommand { public Guid Id { get; set; } public Guid TrialId { get; set; } public Guid SubjectId { get; set; } public bool IsJudgeDoctor { get; set; } public Guid? DoctorUserId { get; set; } public TaskOptType TaskOptType { get; set; } } public class ApplyReReadingCommand { public List TaskIdList { get; set; } public Guid TrialId { get; set; } public bool IsCopyOrigenalForms { get; set; } public RequestReReadingType RequestReReadingType { get; set; } public string RequestReReadingReason { get; set; } = string.Empty; } public class ConfirmReReadingCommand { public Guid TrialId { get; set; } public List ConfirmReReadingList { get; set; } public string RequestReReadingRejectReason { get; set; } = string.Empty; public RequestReReadingResult RequestReReadingResultEnum { get; set; } } public class ConfirmReReadingDTO { [NotDefault] public Guid Id { get; set; } //重阅原始任务Id 重阅会产生新的任务 [NotDefault] public Guid OriginalReReadingTaskId { get; set; } } public enum TaskOptType { Assign = 1, ReAssign = 2, Confirm = 3, CancelAssign = 4, } }