Uat_Study
hang 2023-03-22 11:38:35 +08:00
commit bf8938ea31
1 changed files with 46 additions and 34 deletions

View File

@ -8,7 +8,7 @@ using IRaCIS.Core.Application.ViewModel;
namespace IRaCIS.Core.Application.Service.ReadingCalculate namespace IRaCIS.Core.Application.Service.ReadingCalculate
{ {
[ApiExplorerSettings(GroupName = "Image")] [ApiExplorerSettings(GroupName = "Image")]
public class ReadingCalculateService: BaseService, IReadingCalculateService public class ReadingCalculateService : BaseService, IReadingCalculateService
{ {
/// <summary> /// <summary>
@ -126,21 +126,21 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{ {
var service = await this.GetService(inDto.VisitTaskId); var service = await this.GetService(inDto.VisitTaskId);
var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
if (service != null&& visitTaskInfo.SourceSubjectVisitId!=null) if (service != null && visitTaskInfo.SourceSubjectVisitId != null)
{ {
var readingTaskState = visitTaskInfo.ReadingTaskState; var readingTaskState = visitTaskInfo.ReadingTaskState;
var result = new AddTaskLesionAnswerFromLastTaskOutDto(); var result = new AddTaskLesionAnswerFromLastTaskOutDto();
if (readingTaskState == ReadingTaskState.WaitReading) if (readingTaskState == ReadingTaskState.WaitReading)
{ {
result= await service.AddTaskLesionAnswerFromLastTask(inDto); result = await service.AddTaskLesionAnswerFromLastTask(inDto);
await service.CalculateTask(new CalculateTaskInDto() await service.CalculateTask(new CalculateTaskInDto()
{ {
IsChangeOtherTask = false, IsChangeOtherTask = false,
VisitTaskId = inDto.VisitTaskId, VisitTaskId = inDto.VisitTaskId,
}); });
await _visitTaskRepository.BatchUpdateNoTrackingAsync(x=>x.Id==inDto.VisitTaskId, x => new VisitTask() await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.VisitTaskId, x => new VisitTask()
{ {
ReadingTaskState = ReadingTaskState.Reading, ReadingTaskState = ReadingTaskState.Reading,
@ -191,7 +191,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{ {
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
if (taskInfo.ReadingTaskState != ReadingTaskState.HaveSigned&&inDto.IsCalculate) if (taskInfo.ReadingTaskState != ReadingTaskState.HaveSigned && inDto.IsCalculate)
{ {
await service.CalculateTask(new CalculateTaskInDto() await service.CalculateTask(new CalculateTaskInDto()
{ {
@ -205,12 +205,26 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// 这里统一处理字典 // 这里统一处理字典
var dictionaryGroup = result.VisitTaskList.ToDictionary(x => x.VisitTaskId, x => x.CrterionDictionaryGroup); Dictionary<Guid,List<CrterionDictionaryGroup>> dictionaryGroup = result.VisitTaskList.ToDictionary(x => x.VisitTaskId, x => x.CrterionDictionaryGroup);
result.TaskQuestions.ForEach(y => result.TaskQuestions.ForEach(y =>
{ {
SetCrterionDictionaryGroup(y, dictionaryGroup);
});
y.Answer.ForEach(z =>
return result;
}
else
{
return new GetReadingReportEvaluationOutDto();
}
}
public void SetCrterionDictionaryGroup(ReadingReportDto item, Dictionary<Guid, List<CrterionDictionaryGroup>> dictionaryGroup)
{
item.Answer.ForEach(z =>
{ {
try try
{ {
@ -222,16 +236,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
}); });
item.Childrens.ForEach(x => {
SetCrterionDictionaryGroup(x, dictionaryGroup);
}); });
}
return result;
}
else
{
return new GetReadingReportEvaluationOutDto();
}
}
/// <summary> /// <summary>