diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index 3304f38a3..b1bc46252 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -17,7 +17,8 @@ namespace IRaCIS.Application.Services private readonly IRepository _clinicalDataTrialSetRepository; private readonly IRepository _clinicalDataSystemSetRepository; private readonly IRepository _previousPDFRepository; - private readonly IRepository _trialRepository; + private readonly IRepository _dictionaryRepository; + private readonly IRepository _trialRepository; public ClinicalDataSetService(IRepository subjectVisitRepository, @@ -25,7 +26,8 @@ namespace IRaCIS.Application.Services IRepository ClinicalDataTrialSetRepository, IRepository ClinicalDataSystemSetRepository, IRepository previousPDFRepository, - IRepository trialRepository + IRepository dictionaryRepository, + IRepository trialRepository ) @@ -36,7 +38,8 @@ namespace IRaCIS.Application.Services _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; this._previousPDFRepository = previousPDFRepository; - this._trialRepository = trialRepository; + this._dictionaryRepository = dictionaryRepository; + this._trialRepository = trialRepository; } @@ -51,7 +54,10 @@ namespace IRaCIS.Application.Services public async Task AddOrUpdateClinicalDataSystemSet(ClinicalDataSystemSetAddOrEdit indto) { - var existsQuery = _clinicalDataSystemSetRepository + var dictionary = await _dictionaryRepository.Where(x => x.Parent.Code == "ClinicalDataType" && x.Code == indto.ClinicalDataSetEnum.ToString()).FirstNotNullAsync(); + indto.ClinicalDataSetName = dictionary.ValueCN; + indto.ClinicalDataSetEnName = dictionary.Value; + var existsQuery = _clinicalDataSystemSetRepository .WhereIf(indto.Id != null, x => x.Id != indto.Id) .Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName||x.ClinicalDataSetEnName==indto.ClinicalDataSetEnName); diff --git a/IRaCIS.Core.Domain/SQLFile/Test.sql b/IRaCIS.Core.Domain/SQLFile/Test.sql index 3237dc0f1..0ca488c03 100644 --- a/IRaCIS.Core.Domain/SQLFile/Test.sql +++ b/IRaCIS.Core.Domain/SQLFile/Test.sql @@ -1026,4 +1026,16 @@ WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM CriterionNidusTrial ) INSERT INTO ReadingTrialCriterionDictionary (Id, CriterionId, DictionaryId, CreateTime, CreateUserId, ParentCode, IsBaseLineUse, IsFollowVisitUse, CrterionDictionaryGroup) SELECT id, RC.CriterionId, RC.DictionaryId, CreateTime, '00000000-0000-0000-0000-000000000000', RC.ParentCode, RC.IsBaseLineUse, RC.IsFollowVisitUse, RC.CrterionDictionaryGroup FROM ReadingSystemCriterionDictionary RC -WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM ReadingTrialCriterionDictionary ) and IsSystemCriterion=0 \ No newline at end of file +WHERE CriterionId NOT IN (SELECT DISTINCT CriterionId FROM ReadingTrialCriterionDictionary ) and IsSystemCriterion=0 + + +--- 维护临床数据英文名称 +update clinicalDataSystemSet set clinicalDataSystemSet.ClinicalDataSetEnName=DictionaryChild.Value from Dictionary DictionaryChild +inner join clinicalDataSystemSet on CONVERT(varchar(200),clinicalDataSystemSet.ClinicalDataSetEnum) =DictionaryChild.Code +inner join Dictionary DictionaryParent on DictionaryParent.Id=DictionaryChild.ParentId +where DictionaryParent.Code='ClinicalDataType' +go + + +update ClinicalDataTrialSet set ClinicalDataTrialSet.ClinicalDataSetEnName=clinicalDataSystemSet.ClinicalDataSetEnName from clinicalDataSystemSet +inner join ClinicalDataTrialSet on ClinicalDataTrialSet.SystemClinicalDataSetId=clinicalDataSystemSet.Id \ No newline at end of file