472 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			472 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
| //--------------------------------------------------------------------
 | |
| //     此代码由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 TaskName { get; set; }
 | |
|         public string TaskBlindName { get; set; }
 | |
| 
 | |
|         public ReadingCategory ReadingCategory { get; set; }
 | |
| 
 | |
|         public TaskAllocationState TaskAllocationState { get; set; }
 | |
| 
 | |
|         public bool IsJudgeTaskReturn { get; set; }
 | |
| 
 | |
| 
 | |
|         //public DateTime? CheckPassedTime { get; set; }
 | |
|         public DateTime? AllocateTime { get; set; }
 | |
|         public Guid SubjectId { get; set; }
 | |
| 
 | |
|         public string TaskCode { get; set; }
 | |
|         public bool IsUrgent { get; set; }
 | |
|         public Arm ArmEnum { get; set; }
 | |
|         public Guid? DoctorUserId { get; set; }
 | |
| 
 | |
|         public TaskState TaskState { 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;
 | |
|     }
 | |
| 
 | |
| 
 | |
|     /// <summary> VisitTaskView  列表视图模型 </summary>
 | |
|     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 JudgeVisitTaskView : VisitTaskView
 | |
|     {
 | |
| 
 | |
|         public List<HistoryReadingDoctorUser> HistoryReadingDoctorUserList { get; set; }
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public class ReadingTaskView : VisitTaskView
 | |
|     {
 | |
|      
 | |
|         public ReadingTaskState ReadingTaskState { get; set; }
 | |
| 
 | |
| 
 | |
|         public DateTime? SignTime { get; set; }
 | |
| 
 | |
|         public ReReadingApplyState ReReadingApplyState { get; set; }
 | |
|         public DateTime? SuggesteFinishedTime { get; set; }
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public class ReReadingTaskView : VisitTaskView
 | |
|     {
 | |
|         public ReReadingApplyState ReReadingApplyState { get; set; }
 | |
| 
 | |
|         public ReadingTaskState ReadingTaskState { get; set; }
 | |
| 
 | |
| 
 | |
|         public DateTime? SignTime { get; set; }
 | |
| 
 | |
|         public RequestReReadingType RequestReReadingType { get; set; }
 | |
| 
 | |
|         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 string ReReadingOriginalTaskCode { get; set; }
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public class IRHaveReadView : VisitTaskViewBasic
 | |
|     {
 | |
|         public ReadingTaskState ReadingTaskState { get; set; }
 | |
| 
 | |
|         public ReReadingApplyState ReReadingApplyState { get; set; }
 | |
|         public DateTime? SuggesteFinishedTime { get; set; }
 | |
| 
 | |
|         //签名时间
 | |
|         public DateTime? SignTime { 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<IRUnreadTaskView> UnReadTaskList { get; set; } = new List<IRUnreadTaskView>();
 | |
|     }
 | |
| 
 | |
|     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 TaskAllocationState? TaskAllocationState { get; set; }
 | |
| 
 | |
|         public ReadingTaskState? ReadingTaskState { get; set; }
 | |
| 
 | |
|         public DateTime? BeginAllocateDate { get; set; }
 | |
| 
 | |
|         public DateTime? EndAllocateDate { get; set; }
 | |
| 
 | |
|         public Guid? RootReReadingTaskId { get; set; }
 | |
|     }
 | |
| 
 | |
|     public class IRUnReadSubjectQuery : PageInput
 | |
|     {
 | |
|         public Guid TrialId { get; set; }
 | |
| 
 | |
|         public string SubjectCode { get; set; }
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public class IRUnReadOutDto
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// 未完成阅片量
 | |
|         /// </summary>
 | |
|         public int UnReadTaskCount { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 完成阅片量
 | |
|         /// </summary>
 | |
|         public int FinishTaskCount { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 未完成裁判任务数量
 | |
|         /// </summary>
 | |
|         public int UnReadJudgeTaskCount { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 完成裁判任务数量
 | |
|         /// </summary>
 | |
|         public int FinishJudgeTaskCount { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 建议完成时间
 | |
|         /// </summary>
 | |
|         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<Guid> DoctorUserIdList => DoctorUserList.Select(t => t.DoctorUserId).ToList();
 | |
| 
 | |
|         //.ForEach(t => t.HistoryDoctorList = TotalDoctorUserList.Where(c => (Guid?)t.Id == c.OrignalSubjectUserId).ToList())
 | |
|         public List<AssignDoctorView> DoctorUserList => TotalDoctorUserList.Where(t =>  t.OrignalSubjectUserId == null).ToList()
 | |
|            ;
 | |
| 
 | |
|         [JsonIgnore]
 | |
|         public List<AssignDoctorView> TotalDoctorUserList { get; set; } = new List<AssignDoctorView>();
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
|     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<AssignDoctorView> HistoryDoctorList { get; set; }
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
|     public class AssginSubjectDoctorCommand
 | |
|     {
 | |
|         public Guid TrialId { get; set; }
 | |
| 
 | |
|         public bool IsReAssign { get; set; }
 | |
| 
 | |
|         public List<Guid> SubjectIdList { get; set; }
 | |
| 
 | |
|         public bool IsJudgeDoctor { get; set; }
 | |
| 
 | |
|         public List<DoctorArm> DoctorUserIdArmList { get; set; } = new List<DoctorArm>();
 | |
|     }
 | |
| 
 | |
|     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<Guid> SubjectIdList { get; set; }
 | |
|     }
 | |
| 
 | |
|     public class AutoAssignResultDTO
 | |
|     {
 | |
|         public Guid DoctorUserId { get; set; }
 | |
| 
 | |
|         public int PlanReadingRatio { get; set; }
 | |
| 
 | |
|         public List<SubjectArm> SubjectArmList { get; set; } = new List<SubjectArm>();
 | |
| 
 | |
|         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<Guid> SubjectIdList { get; set; } = new List<Guid>();
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public class AssignConfirmCommand
 | |
|     {
 | |
|         public Guid TrialId { get; set; }
 | |
| 
 | |
|         public bool IsJudgeDoctor { get; set; }
 | |
| 
 | |
|         public List<SubjectDoctorCommand> SubjectDoctorUserList { get; set; } = new List<SubjectDoctorCommand>();
 | |
|     }
 | |
| 
 | |
|     public class SubjectDoctorCommand
 | |
|     {
 | |
|         public Guid SubjectId { get; set; }
 | |
| 
 | |
|         public List<DoctorArm> DoctorUserIdArmList { get; set; } = new List<DoctorArm>();
 | |
|     }
 | |
| 
 | |
|     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<Guid> TaskIdList { get; set; }
 | |
| 
 | |
|         public Guid TrialId { get; set; }
 | |
| 
 | |
|         public RequestReReadingType RequestReReadingType { get; set; }
 | |
| 
 | |
|         public string RequestReReadingReason { get; set; } = string.Empty;
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public class ConfirmReReadingCommand
 | |
|     {
 | |
|         public Guid TrialId { get; set; }
 | |
| 
 | |
|         public List<ConfirmReReadingDTO> ConfirmReReadingList { get; set; }
 | |
| 
 | |
| 
 | |
|         public RequestReReadingResult RequestReReadingResultEnum { get; set; }
 | |
|     }
 | |
| 
 | |
|     public class ConfirmReReadingDTO
 | |
|     {
 | |
|         public Guid Id { get; set; }
 | |
| 
 | |
|         //重阅原始任务Id  重阅会产生新的任务 
 | |
|         public Guid OriginalReReadingTaskId { get; set; }
 | |
| 
 | |
|         //重阅申请 产生的新任务Id
 | |
|         public Guid NewReReadingTaskId { get; set; }
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public enum TaskOptType
 | |
|     {
 | |
|         Assign = 1,
 | |
| 
 | |
|         ReAssign = 2,
 | |
| 
 | |
|         Confirm = 3,
 | |
| 
 | |
|         CancelAssign = 4,
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 |