代码修改

Uat_Study
he 2023-04-24 11:27:50 +08:00
parent eac6fe52a6
commit 62a1200cf3
12 changed files with 152 additions and 87 deletions

View File

@ -22,8 +22,10 @@ namespace IRaCIS.Application.Services
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
private readonly IRepository<TrialCriterionDictionaryCode> _trialCriterionDictionaryCodeRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystem;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<ReadingQuestionCriterionSystem> _readingQuestionCriterionSystem;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrial;
private readonly IReadingQuestionService _readingQuestionService;
@ -32,7 +34,8 @@ namespace IRaCIS.Application.Services
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
IRepository<TrialCriterionDictionaryCode> trialCriterionDictionaryCodeRepository,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystem,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrial,
IReadingQuestionService readingQuestionService
@ -47,7 +50,8 @@ namespace IRaCIS.Application.Services
_trialRepository = trialRepository;
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
this._trialCriterionDictionaryCodeRepository = trialCriterionDictionaryCodeRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._readingQuestionCriterionSystem = readingQuestionCriterionSystem;
this._readingQuestionCriterionTrial = readingQuestionCriterionTrial;
this._readingQuestionService = readingQuestionService;
@ -179,7 +183,14 @@ namespace IRaCIS.Application.Services
//return ResponseOutput.NotOk(_localizer["Dictionary_DictionaryDeletion"]);
}
if (await _dicRepository.AnyAsync(t => t.ParentId == id))
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))
{
//---有子项数据,不允许直接删除!
return ResponseOutput.NotOk(_localizer["Dictionary_SubitemDeletion"]);
@ -201,12 +212,6 @@ namespace IRaCIS.Application.Services
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);
return ResponseOutput.Result(success);
@ -293,7 +298,7 @@ namespace IRaCIS.Application.Services
{
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();
@ -337,16 +342,49 @@ namespace IRaCIS.Application.Services
else
{
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)
{
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
{
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();
}
var criterionCode = await _dicRepository.Where(x => x.ConfigDictionary.Code == "Reading_eCRF_Criterion").Select(x => x.Code).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();
@ -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,
Code = x.Dictionary.Code,

View File

@ -156,8 +156,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
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;
}

View File

@ -20,7 +20,8 @@ namespace IRaCIS.Core.Application.Service.RC
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
private readonly IRepository<ReadingCriterionPage> _readingCriterionPageRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IRepository<SystemCriterionDictionaryCode> _systemCriterionDictionaryCodeRepository;
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
@ -32,7 +33,8 @@ namespace IRaCIS.Core.Application.Service.RC
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
IRepository<VisitTask> visitTaskRepository,
IRepository<SystemCriterionDictionaryCode> systemCriterionDictionaryCodeRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
@ -46,7 +48,8 @@ namespace IRaCIS.Core.Application.Service.RC
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingCriterionPageRepository = readingCriterionPageRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._visitTaskRepository = visitTaskRepository;
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
this._visitTaskRepository = visitTaskRepository;
this._systemCriterionDictionaryCodeRepository = systemCriterionDictionaryCodeRepository;
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
@ -568,11 +571,23 @@ namespace IRaCIS.Core.Application.Service.RC
[HttpPost]
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();
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();
}
}

View File

@ -435,7 +435,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
List<CriterionDictionaryInfo> assessTypeList = await _readingTrialCriterionDictionaryRepository.Where(x => x.CriterionId == taskInfo.TrialReadingCriterionId
&& x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess
)
//.WhereIf(isBaseLine,x=>x.IsBaseLineUse)

View File

@ -43,7 +43,8 @@ namespace IRaCIS.Application.Services
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingTableQuestionSystem> _readingTableQuestionSystemRepository;
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
@ -80,7 +81,8 @@ namespace IRaCIS.Application.Services
IRepository<OrganInfo> organInfoRepository,
IMemoryCache cache,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingTableQuestionSystem> readingTableQuestionSystemRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
@ -120,7 +122,9 @@ namespace IRaCIS.Application.Services
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
this._readingQuestionSystem = ReadingQuestionSystem;
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
this._readingQuestionSystem = ReadingQuestionSystem;
this._noneDicomStudyFileSystem = noneDicomStudyFileSystem;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._cache = cache;

View File

@ -145,7 +145,7 @@ namespace IRaCIS.Application.Services
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
)
.Select(x => new CriterionDictionaryInfo()

View File

@ -39,16 +39,25 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.Value, u => u.MapFrom(s => s.Dictionary.Value))
.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<ReadingClinicalData, GetReadingClinicalDataListOutDto>()
//.ForMember(d => d.ClinicalDataLevel, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataLevel))
//.ForMember(d => d.ClinicalDataLevelName, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataSetName))
//.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType));
//.ForMember(d => d.FileCount, u => u.MapFrom(s => s.ReadingClinicalDataPDFList.Count()));
CreateMap<ReadingClinicalDataPDF, GetReadingClinicalDataPDFListOutDto>();
//CreateMap<ReadingClinicalDataView, GetReadingClinicalDataListOutDto>();
// CreateMap<ReadingClinicalData, GetReadingClinicalDataListOutDto>()
//.ForMember(d => d.ClinicalDataLevel, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataLevel))
//.ForMember(d => d.ClinicalDataLevelName, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataSetName))
//.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType));
//.ForMember(d => d.FileCount, u => u.MapFrom(s => s.ReadingClinicalDataPDFList.Count()));
CreateMap<ReadingClinicalDataPDF, GetReadingClinicalDataPDFListOutDto>();
//.ForMember(d => d.SiteNames, u => u.MapFrom(s => s.ReadingPeriodSites.SelectMany(x => x.Site.SiteName).ToList()));

View File

@ -38,7 +38,8 @@ namespace IRaCIS.Core.Application
private readonly IOrganInfoService _iOrganInfoService;
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
private readonly IReadingQuestionService iReadingQuestionService;
private readonly IRepository<ReadingTrialCriterionDictionary> _readingTrialCriterionDictionaryRepository;
private readonly IReadingQuestionService iReadingQuestionService;
private readonly IRepository<TrialCriterionAdditionalAssessmentType> _trialCriterionAdditionalAssessmentTypeRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
@ -60,7 +61,8 @@ namespace IRaCIS.Core.Application
IRepository<ReadingCriterionPage> readingCriterionPageRepository,
IRepository<TaskAllocationRule> taskAllocationRuleRepository,
IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
IReadingQuestionService iReadingQuestionService,
IRepository<ReadingTrialCriterionDictionary> readingTrialCriterionDictionaryRepository,
IReadingQuestionService iReadingQuestionService,
IEasyCachingProvider provider,
IOrganInfoService iOrganInfoService,
IRepository<TrialCriterionAdditionalAssessmentType> trialCriterionAdditionalAssessmentTypeRepository,
@ -76,7 +78,8 @@ namespace IRaCIS.Core.Application
_trialRepository = trialRepository;
_taskAllocationRuleRepository = taskAllocationRuleRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this.iReadingQuestionService = iReadingQuestionService;
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
this.iReadingQuestionService = iReadingQuestionService;
this._trialQCQuestionRepository = trialQCQuestionRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
@ -226,7 +229,7 @@ namespace IRaCIS.Core.Application
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)
.Select(x => new TrialCriterionDictionaryCode()
@ -242,15 +245,19 @@ namespace IRaCIS.Core.Application
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();
criterionDictionaryList.ForEach(x =>
{
x.Id = NewId.NextGuid();
x.Dictionary = null;
x.IsSystemCriterion = false;
x.CriterionId = inDto.TrialReadingCriterionId;
});
await _readingCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(criterionDictionaryList);
await _trialCriterionDictionaryCode.AddRangeAsync(criterionDictionaryCodeList);
#endregion
@ -309,14 +316,13 @@ namespace IRaCIS.Core.Application
// IsGlobalReading = inDto.IsGlobalReading
//});
await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingCriterionDictionary
await _readingTrialCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.TrialReadingCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess);
await _readingTrialCriterionDictionaryRepository.AddRangeAsync(inDto.GlobalAssessList.Select(x => new ReadingTrialCriterionDictionary
{
CriterionId = inDto.TrialReadingCriterionId,
DictionaryId = x.DictionaryId,
IsBaseLineUse = x.IsBaseLineUse,
IsFollowVisitUse = x.IsFollowVisitUse,
IsSystemCriterion = false,
ParentCode = ReadingCommon.CriterionDictionary.GlobalAssess
}));
@ -340,7 +346,7 @@ namespace IRaCIS.Core.Application
IsGlobalReading = trialCriterion.IsGlobalReading,
IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null,
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
)
.Select(x => new CriterionDictionaryInfo()
@ -374,7 +380,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.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,
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,
DictionaryId = x,
IsSystemCriterion = false,
ParentCode = ReadingCommon.CriterionDictionary.OncologyAssess
}));

View File

@ -409,7 +409,7 @@ namespace IRaCIS.Application.Services
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) ||

View File

@ -63,9 +63,7 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("DictionaryId")]
public Dictionary Dictionary { get; set; }
[ForeignKey("CriterionId")]
[JsonIgnore]
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
}

View File

@ -16,13 +16,6 @@ namespace IRaCIS.Core.Domain.Models
public class ReadingTrialCriterionDictionary : Entity, IAuditAdd
{
/// <summary>
/// Id
/// </summary>
[Key]
[Required]
public Guid Id { get; set; }
/// <summary>
/// CriterionId
/// </summary>
@ -69,9 +62,17 @@ namespace IRaCIS.Core.Domain.Models
/// CrterionDictionaryGroup
/// </summary>
[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; }
}
}

View File

@ -1015,8 +1015,15 @@ INSERT INTO ReadingTaskRelation(Id, TaskId, RelevanceTaskId, RelevanceType, Crea
SELECT NEWID(), TaskId, RelevanceTaskId, 2,ReadingTaskRelation.CreateTime ,ReadingTaskRelation.CreateUserId FROM ReadingTaskRelation inner join VisitTask on VisitTask.Id=ReadingTaskRelation.TaskId WHERE RelevanceType = 1 and ReadingCategory=1
-----------------------------------------2023-04-24-----------------------------------
--CriterionNidusTrial
-- 维护CriterionNidusTrial 数
INSERT INTO CriterionNidusTrial (Id, CriterionId, CreateTime, CreateUserId, LesionType, OrganType)
SELECT NEWID(), CriterionId, GETDATE(), '00000000-0000-0000-0000-000000000000', LesionType, OrganType
FROM CriterionNidus
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