新加阅片关键点
This commit is contained in:
@@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Newtonsoft.Json;
|
||||
using Panda.DynamicWebApi.Attributes;
|
||||
using System.IO;
|
||||
using ZiggyCreatures.Caching.Fusion;
|
||||
|
||||
namespace IRaCIS.Core.Application
|
||||
@@ -30,6 +31,10 @@ namespace IRaCIS.Core.Application
|
||||
IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystemRepository,
|
||||
IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository,
|
||||
IRepository<ReadingCriterionPage> _readingCriterionPageRepository,
|
||||
|
||||
IRepository<SystemCriterionKeyFile> _systemCriterionKeyFileRepository,
|
||||
IOSSService oSSService,
|
||||
IRepository<TrialCriterionKeyFile> _trialCriterionKeyFileRepository,
|
||||
IOrganInfoService _iOrganInfoService,
|
||||
IRepository<TrialBodyPart> _trialBodyPartRepository,
|
||||
IRepository<ReadingSystemCriterionDictionary> _readingCriterionDictionaryRepository,
|
||||
@@ -276,6 +281,8 @@ namespace IRaCIS.Core.Application
|
||||
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
|
||||
#endregion
|
||||
|
||||
// 同步阅片关键点
|
||||
await SynchronizeKeyFile(inDto.TrialReadingCriterionId);
|
||||
|
||||
//var trialModalitys = _readingQuestionCriterionTrialRepository.Where(t => t.Id == inDto.TrialReadingCriterionId).Select(t => t.Trial.Modalitys).FirstOrDefault();
|
||||
var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == trialCriterion.ReadingQuestionCriterionSystemId).FirstNotNullAsync();
|
||||
@@ -317,6 +324,39 @@ namespace IRaCIS.Core.Application
|
||||
return ResponseOutput.Ok(true);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 同步阅片关键点
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task SynchronizeKeyFile(Guid TrialReadingCriterionId)
|
||||
{
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == TrialReadingCriterionId).AsNoTracking().FirstOrDefaultAsync();
|
||||
if (trialCriterion != null && trialCriterion.ReadingQuestionCriterionSystemId!=null)
|
||||
{
|
||||
var systemCriterionKeyFile = await _systemCriterionKeyFileRepository.Where(x => x.SystemCriterionId == trialCriterion.ReadingQuestionCriterionSystemId).ToListAsync();
|
||||
|
||||
List<TrialCriterionKeyFile> trialCriterionKeyFiles= new List<TrialCriterionKeyFile>();
|
||||
|
||||
foreach (var item in systemCriterionKeyFile)
|
||||
{
|
||||
|
||||
var path= await oSSService.UploadToOSSAsync(item.FilePath, $"{trialCriterion.TrialId}/KeyFile", true);
|
||||
|
||||
trialCriterionKeyFiles.Add(new TrialCriterionKeyFile
|
||||
{
|
||||
TrialCriterionId= TrialReadingCriterionId,
|
||||
FileName= item.FileName,
|
||||
FilePath= path
|
||||
});
|
||||
}
|
||||
|
||||
await _trialCriterionKeyFileRepository.BatchDeleteNoTrackingAsync(x => x.TrialCriterionId == TrialReadingCriterionId);
|
||||
await _trialCriterionKeyFileRepository.AddRangeAsync(trialCriterionKeyFiles);
|
||||
await _trialCriterionKeyFileRepository.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改全局阅片配置信息
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user