Uat_Study
he 2023-03-31 18:09:33 +08:00
parent 032936982d
commit e5c9bf0688
5 changed files with 73 additions and 6 deletions

View File

@ -2436,6 +2436,9 @@ namespace IRaCIS.Application.Services
// 既往任务Id // 既往任务Id
List<Guid> pastResultTaskIdList = new List<Guid>(); List<Guid> pastResultTaskIdList = new List<Guid>();
// 冻结任务Id
List<Guid> reportRelatedTaskIdList = new List<Guid>();
if (isReadingTaskViewInOrder) if (isReadingTaskViewInOrder)
{ {
@ -2447,13 +2450,29 @@ namespace IRaCIS.Application.Services
x.DoctorUserId == taskInfo.DoctorUserId && x.DoctorUserId == taskInfo.DoctorUserId &&
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReadingTaskState == ReadingTaskState.HaveSigned &&
(x.TaskState == TaskState.Effect||x.TaskState== TaskState.Freeze) && x.TaskState == TaskState.Effect &&
x.IsSelfAnalysis == taskInfo.IsSelfAnalysis && x.IsSelfAnalysis == taskInfo.IsSelfAnalysis &&
x.IsAnalysisCreate == taskInfo.IsAnalysisCreate && x.IsAnalysisCreate == taskInfo.IsAnalysisCreate &&
x.ReadingCategory == taskInfo.ReadingCategory && x.ReadingCategory == taskInfo.ReadingCategory &&
x.Id != taskInfo.Id x.Id != taskInfo.Id
).OrderBy(x=>x.VisitTaskNum).ThenBy(x=>x.TaskState).Select(x => x.Id).ToListAsync(); ).OrderBy(x=>x.VisitTaskNum).ThenBy(x=>x.TaskState).Select(x => x.Id).ToListAsync();
reportRelatedTaskIdList = await _visitTaskRepository.Where(x =>
x.TrialId == taskInfo.TrialId &&
x.SubjectId == taskInfo.SubjectId &&
x.VisitTaskNum <= taskInfo.VisitTaskNum &&
x.ArmEnum == taskInfo.ArmEnum &&
x.DoctorUserId == taskInfo.DoctorUserId &&
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
(x.TaskState == TaskState.Effect||x.TaskState==TaskState.Freeze) &&
x.IsSelfAnalysis == taskInfo.IsSelfAnalysis &&
x.IsAnalysisCreate == taskInfo.IsAnalysisCreate &&
x.ReadingCategory == taskInfo.ReadingCategory &&
x.Id != taskInfo.Id
).OrderBy(x => x.VisitTaskNum).ThenBy(x => x.TaskState).Select(x => x.Id).ToListAsync();
switch (taskInfo.ReadingCategory) switch (taskInfo.ReadingCategory)
{ {
case ReadingCategory.Visit: case ReadingCategory.Visit:
@ -2485,7 +2504,7 @@ namespace IRaCIS.Application.Services
{ {
ReportRelatedTaskIds = JsonConvert.SerializeObject(reportRelatedTaskIdList),
PastResultTaskIds = JsonConvert.SerializeObject(pastResultTaskIdList), PastResultTaskIds = JsonConvert.SerializeObject(pastResultTaskIdList),
RelatedVisitTaskIds = JsonConvert.SerializeObject(relatedVisitTaskIdList), RelatedVisitTaskIds = JsonConvert.SerializeObject(relatedVisitTaskIdList),
}); });
@ -2504,6 +2523,13 @@ namespace IRaCIS.Application.Services
RelevanceType = RelevanceType.Related, RelevanceType = RelevanceType.Related,
})); }));
await _readingTaskRelationRepository.AddRangeAsync(reportRelatedTaskIdList.Select(x => new ReadingTaskRelation()
{
RelevanceTaskId = x,
TaskId = visitTaskId,
RelevanceType = RelevanceType.ReportResult,
}));
await _visitTaskRepository.SaveChangesAsync(); await _visitTaskRepository.SaveChangesAsync();
} }

View File

@ -300,7 +300,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
); );
if(visitTaskInfo.ReadingTaskState==ReadingTaskState.HaveSigned) if(visitTaskInfo.ReadingTaskState==ReadingTaskState.HaveSigned)
{ {
taskquery = _visitTaskRepository.Where(x => visitTaskInfo.RelatedVisitTaskIdList.Contains(x.Id)||x.Id==visitTaskInfo.Id); taskquery = _visitTaskRepository.Where(x => visitTaskInfo.ReportRelatedTaskIdList.Contains(x.Id)||x.Id==visitTaskInfo.Id);
} }

View File

@ -49,6 +49,11 @@ namespace IRaCIS.Core.Domain.Share
/// 既往任务Id 不包括自己 /// 既往任务Id 不包括自己
/// </summary> /// </summary>
PastResult = 1, PastResult = 1,
/// <summary>
/// 报告 包括自己
/// </summary>
ReportResult = 2,
} }
/// <summary> /// <summary>

View File

@ -200,7 +200,7 @@ namespace IRaCIS.Core.Domain.Models
public string RelatedVisitTaskIds { get; set; } = "[]"; public string RelatedVisitTaskIds { get; set; } = "[]";
/// <summary> /// <summary>
/// 关联的访视任务ID (当前任务是访视任务的话会有自己)集合 不包括冻结 /// 关联的访视任务ID (当前任务是访视任务的话会有自己)集合
/// </summary> /// </summary>
[NotMapped] [NotMapped]
public List<Guid> RelatedVisitTaskIdList public List<Guid> RelatedVisitTaskIdList
@ -223,7 +223,35 @@ namespace IRaCIS.Core.Domain.Models
} }
/// <summary> /// <summary>
/// 既往任务Id 不包括自己 包括冻结 /// 报告任务关系 包含冻结
/// </summary>
public string ReportRelatedTaskIds { get; set; } = "[]";
/// <summary>
/// 报告任务关系 包含冻结
/// </summary>
[NotMapped]
public List<Guid> ReportRelatedTaskIdList
{
get
{
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.ReportRelatedTaskIds);
}
catch (Exception)
{
return new List<Guid>();
}
}
}
/// <summary>
/// 既往任务Id 不包括自己
/// </summary> /// </summary>
public string PastResultTaskIds { get; set; } = "[]"; public string PastResultTaskIds { get; set; } = "[]";
@ -231,7 +259,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 既往任务Id 不包括自己集合 包括冻结 /// 既往任务Id 不包括自己集合
/// </summary> /// </summary>
[NotMapped] [NotMapped]
public List<Guid> PastResultTaskIdList public List<Guid> PastResultTaskIdList

View File

@ -1010,3 +1010,11 @@ update ReadingQuestionTrial set GroupId= (select top 1 id from ReadingQuestion
update ReadingQuestionSystem set GroupId= (select top 1 id from ReadingQuestionSystem a where a.Type='group' and a.GroupName=ReadingQuestionSystem.GroupName and a.ReadingQuestionCriterionSystemId=ReadingQuestionSystem.ReadingQuestionCriterionSystemId) where ReadingQuestionSystem.Type!='group' and GroupId is null update ReadingQuestionSystem set GroupId= (select top 1 id from ReadingQuestionSystem a where a.Type='group' and a.GroupName=ReadingQuestionSystem.GroupName and a.ReadingQuestionCriterionSystemId=ReadingQuestionSystem.ReadingQuestionCriterionSystemId) where ReadingQuestionSystem.Type!='group' and GroupId is null
------------------------------------------------------------------------------------------------------------------------------
update VisitTask set ReportRelatedTaskIds=RelatedVisitTaskIds where ReadingCategory=1 and RelatedVisitTaskIds!='[]'
delete ReadingTaskRelation where RelevanceType=2
INSERT INTO ReadingTaskRelation(Id, TaskId, RelevanceTaskId, RelevanceType, CreateTime,CreateUserId)
SELECT NEWID(), TaskId, RelevanceTaskId, 2,ReadingTaskRelation.CreateTime ,ReadingTaskRelation.CreateUserId FROM ReadingTaskRelation inner join VisitTask on VisitTask.Id=ReadingTaskRelation.TaskId WHERE RelevanceType = 1 and ReadingCategory=1