病灶融合修改
parent
7d63f3f5cb
commit
a66bb42126
|
@ -1543,8 +1543,13 @@ namespace IRaCIS.Application.Services
|
|||
Answer = TargetState.Loss.GetEnumInt(),
|
||||
});
|
||||
|
||||
await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => inDto.MergeRowIdList.Contains(x.RowId) &&( x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis || x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis), x => new ReadingTableQuestionAnswer()
|
||||
{
|
||||
Answer = "0",
|
||||
});
|
||||
|
||||
await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x=> inDto.MergeRowIdList.Contains(x.Id), x => new ReadingTableAnswerRowInfo()
|
||||
|
||||
await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x=> inDto.MergeRowIdList.Contains(x.Id), x => new ReadingTableAnswerRowInfo()
|
||||
{
|
||||
MergeRowId=inDto.MergeMainRowId,
|
||||
SplitOrMergeType = SplitOrMergeType.Merge,
|
||||
|
@ -1587,29 +1592,29 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
var rowinfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.RowId).Include(x=>x.ReadingQuestionTrial).FirstNotNullAsync();
|
||||
|
||||
var taskInfo = await _visitTaskRepository.Where(x => x.Id == rowinfo.VisitTaskId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
|
||||
// 需要排除的状态
|
||||
var needFilterState = new List<string>();
|
||||
|
||||
switch (rowinfo.ReadingQuestionTrial.LesionType)
|
||||
var query = _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == rowinfo.VisitTaskId && x.QuestionId == rowinfo.QuestionId && x.Id != rowinfo.Id)
|
||||
.Where(x => x.SplitOrMergeType != SplitOrMergeType.Split && x.SplitOrMergeType != SplitOrMergeType.SplitMain);
|
||||
|
||||
switch (taskInfo.TrialReadingCriterion.CriterionType)
|
||||
{
|
||||
//状态为“消失”、“无法评估”的靶病灶不可融合;
|
||||
case LesionType.TargetLesion:
|
||||
needFilterState = new List<string>() {
|
||||
TargetState.Loss.GetEnumInt(),
|
||||
TargetState.UnableEvaluate.GetEnumInt(),
|
||||
string.Empty,
|
||||
};
|
||||
|
||||
case CriterionType.Lugano2014:
|
||||
query = query.Where(x => x.MeasureData == string.Empty ||
|
||||
(x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && y.Answer == TargetState.Loss.GetEnumInt()) &&
|
||||
x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.IsLymph && y.Answer == ReadingYesOrNo.No.GetEnumInt())
|
||||
));
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
var result = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == rowinfo.VisitTaskId && x.QuestionId == rowinfo.QuestionId && x.Id != rowinfo.Id)
|
||||
// 筛选状态
|
||||
.Where(x => x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && !needFilterState.Contains(y.Answer)))
|
||||
.Where(x=>x.SplitOrMergeType!=SplitOrMergeType.Split&&x.SplitOrMergeType!=SplitOrMergeType.SplitMain)
|
||||
.Select(x => new GetCanMergeLesionOutDto()
|
||||
var result = await query
|
||||
.Select(x => new GetCanMergeLesionOutDto()
|
||||
{
|
||||
RowId = x.Id,
|
||||
RowIndex = x.RowIndex,
|
||||
|
|
Loading…
Reference in New Issue