IRC_NewDev
he 2023-12-20 14:42:05 +08:00
parent affc336f7d
commit 4afbbcde99
2 changed files with 18 additions and 6 deletions

View File

@ -1130,7 +1130,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{ {
public Guid OncologyTaskId { get; set; } public Guid OncologyTaskId { get; set; }
public Guid GlobalTaskId { get; set; } public Guid RelatedTaskId { get; set; }
public List<SetOncologyQuestion> OncologyQuestionList { get; set; } public List<SetOncologyQuestion> OncologyQuestionList { get; set; }
} }
@ -1265,6 +1265,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid GlobalTaskId { get; set; } public Guid GlobalTaskId { get; set; }
public Guid RelatedTaskId { get; set; }
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }

View File

@ -56,10 +56,19 @@ namespace IRaCIS.Application.Services
var relatedVisitTaskIdList = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.RelatedVisitTaskIdList).FirstNotNullAsync(); var relatedVisitTaskIdList = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.RelatedVisitTaskIdList).FirstNotNullAsync();
if (taskInfo.ReadingTaskState == ReadingTaskState.HaveSigned && relatedVisitTaskIdList.Count() > 0) if (taskInfo.ReadingTaskState == ReadingTaskState.HaveSigned && relatedVisitTaskIdList.Count() > 0)
{ {
if (relatedVisitTaskIdList.Count() > 0) var judgeResultTaskId = await _visitTaskRepository.Where(x => x.Id == relatedVisitTaskIdList[0]).Select(x => x.JudgeResultTaskId).FirstOrDefaultAsync();
// 说明是裁判 取裁判结果
if (judgeResultTaskId != null)
{ {
globalTaskInfo = await _visitTaskRepository.Where(x => x.Id == relatedVisitTaskIdList[0]).FirstNotNullAsync(); globalTaskInfo = await _visitTaskRepository.Where(x =>x.Id== judgeResultTaskId).FirstNotNullAsync();
} }
else
{
globalTaskInfo = await _visitTaskRepository.Where(x => x.Id == relatedVisitTaskIdList[0]).FirstNotNullAsync();
}
} }
else else
{ {
@ -83,7 +92,7 @@ namespace IRaCIS.Application.Services
// 判断是否产生裁判 // 判断是否产生裁判
if (globalTaskInfo.JudgeVisitTaskId == null) if (globalTaskInfo!.JudgeVisitTaskId == null)
{ {
visitTask = globalTaskInfo; visitTask = globalTaskInfo;
// 全局的关联访视 // 全局的关联访视
@ -96,10 +105,11 @@ namespace IRaCIS.Application.Services
{ {
throw new BusinessValidationFailedException(_localizer["ReadingOncology_Abnormal"]); throw new BusinessValidationFailedException(_localizer["ReadingOncology_Abnormal"]);
} }
visitTask = await _visitTaskRepository.Where(x => x.Id == judgeResultTaskId).FirstOrDefaultAsync(); visitTask = await _visitTaskRepository.Where(x => x.Id == judgeResultTaskId).FirstNotNullAsync();
visitTaskIdList= await _visitTaskRepository.Where(x => x.Id == judgeResultTaskId).Select(x=>x.RelatedVisitTaskIdList).FirstNotNullAsync(); visitTaskIdList= await _visitTaskRepository.Where(x => x.Id == judgeResultTaskId).Select(x=>x.RelatedVisitTaskIdList).FirstNotNullAsync();
} }
result.RelatedTaskId = globalTaskInfo!.JudgeVisitTaskId ?? globalTaskInfo.Id;
result.GlobalTaskId = visitTask.Id; result.GlobalTaskId = visitTask.Id;
result.SubjectId = visitTask.SubjectId; result.SubjectId = visitTask.SubjectId;
@ -201,7 +211,7 @@ namespace IRaCIS.Application.Services
await _readingOncologyTaskInfoRepository.AddRangeAsync(readingOncologies); await _readingOncologyTaskInfoRepository.AddRangeAsync(readingOncologies);
var relatedVisitTaskIdList=new List<Guid>(); var relatedVisitTaskIdList=new List<Guid>();
relatedVisitTaskIdList.Add(inDto.GlobalTaskId); relatedVisitTaskIdList.Add(inDto.RelatedTaskId);
var relatedVisitTaskIds = JsonConvert.SerializeObject(relatedVisitTaskIdList); var relatedVisitTaskIds = JsonConvert.SerializeObject(relatedVisitTaskIdList);