修改提示
parent
ede9e552eb
commit
78b3633dbb
|
@ -17,26 +17,28 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
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; }
|
||||
|
||||
public bool IsJudgeTaskReturn { 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; }
|
||||
|
@ -209,12 +211,23 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
{
|
||||
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 int? VisitCount { 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 String TrialSiteCode { 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
|
||||
{
|
||||
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.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<VisitTask>().HasMany(t => t.JudgeVisitList).WithOne(t=>t.JudgeVisitTask);
|
||||
|
|
Loading…
Reference in New Issue