Uat_Study
he 2023-05-17 13:40:10 +08:00
parent 74c3b2c180
commit 36576d1936
13 changed files with 76 additions and 16 deletions

View File

@ -3834,6 +3834,16 @@
字典code
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReportVerifyOutDto.IsExistDisease">
<summary>
是否存在疾病
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReportVerifyOutDto.TumorEvaluate">
<summary>
整体肿瘤评估
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.VerifyVisitTaskQuestionsInDto.VisitTaskId">
<summary>
任务Id

View File

@ -176,7 +176,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public object ReportCalculateResult{ get; set; }
public object CalculateResult { get; set; }
public GetReportVerifyOutDto CalculateResult { get; set; }
public ReadingTaskState ReadingTaskState { get; set; }
public List<VisitTaskInfo> VisitTaskList { get; set; }
@ -1687,6 +1687,19 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Func<ReadingCalculateDto, Task<string>> Fun { get; set; }
}
public class GetReportVerifyOutDto
{
/// <summary>
/// 是否存在疾病
/// </summary>
public string? IsExistDisease { get; set; }
/// <summary>
/// 整体肿瘤评估
/// </summary>
public string? TumorEvaluate { get; set; }
}
public class GetReportVerifyInDto
{
public Guid VisitTaskId { get; set; }

View File

@ -1406,7 +1406,40 @@ namespace IRaCIS.Application.Services
public async Task<IResponseOutput> ChangeDicomReadingQuestionAnswer(ChangeDicomReadingQuestionAnswerInDto inDto)
{
await VerifyTaskIsSign(inDto.VisitTaskId);
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
var tumorQuestionId = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId && x.QuestionType == QuestionType.Tumor).Select(x => x.Id).FirstOrDefaultAsync();
var tumorAnswer = inDto.Answers.Where(x => x.Id == tumorQuestionId).FirstOrDefault();
if (tumorAnswer != null)
{
var isConvertedTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.IsConvertedTask).FirstOrDefaultAsync();
var reportVerify = await _readingCalculateService.GetReportVerify(new GetReportVerifyInDto() {
BeforeConvertedTaskId= taskInfo.BeforeConvertedTaskId,
IsConvertTask= isConvertedTask,
VisitTaskId=inDto.VisitTaskId
});
if (tumorAnswer.Answer == reportVerify.TumorEvaluate)
{
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.VisitTaskId, x => new VisitTask()
{
IsChangeTumorEvaluate = false
});
}
else
{
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.VisitTaskId, x => new VisitTask()
{
IsChangeTumorEvaluate = true
});
}
}
var criterionId = taskInfo.TrialReadingCriterionId;
var questionIds = inDto.Answers.Select(x => x.Id).ToList();
await _readingTaskQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && questionIds.Contains(x.ReadingQuestionTrialId));

View File

@ -155,7 +155,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
var originalTask = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var taskAnswer = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == beforeConvertedTaskId && x.ReadingQuestionTrial.Type != "calculation").IgnoreAutoIncludes().AsNoTracking().ToListAsync();
var taskAnswer = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == beforeConvertedTaskId &&x.ReadingQuestionTrial.QuestionType!=QuestionType.AdjustReason && x.ReadingQuestionTrial.Type != "calculation").IgnoreAutoIncludes().AsNoTracking().ToListAsync();
taskAnswer.ForEach(x => {

View File

@ -162,7 +162,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
public async Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto)
{
var service = await this.GetService(inDto.VisitTaskId);
@ -173,7 +173,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
else
{
return new { };
return new GetReportVerifyOutDto() { };
}
}

View File

@ -409,7 +409,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
public async Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto)
{
var tumorEvaluate = string.Empty;
var readingCalculateDto= await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId);
@ -428,7 +428,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
tumorEvaluate = await GetIRECSITTargetLesionEvaluate(readingCalculateDto);
}
return new
return new GetReportVerifyOutDto()
{
TumorEvaluate = tumorEvaluate,
IsExistDisease = await this.GetReportIsExistDisease(inDto.VisitTaskId),

View File

@ -37,7 +37,7 @@ namespace IRaCIS.Core.Application.Service
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
Task<object> GetReportVerify(GetReportVerifyInDto inDto);
Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto);
/// <summary>
/// 获取阅片报告

View File

@ -36,7 +36,7 @@ namespace IRaCIS.Core.Application.Service
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
Task<object> GetReportVerify(GetReportVerifyInDto inDto);
Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto);
/// <summary>
/// 获取阅片报告

View File

@ -1018,9 +1018,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
public async Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto)
{
return new() {
return new GetReportVerifyOutDto() {
};
}

View File

@ -371,9 +371,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
public async Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto)
{
return new
return new GetReportVerifyOutDto()
{
TumorEvaluate = await this.GetReportTumor(inDto.VisitTaskId),
IsExistDisease = await this.GetReportIsExistDisease(inDto.VisitTaskId),

View File

@ -367,9 +367,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
public async Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto)
{
return new
return new GetReportVerifyOutDto()
{
TumorEvaluate = await this.GetReportTumor(inDto.VisitTaskId),
IsExistDisease = await this.GetReportIsExistDisease(inDto.VisitTaskId),

View File

@ -506,9 +506,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
public async Task<GetReportVerifyOutDto> GetReportVerify(GetReportVerifyInDto inDto)
{
return new() {
return new GetReportVerifyOutDto() {
};
}

View File

@ -335,6 +335,10 @@ namespace IRaCIS.Core.Domain.Models
).Any();
/// <summary>
/// 是否修改了整体肿瘤评估
/// </summary>
public bool IsChangeTumorEvaluate { get; set; } = false;
/// <summary>