病灶融合修改
parent
7d63f3f5cb
commit
a66bb42126
|
@ -1543,8 +1543,13 @@ namespace IRaCIS.Application.Services
|
||||||
Answer = TargetState.Loss.GetEnumInt(),
|
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,
|
MergeRowId=inDto.MergeMainRowId,
|
||||||
SplitOrMergeType = SplitOrMergeType.Merge,
|
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 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>();
|
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:
|
case CriterionType.Lugano2014:
|
||||||
needFilterState = new List<string>() {
|
query = query.Where(x => x.MeasureData == string.Empty ||
|
||||||
TargetState.Loss.GetEnumInt(),
|
(x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && y.Answer == TargetState.Loss.GetEnumInt()) &&
|
||||||
TargetState.UnableEvaluate.GetEnumInt(),
|
x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.IsLymph && y.Answer == ReadingYesOrNo.No.GetEnumInt())
|
||||||
string.Empty,
|
));
|
||||||
};
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var result = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == rowinfo.VisitTaskId && x.QuestionId == rowinfo.QuestionId && x.Id != rowinfo.Id)
|
var result = await query
|
||||||
// 筛选状态
|
.Select(x => new GetCanMergeLesionOutDto()
|
||||||
.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()
|
|
||||||
{
|
{
|
||||||
RowId = x.Id,
|
RowId = x.Id,
|
||||||
RowIndex = x.RowIndex,
|
RowIndex = x.RowIndex,
|
||||||
|
|
Loading…
Reference in New Issue