修改一版

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 class BasicDicSelect
{ {
public Guid Id { get; set; } public Guid Id { get; set; }

View File

@ -219,6 +219,22 @@ namespace IRaCIS.Application.Services
return searchList; 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> /// <summary>

View File

@ -71,7 +71,7 @@ namespace IRaCIS.Core.Application.Service.RC
GetSystemOncologyInfoOutDto result = new GetSystemOncologyInfoOutDto() { GetSystemOncologyInfoOutDto result = new GetSystemOncologyInfoOutDto() {
IsOncologyReading = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == inDto.SystemCriterionId).Select(x => x.IsOncologyReading).FirstOrDefaultAsync(), 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() .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) 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 await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.DictionaryIds.Select(x => new ReadingCriterionDictionary
{ {
CriterionId = inDto.SystemCriterionId, CriterionId = inDto.SystemCriterionId,
DictionaryId = x, DictionaryId = x,
IsSystemCriterion = true, IsSystemCriterion = true,
ParentCode = ReadingCommon.OncologyAssess ParentCode = ReadingCommon.CriterionDictionary.OncologyAssess
})); }));
await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.SystemCriterionId, x => new ReadingQuestionCriterionSystem() 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 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(); 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 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.IsBaseLineUse)
.WhereIf(!isBaseLine,x=>x.IsFollowVisitUse) .WhereIf(!isBaseLine,x=>x.IsFollowVisitUse)

View File

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

View File

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

View File

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