修改一版
parent
06d803fd8f
commit
8653ef23af
|
@ -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; }
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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>()
|
||||
|
|
Loading…
Reference in New Issue