Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-01-29 16:58:33 +08:00
commit 5dd80c91cf
2 changed files with 57 additions and 25 deletions

View File

@ -12,7 +12,17 @@ namespace IRaCIS.Core.Application.ViewModel
public Guid VisitTaskId { get; set; } 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; } public QuestionType QuestionType { get; set; }
} }

View File

@ -404,7 +404,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
if (lowPddTaskid != default(Guid)) 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.QuestionId == inDto.QuestionId
&& x.RowIndex == inDto.RowIndex).Include(x => x.ReadingTableQuestionTrial) && x.RowIndex == inDto.RowIndex).Include(x => x.ReadingTableQuestionTrial)
.Select(x => new .Select(x => new
@ -447,7 +447,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var calculateDto = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId); var calculateDto = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId);
return new GetReportVerifyOutDto() 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), IsExistDisease = await this.GetReportIsExistDisease(inDto.VisitTaskId),
}; };
@ -676,7 +676,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
if (valueOfTypes.Contains(item.ValueType)) 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) 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())) 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?>() { List<QuestionType?> required = new List<QuestionType?>() {
QuestionType.LiverSUVmax, QuestionType.LiverSUVmax,
QuestionType.MediastinumSUVmax, QuestionType.MediastinumSUVmax,
QuestionType.SUVmax, QuestionType.SUVmax,
QuestionType.SUVmaxLesion, QuestionType.SUVmaxLesion,
QuestionType.PET5PS, QuestionType.PET5PS,
}; };
if (taskinfo.VisitTaskNum != 0m) if (taskinfo.VisitTaskNum != 0m)
{ {
required.Add(QuestionType.UptakeChange); required.Add(QuestionType.UptakeChange);
required.Add(QuestionType.EvidenceFocalFDG); required.Add(QuestionType.EvidenceFocalFDG);
} }
if ((await _readingTaskQuestionAnswerRepository.CountAsync(x => required.Contains(x.ReadingQuestionTrial.QuestionType) && x.VisitTaskId == inDto.VisitTaskId && x.Answer != string.Empty)) != required.Count()) if ((await _readingTaskQuestionAnswerRepository.CountAsync(x => required.Contains(x.ReadingQuestionTrial.QuestionType) && x.VisitTaskId == inDto.VisitTaskId && x.Answer != string.Empty)) != required.Count())
{ {
@ -850,10 +850,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
else else
{ {
errorMassage += _localizer["ReadingCalculate_LuganoBaseLinePetVerification"]; errorMassage += _localizer["ReadingCalculate_LuganoBaseLinePetVerification"];
} }
} }
} }
@ -866,16 +866,38 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
#region 将上一次的访视病灶添加到这一次
/// <summary> /// <summary>
/// 将上一次的访视病灶添加到这一次 /// 计算靶病灶状态
/// </summary> /// </summary>
/// <param name="inDto"></param> /// <param name="inDto"></param>
/// <returns></returns> /// <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; var visitTaskId = inDto.VisitTaskId;