From f0943ca9a4b07061269eb0e5210b8467d2f14b3b Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 22 Aug 2024 17:05:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E5=AE=9E=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Allocation/TaskConsistentRuleService.cs | 2 +- .../Service/Allocation/VisitTaskService.cs | 2 +- .../Service/Common/SystemBasicDataService.cs | 2 +- .../Service/Doctor/DoctorListService.cs | 2 +- .../TrialSiteUser/TrialMaintenanceService.cs | 2 +- .../Service/TrialSiteUser/TrialService.cs | 4 +- .../Service/Visit/PatientService.cs | 4 +- .../Service/Visit/SubjectService.cs | 2 +- .../Service/Visit/VisitPlanService.cs | 8 +- .../Allocation/SubjectTaskCategory.cs | 27 +- IRaCIS.Core.Domain/Allocation/SubjectUser.cs | 59 +-- .../Allocation/TaskAllocationRule.cs | 34 +- .../Allocation/TaskConsistentRule.cs | 47 +-- .../Allocation/TaskInfluence.cs | 15 +- .../Allocation/TaskMedicalReview.cs | 150 +++----- .../Allocation/TaskMedicalReviewRule.cs | 24 +- .../Allocation/TrialVirtualSiteCodeUpdate.cs | 34 +- IRaCIS.Core.Domain/Allocation/VisitTask.cs | 352 +++++++++--------- .../Allocation/VisitTaskReReading.cs | 48 ++- 19 files changed, 356 insertions(+), 462 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs index 0d342b128..46eba475b 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs @@ -159,7 +159,7 @@ namespace IRaCIS.Core.Application.Service { var filterObj = await _taskConsistentRuleRepository.FirstOrDefaultAsync(t => t.Id == inQuery.TaskConsistentRuleId); - var pagedList = await GetIQueryableDoctorSelfConsistentSubjectView(filterObj, inQuery.DoctorUserId).ToPagedListAsync(inQuery); + var pagedList = await GetIQueryableDoctorSelfConsistentSubjectView(filterObj, inQuery.DoctorUserId).ToPagedListAsync(inQuery,nameof(DoctorSelfConsistentSubjectView.SubjectCode)); return pagedList; } diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 2e003506e..76ba23549 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -136,7 +136,7 @@ namespace IRaCIS.Core.Application.Service.Allocation .ProjectTo(_mapper.ConfigurationProvider, new { trialReadingCriterionId = inQuery.TrialReadingCriterionId }); - var pageList = await subjectQuery.ToPagedListAsync(inQuery); + var pageList = await subjectQuery.ToPagedListAsync(inQuery,nameof(SubjectAssignStat.SubjectId)); diff --git a/IRaCIS.Core.Application/Service/Common/SystemBasicDataService.cs b/IRaCIS.Core.Application/Service/Common/SystemBasicDataService.cs index 989a59e74..9855ce133 100644 --- a/IRaCIS.Core.Application/Service/Common/SystemBasicDataService.cs +++ b/IRaCIS.Core.Application/Service/Common/SystemBasicDataService.cs @@ -32,7 +32,7 @@ namespace IRaCIS.Core.Application.Services var systemBasicDataQueryable = _systemBasicDataRepository.Where(t => t.ParentId == null) .ProjectTo(_mapper.ConfigurationProvider); - return await systemBasicDataQueryable.ToPagedListAsync(inQuery); + return await systemBasicDataQueryable.ToPagedListAsync(inQuery,nameof(SystemBasicDataView.Code)); } diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs index 3bfcc8ae7..c03ddbd32 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs @@ -52,7 +52,7 @@ namespace IRaCIS.Application.Services .ProjectTo(_mapper.ConfigurationProvider); - return await query.ToPagedListAsync(inQuery); + return await query.ToPagedListAsync(inQuery, nameof(DoctorDTO.CreateTime)); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index d96c14d7e..d6d95a87b 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -88,7 +88,7 @@ namespace IRaCIS.Application.Services .WhereIf(!string.IsNullOrWhiteSpace(inQuery.UserRealName), t => (t.User.FullName).Contains(inQuery.UserRealName)) .ProjectTo(_mapper.ConfigurationProvider); - return await query.ToPagedListAsync(inQuery); + return await query.ToPagedListAsync(inQuery, nameof(TrialMaintenanceDTO.UpdateTime)); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index a23fafb1e..91069ea98 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -616,7 +616,7 @@ namespace IRaCIS.Application.Services .WhereIf(inQuery.Status == 14, t => t.EnrollList.Any(u => u.EnrollStatus == EnrollStatus.Finished)) .ProjectTo(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id, isEn_Us = _userInfo.IsEn_Us }); - return await query.ToPagedListAsync(inQuery); + return await query.ToPagedListAsync(inQuery, nameof(TrialDetailDTO.CreateTime)); } @@ -652,7 +652,7 @@ namespace IRaCIS.Application.Services .ProjectTo(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id, isEn_Us = _userInfo.IsEn_Us }); - return await query.ToPagedListAsync(inQuery); + return await query.ToPagedListAsync(inQuery, nameof(TrialDetailDTO.CreateTime)); diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 38735ef7a..b2ad8fe13 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -246,7 +246,7 @@ namespace IRaCIS.Application.Services //var list = await orderQuery.ToListAsync(); - var pageList = await query.ToPagedListAsync(inQuery); + var pageList = await query.ToPagedListAsync(inQuery, nameof(PatientStudySimpleView.StudyTime)); return pageList; } @@ -315,7 +315,7 @@ namespace IRaCIS.Application.Services }; - var pageList = await query.ToPagedListAsync(inQuery); + var pageList = await query.ToPagedListAsync(inQuery, nameof(PatientStudySimpleView.StudyTime)); return pageList; } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs index 60b60211b..2c3214d46 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs @@ -127,7 +127,7 @@ namespace IRaCIS.Application.Services .WhereIf(inQuery.IsMissingImages != null, t => t.IsMissingImages == inQuery.IsMissingImages); - var pageList = await subjectQuery.ToPagedListAsync(inQuery); + var pageList = await subjectQuery.ToPagedListAsync(inQuery,nameof(SubjectQueryView.Code)); var trialConfig = await _repository.Where(t => t.Id == inQuery.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync().IfNullThrowException(); diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs index efd8d0d27..42f397113 100644 --- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs +++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs @@ -37,13 +37,13 @@ namespace IRaCIS.Application.Services ///暂时不用 /// 获取项目访视计划 [HttpPost] - public async Task> GetTrialVisitStageList(VisitPlanQueryDTO param) + public async Task> GetTrialVisitStageList(VisitPlanQueryDTO inQuery) { - var visitStageQuery = _visitStageRepository.AsQueryable(true).Where(u => u.TrialId == param.TrialId) - .WhereIf(!string.IsNullOrWhiteSpace(param.Keyword), t => t.VisitName.Contains(param.Keyword)) + var visitStageQuery = _visitStageRepository.AsQueryable(true).Where(u => u.TrialId == inQuery.TrialId) + .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Keyword), t => t.VisitName.Contains(inQuery.Keyword)) .ProjectTo(_mapper.ConfigurationProvider); - return await visitStageQuery.ToPagedListAsync(param); + return await visitStageQuery.ToPagedListAsync(inQuery,nameof(VisitStageDTO.CreateTime)); } diff --git a/IRaCIS.Core.Domain/Allocation/SubjectTaskCategory.cs b/IRaCIS.Core.Domain/Allocation/SubjectTaskCategory.cs index b0ff54106..2f16fd831 100644 --- a/IRaCIS.Core.Domain/Allocation/SubjectTaskCategory.cs +++ b/IRaCIS.Core.Domain/Allocation/SubjectTaskCategory.cs @@ -15,26 +15,18 @@ namespace IRaCIS.Core.Domain.Models ///是否需要拆表 /// [Table("SubjectTaskCategory")] - public class SubjectTaskCategory : Entity, IAuditAdd + public class SubjectTaskCategory : BaseAuditAddEntity { public Guid TrialId { get; set; } public string TaskName { get; set; } = string.Empty; public string TaskBlindName { get; set; } = string.Empty; - //任务来源访视Id 方便回更访视读片状态 public Guid? SourceSubjectVisitId { get; set; } - [JsonIgnore] - [ForeignKey("SourceSubjectVisitId")] - public SubjectVisit SubjectVisit { get; set; } - - public Guid? SouceReadModuleId { get; set; } - [JsonIgnore] - [ForeignKey("SouceReadModuleId")] - public ReadModule ReadModule { get; set; } + public ReadingCategory ReadingCategory { get; set; } @@ -42,11 +34,22 @@ namespace IRaCIS.Core.Domain.Models public Subject Subject { get; set; } - public Guid CreateUserId { get; set; } - public DateTime CreateTime { get; set; } + #region 导航属性 + + [JsonIgnore] + [ForeignKey("SouceReadModuleId")] + public ReadModule ReadModule { get; set; } + + + [JsonIgnore] + [ForeignKey("SourceSubjectVisitId")] + public SubjectVisit SubjectVisit { get; set; } + + #endregion + } } diff --git a/IRaCIS.Core.Domain/Allocation/SubjectUser.cs b/IRaCIS.Core.Domain/Allocation/SubjectUser.cs index 3ce77427c..1364fbe2f 100644 --- a/IRaCIS.Core.Domain/Allocation/SubjectUser.cs +++ b/IRaCIS.Core.Domain/Allocation/SubjectUser.cs @@ -15,47 +15,15 @@ namespace IRaCIS.Core.Domain.Models ///SubjectUser /// [Table("SubjectUser")] - public class SubjectUser : Entity, IAuditUpdate, IAuditAdd + public class SubjectUser : BaseFullAuditEntity { - [JsonIgnore] - public Trial Trial { get; set; } - public Guid TrialId { get; set; } + public Guid TrialId { get; set; } public Guid TrialReadingCriterionId { get; set; } - - /// - /// CreateUserId - /// - [Required] - public Guid CreateUserId { get; set; } - - /// - /// CreateTime - /// - [Required] - public DateTime CreateTime { get; set; } - - /// - /// UpdateTime - /// - [Required] - public DateTime UpdateTime { get; set; } - - /// - /// UpdateUserId - /// - [Required] - public Guid UpdateUserId { get; set; } - - public DateTime? AssignTime { get; set; } - /// - /// SubjectId - /// - [Required] public Guid SubjectId { get; set; } public Subject Subject { get; set; } @@ -73,18 +41,23 @@ namespace IRaCIS.Core.Domain.Models //该属性有值 说明该医生被替换了 分配的时候 要过滤掉 public Guid? OrignalSubjectUserId { get; set; } - [JsonIgnore] - //Parent - [ForeignKey("OrignalSubjectUserId")] - public SubjectUser OrignalSubjectUser { get; set; } + + + + + #region 导航属性 + [JsonIgnore] + public Trial Trial { get; set; } + + [JsonIgnore] + //Parent + [ForeignKey("OrignalSubjectUserId")] + public SubjectUser OrignalSubjectUser { get; set; } //ChildList [JsonIgnore] - public List EarlierSubjectUserList { get; set; } - - //public List SubjectArmVisitTaskList { get; set; } - - + public List EarlierSubjectUserList { get; set; } + #endregion } } diff --git a/IRaCIS.Core.Domain/Allocation/TaskAllocationRule.cs b/IRaCIS.Core.Domain/Allocation/TaskAllocationRule.cs index a277c1eae..7a95717f2 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskAllocationRule.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskAllocationRule.cs @@ -15,15 +15,11 @@ namespace IRaCIS.Core.Domain.Models ///TaskAllocationRule /// [Table("TaskAllocationRule")] - public class TaskAllocationRule : Entity, IAuditUpdate, IAuditAdd + public class TaskAllocationRule : BaseFullAuditEntity { - [JsonIgnore] - public Trial Trial { get; set; } + public Guid TrialId { get; set; } - public Guid CreateUserId { get; set; } - public DateTime CreateTime { get; set; } - public DateTime UpdateTime { get; set; } - public Guid UpdateUserId { get; set; } + public int PlanSubjectCount { get; set; } @@ -31,22 +27,9 @@ namespace IRaCIS.Core.Domain.Models public string Note { get; set; } = string.Empty; - - public Guid DoctorUserId { get; set; } - [ForeignKey("DoctorUserId")] - [JsonIgnore] - public User DoctorUser { get; set; } - - - - - - public Guid EnrollId { get; set; } - [JsonIgnore] - public Enroll Enroll { get; set; } //是否是裁判医生 裁判医生单独加入 public bool IsJudgeDoctor { get; set; } @@ -55,7 +38,18 @@ namespace IRaCIS.Core.Domain.Models + #region 导航属性 + [ForeignKey("DoctorUserId")] + [JsonIgnore] + public User DoctorUser { get; set; } + + [JsonIgnore] + public Enroll Enroll { get; set; } + + [JsonIgnore] + public Trial Trial { get; set; } + #endregion } diff --git a/IRaCIS.Core.Domain/Allocation/TaskConsistentRule.cs b/IRaCIS.Core.Domain/Allocation/TaskConsistentRule.cs index 05a06767c..9a3e4aff5 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskConsistentRule.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskConsistentRule.cs @@ -14,48 +14,27 @@ namespace IRaCIS.Core.Domain.Models ///TaskConsistentRule /// [Table("TaskConsistentRule")] - public class TaskConsistentRule : Entity, IAuditUpdate, IAuditAdd - { - - - public Trial Trial { get; set; } - - public Guid CreateUserId { get; set; } - - public DateTime CreateTime { get; set; } - - public DateTime UpdateTime { get; set; } - - public Guid UpdateUserId { get; set; } - + public class TaskConsistentRule : BaseFullAuditEntity + { + 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 IsGenerateGlobalTask { get; set; } public int BlindSubjectNumberOfPlaces { get; set; } public string BlindTrialSiteCode { get; set; } = string.Empty; - public bool IsSelfAnalysis { get; set; } - //public Guid? CompareDoctorUserId { get; set; } - //public User AnalysisDoctorUser { get; set; } - //public Guid AnalysisDoctorUserId { get; set; } - //public List DoctorVisitTaskList { get; set; } - public bool IsEnable { get; set; } public string Note { get; set; } @@ -63,13 +42,17 @@ namespace IRaCIS.Core.Domain.Models public Guid TrialReadingCriterionId { get; set; } + + + + #region 导航属性 [JsonIgnore] - [ForeignKey("TrialReadingCriterionId")] - public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } + public Trial Trial { get; set; } - - //[Projectable] - //public List DoctorConsistentTaskList => DoctorVisitTaskList.Where(t => t.IsAnalysisCreate && t.TaskConsistentRuleId == Id).ToList(); - } + [JsonIgnore] + [ForeignKey("TrialReadingCriterionId")] + public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } + #endregion + } } diff --git a/IRaCIS.Core.Domain/Allocation/TaskInfluence.cs b/IRaCIS.Core.Domain/Allocation/TaskInfluence.cs index 2b2e393ea..cf234fd10 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskInfluence.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskInfluence.cs @@ -13,17 +13,9 @@ namespace IRaCIS.Core.Domain.Models ///TaskInfluence /// [Table("TaskInfluence")] - public class TaskInfluence : Entity, IAuditAdd + public class TaskInfluence : BaseAuditAddEntity { - - - public Guid CreateUserId { get; set; } - - - public DateTime CreateTime { get; set; } - - public Guid OriginalTaskId { get; set; } public VisitTask OriginalTask { get; set; } @@ -38,6 +30,11 @@ namespace IRaCIS.Core.Domain.Models //对影响任务进行的操作 public ReReadingOrBackOptType OptType { get; set; } + + #region 导航属性 + + #endregion + } diff --git a/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs b/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs index 54ba087db..21511a827 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs @@ -13,40 +13,70 @@ using Newtonsoft.Json; namespace IRaCIS.Core.Domain.Models { + public class OSSImageInfo + { + public string FileName { get; set; } + + public string ImagePath { get; set; } + } /// ///TaskMedicalReview /// [Table("TaskMedicalReview")] - public class TaskMedicalReview : Entity, IAuditUpdate, IAuditAdd + public class TaskMedicalReview : BaseFullAuditEntity { + #region 导航属性 + [JsonIgnore] public User LatestReplyUser { get; set; } + [JsonIgnore] + public User MedicalManagerUser { get; set; } + + [JsonIgnore] + [ForeignKey("VisitTaskId")] + public VisitTask VisitTask { get; set; } + + [JsonIgnore] + public List ReadingMedicalReviewDialogList { get; set; } + + [JsonIgnore] + public Trial Trial { get; set; } + + + + + /// + /// 文件 + /// + [NotMapped] + public List FileList + { + get + { + + + try + { + var result = JsonConvert.DeserializeObject>(this.ImagePath); + return result == null ? new List() : result; + } + catch (Exception) + { + + return new List(); + } + + } + } + + [NotMapped] + public List PDRelationTaskIdList => PDRelationTaskIdListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Select(t => Guid.Parse(t)).ToList(); + + #endregion + public Guid? LatestReplyUserId { get; set; } - /// - /// CreateUserId - /// - [Required] - public Guid CreateUserId { get; set; } - - /// - /// CreateTime - /// - [Required] - public DateTime CreateTime { get; set; } - - /// - /// UpdateTime - /// - [Required] - public DateTime UpdateTime { get; set; } - - /// - /// UpdateUserId - /// - [Required] - public Guid UpdateUserId { get; set; } /// /// 分配时间 @@ -59,43 +89,25 @@ namespace IRaCIS.Core.Domain.Models [Required] public MedicalReviewAuditState AuditState { get; set; } - - - /// - /// 审核通过时间 - /// - public DateTime? AuditSignTime { get; set; } + /// + /// 审核通过时间 + /// + public DateTime? AuditSignTime { get; set; } /// /// 阅片人是否认同 /// public MedicalReviewDoctorUserIdea DoctorUserIdeaEnum { get; set; } - /// - /// MedicalManagerUserId - /// public Guid? MedicalManagerUserId { get; set; } - public User MedicalManagerUser { get; set; } + public Guid VisitTaskId { get; set; } - [ForeignKey("VisitTaskId")] - public VisitTask VisitTask { get; set; } public Guid TrialId { get; set; } - public Trial Trial { get; set; } - - /// - /// 冗余 废弃 - /// - //public Guid DoctorUserId { get; set; } - - //[JsonIgnore] - //public TaskMedicalReviewRule TaskMedicalReviewRule { get; set; } - - /// /// 是否有问题 /// @@ -151,10 +163,6 @@ namespace IRaCIS.Core.Domain.Models /// public string FileName { get; set; } = string.Empty; - [JsonIgnore] - public List ReadingMedicalReviewDialogList { get; set; } - - /// /// 是否发送消息 /// @@ -171,55 +179,19 @@ namespace IRaCIS.Core.Domain.Models /// public string DialogCloseReason { get; set; } = string.Empty; - /// /// 无效的 为True无效 /// public bool IsInvalid { get; set; } - /// - /// 文件 - /// - [NotMapped] - public List FileList - { - get - { - - - try - { - var result= JsonConvert.DeserializeObject>(this.ImagePath); - return result==null?new List() : result; - } - catch (Exception) - { - - return new List(); - } - - } - } - - public bool IsAutoGenerate { get; set; } // | 分割 - public string PDRelationTaskIdListStr { get; set; }=string.Empty; + public string PDRelationTaskIdListStr { get; set; } = string.Empty; + - [NotMapped] - public List PDRelationTaskIdList=> PDRelationTaskIdListStr.Split('|',StringSplitOptions.RemoveEmptyEntries).Select(t=> Guid.Parse(t) ).ToList(); } - #region 文件对象 - public class OSSImageInfo - { - public string FileName { get; set; } - - public string ImagePath { get; set; } - } - - #endregion } diff --git a/IRaCIS.Core.Domain/Allocation/TaskMedicalReviewRule.cs b/IRaCIS.Core.Domain/Allocation/TaskMedicalReviewRule.cs index 7f7be240a..4ac3e0e21 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskMedicalReviewRule.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskMedicalReviewRule.cs @@ -15,17 +15,9 @@ namespace IRaCIS.Core.Domain.Models ///TaskTaskMedicalReviewRule /// [Table("TaskMedicalReviewRule")] - public class TaskMedicalReviewRule : Entity, IAuditUpdate, IAuditAdd + public class TaskMedicalReviewRule :BaseFullAuditEntity { - - public Guid CreateUserId { get; set; } - - public DateTime CreateTime { get; set; } - - public DateTime UpdateTime { get; set; } - - public Guid UpdateUserId { get; set; } - + public Guid DoctorUserId { get; set; } public bool IsEnable { get; set; } @@ -45,11 +37,13 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public User DoctorUser { get; set; } - //[JsonIgnore] - //public List DoctorTrialVisitTaskList { get; set; } - //[JsonIgnore] - //public List TaskMedicalReviewList { get; set; } - } + + #region 导航属性 + + #endregion + + + } } diff --git a/IRaCIS.Core.Domain/Allocation/TrialVirtualSiteCodeUpdate.cs b/IRaCIS.Core.Domain/Allocation/TrialVirtualSiteCodeUpdate.cs index e30eb605f..35575cb2c 100644 --- a/IRaCIS.Core.Domain/Allocation/TrialVirtualSiteCodeUpdate.cs +++ b/IRaCIS.Core.Domain/Allocation/TrialVirtualSiteCodeUpdate.cs @@ -13,31 +13,21 @@ namespace IRaCIS.Core.Domain.Models ///TrialVirtualSiteCodeUpdate /// [Table("TrialVirtualSiteCodeUpdate")] - public class TrialVirtualSiteCodeUpdate : Entity, IAuditAdd - { - + public class TrialVirtualSiteCodeUpdate : BaseAuditAddEntity + { - public Guid TrialId { get; set; } + #region 导航属性 + + #endregion + + public Guid TrialId { get; set; } - /// - /// CreateTime - /// - [Required] - public DateTime CreateTime { get; set; } - - /// - /// CreateUserId - /// - [Required] - public Guid CreateUserId { get; set; } - - /// - /// VirturalSiteCode - /// - [Required] + public string VirturalSiteCode { get; set; } - - } + + + + } } diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index 5a45dd3c4..5c284592f 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -17,31 +17,188 @@ namespace IRaCIS.Core.Domain.Models ///VisitTask /// [Table("VisitTask")] - public class VisitTask : Entity, IAuditUpdate, IAuditAdd + public class VisitTask : BaseFullAuditEntity { + #region 导航属性 [JsonIgnore] public List TaskStudyList { get; set; } + [JsonIgnore] + [ForeignKey("TrialReadingCriterionId")] + public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } + + + + [ForeignKey("DoctorUserId")] + public User DoctorUser { get; set; } + + [ForeignKey("SouceReadModuleId")] + public ReadModule ReadModule { get; set; } + + [ForeignKey("SourceSubjectVisitId")] + public SubjectVisit SourceSubjectVisit { get; set; } + [JsonIgnore] + [ForeignKey("JudgeVisitTaskId")] + public VisitTask JudgeVisitTask { get; set; } + + + + [JsonIgnore] + public Subject Subject { get; set; } + + + [JsonIgnore] + public List TaskMedicalReviewList { get; set; } + + [ForeignKey("JudgeResultTaskId")] + public VisitTask JudgeResultTask { get; set; } + + + + //影像质量 等等第一层级问题答案 + [JsonIgnore] + public List ReadingTaskQuestionAnswerList { get; set; } = new List(); + + + //病灶表 + [JsonIgnore] + public List LesionList { get; set; } = new List(); + + //病灶答案表 + [JsonIgnore] + public List LesionAnswerList { get; set; } = new List(); + + + + //重阅或者退回影像的记录中间表 + [JsonIgnore] + public List TaskInfluenceList { get; set; } = new List(); + + + [JsonIgnore] + //对于全局任务而言 才可以用的 关联的访视阅片结果 + public List GlobalVisitResultList { get; set; } = new List(); + + + /// + /// 裁判结果图片地址 + /// + [NotMapped] + public List JudgeResultImagePathList + { + get + { + + try + { + return this.JudgeResultImagePath.Trim().Split(',').ToList(); + } + catch (Exception) + { + + return new List(); + } + + } + } + + + [JsonIgnore] + + public Trial Trial { get; set; } + + + + [JsonIgnore] + public List UserFeedBackList { get; set; } + + /// + /// 关联的访视任务ID (当前任务是访视任务的话会有自己)集合 + /// + [NotMapped] + public List RelatedVisitTaskIdList + { + get + { + + try + { + + return JsonConvert.DeserializeObject>(this.RelatedVisitTaskIds); + } + catch (Exception) + { + + return new List(); + } + + } + } + + + + /// + /// 报告任务关系 包含冻结 + /// + [NotMapped] + public List ReportRelatedTaskIdList + { + get + { + + try + { + + return JsonConvert.DeserializeObject>(this.ReportRelatedTaskIds); + } + catch (Exception) + { + + return new List(); + } + + } + } + + + + + /// + /// 既往任务Id 不包括自己集合 + /// + [NotMapped] + public List PastResultTaskIdList + { + get + { + + try + { + return JsonConvert.DeserializeObject>(this.PastResultTaskIds); + } + catch (Exception) + { + + return new List(); + } + + } + } + + + #endregion + + public string TaskName { get; set; } = string.Empty; public string TaskBlindName { get; set; } = string.Empty; - //任务来源访视Id 方便回更访视读片状态 public Guid? SourceSubjectVisitId { get; set; } public Guid? SouceReadModuleId { get; set; } - - /// - /// 任务类型 - /// + /// 任务类型 public ReadingCategory ReadingCategory { get; set; } - - - public Guid CreateUserId { get; set; } - public DateTime CreateTime { get; set; } - public DateTime UpdateTime { get; set; } - public Guid UpdateUserId { get; set; } public Guid TrialId { get; set; } @@ -99,46 +256,7 @@ namespace IRaCIS.Core.Domain.Models public Guid TrialReadingCriterionId { get; set; } - [JsonIgnore] - [ForeignKey("TrialReadingCriterionId")] - public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; } - - - - [ForeignKey("DoctorUserId")] - public User DoctorUser { get; set; } - - [ForeignKey("SouceReadModuleId")] - public ReadModule ReadModule { get; set; } - - [ForeignKey("SourceSubjectVisitId")] - public SubjectVisit SourceSubjectVisit { get; set; } - [JsonIgnore] - [ForeignKey("JudgeVisitTaskId")] - public VisitTask JudgeVisitTask { get; set; } - - - - [JsonIgnore] - public Subject Subject { get; set; } - - - [JsonIgnore] - public List TaskMedicalReviewList { get; set; } - - - - //排除一致性分析 因为souceVisitId 没值 - //public List SameVisitTaskList { get; set; } - - //public List SameSubjectVisiTaskList { get; set; } - - - //public TaskAllocationRule DoctorTaskAllocationRule { get; set; } - - //[JsonIgnore] - //public TaskMedicalReviewRule DoctorTaskMedicalReviewRule { get; set; } - + //裁判任务的Id @@ -167,10 +285,7 @@ namespace IRaCIS.Core.Domain.Models /// 裁判结果的任务ID public Guid? JudgeResultTaskId { get; set; } - [ForeignKey("JudgeResultTaskId")] - public VisitTask JudgeResultTask { get; set; } - - + //随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定 public decimal VisitTaskNum { get; set; } @@ -197,57 +312,11 @@ namespace IRaCIS.Core.Domain.Models /// public string RelatedVisitTaskIds { get; set; } = "[]"; - /// - /// 关联的访视任务ID (当前任务是访视任务的话会有自己)集合 - /// - [NotMapped] - public List RelatedVisitTaskIdList - { - get - { - - try - { - - return JsonConvert.DeserializeObject>(this.RelatedVisitTaskIds); - } - catch (Exception) - { - - return new List(); - } - - } - } - /// /// 报告任务关系 包含冻结 /// public string ReportRelatedTaskIds { get; set; } = "[]"; - /// - /// 报告任务关系 包含冻结 - /// - [NotMapped] - public List ReportRelatedTaskIdList - { - get - { - - try - { - - return JsonConvert.DeserializeObject>(this.ReportRelatedTaskIds); - } - catch (Exception) - { - - return new List(); - } - - } - } - /// /// 既往任务Id 不包括自己 /// @@ -256,28 +325,6 @@ namespace IRaCIS.Core.Domain.Models - /// - /// 既往任务Id 不包括自己集合 - /// - [NotMapped] - public List PastResultTaskIdList - { - get - { - - try - { - return JsonConvert.DeserializeObject>(this.PastResultTaskIds); - } - catch (Exception) - { - - return new List(); - } - - } - } - #region 裁判任务特有 [JsonIgnore] @@ -378,66 +425,9 @@ namespace IRaCIS.Core.Domain.Models /// public bool IsFrontTaskNeedSignButNotSign { get; set; } - [JsonIgnore] - - public Trial Trial { get; set; } - - - - - - //影像质量 等等第一层级问题答案 - [JsonIgnore] - public List ReadingTaskQuestionAnswerList { get; set; } = new List(); - - - //病灶表 - [JsonIgnore] - public List LesionList { get; set; } = new List(); - - //病灶答案表 - [JsonIgnore] - public List LesionAnswerList { get; set; } = new List(); - - - - //重阅或者退回影像的记录中间表 - [JsonIgnore] - public List TaskInfluenceList { get; set; } = new List(); - - - [JsonIgnore] - //对于全局任务而言 才可以用的 关联的访视阅片结果 - public List GlobalVisitResultList { get; set; } = new List(); - - - /// - /// 裁判结果图片地址 - /// - [NotMapped] - public List JudgeResultImagePathList - { - get - { - - try - { - return this.JudgeResultImagePath.Trim().Split(',').ToList(); - } - catch (Exception) - { - - return new List(); - } - - } - } - public int ImageStudyState { get; set; } - [JsonIgnore] - public List UserFeedBackList { get; set; } } } diff --git a/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs b/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs index 55e949d0c..5998b6817 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTaskReReading.cs @@ -15,8 +15,28 @@ namespace IRaCIS.Core.Domain.Models ///重阅申请流程记录表 /// [Table("VisitTaskReReading")] - public class VisitTaskReReading : Entity, IAuditUpdate, IAuditAdd + public class VisitTaskReReading : BaseFullAuditEntity { + #region 导航属性 + + [JsonIgnore] + public User RequestReReadingUser { get; set; } + + [JsonIgnore] + public VisitTask NewReReadingTask { get; set; } + [JsonIgnore] + public VisitTask RootReReadingTask { get; set; } + [JsonIgnore] + public VisitTask OriginalReReadingTask { get; set; } + [JsonIgnore] + public User RequestReReadingConfirmUser { get; set; } + + + [JsonIgnore] + public User CreateUser { get; set; } + + #endregion + public Guid TrialId { get; set; } //重阅原始任务Id 重阅会产生新的任务 @@ -30,16 +50,10 @@ namespace IRaCIS.Core.Domain.Models public Guid? NewReReadingTaskId { get; set; } public Guid RequestReReadingUserId { get; set; } - [JsonIgnore] - public User RequestReReadingUser { get; set; } + public DateTime RequestReReadingTime { get; set; } - [JsonIgnore] - public VisitTask NewReReadingTask { get; set; } - [JsonIgnore] - public VisitTask RootReReadingTask { get; set; } - [JsonIgnore] - public VisitTask OriginalReReadingTask { get; set; } + //申请回退类型 public RequestReReadingType RequestReReadingType { get; set; } @@ -51,13 +65,8 @@ namespace IRaCIS.Core.Domain.Models public RequestReReadingResult RequestReReadingResultEnum { get; set; } - - public Guid? RequestReReadingConfirmUserId { get; set; } - public User RequestReReadingConfirmUser { get; set; } - - public bool IsCopyOrigenalForms { get; set; } @@ -65,18 +74,7 @@ namespace IRaCIS.Core.Domain.Models public bool IsCopyFollowForms { get; set; } - public Guid CreateUserId { get; set; } - - public DateTime CreateTime { get; set; } - - - public DateTime UpdateTime { get; set; } - - public Guid UpdateUserId { get; set; } - - [JsonIgnore] - public User CreateUser { get; set; } } }