修改
This commit is contained in:
@@ -347,10 +347,6 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
/// </summary>
|
||||
public int ImagePlatform { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 全局阅片
|
||||
/// </summary>
|
||||
public bool IsGlobalReading { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统标准ID
|
||||
@@ -419,7 +415,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
public bool? IsArbitrationReading { get; set; }
|
||||
|
||||
|
||||
public List<Guid> GlobalAssessTypeIds { get; set; }
|
||||
|
||||
|
||||
|
||||
///// <summary>
|
||||
@@ -763,6 +759,33 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
|
||||
}
|
||||
|
||||
public class GetGlobalReadingOutDto
|
||||
{
|
||||
public List<Guid> GlobalAssessTypeIds { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 全局阅片
|
||||
/// </summary>
|
||||
public bool IsGlobalReading { get; set; }
|
||||
|
||||
public bool IsSystemCriterion { get; set; }
|
||||
}
|
||||
|
||||
public class SetGlobalReadingInfoInDto
|
||||
{
|
||||
[NotDefault]
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public List<Guid> GlobalAssessTypeIds { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 全局阅片
|
||||
/// </summary>
|
||||
public bool IsGlobalReading { get; set; }
|
||||
}
|
||||
|
||||
public class GetOncologySetInDto
|
||||
{
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
@@ -138,10 +138,57 @@ namespace IRaCIS.Core.Application
|
||||
{
|
||||
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x=>x.CriterionId == trialCriterion.Id && x.ParentCode == "GlobalAssessType"))&& trialCriterion.ReadingQuestionCriterionSystemId!=null)
|
||||
|
||||
|
||||
|
||||
GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialReadingCriterionId).ProjectTo<GetTrialReadingInfoOutDto>(_mapper.ConfigurationProvider).FirstNotNullAsync();
|
||||
|
||||
|
||||
|
||||
return trialInfo;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改全局阅片配置信息
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> SetGlobalReadingInfo(SetGlobalReadingInfoInDto inDto)
|
||||
{
|
||||
|
||||
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
|
||||
{
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id&&x.ParentCode== "GlobalAssessType");
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value&&x.ParentCode== "GlobalAssessType").
|
||||
IsGlobalReading = inDto.IsGlobalReading
|
||||
|
||||
});
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.GlobalAssess);
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
DictionaryId = x,
|
||||
IsSystemCriterion = false,
|
||||
ParentCode = ReadingCommon.GlobalAssess
|
||||
}));
|
||||
|
||||
var result= await _readingCriterionDictionaryRepository.SaveChangesAsync();
|
||||
|
||||
return ResponseOutput.Ok(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取全局阅片信息
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<GetGlobalReadingOutDto> GetGlobalReadingInfo(GetOncologySetInDto inDto)
|
||||
{
|
||||
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.GlobalAssess)) && trialCriterion.ReadingQuestionCriterionSystemId != null)
|
||||
{
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.GlobalAssess);
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == ReadingCommon.GlobalAssess).
|
||||
Select(x => new ReadingCriterionDictionary()
|
||||
{
|
||||
CriterionId = trialCriterion.Id,
|
||||
@@ -154,31 +201,30 @@ namespace IRaCIS.Core.Application
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
|
||||
await _readingCriterionDictionaryRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
GetGlobalReadingOutDto result = new GetGlobalReadingOutDto()
|
||||
{
|
||||
IsGlobalReading = trialCriterion.IsGlobalReading,
|
||||
IsSystemCriterion= trialCriterion.ReadingQuestionCriterionSystemId!=null,
|
||||
GlobalAssessTypeIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.GlobalAssess).Select(x => x.DictionaryId).ToListAsync(),
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目肿瘤学配置
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
/// <summary>
|
||||
/// 获取项目肿瘤学配置
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetOncologySetOutDto> GetOncologySet(GetOncologySetInDto inDto)
|
||||
{
|
||||
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefaultAsync();
|
||||
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
|
||||
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == "OncologyAssessType")) && trialCriterion.ReadingQuestionCriterionSystemId != null)
|
||||
if ((!await _readingCriterionDictionaryRepository.AnyAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.OncologyAssess)) && trialCriterion.ReadingQuestionCriterionSystemId != null)
|
||||
{
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == "OncologyAssessType");
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == "OncologyAssessType").
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id && x.ParentCode == ReadingCommon.OncologyAssess);
|
||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value && x.ParentCode == ReadingCommon.OncologyAssess).
|
||||
Select(x => new ReadingCriterionDictionary()
|
||||
{
|
||||
CriterionId = trialCriterion.Id,
|
||||
@@ -196,7 +242,7 @@ namespace IRaCIS.Core.Application
|
||||
return new GetOncologySetOutDto
|
||||
{
|
||||
EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason,
|
||||
OncologyAssessIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "OncologyAssessType").Select(x => x.DictionaryId).ToListAsync(),
|
||||
OncologyAssessIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.OncologyAssess).Select(x => x.DictionaryId).ToListAsync(),
|
||||
IsSystemCriterion= trialCriterion.ReadingQuestionCriterionSystemId!=null,
|
||||
IsSign = trialCriterion.ReadingInfoSignTime != null,
|
||||
};
|
||||
@@ -220,14 +266,14 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
});
|
||||
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "OncologyAssess");
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.OncologyAssess);
|
||||
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.OncologyAssessIds.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
DictionaryId = x,
|
||||
IsSystemCriterion = false,
|
||||
ParentCode = "OncologyAssess"
|
||||
ParentCode = ReadingCommon.OncologyAssess
|
||||
}));
|
||||
|
||||
var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync();
|
||||
@@ -353,9 +399,6 @@ namespace IRaCIS.Core.Application
|
||||
DigitPlaces = inDto.DigitPlaces,
|
||||
});
|
||||
|
||||
|
||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == "GlobalAssessType");
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -400,13 +443,7 @@ namespace IRaCIS.Core.Application
|
||||
|
||||
});
|
||||
|
||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessTypeIds.Select(x => new ReadingCriterionDictionary
|
||||
{
|
||||
CriterionId = inDto.TrialReadingCriterionId,
|
||||
DictionaryId = x,
|
||||
IsSystemCriterion = false,
|
||||
ParentCode = "GlobalAssessType"
|
||||
}));
|
||||
|
||||
|
||||
var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user