Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
commit
bf8938ea31
|
@ -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>
|
||||||
|
@ -23,13 +23,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{CriterionType.IRECIST1Point1,typeof(IRECIST1Point1CalculateService) }
|
{CriterionType.IRECIST1Point1,typeof(IRECIST1Point1CalculateService) }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private readonly IEnumerable<ICriterionCalculateService> _criterionServices;
|
private readonly IEnumerable<ICriterionCalculateService> _criterionServices;
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
|
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
|
||||||
private ICriterionCalculateService _useCriterion;
|
private ICriterionCalculateService _useCriterion;
|
||||||
|
|
||||||
|
|
||||||
public ReadingCalculateService(IEnumerable<ICriterionCalculateService> criterionServices,
|
public ReadingCalculateService(IEnumerable<ICriterionCalculateService> criterionServices,
|
||||||
IRepository<VisitTask> visitTaskRepository,
|
IRepository<VisitTask> visitTaskRepository,
|
||||||
|
@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
|
|
||||||
_criterionServices = criterionServices;
|
_criterionServices = criterionServices;
|
||||||
this._visitTaskRepository = visitTaskRepository;
|
this._visitTaskRepository = visitTaskRepository;
|
||||||
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,11 +63,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
CriterionType thisCriterionType = criterionType;
|
CriterionType thisCriterionType = criterionType;
|
||||||
Type thisServiceType = CalculateServiceDic[thisCriterionType];
|
Type thisServiceType = CalculateServiceDic[thisCriterionType];
|
||||||
_useCriterion = _criterionServices.FirstOrDefault(x => x.GetType().Name == thisServiceType.Name + "Proxy");
|
_useCriterion = _criterionServices.FirstOrDefault(x => x.GetType().Name == thisServiceType.Name + "Proxy");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
@ -91,7 +91,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inDto"></param>
|
/// <param name="inDto"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task CalculateTask(CalculateTaskInDto inDto)
|
public async Task CalculateTask(CalculateTaskInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
var service = await this.GetService(inDto.VisitTaskId);
|
var service = await this.GetService(inDto.VisitTaskId);
|
||||||
|
@ -99,7 +99,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
await service.CalculateTask(inDto);
|
await service.CalculateTask(inDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -114,7 +114,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
await service.VerifyVisitTaskQuestions(inDto);
|
await service.VerifyVisitTaskQuestions(inDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -126,26 +126,26 @@ 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,
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -154,7 +154,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
return new AddTaskLesionAnswerFromLastTaskOutDto();
|
return new AddTaskLesionAnswerFromLastTaskOutDto();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -164,7 +164,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
|
public async Task<object> GetReportVerify(GetReportVerifyInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
var service = await this.GetService(inDto.VisitTaskId);
|
var service = await this.GetService(inDto.VisitTaskId);
|
||||||
|
|
||||||
if (service != null)
|
if (service != null)
|
||||||
|
@ -175,7 +175,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
{
|
{
|
||||||
return new { };
|
return new { };
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -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()
|
||||||
{
|
{
|
||||||
|
@ -199,29 +199,17 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
VisitTaskId = inDto.VisitTaskId
|
VisitTaskId = inDto.VisitTaskId
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var result = await service.GetReadingReportEvaluation(inDto);
|
var result = await service.GetReadingReportEvaluation(inDto);
|
||||||
|
|
||||||
|
|
||||||
// 这里统一处理字典
|
// 这里统一处理字典
|
||||||
|
|
||||||
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 =>
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
z.CrterionDictionaryGroup = dictionaryGroup[z.VisitTaskId];
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -234,6 +222,30 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void SetCrterionDictionaryGroup(ReadingReportDto item, Dictionary<Guid, List<CrterionDictionaryGroup>> dictionaryGroup)
|
||||||
|
{
|
||||||
|
item.Answer.ForEach(z =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
z.CrterionDictionaryGroup = dictionaryGroup[z.VisitTaskId];
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
item.Childrens.ForEach(x => {
|
||||||
|
|
||||||
|
SetCrterionDictionaryGroup(x, dictionaryGroup);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 删除病灶获取起始病灶序号
|
/// 删除病灶获取起始病灶序号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue