irc-netcore-api/IRaCIS.Core.Application/Service/Allocation/DTO/TaskConsistentRuleViewModel.cs

353 lines
9.6 KiB
C#

//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-07-01 15:33:01
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Share;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.ViewModel
{
/// <summary> TaskConsistentRuleView 列表视图模型 </summary>
public class TaskConsistentRuleView : TaskConsistentRuleAddOrEdit
{
public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; }
public DateTime UpdateTime { get; set; }
public Guid UpdateUserId { get; set; }
public UserSimpleInfo AnalysisDoctorUser { get; set; }
public int? GeneratedSubjectCount { get; set; }
public int? MatchSubejctCount { get; set; }
public int? CanGeneratedSubejctCount => MatchSubejctCount - GeneratedSubjectCount;
}
public class TaskConsistentRuleBasic : TaskConsistentRuleAddOrEdit
{
}
public class SubjectGeneratedTask
{
public Guid SubjectId { get; set; }
public bool IsHaveGeneratedTask { get; set; }
}
public class ConsistentQuery : PageInput
{
[NotDefault]
public Guid DoctorUserId { get; set; }
[NotDefault]
public Guid TaskConsistentRuleId { get; set; }
//[NotDefault]
//public Guid TrialReadingCriterionId { get; set; }
}
public class GroupConsistentSimpleQuery
{
[NotDefault]
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
}
public class GroupConsistentQuery : PageInput
{
[NotDefault]
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
}
public class SelfConsistentSimpleQuery
{
[NotDefault]
public Guid TaskConsistentRuleId { get; set; }
[NotDefault]
public Guid DoctorUserId { get; set; }
}
public class ConsistentConfirmGenerateCommand : SelfConsistentSimpleQuery
{
public List<Guid> SubejctIdList { get; set; }
public bool IsAutoAllocateGenerateTask { get; set; }
}
public class GroupConsistentConfirmGenrateCommand
{
[NotDefault]
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public List<Guid> SubejctIdList { get; set; }
public bool IsAutoAllocateGenerateTask { get; set; }
}
public class DoctorSelfConsistentSubjectView : ConsistentCommonView
{
public string FirstGlobalVisitName { get; set; } = string.Empty;
public string? BlindSubjectCode { get; set; }
public List<VisitTaskSimpleDTO> VisitTaskList { get; set; }
}
public class ConsistentCommonView
{
public Guid TrialId { get; set; }
public Guid TrialSiteId { get; set; }
public String TrialSiteCode { get; set; }
public string SubjectCode { get; set; }
public Guid SubjectId { get; set; }
public bool IsHaveGeneratedTask { get; set; }
public bool IsReReadingOrBackInfluenceAnalysis { get; set; }
public int? ValidVisitCount { get; set; }
}
public class DoctorGroupConsistentSubjectView : ConsistentCommonView
{
public List<VisitTaskGroupSimpleDTO> SubjectTaskVisitList => VisitTaskList.GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2).Select(g => g.First()).OrderBy(t => t.VisitTaskNum).ToList();
public List<VisitTaskGroupSimpleDTO> VisitTaskList { get; set; } = new List<VisitTaskGroupSimpleDTO>();
public List<UserSimpleInfo> DoctorUserList { get; set; } = new List<UserSimpleInfo>();
}
public class VisitTaskGroupSimpleDTO
{
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public string TaskName { get; set; }
public string TaskBlindName { get; set; }
public decimal VisitTaskNum { get; set; }
public ReadingCategory ReadingCategory { get; set; }
//任务阅片状态
public ReadingTaskState ReadingTaskState { get; set; }
public TaskState TaskState { get; set; }
public Guid? DoctorUserId { get; set; }
public Arm ArmEnum { get; set; }
public Guid? SourceSubjectVisitId { get; set; }
public Guid? SouceReadModuleId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public string BlindSubjectCode { get; set; } = string.Empty;
public string BlindTrialSiteCode { get; set; } = string.Empty;
public bool IsNeedClinicalDataSign { get; set; }
public bool IsClinicalDataSign { get; set; }
}
public class VisitTaskSimpleDTO : VisitTaskGroupSimpleDTO
{
public Guid? Id { get; set; }
public string TaskCode { get; set; }
[JsonIgnore]
//可以不查询
public List<VisitTaskSimpleDTO> GlobalVisitTaskList { get; set; }
//也可以不查询
public bool IsHaveGeneratedTask { get; set; }
//public Guid? TaskConsistentRuleId { get; set; }
}
public class InfluenceTaskInfo
{
public Guid Id { get; set; }
public Guid TrialId { get; set; }
public Guid TrialSiteId { get; set; }
public Guid SubjectId { get; set; }
public Arm ArmEnum { 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 ReadingTaskState ReadingTaskState { get; set; }
public TaskState TaskState { get; set; }
public String TrialSiteCode { get; set; } = String.Empty;
public string SubjectCode { get; set; } = String.Empty;
public UserSimpleInfo DoctorUser { get; set; }
public ReReadingOrBackOptType OptType { get; set; }
/// <summary>
/// 是否是一致性分析产生
/// </summary>
public bool IsAnalysisCreate { get; set; }
public bool? IsSelfAnalysis { get; set; }
public string TrialReadingCriterionName { get; set; }
}
public class VisitTaskSimpleView
{
public Guid Id { get; set; }
public Guid TrialId { get; set; }
public Guid TrialSiteId { get; set; }
public Guid SubjectId { get; set; }
public Arm ArmEnum { 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 ReadingTaskState ReadingTaskState { get; set; }
public TaskState TaskState { get; set; }
public String TrialSiteCode { get; set; } = String.Empty;
public string SubjectCode { get; set; } = String.Empty;
public UserSimpleInfo DoctorUser { get; set; }
public List<VisitTaskSimpleView> GlobalVisitTaskList { get; set; }
//[JsonIgnore]
//public List<UserSimpleInfo> RelationDoctorUserList { get; set; } = new List<UserSimpleInfo>();
[JsonIgnore]
public Guid? DoctorUserId { get; set; }
[JsonIgnore]
public Guid? TaskConsistentRuleId { get; set; }
public bool IsHaveGeneratedTask { get; set; }
}
public class GetConsistentRuleOut
{
public TaskConsistentRuleBasic? ConsistentRuleBasic { get; set; }
/// <summary>
/// 任务展示访视 读片任务显示是否顺序
/// </summary>
public ReadingOrder IsReadingTaskViewInOrder { get; set; } = ReadingOrder.InOrder;
}
///<summary>TaskConsistentRuleQuery 列表查询参数模型</summary>
public class TaskConsistentRuleQuery
{
[NotDefault]
public Guid TrialId { get; set; }
public bool IsSelfAnalysis { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
}
public class UpdateTrialSiteCodeCommand
{
public Guid TrialId { get; set; }
public string VirtualSiteCode { get; set; }
}
public class UpdateTrialSiteCodeCommandView : UpdateTrialSiteCodeCommand
{
public DateTime Creatime { get; set; }
}
///<summary> TaskConsistentRuleAddOrEdit 列表查询参数模型</summary>
public class TaskConsistentRuleAddOrEdit
{
public Guid? Id { get; set; }
public bool IsEnable { get; set; }
public string Note { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public int PlanSubjectCount { get; set; }
public int PlanVisitCount { get; set; }
public int IntervalWeeks { get; set; }
public bool IsHaveReadingPeriod { get; set; }
public bool IsGenerateGlobalTask { get; set; }
public bool IsSelfAnalysis { get; set; }
public int BlindSubjectNumberOfPlaces { get; set; }
public string BlindTrialSiteCode { get; set; } = string.Empty;
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
}
public class TaskConsistentRuleBatchAddOrEdit : TaskConsistentRuleAddOrEdit
{
public bool IsBatchAdd { get; set; }
}
}