修改退回
parent
6f3065f7a6
commit
0d8bb7de6a
|
@ -65,7 +65,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
GroupId=gropId,
|
||||
LimitEdit=LimitEdit.OnlyBaseLine,
|
||||
DictionaryCode="ReadingYesOrNo",
|
||||
DictionaryCode="YesOrNoOrNa",
|
||||
IsJudgeQuestion=false,
|
||||
IsShowInDicom=false,
|
||||
GlobalReadingShowType=GlobalReadingShowType.NotShow,
|
||||
|
|
|
@ -173,13 +173,13 @@ namespace IRaCIS.Core.Application.Service
|
|||
FinalTranslateDictionaryCode = nameof(BrainMetastasisResult)
|
||||
});
|
||||
}
|
||||
else if (item.ReadingEvaluationList.First().Answer != item.ReadingEvaluationList.Last().Answer)
|
||||
else if (item.ReadingEvaluationList.First().Answer != item.ReadingEvaluationList.Last().Answer && item.ReadingEvaluationList.Any(t => t.Answer == 1.ToString()))
|
||||
{
|
||||
item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = item.ReadingEvaluationList.First().QuestionId, Answer = ((int)BrainMetastasisResult.Maybe).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = addtionalQustionInfoList.FirstOrDefault()?.QuestionId, Answer = ((int)BrainMetastasisResult.Unknown).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -203,7 +203,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
else
|
||||
{
|
||||
|
||||
item.FinalEvaluationList.Add(new EvaluationInfo() { QuestionId = addtionalQustionInfoList.FirstOrDefault()?.QuestionId, Answer = ((int)BrainMetastasisResult.Unknown).ToString(), FinalTranslateDictionaryCode = nameof(BrainMetastasisResult) });
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -591,6 +591,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
var filterExpression = await GetTaskExpressionAsync(command);
|
||||
|
||||
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == command.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
|
||||
var subjectVisit = await _subjectVisitRepository.FindAsync(command.SubjectVisitId);
|
||||
|
||||
if (await _visitTaskReReadingRepository.AnyAsync(t => t.RequestReReadingType == RequestReReadingType.DocotorApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default &&
|
||||
|
@ -602,6 +604,50 @@ namespace IRaCIS.Core.Application.Service
|
|||
var list = await _visitTaskRepository.Where(filterExpression)
|
||||
|
||||
.OrderBy(t => t.VisitTaskNum).ProjectTo<InfluenceTaskInfo>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
foreach (var influenceTask in list)
|
||||
{
|
||||
//有序
|
||||
if (criterionConfig.IsReadingTaskViewInOrder)
|
||||
{
|
||||
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != subjectVisit.VisitNum)
|
||||
{
|
||||
//后续访视处理访视
|
||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
{
|
||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||
}
|
||||
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
||||
{
|
||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||
}
|
||||
else
|
||||
{
|
||||
influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//申请的访视 全局肿瘤学
|
||||
|
||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
{
|
||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||
}
|
||||
else
|
||||
{
|
||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||
}
|
||||
}
|
||||
}
|
||||
//无序
|
||||
else
|
||||
{
|
||||
//重阅重置或者失效
|
||||
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return (list, new { IsIRAppyTaskInfluenced = isIRAppyTaskInfluenced });
|
||||
}
|
||||
|
@ -696,6 +742,11 @@ namespace IRaCIS.Core.Application.Service
|
|||
var taskIdList = influenceTaskList.Select(t => t.Id).ToList();
|
||||
var subjectVisitIdLsit = influenceTaskList.Where(t => t.SourceSubjectVisitId != null).Select(t => t.SourceSubjectVisitId).ToList();
|
||||
|
||||
if (subjectVisitIdLsit.Count == 0)
|
||||
{
|
||||
subjectVisitIdLsit.Add(command.SubjectVisitId);
|
||||
}
|
||||
|
||||
//医学审核任务失效
|
||||
await _taskMedicalReviewRepository.UpdatePartialFromQueryAsync(t => taskIdList.Contains(t.VisitTaskId) && t.AuditState != MedicalReviewAuditState.HaveSigned, u => new TaskMedicalReview() { IsInvalid = true });
|
||||
|
||||
|
|
|
@ -22,6 +22,15 @@ namespace IRaCIS.Core.Domain.Models
|
|||
[JsonIgnore]
|
||||
public SubjectVisit SubjectVisit { get; set; }
|
||||
|
||||
[ForeignKey("SeriesId")]
|
||||
[JsonIgnore]
|
||||
public DicomSeries Series { get; set; }
|
||||
|
||||
|
||||
[ForeignKey("StudyId")]
|
||||
[JsonIgnore]
|
||||
public DicomStudy Study { get; set; }
|
||||
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public Guid SubjectVisitId { get; set; }
|
||||
|
|
Loading…
Reference in New Issue