代码提交
parent
1f4bb0128a
commit
9fff53f137
|
@ -12,7 +12,17 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public Guid VisitTaskId { get; set; }
|
||||
}
|
||||
|
||||
public class ReadingTaskQuestionAnswerDto : ReadingTaskQuestionAnswer
|
||||
public class CalculateTargetLesionStatusInDto
|
||||
{
|
||||
public Guid VisitTaskId { get; set;}
|
||||
|
||||
public Guid QuestionId { get; set; }
|
||||
|
||||
public decimal RowNumber { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class ReadingTaskQuestionAnswerDto : ReadingTaskQuestionAnswer
|
||||
{
|
||||
public QuestionType QuestionType { get; set; }
|
||||
}
|
||||
|
|
|
@ -404,7 +404,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
if (lowPddTaskid != default(Guid))
|
||||
{
|
||||
|
||||
var lowPPDAnswerList = await _readingTableQuestionAnswerRepository.Where(x =>x.VisitTaskId== lowPddTaskid
|
||||
var lowPPDAnswerList = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == lowPddTaskid
|
||||
&& x.QuestionId == inDto.QuestionId
|
||||
&& x.RowIndex == inDto.RowIndex).Include(x => x.ReadingTableQuestionTrial)
|
||||
.Select(x => new
|
||||
|
@ -447,7 +447,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
var calculateDto = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId);
|
||||
return new GetReportVerifyOutDto()
|
||||
{
|
||||
TumorEvaluate = calculateDto.QuestionInfo.Where(x=>x.QuestionType==QuestionType.ImgOncology).Select(x=>x.Answer).FirstOrDefault(),
|
||||
TumorEvaluate = calculateDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ImgOncology).Select(x => x.Answer).FirstOrDefault(),
|
||||
IsExistDisease = await this.GetReportIsExistDisease(inDto.VisitTaskId),
|
||||
|
||||
};
|
||||
|
@ -676,7 +676,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
if (valueOfTypes.Contains(item.ValueType))
|
||||
{
|
||||
item.Answer = decimal.Round(decimal.Parse(item.Answer ?? "0"), inDto.DigitPlaces).ToString("F"+ inDto.DigitPlaces.ToString());
|
||||
item.Answer = decimal.Round(decimal.Parse(item.Answer ?? "0"), inDto.DigitPlaces).ToString("F" + inDto.DigitPlaces.ToString());
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
|
@ -829,18 +829,18 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
if (await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.ReadingQuestionTrial.QuestionType == QuestionType.ExistPET && x.VisitTaskId == inDto.VisitTaskId && x.Answer == ReadingYesOrNo.Yes.GetEnumInt()))
|
||||
{
|
||||
|
||||
List<QuestionType?> required=new List<QuestionType?>() {
|
||||
QuestionType.LiverSUVmax,
|
||||
QuestionType.MediastinumSUVmax,
|
||||
QuestionType.SUVmax,
|
||||
QuestionType.SUVmaxLesion,
|
||||
QuestionType.PET5PS,
|
||||
};
|
||||
List<QuestionType?> required = new List<QuestionType?>() {
|
||||
QuestionType.LiverSUVmax,
|
||||
QuestionType.MediastinumSUVmax,
|
||||
QuestionType.SUVmax,
|
||||
QuestionType.SUVmaxLesion,
|
||||
QuestionType.PET5PS,
|
||||
};
|
||||
if (taskinfo.VisitTaskNum != 0m)
|
||||
{
|
||||
required.Add(QuestionType.UptakeChange);
|
||||
required.Add(QuestionType.EvidenceFocalFDG);
|
||||
}
|
||||
required.Add(QuestionType.UptakeChange);
|
||||
required.Add(QuestionType.EvidenceFocalFDG);
|
||||
}
|
||||
|
||||
if ((await _readingTaskQuestionAnswerRepository.CountAsync(x => required.Contains(x.ReadingQuestionTrial.QuestionType) && x.VisitTaskId == inDto.VisitTaskId && x.Answer != string.Empty)) != required.Count())
|
||||
{
|
||||
|
@ -848,12 +848,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
{
|
||||
errorMassage += _localizer["ReadingCalculate_LuganoPetVerification"];
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
errorMassage += _localizer["ReadingCalculate_LuganoBaseLinePetVerification"];
|
||||
}
|
||||
|
||||
}
|
||||
errorMassage += _localizer["ReadingCalculate_LuganoBaseLinePetVerification"];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -866,16 +866,38 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region 将上一次的访视病灶添加到这一次
|
||||
|
||||
/// <summary>
|
||||
/// 将上一次的访视病灶添加到这一次
|
||||
/// 计算靶病灶状态
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<AddTaskLesionAnswerFromLastTaskOutDto> AddTaskLesionAnswerFromLastTask(AddTaskLesionAnswerFromLastTaskInDto inDto)
|
||||
public async Task CalculateTargetLesionStatus(CalculateTargetLesionStatusInDto inDto)
|
||||
{
|
||||
if (inDto.RowNumber % 1 != 0)
|
||||
{
|
||||
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
|
||||
|
||||
// 找到靶病灶问题
|
||||
var targetQuestion = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId && x.LesionType == LesionType.TargetLesion).FirstOrDefaultAsync();
|
||||
if(targetQuestion!=null)
|
||||
{
|
||||
// 找到状态问题
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#region 将上一次的访视病灶添加到这一次
|
||||
|
||||
/// <summary>
|
||||
/// 将上一次的访视病灶添加到这一次
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<AddTaskLesionAnswerFromLastTaskOutDto> AddTaskLesionAnswerFromLastTask(AddTaskLesionAnswerFromLastTaskInDto inDto)
|
||||
{
|
||||
var visitTaskId = inDto.VisitTaskId;
|
||||
|
||||
|
|
Loading…
Reference in New Issue