医学审核修改

Uat_Study
hang 2022-07-07 13:43:05 +08:00
parent 60c67f7828
commit 4239c94a04
9 changed files with 135 additions and 44 deletions

View File

@ -6,13 +6,14 @@
using System; using System;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.ViewModel namespace IRaCIS.Core.Application.ViewModel
{ {
/// <summary> TaskMedicalReviewView 列表视图模型 </summary> /// <summary> TaskMedicalReviewView 列表视图模型 </summary>
public class TaskMedicalReviewView: VisitTaskViewBasic public class TaskMedicalReviewView : VisitTaskViewBasic
{ {
public int AuditState { get; set; } public int AuditState { get; set; }
public DateTime? AuditSignTime { get; set; } public DateTime? AuditSignTime { get; set; }
public int DoctorUserIdeaEnum { get; set; } public int DoctorUserIdeaEnum { get; set; }
@ -33,6 +34,15 @@ namespace IRaCIS.Core.Application.ViewModel
public UserSimpleInfo MedicalManagerUser { get; set; } public UserSimpleInfo MedicalManagerUser { get; set; }
} }
public class GenerateMedicalReviewTaskView : VisitTaskViewBasic
{
public int? GeneratedMedicalReviewCount { get; set; }
public UserSimpleInfo DoctorUser { get; set; }
}
///<summary>TaskMedicalReviewQuery 列表查询参数模型</summary> ///<summary>TaskMedicalReviewQuery 列表查询参数模型</summary>
public class TaskMedicalReviewQuery : PageInput public class TaskMedicalReviewQuery : PageInput
{ {
@ -65,11 +75,22 @@ namespace IRaCIS.Core.Application.ViewModel
public class ManuallyGeneratedAndAssignedMedicalReviewCommand
{
[NotDefault]
public Guid TrialId { get; set; }
[NotDefault]
public Guid MedicalManagerUserId { get; set; }
public List<Guid> TaskIdList { get; set; }
}
public class AssignMedicalReviewTaskCommand public class AssignMedicalReviewTaskCommand
{ {
public List<Guid> IdList { get; set; } public List<Guid> IdList { get; set; }
public Guid? MedicalManagerUserId { get; set; } public Guid? MedicalManagerUserId { get; set; }
public MedicalReviewTaskOptType TaskOptType { get; set; } public MedicalReviewTaskOptType TaskOptType { get; set; }

View File

@ -198,13 +198,13 @@ namespace IRaCIS.Core.Application.Service
SubjectCode = c.Subject.Code, SubjectCode = c.Subject.Code,
TrialSiteCode = c.Subject.TrialSite.TrialSiteCode, TrialSiteCode = c.Subject.TrialSite.TrialSiteCode,
//RelationDoctorUserList = c.SameVisitTaskList/*Where(t=>t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)*/.Select(c => new UserSimpleInfo() RelationDoctorUserList = c.SourceSubjectVisit.VisitTaskList/*Where(t=>t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)*/.Select(c => new UserSimpleInfo()
//{ {
// FullName = c.DoctorUser.FullName, FullName = c.DoctorUser.FullName,
// UserCode = c.DoctorUser.UserCode, UserCode = c.DoctorUser.UserCode,
// UserId = c.DoctorUser.Id, UserId = c.DoctorUser.Id,
// UserName = c.DoctorUser.UserName UserName = c.DoctorUser.UserName
//}).ToList(), }).ToList(),
IsHaveGeneratedTask = c.Subject.SubjectVisitTaskList.Any(t => t.IsAnalysisCreate && t.DoctorUserId == doctorUserId && t.TaskConsistentRuleId == filterObj.Id), IsHaveGeneratedTask = c.Subject.SubjectVisitTaskList.Any(t => t.IsAnalysisCreate && t.DoctorUserId == doctorUserId && t.TaskConsistentRuleId == filterObj.Id),

View File

@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.Service namespace IRaCIS.Core.Application.Service
{ {
@ -22,18 +23,19 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository; private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
private readonly IRepository<Trial> _trialRepository; private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<TrialUser> _trialUserRepository; private readonly IRepository<TrialUser> _trialUserRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<TaskMedicalReviewRule> _taskMedicalReviewRuleRepository; private readonly IRepository<TaskMedicalReviewRule> _taskMedicalReviewRuleRepository;
public TaskMedicalReviewService(IRepository<TaskMedicalReview> taskMedicalReviewRepository, public TaskMedicalReviewService(IRepository<TaskMedicalReview> taskMedicalReviewRepository,
IRepository<Trial> trialRepository, IRepository<Trial> trialRepository,
IRepository<TrialUser> trialUserRepository, IRepository<TrialUser> trialUserRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<TaskMedicalReviewRule> taskMedicalReviewRuleRepository) IRepository<TaskMedicalReviewRule> taskMedicalReviewRuleRepository)
{ {
_taskMedicalReviewRepository = taskMedicalReviewRepository; _taskMedicalReviewRepository = taskMedicalReviewRepository;
this._trialRepository = trialRepository; this._trialRepository = trialRepository;
_trialUserRepository = trialUserRepository; _trialUserRepository = trialUserRepository;
_visitTaskRepository = visitTaskRepository;
_taskMedicalReviewRuleRepository = taskMedicalReviewRuleRepository; _taskMedicalReviewRuleRepository = taskMedicalReviewRuleRepository;
} }
@ -49,7 +51,9 @@ namespace IRaCIS.Core.Application.Service
var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId) var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId)
.WhereIf(inQuery.SiteId != null, t => t.VisitTask.Subject.SiteId == inQuery.SiteId) .WhereIf(inQuery.SiteId != null, t => t.VisitTask.Subject.SiteId == inQuery.SiteId)
.WhereIf(inQuery.SubjectId != null, t => t.VisitTask.SubjectId == inQuery.SubjectId)
.WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => t.VisitTask.Subject.Code.Contains(inQuery.SubjectCode)) .WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => t.VisitTask.Subject.Code.Contains(inQuery.SubjectCode))
.WhereIf(!string.IsNullOrEmpty(inQuery.TaskName), t => t.VisitTask.TaskName.Contains(inQuery.TaskName) || t.VisitTask.TaskBlindName.Contains(inQuery.TaskName))
.WhereIf(inQuery.IsUrgent != null, t => t.VisitTask.IsUrgent == inQuery.IsUrgent) .WhereIf(inQuery.IsUrgent != null, t => t.VisitTask.IsUrgent == inQuery.IsUrgent)
.WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId) .WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId)
.WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory) .WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory)
@ -62,11 +66,58 @@ namespace IRaCIS.Core.Application.Service
} }
/// <summary>
/// 产生医学审核列表
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
public async Task<PageOutput<GenerateMedicalReviewTaskView>> GetGenerateMedicalReviewTaskList(TaskMedicalReviewQuery inQuery)
{
var visitTaskQueryable = _visitTaskRepository.Where(t => t.TrialId == inQuery.TrialId)
.Where(t => t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect && t.ReadingTaskState == ReadingTaskState.HaveSigned)
.WhereIf(inQuery.SiteId != null, t => t.Subject.SiteId == inQuery.SiteId)
.WhereIf(inQuery.SubjectId != null, t => t.SubjectId == inQuery.SubjectId)
.WhereIf(inQuery.IsUrgent != null, t => t.IsUrgent == inQuery.IsUrgent)
.WhereIf(inQuery.DoctorUserId != null, t => t.DoctorUserId == inQuery.DoctorUserId)
.WhereIf(inQuery.ReadingCategory != null, t => t.ReadingCategory == inQuery.ReadingCategory)
.WhereIf(inQuery.ReadingTaskState != null, t => t.ReadingTaskState == inQuery.ReadingTaskState)
.WhereIf(!string.IsNullOrEmpty(inQuery.TaskName), t => t.TaskName.Contains(inQuery.TaskName) || t.TaskBlindName.Contains(inQuery.TaskName))
.WhereIf(!string.IsNullOrEmpty(inQuery.SubjectCode), t => t.Subject.Code.Contains(inQuery.SubjectCode))
.ProjectTo<GenerateMedicalReviewTaskView>(_mapper.ConfigurationProvider);
var defalutSortArray = new string[] { nameof(TaskMedicalReviewView.IsUrgent) + " desc", nameof(TaskMedicalReviewView.SubjectId) };
var pageList = await visitTaskQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc, string.IsNullOrWhiteSpace(inQuery.SortField), defalutSortArray);
return pageList;
}
/// <summary> /// <summary>
/// 产生医学审核任务 /// 手动生成并分配医学审核
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
public async Task<IResponseOutput> ManuallyGeneratedAndAssignedMedicalReview(ManuallyGeneratedAndAssignedMedicalReviewCommand command)
{
foreach (var taskId in command.TaskIdList)
{
await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { TrialId = command.TrialId, VisitTaskId = taskId, MedicalManagerUserId = command.MedicalManagerUserId });
}
await _taskMedicalReviewRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
/// <summary>
/// 产生医学审核
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Obsolete]
public async Task<IResponseOutput> GenerateMedicalReviewTask(GenerateMedicalReviewTaskCommand generateCommand) public async Task<IResponseOutput> GenerateMedicalReviewTask(GenerateMedicalReviewTaskCommand generateCommand)
{ {
var trialId = generateCommand.TrialId; var trialId = generateCommand.TrialId;
@ -102,7 +153,7 @@ namespace IRaCIS.Core.Application.Service
foreach (var toGenerateTask in toGenerateTaskList) foreach (var toGenerateTask in toGenerateTaskList)
{ {
await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { DoctorUserId = (Guid)toGenerateTask.DoctorUserId, TrialId = toGenerateTask.TrialId, VisitTaskId = toGenerateTask.TaskId ,MedicalManagerUserId= defalutMIMUserId }); await _taskMedicalReviewRepository.AddAsync(new TaskMedicalReview() { DoctorUserId = (Guid)toGenerateTask.DoctorUserId, TrialId = toGenerateTask.TrialId, VisitTaskId = toGenerateTask.TaskId, MedicalManagerUserId = defalutMIMUserId });
} }
} }
@ -157,7 +208,7 @@ namespace IRaCIS.Core.Application.Service
if (toGenerateCount > 0) if (toGenerateCount > 0)
{ {
var toGenerateTaskList = item.ActualVisitTaskList.ExceptBy(item.GeneratedVisitTaskList.Select(t=>t.TaskId),t=>t.TaskId).Take(toGenerateCount).ToList(); var toGenerateTaskList = item.ActualVisitTaskList.ExceptBy(item.GeneratedVisitTaskList.Select(t => t.TaskId), t => t.TaskId).Take(toGenerateCount).ToList();
foreach (var toGenerateTask in toGenerateTaskList) foreach (var toGenerateTask in toGenerateTaskList)
{ {
@ -184,7 +235,7 @@ namespace IRaCIS.Core.Application.Service
/// <param name="inQuery"></param> /// <param name="inQuery"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public async Task<(PageOutput<TaskMedicalReviewView>,object)> GetMIMMedicalReviewTaskList(TaskMedicalReviewQuery inQuery) public async Task<(PageOutput<TaskMedicalReviewView>, object)> GetMIMMedicalReviewTaskList(TaskMedicalReviewQuery inQuery)
{ {
var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId && t.MedicalManagerUserId == _userInfo.Id) var taskMedicalReviewQueryable = _taskMedicalReviewRepository.Where(t => t.VisitTask.TrialId == inQuery.TrialId && t.MedicalManagerUserId == _userInfo.Id)
@ -199,9 +250,10 @@ namespace IRaCIS.Core.Application.Service
var pageList = await taskMedicalReviewQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TaskMedicalReviewView.Id) : inQuery.SortField, inQuery.Asc); var pageList = await taskMedicalReviewQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TaskMedicalReviewView.Id) : inQuery.SortField, inQuery.Asc);
return (pageList,new { return (pageList, new
{
IsConfirmMedicineQuestion= await _trialRepository.Where(x=>x.Id== inQuery.TrialId).Select(x=>x.IsConfirmMedicineQuestion).FirstOrDefaultAsync() IsConfirmMedicineQuestion = await _trialRepository.Where(x => x.Id == inQuery.TrialId).Select(x => x.IsConfirmMedicineQuestion).FirstOrDefaultAsync()
}); });
} }
@ -220,9 +272,9 @@ namespace IRaCIS.Core.Application.Service
{ {
var task = await _taskMedicalReviewRepository.FirstOrDefaultAsync(t => t.Id == id); var task = await _taskMedicalReviewRepository.FirstOrDefaultAsync(t => t.Id == id);
if (command.TaskOptType == MedicalReviewTaskOptType.Assign ) if (command.TaskOptType == MedicalReviewTaskOptType.Assign)
{ {
if (task.MedicalManagerUserId != null && task.MedicalManagerUserId !=command.MedicalManagerUserId) if (task.MedicalManagerUserId != null && task.MedicalManagerUserId != command.MedicalManagerUserId)
{ {
throw new BusinessValidationFailedException("当前有任务已分配给其他人,不允许分配,请刷新列表"); throw new BusinessValidationFailedException("当前有任务已分配给其他人,不允许分配,请刷新列表");
} }
@ -244,7 +296,7 @@ namespace IRaCIS.Core.Application.Service
} }
} }
await _taskMedicalReviewRepository.SaveChangesAsync(); await _taskMedicalReviewRepository.SaveChangesAsync();

View File

@ -153,6 +153,13 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsAnalysisCreate ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode)) .ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsAnalysisCreate ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode))
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsAnalysisCreate ? u.BlindSubjectCode : u.Subject.Code)); .ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsAnalysisCreate ? u.BlindSubjectCode : u.Subject.Code));
CreateMap<VisitTask, GenerateMedicalReviewTaskView>()
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsAnalysisCreate ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode))
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsAnalysisCreate ? u.BlindSubjectCode : u.Subject.Code))
.ForMember(o => o.GeneratedMedicalReviewCount, t => t.MapFrom(u => u.TaskMedicalReviewList.Count()))
;
CreateMap<User, UserSimpleInfo>() CreateMap<User, UserSimpleInfo>()
.ForMember(o => o.UserId, t => t.MapFrom(u => u.Id)) .ForMember(o => o.UserId, t => t.MapFrom(u => u.Id))

View File

@ -29,54 +29,60 @@ namespace IRaCIS.Application.Services
//_cache.SetString("test" , "cacheStr"); //_cache.SetString("test" , "cacheStr");
//var aa= _trialRepository.Where(t => t.Id == Guid.Empty).First(); //var aa= _trialRepository.Where(t => t.Id == Guid.Empty).First();
//var aaabb = _trialRepository.BatchDeleteNoTrackingAsync(t => t.Id == Guid.Empty).Result; //var aaabb = _trialRepository.BatchDeleteNoTrackingAsync(t => t.Id == Guid.Empty).Result;
//var aaaa = _dicRepository.BatchDeleteNoTrackingAsync(t => t.Id == Guid.Empty).Result; //var aaaa = _dicRepository.BatchDeleteNoTrackingAsync(t => t.Id == Guid.Empty).Result;
//var waitModifyEntity = _dicRepository.FirstOrDefaultAsync(t => t.Id == Guid.Parse("e2b97a6c-35a6-4aa3-7f27-08da13ab33ff")).GetAwaiter().GetResult(); //var waitModifyEntity = _dicRepository.FirstOrDefaultAsync(t => t.Id == Guid.Parse("e2b97a6c-35a6-4aa3-7f27-08da13ab33ff")).GetAwaiter().GetResult();
//var tt = _dicRepository.UpdateAsync(waitModifyEntity, t => new Dictionary() { Description = "xxxxx" }, true).Result; //var tt = _dicRepository.UpdateAsync(waitModifyEntity, t => new Dictionary() { Description = "xxxxx" }, true).Result;
//var tt2 = _trialRepository.UpdatePartialFromQueryAsync(Guid.Parse("543d0000-3e10-0016-77e9-08da2827228a"), t => new Trial() { Indication = "WCH测试稽查002" }, true).Result; //var tt2 = _trialRepository.UpdatePartialFromQueryAsync(Guid.Parse("543d0000-3e10-0016-77e9-08da2827228a"), t => new Trial() { Indication = "WCH测试稽查002" }, true).Result;
//var d = _repository.Where<User>(t => t.FullName.Contains("cc")).Select(t => t.FullName).FirstOrDefault(); //var d = _repository.Where<User>(t => t.FullName.Contains("cc")).Select(t => t.FullName).FirstOrDefault();
//var c = _dicRepository.Where(t => t.ParentId != null).Select(t => t.MappedValue).First(); //var c = _dicRepository.Where(t => t.ParentId != null).Select(t => t.MappedValue).First();
//CultureInfo culture = CultureInfo.CurrentUICulture; //CultureInfo culture = CultureInfo.CurrentUICulture;
//var dd = _dicRepository.UpdatePartialFields(Guid.Parse("8a90c96e-0776-4f7b-82a6-18933d339584"), //var dd = _dicRepository.UpdatePartialFields(Guid.Parse("8a90c96e-0776-4f7b-82a6-18933d339584"),
// u => new Dictionary() { ParentId = null, Code = "test" }, true); // u => new Dictionary() { ParentId = null, Code = "test" }, true);
//var ggggg = _dicRepository.UpdateFromQueryAsync(t => t.ParentId == Guid.Parse("8a90c96e-0776-4f7b-82a6-18933d339584"), u=>new Dictionary(){Code = "test"}).Result; //var ggggg = _dicRepository.UpdateFromQueryAsync(t => t.ParentId == Guid.Parse("8a90c96e-0776-4f7b-82a6-18933d339584"), u=>new Dictionary(){Code = "test"}).Result;
//var ddd = _dicRepository.BatchUpdateAsync(t => t.Id == Guid.Parse("8a90c96e-0776-4f7b-82a6-18933d339584"), //var ddd = _dicRepository.BatchUpdateAsync(t => t.Id == Guid.Parse("8a90c96e-0776-4f7b-82a6-18933d339584"),
// u => new Dictionary() { /*ParentId = null,*/ Code = "test" }).Result; // u => new Dictionary() { /*ParentId = null,*/ Code = "test" }).Result;
//var aaaaa= _trialRepository.BatchUpdateAsync(t => t.Id == Guid.Empty, //var aaaaa= _trialRepository.BatchUpdateAsync(t => t.Id == Guid.Empty,
// u => new SubjectVisit() { CurrentActionUserId = null }).Result; // u => new SubjectVisit() { CurrentActionUserId = null }).Result;
//var d = _dicRepository.UpdateFromDTOAsync(new AddOrEditBasicDic() { Id = Guid.Parse("60d86683-c33b-4349-b672-08da1e91b622"), ParentId = null, ChildGroup = null, Code = null }, true, true).Result; //var d = _dicRepository.UpdateFromDTOAsync(new AddOrEditBasicDic() { Id = Guid.Parse("60d86683-c33b-4349-b672-08da1e91b622"), ParentId = null, ChildGroup = null, Code = null }, true, true).Result;
var a = 123; var a = 123;
var b = _localizer["test{0}", "测试"]; var b = _localizer["test{0}", "测试"];
//return _localizer["test{0}", "测试"]; //return _localizer["test{0}", "测试"];
return _userInfo.LocalIp;
var list = _repository.Where<SubjectVisit>(t => t.Id == Guid.NewGuid()).SelectMany(t => t.VisitTaskList).ToList();
var list2 = _repository.Where<VisitTask>(t => t.Id == Guid.NewGuid()).Select(t => t.SourceSubjectVisit).ToList();
var list3 = _repository.Where<VisitTask>(t => t.Id == Guid.NewGuid()).SelectMany(t => t.SourceSubjectVisit.VisitTaskList).ToList();
return _userInfo.LocalIp;
} }
public string PostData(List<TestModel> testModelList) public string PostData(List<TestModel> testModelList)
{ {
return string.Join(",", testModelList); return string.Join(",", testModelList);
} }

View File

@ -80,6 +80,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
/// <summary>
/// 冗余 废弃
/// </summary>
public Guid DoctorUserId { get; set; } public Guid DoctorUserId { get; set; }

View File

@ -101,7 +101,7 @@ namespace IRaCIS.Core.Domain.Models
//对于裁判项而言,触发裁判的列表 //对于裁判项而言,触发裁判的列表
public List<VisitTask> JudgeVisitList { get; set; } public List<VisitTask> JudgeVisitList { get; set; }
public List<TaskMedicalReview> TaskMedicalReviewList { get; set; }
//裁判任务的Id //裁判任务的Id

View File

@ -208,7 +208,7 @@ namespace IRaCIS.Core.Domain.Models
public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>(); public List<QCChallengeDialog> QCChallengeDialogList { get; set; } = new List<QCChallengeDialog>();
public List<VisitTask> VisitTaskList { get; set; } = new List<VisitTask>();
public ReadingStatusEnum ReadingStatus { get; set; } public ReadingStatusEnum ReadingStatus { get; set; }

View File

@ -97,10 +97,12 @@ namespace IRaCIS.Core.Infra.EFCore
modelBuilder.Entity<SubjectUser>().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t=>t.SujectArm).HasForeignKey(t => new { t.SubjectId,t.ArmEnum}).HasPrincipalKey(u => new { u.SubjectId,u.ArmEnum }); modelBuilder.Entity<SubjectUser>().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t=>t.SujectArm).HasForeignKey(t => new { t.SubjectId,t.ArmEnum}).HasPrincipalKey(u => new { u.SubjectId,u.ArmEnum });
modelBuilder.Entity<VisitTask>().HasMany(t => t.JudgeVisitList).WithOne(t=>t.JudgeVisitTask); modelBuilder.Entity<VisitTask>().HasMany(t => t.JudgeVisitList).WithOne(t=>t.JudgeVisitTask);
//modelBuilder.Entity<SubjectVisit>().HasMany(t => t.VisitTaskList).WithOne(t => t.SourceSubjectVisit).HasForeignKey(t=>t.SourceSubjectVisitId).HasPrincipalKey(t=>t.Id);
//modelBuilder.Entity<VisitTask>().HasMany(t => t.AnalysisVisitTaskList).WithOne().HasForeignKey(t => t.TaskConsistentRuleId).HasPrincipalKey(u => u.SourceSubjectVisitId); //modelBuilder.Entity<VisitTask>().HasMany(t => t.AnalysisVisitTaskList).WithOne().HasForeignKey(t => t.TaskConsistentRuleId).HasPrincipalKey(u => u.SourceSubjectVisitId);
modelBuilder.Entity<VisitTask>().HasMany(t => t.TaskMedicalReviewList).WithOne(t=>t.VisitTask).HasForeignKey(t => t.VisitTaskId);
modelBuilder.Entity<Dictionary>().HasMany(t => t.ChildList).WithOne(t => t.Parent); modelBuilder.Entity<Dictionary>().HasMany(t => t.ChildList).WithOne(t => t.Parent);
modelBuilder.Entity<SubjectUser>().HasMany(t => t.EarlierSubjectUserList).WithOne(t => t.OrignalSubjectUser); modelBuilder.Entity<SubjectUser>().HasMany(t => t.EarlierSubjectUserList).WithOne(t => t.OrignalSubjectUser);