This commit is contained in:
he
2022-10-18 09:25:34 +08:00
parent ca01517aa3
commit 248026555c
5 changed files with 236 additions and 193 deletions
@@ -397,6 +397,9 @@ namespace IRaCIS.Core.Application.Contracts
public bool? IsArbitrationReading { get; set; }
public List<Guid> GlobalAssessTypeIds { get; set; }
///// <summary>
///// 阅片模式
///// </summary>
@@ -721,6 +724,8 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsSign { get; set; }
public List<Guid> GlobalAssessTypeIds { get; set; }
/// <summary>
/// 评估结果
/// </summary>
@@ -759,6 +764,9 @@ namespace IRaCIS.Core.Application.Contracts
{
public Guid TrialReadingCriterionId { get; set; }
public List<Guid> GlobalAssessTypeIds { get; set; }
/// <summary>
/// 表单类型
/// </summary>
@@ -28,6 +28,7 @@ namespace IRaCIS.Core.Application
private readonly IEasyCachingProvider _provider;
private readonly IOrganInfoService _iOrganInfoService;
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IReadingQuestionService iReadingQuestionService;
public TrialConfigService(IRepository<Trial> trialRepository,
@@ -37,6 +38,7 @@ namespace IRaCIS.Core.Application
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
IRepository<ReadingCriterionPage> readingCriterionPageRepository,
IRepository<TaskAllocationRule> taskAllocationRuleRepository,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IReadingQuestionService iReadingQuestionService,
IEasyCachingProvider provider,
IOrganInfoService iOrganInfoService
@@ -44,6 +46,7 @@ namespace IRaCIS.Core.Application
{
_trialRepository = trialRepository;
_taskAllocationRuleRepository = taskAllocationRuleRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this.iReadingQuestionService = iReadingQuestionService;
this._trialQCQuestionRepository = trialQCQuestionRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
@@ -134,6 +137,9 @@ namespace IRaCIS.Core.Application
public async Task<GetTrialReadingInfoOutDto> GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto)
{
GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
trialInfo.GlobalAssessTypeIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType").Select(x => x.DictionaryId).ToListAsync();
return trialInfo;
}
@@ -152,6 +158,7 @@ namespace IRaCIS.Core.Application
return new GetOncologySetOutDto
{
EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason,
EvaluationResult= trialCriterion.EvaluationResult,
IsShowDetail=trialCriterion.IsShowDetail,
@@ -300,10 +307,20 @@ namespace IRaCIS.Core.Application
{
FormType = inDto.FormType,
DigitPlaces = inDto.DigitPlaces,
});
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType");
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary
{
CriterionId = inDto.TrialReadingCriterionId,
DictionaryId = x,
IsSystemCriterion = false,
ParentCode = "GlobalAssessType"
}));
var result = await _trialRepository.SaveChangesAsync();