代码修改
parent
eac6fe52a6
commit
62a1200cf3
|
@ -22,6 +22,8 @@ namespace IRaCIS.Application.Services
|
||||||
private readonly IRepository<Trial> _trialRepository;
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
|
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
|
||||||
private readonly IRepository<TrialCriterionDictionaryCode> _trialCriterionDictionaryCodeRepository;
|
private readonly IRepository<TrialCriterionDictionaryCode> _trialCriterionDictionaryCodeRepository;
|
||||||
|
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||||
|
|
||||||
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||||
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystem;
|
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystem;
|
||||||
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
|
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
|
||||||
|
@ -32,6 +34,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
|
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
|
||||||
IRepository<TrialCriterionDictionaryCode> trialCriterionDictionaryCodeRepository,
|
IRepository<TrialCriterionDictionaryCode> trialCriterionDictionaryCodeRepository,
|
||||||
|
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||||
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
||||||
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystem,
|
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystem,
|
||||||
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
|
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
|
||||||
|
@ -47,6 +50,7 @@ namespace IRaCIS.Application.Services
|
||||||
_trialRepository = trialRepository;
|
_trialRepository = trialRepository;
|
||||||
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
|
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
|
||||||
this._trialCriterionDictionaryCodeRepository = trialCriterionDictionaryCodeRepository;
|
this._trialCriterionDictionaryCodeRepository = trialCriterionDictionaryCodeRepository;
|
||||||
|
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
|
||||||
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
||||||
this._readingQuestionCriterionSystem = readingQuestionCriterionSystem;
|
this._readingQuestionCriterionSystem = readingQuestionCriterionSystem;
|
||||||
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
|
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
|
||||||
|
@ -179,6 +183,13 @@ namespace IRaCIS.Application.Services
|
||||||
//return ResponseOutput.NotOk(_localizer["Dictionary_DictionaryDeletion"]);
|
//return ResponseOutput.NotOk(_localizer["Dictionary_DictionaryDeletion"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (await _readingTrialCriterionDictionaryRepository.AnyAsync(x => x.DictionaryId == id))
|
||||||
|
{
|
||||||
|
await _readingTrialCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(t => t.DictionaryId == id);
|
||||||
|
//---当前字典在标准中被引用,不允许删除!
|
||||||
|
//return ResponseOutput.NotOk(_localizer["Dictionary_DictionaryDeletion"]);
|
||||||
|
}
|
||||||
|
|
||||||
if (await _dicRepository.AnyAsync(t => t.ParentId == id))
|
if (await _dicRepository.AnyAsync(t => t.ParentId == id))
|
||||||
{
|
{
|
||||||
//---有子项数据,不允许直接删除!
|
//---有子项数据,不允许直接删除!
|
||||||
|
@ -201,12 +212,6 @@ namespace IRaCIS.Application.Services
|
||||||
return ResponseOutput.NotOk(_localizer["Dictionary_ProjectReference"]);
|
return ResponseOutput.NotOk(_localizer["Dictionary_ProjectReference"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await _readingCriterionDictionaryRepository.AnyAsync(x => x.DictionaryId == id))
|
|
||||||
{
|
|
||||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(t => t.DictionaryId == id);
|
|
||||||
//---当前条目已经在阅片标准中被引用。
|
|
||||||
//return ResponseOutput.NotOk(_localizer["Dictionary_StandardReference"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
var success = await _dicRepository.BatchDeleteNoTrackingAsync(t => t.Id == id);
|
var success = await _dicRepository.BatchDeleteNoTrackingAsync(t => t.Id == id);
|
||||||
return ResponseOutput.Result(success);
|
return ResponseOutput.Result(success);
|
||||||
|
@ -293,7 +298,7 @@ namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
var criterionCodes = await _trialCriterionDictionaryCodeRepository.Where(x => x.TrialCriterionId == inDto.TrialCriterionId).ToListAsync();
|
var criterionCodes = await _trialCriterionDictionaryCodeRepository.Where(x => x.TrialCriterionId == inDto.TrialCriterionId).ToListAsync();
|
||||||
|
|
||||||
var parentCodes = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialCriterionId).Select(x => x.ParentCode).ToListAsync();
|
var parentCodes = await _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialCriterionId).Select(x => x.ParentCode).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
var codes = criterionCodes.Select(x => x.Code).ToList();
|
var codes = criterionCodes.Select(x => x.Code).ToList();
|
||||||
|
@ -337,15 +342,48 @@ namespace IRaCIS.Application.Services
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
List<string> selectCode = new List<string>();
|
List<string> selectCode = new List<string>();
|
||||||
|
List<BasicDicSelect> criterionDictionList = new List<BasicDicSelect>();
|
||||||
|
|
||||||
var isSystemCriterion = await _readingQuestionCriterionSystem.AnyAsync(x => x.Id == inDto.ReadingCriterionId);
|
var isSystemCriterion = await _readingQuestionCriterionSystem.AnyAsync(x => x.Id == inDto.ReadingCriterionId);
|
||||||
if (isSystemCriterion)
|
if (isSystemCriterion)
|
||||||
{
|
{
|
||||||
selectCode = await _systemCriterionDictionaryCodeRepository.Where(x => x.SystemCriterionId == inDto.ReadingCriterionId).Select(x => x.Code).ToListAsync();
|
selectCode = await _systemCriterionDictionaryCodeRepository.Where(x => x.SystemCriterionId == inDto.ReadingCriterionId).Select(x => x.Code).ToListAsync();
|
||||||
|
|
||||||
|
criterionDictionList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.ReadingCriterionId).Select(x => new BasicDicSelect()
|
||||||
|
{
|
||||||
|
ChildGroup = x.Dictionary.ChildGroup,
|
||||||
|
Code = x.Dictionary.Code,
|
||||||
|
DataTypeEnum = x.Dictionary.DataTypeEnum,
|
||||||
|
ParentChildCodeEnum = x.Dictionary.Parent.ChildCodeEnum,
|
||||||
|
ShowOrder = x.Dictionary.ShowOrder,
|
||||||
|
ParentCode = x.ParentCode,
|
||||||
|
CrterionDictionaryGroup = x.CrterionDictionaryGroup,
|
||||||
|
Id = x.DictionaryId,
|
||||||
|
ParentId = x.Dictionary.ParentId,
|
||||||
|
Value = x.Dictionary.Value,
|
||||||
|
ValueCN = x.Dictionary.ValueCN
|
||||||
|
|
||||||
|
}).ToListAsync();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
selectCode = await _trialCriterionDictionaryCodeRepository.Where(x => x.TrialCriterionId == inDto.ReadingCriterionId).Select(x => x.Code).ToListAsync();
|
selectCode = await _trialCriterionDictionaryCodeRepository.Where(x => x.TrialCriterionId == inDto.ReadingCriterionId).Select(x => x.Code).ToListAsync();
|
||||||
|
|
||||||
|
criterionDictionList = await _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.ReadingCriterionId).Select(x => new BasicDicSelect()
|
||||||
|
{
|
||||||
|
ChildGroup = x.Dictionary.ChildGroup,
|
||||||
|
Code = x.Dictionary.Code,
|
||||||
|
DataTypeEnum = x.Dictionary.DataTypeEnum,
|
||||||
|
ParentChildCodeEnum = x.Dictionary.Parent.ChildCodeEnum,
|
||||||
|
ShowOrder = x.Dictionary.ShowOrder,
|
||||||
|
ParentCode = x.ParentCode,
|
||||||
|
CrterionDictionaryGroup = x.CrterionDictionaryGroup,
|
||||||
|
Id = x.DictionaryId,
|
||||||
|
ParentId = x.Dictionary.ParentId,
|
||||||
|
Value = x.Dictionary.Value,
|
||||||
|
ValueCN = x.Dictionary.ValueCN
|
||||||
|
|
||||||
|
}).ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -361,21 +399,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var criterionDictionList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.ReadingCriterionId).Select(x => new BasicDicSelect()
|
|
||||||
{
|
|
||||||
ChildGroup = x.Dictionary.ChildGroup,
|
|
||||||
Code = x.Dictionary.Code,
|
|
||||||
DataTypeEnum = x.Dictionary.DataTypeEnum,
|
|
||||||
ParentChildCodeEnum = x.Dictionary.Parent.ChildCodeEnum,
|
|
||||||
ShowOrder = x.Dictionary.ShowOrder,
|
|
||||||
ParentCode = x.ParentCode,
|
|
||||||
CrterionDictionaryGroup = x.CrterionDictionaryGroup,
|
|
||||||
Id = x.DictionaryId,
|
|
||||||
ParentId = x.Dictionary.ParentId,
|
|
||||||
Value = x.Dictionary.Value,
|
|
||||||
ValueCN = x.Dictionary.ValueCN
|
|
||||||
|
|
||||||
}).ToListAsync();
|
|
||||||
|
|
||||||
criterionDictionList = criterionDictionList.Where(x => selectCode.Contains(x.ParentCode)).ToList();
|
criterionDictionList = criterionDictionList.Where(x => selectCode.Contains(x.ParentCode)).ToList();
|
||||||
|
|
||||||
|
@ -438,7 +462,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var criterionDictionList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId).Select(x => new BasicDicSelect()
|
var criterionDictionList = await _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId).Select(x => new BasicDicSelect()
|
||||||
{
|
{
|
||||||
ChildGroup = x.Dictionary.ChildGroup,
|
ChildGroup = x.Dictionary.ChildGroup,
|
||||||
Code = x.Dictionary.Code,
|
Code = x.Dictionary.Code,
|
||||||
|
|
|
@ -156,8 +156,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public class GetAssessTypeInDto
|
public class GetAssessTypeInDto
|
||||||
{
|
{
|
||||||
[NotDefault]
|
|
||||||
public Guid CriterionId { get; set; }
|
public Guid? SystemCriterionId { get; set; }
|
||||||
|
|
||||||
|
public Guid? TrialCriterionId { get; set; }
|
||||||
|
|
||||||
public string ParentCode { get; set; } = string.Empty;
|
public string ParentCode { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ namespace IRaCIS.Core.Application.Service.RC
|
||||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
|
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
|
||||||
private readonly IRepository<ReadingCriterionPage> _readingCriterionPageRepository;
|
private readonly IRepository<ReadingCriterionPage> _readingCriterionPageRepository;
|
||||||
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||||
|
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
|
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
|
||||||
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
|
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
|
||||||
|
@ -32,6 +33,7 @@ namespace IRaCIS.Core.Application.Service.RC
|
||||||
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
|
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
|
||||||
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
||||||
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
||||||
|
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||||
IRepository<VisitTask> visitTaskRepository,
|
IRepository<VisitTask> visitTaskRepository,
|
||||||
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
|
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
|
||||||
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
|
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
|
||||||
|
@ -46,6 +48,7 @@ namespace IRaCIS.Core.Application.Service.RC
|
||||||
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
|
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
|
||||||
this._readingCriterionPageRepository = readingCriterionPageRepository;
|
this._readingCriterionPageRepository = readingCriterionPageRepository;
|
||||||
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
||||||
|
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
|
||||||
this._visitTaskRepository = visitTaskRepository;
|
this._visitTaskRepository = visitTaskRepository;
|
||||||
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
|
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
|
||||||
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
|
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
|
||||||
|
@ -568,11 +571,23 @@ namespace IRaCIS.Core.Application.Service.RC
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<List<CriterionDictionaryInfo>> GetAssessType(GetAssessTypeInDto inDto)
|
public async Task<List<CriterionDictionaryInfo>> GetAssessType(GetAssessTypeInDto inDto)
|
||||||
{
|
{
|
||||||
List<CriterionDictionaryInfo> result = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.CriterionId
|
|
||||||
|
if (inDto.SystemCriterionId != null)
|
||||||
|
{
|
||||||
|
return await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.SystemCriterionId
|
||||||
)
|
)
|
||||||
.WhereIf(!inDto.ParentCode.IsNullOrEmpty(), x => x.ParentCode == inDto.ParentCode)
|
.WhereIf(!inDto.ParentCode.IsNullOrEmpty(), x => x.ParentCode == inDto.ParentCode)
|
||||||
.ProjectTo<CriterionDictionaryInfo>(_mapper.ConfigurationProvider).OrderBy(x => x.ParentCode).ThenBy(x => x.ShowOrder).ToListAsync();
|
.ProjectTo<CriterionDictionaryInfo>(_mapper.ConfigurationProvider).OrderBy(x => x.ParentCode).ThenBy(x => x.ShowOrder).ToListAsync();
|
||||||
return result;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return await _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.SystemCriterionId
|
||||||
|
)
|
||||||
|
.WhereIf(!inDto.ParentCode.IsNullOrEmpty(), x => x.ParentCode == inDto.ParentCode)
|
||||||
|
.ProjectTo<CriterionDictionaryInfo>(_mapper.ConfigurationProvider).OrderBy(x => x.ParentCode).ThenBy(x => x.ShowOrder).ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -435,7 +435,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 _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId
|
||||||
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
|
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
|
||||||
)
|
)
|
||||||
//.WhereIf(isBaseLine,x=>x.IsBaseLineUse)
|
//.WhereIf(isBaseLine,x=>x.IsBaseLineUse)
|
||||||
|
|
|
@ -43,6 +43,7 @@ namespace IRaCIS.Application.Services
|
||||||
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
||||||
private readonly IRepository<OrganInfo> _organInfoRepository;
|
private readonly IRepository<OrganInfo> _organInfoRepository;
|
||||||
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||||
|
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||||
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
|
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
|
||||||
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
||||||
private readonly IRepository<ReadingTableQuestionSystem> _readingTableQuestionSystemRepository;
|
private readonly IRepository<ReadingTableQuestionSystem> _readingTableQuestionSystemRepository;
|
||||||
|
@ -80,6 +81,7 @@ namespace IRaCIS.Application.Services
|
||||||
IRepository<OrganInfo> organInfoRepository,
|
IRepository<OrganInfo> organInfoRepository,
|
||||||
IMemoryCache cache,
|
IMemoryCache cache,
|
||||||
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
||||||
|
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||||
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
|
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
|
||||||
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
||||||
IRepository<ReadingTableQuestionSystem> readingTableQuestionSystemRepository,
|
IRepository<ReadingTableQuestionSystem> readingTableQuestionSystemRepository,
|
||||||
|
@ -120,6 +122,8 @@ namespace IRaCIS.Application.Services
|
||||||
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
||||||
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
|
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
|
||||||
|
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
|
||||||
|
|
||||||
this._readingQuestionSystem = ReadingQuestionSystem;
|
this._readingQuestionSystem = ReadingQuestionSystem;
|
||||||
this._noneDicomStudyFileSystem = noneDicomStudyFileSystem;
|
this._noneDicomStudyFileSystem = noneDicomStudyFileSystem;
|
||||||
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
||||||
|
|
|
@ -145,7 +145,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 _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId
|
||||||
&& x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess
|
&& x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess
|
||||||
)
|
)
|
||||||
.Select(x => new CriterionDictionaryInfo()
|
.Select(x => new CriterionDictionaryInfo()
|
||||||
|
|
|
@ -39,6 +39,15 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(d => d.Value, u => u.MapFrom(s => s.Dictionary.Value))
|
.ForMember(d => d.Value, u => u.MapFrom(s => s.Dictionary.Value))
|
||||||
.ForMember(d => d.ValueCN, u => u.MapFrom(s => s.Dictionary.ValueCN));
|
.ForMember(d => d.ValueCN, u => u.MapFrom(s => s.Dictionary.ValueCN));
|
||||||
|
|
||||||
|
CreateMap<ReadingTrialCriterionDictionary, CriterionDictionaryInfo>()
|
||||||
|
.ForMember(d => d.ChildGroup, u => u.MapFrom(s => s.Dictionary.ChildGroup))
|
||||||
|
.ForMember(d => d.Code, u => u.MapFrom(s => s.Dictionary.Code))
|
||||||
|
.ForMember(d => d.Description, u => u.MapFrom(s => s.Dictionary.Description))
|
||||||
|
.ForMember(d => d.ShowOrder, u => u.MapFrom(s => s.Dictionary.ShowOrder))
|
||||||
|
.ForMember(d => d.ParentCode, u => u.MapFrom(s => s.Dictionary.Parent.Code))
|
||||||
|
.ForMember(d => d.Value, u => u.MapFrom(s => s.Dictionary.Value))
|
||||||
|
.ForMember(d => d.ValueCN, u => u.MapFrom(s => s.Dictionary.ValueCN));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//CreateMap<ReadingClinicalDataView, GetReadingClinicalDataListOutDto>();
|
//CreateMap<ReadingClinicalDataView, GetReadingClinicalDataListOutDto>();
|
||||||
|
|
|
@ -38,6 +38,7 @@ namespace IRaCIS.Core.Application
|
||||||
private readonly IOrganInfoService _iOrganInfoService;
|
private readonly IOrganInfoService _iOrganInfoService;
|
||||||
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
|
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
|
||||||
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
|
||||||
|
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
|
||||||
private readonly IReadingQuestionService iReadingQuestionService;
|
private readonly IReadingQuestionService iReadingQuestionService;
|
||||||
private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository;
|
private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository;
|
||||||
|
|
||||||
|
@ -60,6 +61,7 @@ namespace IRaCIS.Core.Application
|
||||||
IRepository<ReadingCriterionPage> readingCriterionPageRepository,
|
IRepository<ReadingCriterionPage> readingCriterionPageRepository,
|
||||||
IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
||||||
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
|
||||||
|
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
|
||||||
IReadingQuestionService iReadingQuestionService,
|
IReadingQuestionService iReadingQuestionService,
|
||||||
IEasyCachingProvider provider,
|
IEasyCachingProvider provider,
|
||||||
IOrganInfoService iOrganInfoService,
|
IOrganInfoService iOrganInfoService,
|
||||||
|
@ -76,6 +78,7 @@ namespace IRaCIS.Core.Application
|
||||||
_trialRepository = trialRepository;
|
_trialRepository = trialRepository;
|
||||||
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
||||||
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
|
||||||
|
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
|
||||||
this.iReadingQuestionService = iReadingQuestionService;
|
this.iReadingQuestionService = iReadingQuestionService;
|
||||||
this._trialQCQuestionRepository = trialQCQuestionRepository;
|
this._trialQCQuestionRepository = trialQCQuestionRepository;
|
||||||
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
|
||||||
|
@ -226,7 +229,7 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
await _trialCriterionDictionaryCode.BatchDeleteNoTrackingAsync(x => x.TrialCriterionId == trialCriterion.Id);
|
await _trialCriterionDictionaryCode.BatchDeleteNoTrackingAsync(x => x.TrialCriterionId == trialCriterion.Id);
|
||||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
|
await _readingTrialCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == trialCriterion.Id);
|
||||||
|
|
||||||
var criterionDictionaryCodeList = await _systemCriterionDictionaryCode.Where(x => x.SystemCriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
|
var criterionDictionaryCodeList = await _systemCriterionDictionaryCode.Where(x => x.SystemCriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
|
||||||
.Select(x => new TrialCriterionDictionaryCode()
|
.Select(x => new TrialCriterionDictionaryCode()
|
||||||
|
@ -242,15 +245,19 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
|
|
||||||
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
|
var criterionDictionaryList = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == trialCriterion.ReadingQuestionCriterionSystemId.Value)
|
||||||
|
.Select(x=>new ReadingTrialCriterionDictionary() {
|
||||||
|
|
||||||
|
Id = NewId.NextGuid(),
|
||||||
|
CriterionId = inDto.TrialReadingCriterionId,
|
||||||
|
CrterionDictionaryGroup=x.CrterionDictionaryGroup,
|
||||||
|
IsBaseLineUse=x.IsBaseLineUse,
|
||||||
|
IsFollowVisitUse=x.IsFollowVisitUse,
|
||||||
|
DictionaryId=x.DictionaryId,
|
||||||
|
ParentCode=x.ParentCode,
|
||||||
|
})
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
criterionDictionaryList.ForEach(x =>
|
|
||||||
{
|
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
|
||||||
x.Id = NewId.NextGuid();
|
|
||||||
x.Dictionary = null;
|
|
||||||
x.IsSystemCriterion = false;
|
|
||||||
x.CriterionId = inDto.TrialReadingCriterionId;
|
|
||||||
});
|
|
||||||
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
|
|
||||||
|
|
||||||
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
|
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -309,14 +316,13 @@ namespace IRaCIS.Core.Application
|
||||||
// IsGlobalReading = inDto.IsGlobalReading
|
// IsGlobalReading = inDto.IsGlobalReading
|
||||||
|
|
||||||
//});
|
//});
|
||||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
|
await _readingTrialCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
|
||||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingCriterionDictionary
|
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingTrialCriterionDictionary
|
||||||
{
|
{
|
||||||
CriterionId = inDto.TrialReadingCriterionId,
|
CriterionId = inDto.TrialReadingCriterionId,
|
||||||
DictionaryId = x.DictionaryId,
|
DictionaryId = x.DictionaryId,
|
||||||
IsBaseLineUse = x.IsBaseLineUse,
|
IsBaseLineUse = x.IsBaseLineUse,
|
||||||
IsFollowVisitUse = x.IsFollowVisitUse,
|
IsFollowVisitUse = x.IsFollowVisitUse,
|
||||||
IsSystemCriterion = false,
|
|
||||||
ParentCode = ReadingCommon.CriterionDictionary.GlobalAssess
|
ParentCode = ReadingCommon.CriterionDictionary.GlobalAssess
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -340,7 +346,7 @@ namespace IRaCIS.Core.Application
|
||||||
IsGlobalReading = trialCriterion.IsGlobalReading,
|
IsGlobalReading = trialCriterion.IsGlobalReading,
|
||||||
IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null,
|
IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null,
|
||||||
IsSign = trialCriterion.IsSigned,
|
IsSign = trialCriterion.IsSigned,
|
||||||
GlobalAssessTypes = await _readingCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId
|
GlobalAssessTypes = await _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == inDto.TrialReadingCriterionId
|
||||||
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
|
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
|
||||||
)
|
)
|
||||||
.Select(x => new CriterionDictionaryInfo()
|
.Select(x => new CriterionDictionaryInfo()
|
||||||
|
@ -374,7 +380,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.CriterionDictionary.OncologyAssess).Select(x => x.DictionaryId).ToListAsync(),
|
OncologyAssessIds = await _readingTrialCriterionDictionaryRepository.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.IsSigned,
|
IsSign = trialCriterion.IsSigned,
|
||||||
};
|
};
|
||||||
|
@ -399,13 +405,12 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess);
|
await _readingTrialCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess);
|
||||||
|
|
||||||
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.OncologyAssessIds.Select(x => new ReadingCriterionDictionary
|
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(inDto.OncologyAssessIds.Select(x => new ReadingTrialCriterionDictionary
|
||||||
{
|
{
|
||||||
CriterionId = inDto.TrialReadingCriterionId,
|
CriterionId = inDto.TrialReadingCriterionId,
|
||||||
DictionaryId = x,
|
DictionaryId = x,
|
||||||
IsSystemCriterion = false,
|
|
||||||
ParentCode = ReadingCommon.CriterionDictionary.OncologyAssess
|
ParentCode = ReadingCommon.CriterionDictionary.OncologyAssess
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
|
@ -409,7 +409,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<CriterionNidus>(o => o.TrialReadingCriterion.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<CriterionNidus>(o => o.TrialReadingCriterion.TrialId == trialId) ||
|
||||||
await _repository.BatchDeleteAsync<ReadingCriterionDictionary>(o => o.TrialReadingCriterion.TrialId == trialId) ||
|
|
||||||
|
|
||||||
|
|
||||||
await _repository.BatchDeleteAsync<DataInspection>(o => o.TrialId == trialId) ||
|
await _repository.BatchDeleteAsync<DataInspection>(o => o.TrialId == trialId) ||
|
||||||
|
|
|
@ -63,9 +63,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[ForeignKey("DictionaryId")]
|
[ForeignKey("DictionaryId")]
|
||||||
public Dictionary Dictionary { get; set; }
|
public Dictionary Dictionary { get; set; }
|
||||||
|
|
||||||
[ForeignKey("CriterionId")]
|
|
||||||
[JsonIgnore]
|
|
||||||
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,13 +16,6 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public class ReadingTrialCriterionDictionary : Entity, IAuditAdd
|
public class ReadingTrialCriterionDictionary : Entity, IAuditAdd
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Id
|
|
||||||
/// </summary>
|
|
||||||
[Key]
|
|
||||||
[Required]
|
|
||||||
public Guid Id { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CriterionId
|
/// CriterionId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -69,7 +62,15 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// CrterionDictionaryGroup
|
/// CrterionDictionaryGroup
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required]
|
[Required]
|
||||||
public int CrterionDictionaryGroup { get; set; }
|
public CrterionDictionaryGroup CrterionDictionaryGroup { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[ForeignKey("DictionaryId")]
|
||||||
|
public Dictionary Dictionary { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("CriterionId")]
|
||||||
|
[JsonIgnore]
|
||||||
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1020,3 +1020,10 @@ INSERT INTO CriterionNidusTrial (Id, CriterionId, CreateTime, CreateUserId, Lesi
|
||||||
SELECT NEWID(), CriterionId, GETDATE(), '00000000-0000-0000-0000-000000000000', LesionType, OrganType
|
SELECT NEWID(), CriterionId, GETDATE(), '00000000-0000-0000-0000-000000000000', LesionType, OrganType
|
||||||
FROM CriterionNidus
|
FROM CriterionNidus
|
||||||
WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM CriterionNidusTrial ) and IsSystemCriterion=0
|
WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM CriterionNidusTrial ) and IsSystemCriterion=0
|
||||||
|
|
||||||
|
|
||||||
|
-- 维护ReadingTrialCriterionDictionary 数据
|
||||||
|
INSERT INTO ReadingTrialCriterionDictionary (Id, CriterionId, DictionaryId, CreateTime, CreateUserId, ParentCode, IsBaseLineUse, IsFollowVisitUse, CrterionDictionaryGroup)
|
||||||
|
SELECT NEWID(), RC.CriterionId, RC.DictionaryId, GETDATE(), '00000000-0000-0000-0000-000000000000', RC.ParentCode, RC.IsBaseLineUse, RC.IsFollowVisitUse, RC.CrterionDictionaryGroup
|
||||||
|
FROM ReadingCriterionDictionary RC
|
||||||
|
WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM ReadingTrialCriterionDictionary ) and IsSystemCriterion=0
|
Loading…
Reference in New Issue