Uat_Study
he 2022-10-20 17:49:18 +08:00
parent 777249bf7a
commit 64291078a0
2 changed files with 35 additions and 34 deletions

View File

@ -782,6 +782,12 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsSign { get; set; }
}
public class AsyncTrialCriterionDictionaryInDto
{
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
}
public class SetGlobalReadingInfoInDto
{
[NotDefault]

View File

@ -149,6 +149,35 @@ namespace IRaCIS.Core.Application
return trialInfo;
}
/// <summary>
/// 同步项目标准字典信息
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AsyncTrialCriterionDictionary(AsyncTrialCriterionDictionaryInDto inDto)
{
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
if (trialCriterion.ReadingQuestionCriterionSystemId != null)
{
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
.ToListAsync();
criterionDictionaryList.ForEach(x => {
x.Id = NewId.NextGuid();
x.Dictionary = null;
x.IsSystemCriterion = false;
x.CriterionId = inDto.TrialReadingCriterionId;
});
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _readingCriterionDictionaryRepository.SaveChangesAsync();
}
return ResponseOutput.Ok(true);
}
/// <summary>
/// 修改全局阅片配置信息
/// </summary>
@ -187,22 +216,6 @@ namespace IRaCIS.Core.Application
{
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
if (trialCriterion.ReadingQuestionCriterionSystemId != null)
{
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
.ToListAsync();
criterionDictionaryList.ForEach(x => {
x.Id = NewId.NextGuid();
x.Dictionary = null;
x.IsSystemCriterion = false;
x.CriterionId = inDto.TrialReadingCriterionId;
});
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _readingCriterionDictionaryRepository.SaveChangesAsync();
}
GetGlobalReadingOutDto result = new GetGlobalReadingOutDto()
{
IsGlobalReading = trialCriterion.IsGlobalReading,
@ -239,24 +252,6 @@ namespace IRaCIS.Core.Application
{
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
if (trialCriterion.ReadingQuestionCriterionSystemId != null)
{
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
.ToListAsync();
criterionDictionaryList.ForEach(x => {
x.Id = NewId.NextGuid();
x.Dictionary = null;
x.IsSystemCriterion = false;
x.CriterionId = inDto.TrialReadingCriterionId;
});
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _readingCriterionDictionaryRepository.SaveChangesAsync();
}
return new GetOncologySetOutDto
{
EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason,