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
{
[ApiExplorerSettings(GroupName = "Image")]
public class ReadingCalculateService: BaseService, IReadingCalculateService
public class ReadingCalculateService : BaseService, IReadingCalculateService
{
/// <summary>
@ -126,21 +126,21 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
var service = await this.GetService(inDto.VisitTaskId);
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 result = new AddTaskLesionAnswerFromLastTaskOutDto();
if (readingTaskState == ReadingTaskState.WaitReading)
{
result= await service.AddTaskLesionAnswerFromLastTask(inDto);
result = await service.AddTaskLesionAnswerFromLastTask(inDto);
await service.CalculateTask(new CalculateTaskInDto()
{
IsChangeOtherTask = false,
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,
@ -191,7 +191,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
{
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()
{
@ -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 =>
{
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
{
@ -222,16 +236,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
});
item.Childrens.ForEach(x => {
SetCrterionDictionaryGroup(x, dictionaryGroup);
});
}
return result;
}
else
{
return new GetReadingReportEvaluationOutDto();
}
}
/// <summary>