修改一版

Uat_Study
he 2022-10-21 14:32:24 +08:00
parent 06d803fd8f
commit 8653ef23af
7 changed files with 58 additions and 13 deletions

View File

@ -84,6 +84,13 @@ namespace IRaCIS.Application.Contracts
}
public class GetCriterionDictionaryListOutDto
{
public string Code { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
}
public class BasicDicSelect
{
public Guid Id { get; set; }

View File

@ -219,6 +219,22 @@ namespace IRaCIS.Application.Services
return searchList;
}
/// <summary>
/// 获取标准字典
/// </summary>
/// <returns></returns>
public async Task<List<GetCriterionDictionaryListOutDto>> GetCriterionDictionaryList()
{
var dictionaryList = await _dicRepository.Where(x => ReadingCommon.CriterionDictionary.CriterionDictionaryCodeList.Contains(x.Code))
.OrderBy(x => x.ShowOrder).Select(x => new GetCriterionDictionaryListOutDto()
{
Code = x.Code,
Description = x.Description
}).ToListAsync();
return dictionaryList;
}
/// <summary>

View File

@ -71,7 +71,7 @@ namespace IRaCIS.Core.Application.Service.RC
GetSystemOncologyInfoOutDto result = new GetSystemOncologyInfoOutDto() {
IsOncologyReading = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == inDto.SystemCriterionId).Select(x => x.IsOncologyReading).FirstOrDefaultAsync(),
DictionaryList = await _readingCriterionDictionaryRepository.AsQueryable().Where(x => x.CriterionId == inDto.SystemCriterionId && x.ParentCode == ReadingCommon.OncologyAssess)
DictionaryList = await _readingCriterionDictionaryRepository.AsQueryable().Where(x => x.CriterionId == inDto.SystemCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess)
.ProjectTo<CriterionDictionaryInfo>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync()
};
@ -88,14 +88,14 @@ namespace IRaCIS.Core.Application.Service.RC
public async Task<IResponseOutput> SetSystemOncologyInfo(SetSystemOncologyInfoInDto inDto)
{
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.SystemCriterionId && x.ParentCode == ReadingCommon.OncologyAssess);
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.SystemCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess);
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.DictionaryIds.Select(x => new ReadingCriterionDictionary
{
CriterionId = inDto.SystemCriterionId,
DictionaryId = x,
IsSystemCriterion = true,
ParentCode = ReadingCommon.OncologyAssess
ParentCode = ReadingCommon.CriterionDictionary.OncologyAssess
}));
await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.SystemCriterionId, x => new ReadingQuestionCriterionSystem()

View File

@ -203,7 +203,7 @@ namespace IRaCIS.Application.Services
var subjectVisitId = await _readModuleRepository.Where(x => x.Id == taskInfo.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync();
var isBaseLine = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Select(x => x.IsBaseLine).FirstOrDefaultAsync();
List<CriterionDictionaryInfo> assessTypeList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId
&& x.ParentCode == ReadingCommon.GlobalAssess
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
)
.WhereIf(isBaseLine,x=>x.IsBaseLineUse)
.WhereIf(!isBaseLine,x=>x.IsFollowVisitUse)

View File

@ -137,7 +137,7 @@ namespace IRaCIS.Application.Services
result.OncologyVisits = oncologyVisits;
List<CriterionDictionaryInfo> assessTypeList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId
&& x.ParentCode == ReadingCommon.OncologyAssess
&& x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess
)
.Select(x => new CriterionDictionaryInfo()
{

View File

@ -192,7 +192,7 @@ namespace IRaCIS.Core.Application
// IsGlobalReading = inDto.IsGlobalReading
//});
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.GlobalAssess);
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingCriterionDictionary
{
CriterionId = inDto.TrialReadingCriterionId,
@ -200,7 +200,7 @@ namespace IRaCIS.Core.Application
IsBaseLineUse=x.IsBaseLineUse,
IsFollowVisitUse=x.IsFollowVisitUse,
IsSystemCriterion = false,
ParentCode = ReadingCommon.GlobalAssess
ParentCode = ReadingCommon.CriterionDictionary.GlobalAssess
}));
var result= await _readingCriterionDictionaryRepository.SaveChangesAsync();
@ -224,7 +224,7 @@ namespace IRaCIS.Core.Application
IsSystemCriterion= trialCriterion.ReadingQuestionCriterionSystemId!=null,
IsSign=trialCriterion.ReadingInfoSignTime!=null,
GlobalAssessTypes = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId
&& x.ParentCode == ReadingCommon.GlobalAssess
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
)
.Select(x => new CriterionDictionaryInfo()
{
@ -257,7 +257,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 == ReadingCommon.OncologyAssess).Select(x => x.DictionaryId).ToListAsync(),
OncologyAssessIds = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess).Select(x => x.DictionaryId).ToListAsync(),
IsSystemCriterion= trialCriterion.ReadingQuestionCriterionSystemId!=null,
IsSign = trialCriterion.ReadingInfoSignTime != null,
};
@ -281,14 +281,14 @@ namespace IRaCIS.Core.Application
});
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.OncologyAssess);
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess);
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.OncologyAssessIds.Select(x => new ReadingCriterionDictionary
{
CriterionId = inDto.TrialReadingCriterionId,
DictionaryId = x,
IsSystemCriterion = false,
ParentCode = ReadingCommon.OncologyAssess
ParentCode = ReadingCommon.CriterionDictionary.OncologyAssess
}));
var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync();

View File

@ -14,10 +14,32 @@ namespace IRaCIS.Core.Infra.EFCore.Common
{
public static class ReadingCommon
{
/// <summary>
/// 标准字典设置
/// </summary>
public static class CriterionDictionary
{
/// <summary>
/// 全局评估类型
/// </summary>
public const string GlobalAssess = "GlobalAssessType";
public const string GlobalAssess = "GlobalAssessType";
/// <summary>
/// 肿瘤学评估类型
/// </summary>
public const string OncologyAssess = "OncologyAssessType";
public const string OncologyAssess = "OncologyAssessType";
/// <summary>
/// 标准字典需要配置的相
/// </summary>
public static List<string> CriterionDictionaryCodeList = new List<string>()
{
"LesionType",
"QuestionType"
};
}
public static Dictionary<int, string> SplitLesionDic = new Dictionary<int, string>()