修改提示
parent
ede9e552eb
commit
78b3633dbb
|
@ -17,26 +17,28 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
public string TaskCode { get; set; }
|
||||||
|
|
||||||
public string TaskName { get; set; }
|
public string TaskName { get; set; }
|
||||||
public string TaskBlindName { get; set; }
|
public string TaskBlindName { get; set; }
|
||||||
|
|
||||||
public ReadingCategory ReadingCategory { get; set; }
|
public ReadingCategory ReadingCategory { get; set; }
|
||||||
|
|
||||||
public TaskAllocationState TaskAllocationState { get; set; }
|
public TaskAllocationState TaskAllocationState { get; set; }
|
||||||
|
public TaskState TaskState { get; set; }
|
||||||
|
|
||||||
public bool IsJudgeTaskReturn { get; set; }
|
|
||||||
|
//public bool IsJudgeTaskReturn { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//public DateTime? CheckPassedTime { get; set; }
|
//public DateTime? CheckPassedTime { get; set; }
|
||||||
public DateTime? AllocateTime { get; set; }
|
public DateTime? AllocateTime { get; set; }
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
public string TaskCode { get; set; }
|
|
||||||
public bool IsUrgent { get; set; }
|
public bool IsUrgent { get; set; }
|
||||||
public Arm ArmEnum { get; set; }
|
public Arm ArmEnum { get; set; }
|
||||||
public Guid? DoctorUserId { get; set; }
|
public Guid? DoctorUserId { get; set; }
|
||||||
|
|
||||||
public TaskState TaskState { get; set; }
|
|
||||||
|
|
||||||
public Guid CreateUserId { get; set; }
|
public Guid CreateUserId { get; set; }
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
|
@ -209,12 +211,23 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
{
|
{
|
||||||
public Guid TrialId { get; set; }
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
public Guid AnalysisDoctorUserId { get; set; }
|
||||||
|
|
||||||
|
public Guid? CompareDoctorUserId { get; set; }
|
||||||
|
|
||||||
|
public int IntervalWeeks { get; set; }
|
||||||
|
|
||||||
|
public bool IsHaveReadingPeriod { get; set; }
|
||||||
|
|
||||||
public Guid? SiteId { get; set; }
|
public Guid? SiteId { get; set; }
|
||||||
|
|
||||||
|
public int? VisitCount { get; set; }
|
||||||
|
|
||||||
public Guid? SubjectId { get; set; }
|
public Guid? SubjectId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public int? SubjectCount { get; set; }
|
|
||||||
|
//public int? SubjectCount { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -226,6 +239,28 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
public String TrialSiteCode { get; set; } = String.Empty;
|
public String TrialSiteCode { get; set; } = String.Empty;
|
||||||
public string SubjectCode { get; set; } = String.Empty;
|
public string SubjectCode { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
public int? VisitValidTaskCount { get; set; }
|
||||||
|
|
||||||
|
public int? VisitValidCount => VisitTaskList.Count();
|
||||||
|
|
||||||
|
public List<VisitTaskSimpleView> VisitTaskList { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class VisitTaskSimpleView
|
||||||
|
{
|
||||||
|
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 ReadingCategory ReadingCategory { get; set; }
|
||||||
|
|
||||||
|
public TaskAllocationState TaskAllocationState { get; set; }
|
||||||
|
public TaskState TaskState { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -228,10 +228,42 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//public async Task<List<SelfConsistentView>> GetSelfConsistentList(SelfConsistentQuery inQuery)
|
public async Task<List<SelfConsistentView>> GetSelfConsistentList(SelfConsistentQuery inQuery)
|
||||||
//{
|
{
|
||||||
|
var query = _visitTaskRepository.Where(t => t.TrialId == inQuery.TrialId && t.DoctorUserId == inQuery.AnalysisDoctorUserId)
|
||||||
|
.Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)
|
||||||
|
.Where(t => t.SignTime!.Value.AddDays(inQuery.IntervalWeeks * 7 + 1) > DateTime.Now)
|
||||||
|
//重阅产生的访视任务 要把之前的访视任务去除
|
||||||
|
.Where(t => t.ReReadingApplyState != ReReadingApplyState.Agree)
|
||||||
|
.WhereIf(inQuery.IsHaveReadingPeriod == false, t => t.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
.WhereIf(inQuery.IsHaveReadingPeriod == true, t => t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global)
|
||||||
|
.GroupBy(t => new { t.SubjectId, t.Subject.SiteId, t.Subject.Code, t.TrialId, t.Subject.TrialSite.TrialSiteCode })
|
||||||
|
.Select(g => new SelfConsistentView()
|
||||||
|
{
|
||||||
|
SubjectId = g.Key.SubjectId,
|
||||||
|
TrialId = g.Key.TrialId,
|
||||||
|
SubjectCode = g.Key.Code,
|
||||||
|
TrialSiteCode = g.Key.TrialSiteCode,
|
||||||
|
SiteId = g.Key.SiteId,
|
||||||
|
|
||||||
//}
|
VisitTaskList = g.OrderBy(t=>t.SubjectVisit.VisitNum).Select(c=>new VisitTaskSimpleView()
|
||||||
|
{
|
||||||
|
Id=c.Id,
|
||||||
|
ReadingCategory=c.ReadingCategory,
|
||||||
|
TaskAllocationState=c.TaskAllocationState,
|
||||||
|
TaskBlindName=c.TaskBlindName,
|
||||||
|
TaskCode =c.TaskCode,
|
||||||
|
TaskName=c.TaskName,
|
||||||
|
TaskState=c.TaskState,
|
||||||
|
TrialId=c.TrialId
|
||||||
|
}).ToList(),
|
||||||
|
|
||||||
|
VisitValidTaskCount = g.Count()
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return query.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -616,7 +648,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new BusinessValidationFailedException("当前提交 Subject 以及医生所在Arm 与任务的Arm不一致,无法绑定,请核对数据");
|
throw new BusinessValidationFailedException("在配置表中未找到配置的医生,无法应用绑定,请核对数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
|
|
||||||
//modelBuilder.HasDbFunction(typeof(DbContext).GetMethod(nameof(GetTableList)));
|
//modelBuilder.HasDbFunction(typeof(DbContext).GetMethod(nameof(GetTableList)));
|
||||||
|
|
||||||
modelBuilder.Entity<TaskAllocationRule>().HasMany(t => t.DoctorVisitTaskList).WithOne(t => t.DoctorTaskAllocationRule).HasForeignKey(t=>t.DoctorUserId).HasPrincipalKey(u=>u.DoctorUserId);
|
modelBuilder.Entity<TaskAllocationRule>().HasMany(t => t.DoctorVisitTaskList).WithOne(t => t.DoctorTaskAllocationRule).HasForeignKey(t=> new { t.DoctorUserId,t.TrialId } ).HasPrincipalKey(u=> new { u.DoctorUserId,u.TrialId });
|
||||||
|
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue