diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 0baba4a08..2cf9c39c5 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2385,6 +2385,11 @@ 名称 + + + 英文名称 + + 临床级别 @@ -2435,6 +2440,11 @@ 名称 + + + 英文名称 + + 临床级别 @@ -2525,11 +2535,21 @@ 名称 + + + 英文名称 + + 名称 + + + 英文名称 + + 临床级别 @@ -2550,6 +2570,11 @@ 名称 + + + 英文名称 + + 临床级别 @@ -2940,6 +2965,11 @@ 名称 + + + 英文名称 + + 上传方式 @@ -3065,6 +3095,11 @@ 项目配置临床类型Name + + + 英文名称 + + 下拉ID @@ -3180,6 +3215,11 @@ 名称 + + + 英文名称 + + 临床级别 @@ -4520,6 +4560,11 @@ 问题名称 + + + 问题英文名称 + + 类型值 @@ -4585,6 +4630,11 @@ 肿瘤学原因 + + + 问题英文名称 + + 排序 @@ -7756,11 +7806,21 @@ ReadingMedicineSystemQuestionQuery 列表查询参数模型 + + + 问题英文名称 + + 任务类型 + + + 问题英文名称 + + 类型值 @@ -7809,6 +7869,11 @@ 问题名称 + + + 问题英文名称 + + 是否是必须 @@ -7859,6 +7924,11 @@ 问题名称 + + + 问题英文名称 + + 类型值 @@ -7902,6 +7972,11 @@ 项目Id + + + 问题英文名称 + + 任务类型 @@ -7910,6 +7985,11 @@ ReadingMedicineTrialQuestionAddOrEdit 列表查询参数模型 + + + 问题英文名称 + + 任务类型 @@ -8283,36 +8363,76 @@ + + + 问题英文名称 + + QCQuestionConfigureView 列表视图模型 + + + 问题英文名称 + + QCQuestionQuery 列表查询参数模型 QuestionName + + + 问题英文名称 + + TypeValue QCQuestionAddOrEdit 列表查询参数模型 + + + 问题英文名称 + + TrialQCQuestionConfigureView 列表视图模型 + + + 问题英文名称 + + + + + 问题英文名称 + + TrialQCQuestionQuery 列表查询参数模型 QuestionName + + + 问题英文名称 + + TypeValue TrialQCQuestionAddOrEdit 列表查询参数模型 + + + 问题英文名称 + + NoneDicomStudyService diff --git a/IRaCIS.Core.Application/Resources/en-US.json b/IRaCIS.Core.Application/Resources/en-US.json index 022812d97..b3235d739 100644 --- a/IRaCIS.Core.Application/Resources/en-US.json +++ b/IRaCIS.Core.Application/Resources/en-US.json @@ -3,6 +3,11 @@ "RequiredAttribute": "{0} is required", //-------------------------------------------------------------------------------------Reading----------------------------------------------------------------- + //ClinicalDataSetService + "ClinicalDataSet_DupTypeFail": "There are duplicate clinical data of the same type. The operation failed.", + //ReadingClinicalDataService + "ReadingClinicalData_DupTypeFail": "There are duplicate clinical data of the same type. The operation failed.", + "ReadingClinicalData_Unchecked": "The current clinical data status is not verified and signing is not allowed!", //ReadingGlobalTaskService "ReadingGlobal_NotGlobal": "System call error. The current read is not a global review read.", //ReadingImageTaskService diff --git a/IRaCIS.Core.Application/Resources/zh-CN.json b/IRaCIS.Core.Application/Resources/zh-CN.json index 37b203a13..d356e2ea8 100644 --- a/IRaCIS.Core.Application/Resources/zh-CN.json +++ b/IRaCIS.Core.Application/Resources/zh-CN.json @@ -3,6 +3,11 @@ "RequiredAttribute": "{0} 字段是必须的", // ------------------------------------------------------------Reading-------------------------------------------------------------------- + //ClinicalDataSetService + "ClinicalDataSet_DupTypeFail": "存在同类型的临床数据,操作失败", + //ReadingClinicalDataService + "ReadingClinicalData_DupTypeFail": "存在同类型的临床数据,操作失败", + "ReadingClinicalData_Unchecked": "当前临床数据状态不是已核查状态,不允许签名!", //ReadingGlobalTaskService "ReadingGlobal_NotGlobal": "系统调用错误,当前任务不是全局阅片任务。", //ReadingImageTaskService diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCQuestionConfigureViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCQuestionConfigureViewModel.cs index 98cbf5592..f1ed1a624 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCQuestionConfigureViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCQuestionConfigureViewModel.cs @@ -20,7 +20,12 @@ namespace IRaCIS.Core.Application.Contracts { public Guid Id { get; set; } public string QuestionName { get; set; } = String.Empty; - public bool IsRequired { get; set; } + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + public bool IsRequired { get; set; } public bool IsEnable { get; set; } public string Type { get; set; } = String.Empty; public string ParentTriggerValue { get; set; } @@ -43,7 +48,12 @@ namespace IRaCIS.Core.Application.Contracts { public Guid Id { get; set; } public string QuestionName { get; set; } = String.Empty; - public bool IsRequired { get; set; } + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + public bool IsRequired { get; set; } public bool IsEnable { get; set; } public string Type { get; set; } = String.Empty; public string ParentTriggerValue { get; set; } @@ -67,8 +77,13 @@ namespace IRaCIS.Core.Application.Contracts /// QuestionName public string QuestionName { get; set; } = String.Empty; - /// TypeValue - public string Type { get; set; } = String.Empty; + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// TypeValue + public string Type { get; set; } = String.Empty; public bool? IsEnable { get; set; } @@ -84,7 +99,12 @@ namespace IRaCIS.Core.Application.Contracts { public Guid? Id { get; set; } public string QuestionName { get; set; } = String.Empty; - public bool IsRequired { get; set; } + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + public bool IsRequired { get; set; } public bool IsEnable { get; set; } public string Type { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs index 33e5d793a..1f0e7ede6 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs @@ -13,7 +13,12 @@ namespace IRaCIS.Core.Application.Contracts public Guid Id { get; set; } public Guid TrialId { get; set; } public string QuestionName { get; set; } = string.Empty; - public bool IsRequired { get; set; } + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + public bool IsRequired { get; set; } public bool IsEnable { get; set; } public string Type { get; set; } = string.Empty; public string TypeValue { get; set; } = string.Empty; @@ -54,7 +59,12 @@ namespace IRaCIS.Core.Application.Contracts public Guid Id { get; set; } public string QuestionName { get; set; } = string.Empty; - public Guid? ParentId { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + public Guid? ParentId { get; set; } public int ShowOrder { get; set; } public string TypeValue { get; set; } @@ -68,8 +78,13 @@ namespace IRaCIS.Core.Application.Contracts /// QuestionName public string QuestionName { get; set; } = string.Empty; - /// TypeValue - public string Type { get; set; }=String.Empty; + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// TypeValue + public string Type { get; set; }=String.Empty; public bool? IsEnable { get; set; } @@ -90,7 +105,12 @@ namespace IRaCIS.Core.Application.Contracts public Guid? Id { get; set; } public string QuestionName { get; set; } = string.Empty; - public bool IsRequired { get; set; } + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + public bool IsRequired { get; set; } public bool IsEnable { get; set; } public string Type { get; set; } = string.Empty; public Guid? ParentId { get; set; } diff --git a/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs index 53abdd826..7b6c2d4d3 100644 --- a/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs @@ -4,6 +4,8 @@ // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 //-------------------------------------------------------------------- +using IRaCIS.Core.Application.Service.Reading.Dto; +using IRaCIS.Core.Infra.EFCore.Common; using IRaCIS.Core.Infrastructure; using Microsoft.AspNetCore.Mvc; @@ -46,7 +48,8 @@ namespace IRaCIS.Core.Application.Contracts ShowOrder = x.ShowOrder, Id = x.Id, ParentId = x.ParentId, - QuestionName = x.QuestionName, + QuestionName = x.QuestionName.LanguageName(x.QuestionEnName, _userInfo.IsEn_Us), + TypeValue = x.TypeValue, }).ToListAsync(); @@ -93,7 +96,7 @@ namespace IRaCIS.Core.Application.Contracts var QCQuestionQueryable = _qcQuestionRepository .WhereIf(queryQCQuestionConfigure.IsEnable != null,x=>x.IsEnable== queryQCQuestionConfigure.IsEnable) - .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.QuestionName), t => t.QuestionName.Contains(queryQCQuestionConfigure.QuestionName)) + .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.QuestionName), t => t.QuestionName.Contains(queryQCQuestionConfigure.QuestionName) || t.QuestionEnName.Contains(queryQCQuestionConfigure.QuestionName)) .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.Type), t => t.Type.Contains(queryQCQuestionConfigure.Type)) .WhereIf(queryQCQuestionConfigure.IsDefeaultViewParent==true,t=>t.ParentId==null) .OrderBy(t=>t.ShowOrder) @@ -145,11 +148,20 @@ namespace IRaCIS.Core.Application.Contracts var question = new List(); if (inDto.TrialId!= null) { - question = await _trialQCQuestionRepository.Where(x => x.TrialId == inDto.TrialId&&x.IsEnable).OrderBy(x => x.ShowOrder).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + question = await _trialQCQuestionRepository.Where(x => x.TrialId == inDto.TrialId&&x.IsEnable).OrderBy(x => x.ShowOrder).ProjectTo + (_mapper.ConfigurationProvider, new + { + isEn_Us = _userInfo.IsEn_Us + + }).ToListAsync(); } else { - question=await _qcQuestionRepository.Where(x=>x.IsEnable).OrderBy(x => x.ShowOrder).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + question=await _qcQuestionRepository.Where(x=>x.IsEnable).OrderBy(x => x.ShowOrder).ProjectTo(_mapper.ConfigurationProvider, new + { + isEn_Us = _userInfo.IsEn_Us + + }).ToListAsync(); } diff --git a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs index e66c4e18e..fe5f67ae1 100644 --- a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs @@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Contracts var trialQCQuestionQueryable = _trialQcQuestionRepository.Where(t => t.TrialId == queryTrialQCQuestionConfigure.TrialId) - .WhereIf(!string.IsNullOrWhiteSpace(queryTrialQCQuestionConfigure.QuestionName), t => t.QuestionName.Contains(queryTrialQCQuestionConfigure.QuestionName)) + .WhereIf(!string.IsNullOrWhiteSpace(queryTrialQCQuestionConfigure.QuestionName), t => t.QuestionName.Contains(queryTrialQCQuestionConfigure.QuestionName)|| t.QuestionEnName.Contains(queryTrialQCQuestionConfigure.QuestionName)) .WhereIf(!string.IsNullOrWhiteSpace(queryTrialQCQuestionConfigure.Type), t => t.Type.Contains(queryTrialQCQuestionConfigure.Type)) .WhereIf(queryTrialQCQuestionConfigure.IsEnable != null, t => t.IsEnable == queryTrialQCQuestionConfigure.IsEnable) .WhereIf(queryTrialQCQuestionConfigure.IsRequired != null, t => t.IsRequired == queryTrialQCQuestionConfigure.IsRequired) @@ -81,7 +81,11 @@ namespace IRaCIS.Core.Application.Contracts var initList = await _trialQcQuestionRepository.Where(t => t.TrialId == trialQCQuestionFilterSelect.TrialId) .WhereIf(trialQCQuestionFilterSelect.TypeArray.Count() > 0, t => trialQCQuestionFilterSelect.TypeArray.Contains(t.Type)) .WhereIf(trialQCQuestionFilterSelect.Id != null, t => t.Id != trialQCQuestionFilterSelect.Id && t.ParentId != trialQCQuestionFilterSelect.Id) - .OrderBy(t => t.ShowOrder).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + .OrderBy(t => t.ShowOrder).ProjectTo(_mapper.ConfigurationProvider, new + { + isEn_Us = _userInfo.IsEn_Us + + }).ToListAsync(); //父亲的序号肯定要比自己小 if (trialQCQuestionFilterSelect.Id != null) diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index add417a27..dfc1c3f29 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -251,8 +251,9 @@ namespace IRaCIS.Core.Application.Service #endregion + - string token = string.Empty; + string token = string.Empty; //一致性核查 CreateMap(); @@ -302,10 +303,13 @@ namespace IRaCIS.Core.Application.Service CreateMap(); - CreateMap(); + CreateMap() + .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); - CreateMap(); - CreateMap(); + CreateMap() + .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); + CreateMap() + .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); CreateMap() diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index 9b2dd9dff..3304f38a3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -53,11 +53,12 @@ namespace IRaCIS.Application.Services var existsQuery = _clinicalDataSystemSetRepository .WhereIf(indto.Id != null, x => x.Id != indto.Id) - .Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName); + .Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName||x.ClinicalDataSetEnName==indto.ClinicalDataSetEnName); if (await existsQuery.AnyAsync()) { - return ResponseOutput.NotOk("存在同类型的临床数据,操作失败"); + //---存在同类型的临床数据,操作失败 + return ResponseOutput.NotOk(_localizer["ClinicalDataSet_DupTypeFail"]); } indto.CriterionEnumListStr= $"|{String.Join('|', indto.CriterionEnumList)}|"; @@ -124,11 +125,12 @@ namespace IRaCIS.Application.Services { var existsQuery = _clinicalDataTrialSetRepository .WhereIf(indto.Id != null, x => x.Id != indto.Id) - .Where(x => x.ClinicalDataSetName == indto.ClinicalDataSetName && x.TrialId == indto.TrialId); + .Where(x => (x.ClinicalDataSetName == indto.ClinicalDataSetName||x.ClinicalDataSetEnName==indto.ClinicalDataSetEnName) && x.TrialId == indto.TrialId); if (await existsQuery.AnyAsync()) { - return ResponseOutput.NotOk("存在同类型的临床数据,操作失败"); + //---存在同类型的临床数据,操作失败 + return ResponseOutput.NotOk(_localizer["ClinicalDataSet_DupTypeFail"]); } //indto.CriterionEnumListStr = $"|{String.Join('|', indto.CriterionEnumList)}|"; @@ -272,6 +274,7 @@ namespace IRaCIS.Application.Services ClinicalDataSetName = x.ClinicalDataSetName, ClinicalDataLevel = x.ClinicalDataLevel, ClinicalUploadType = x.ClinicalUploadType, + ClinicalDataSetEnName=x.ClinicalDataSetEnName, UploadRole = x.UploadRole, FileName = x.FileName, Path = x.Path, diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 8ac891b4b..198167d69 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -83,7 +83,8 @@ namespace IRaCIS.Application.Services if (await existsQuery.AnyAsync()) { - return ResponseOutput.NotOk("存在同类型的临床数据"); + //---存在同类型的临床数据,操作失败 + return ResponseOutput.NotOk(_localizer["ReadingClinicalData_DupTypeFail"]); } var clinicalDataTrialSet = (await _clinicalDataTrialSetRepository.Where(x => x.Id == indto.ClinicalDataTrialSetId).FirstOrDefaultAsync()).IfNullThrowException(); @@ -191,8 +192,9 @@ namespace IRaCIS.Application.Services .Select(x => new GetCRCClinicalDataOutDto() { Id = x.Id, - ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, + ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetName, _userInfo.IsEn_Us) , ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType, + ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id, FileName = x.ClinicalDataTrialSet.FileName, UploadRole = x.ClinicalDataTrialSet.UploadRole, @@ -280,7 +282,8 @@ namespace IRaCIS.Application.Services if (data.ReadingClinicalDataState != ReadingClinicalDataStatus.HaveChecked) { - throw new BusinessValidationFailedException("当前临床数据状态不是已核查状态,不允许签名!"); + //---当前临床数据状态不是已核查状态,不允许签名! + throw new BusinessValidationFailedException(_localizer["ReadingClinicalData_Unchecked"]); } data.IsSign = true; data.ReadingClinicalDataState = ReadingClinicalDataStatus.HaveSigned; @@ -482,7 +485,8 @@ namespace IRaCIS.Application.Services .Select(x => new GetTrialClinicalDataSelectOutDto() { ClinicalDataLevel = x.ClinicalDataLevel, - ClinicalDataSetName = x.ClinicalDataSetName, + ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us), + ClinicalDataSetEnName=x.ClinicalDataSetEnName, ClinicalUploadType = x.ClinicalUploadType, FileName = x.FileName, Path = x.Path, @@ -625,7 +629,8 @@ namespace IRaCIS.Application.Services ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel, SubjectId = x.SubjectId, ReadingId = x.ReadingId, - ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, + ClinicalDataSetEnName=x.ClinicalDataTrialSet.ClinicalDataSetEnName, + ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us), ClinicalDataTrialSetId = x.ClinicalDataTrialSetId, IsSign = x.IsSign, ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType, @@ -694,7 +699,8 @@ namespace IRaCIS.Application.Services ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel, SubjectId = x.SubjectId, ReadingId = x.ReadingId, - ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, + ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us), + ClinicalDataSetEnName =x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataTrialSetId = x.ClinicalDataTrialSetId, IsSign = x.IsSign, ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType, diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs index db77c367c..672467388 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs @@ -19,10 +19,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } - /// - /// 临床级别 - /// - public ClinicalLevel ClinicalDataLevel { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + + /// + /// 临床级别 + /// + public ClinicalLevel ClinicalDataLevel { get; set; } /// @@ -83,10 +88,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } - /// - /// 临床级别 - /// - public ClinicalLevel ClinicalDataLevel { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + + /// + /// 临床级别 + /// + public ClinicalLevel ClinicalDataLevel { get; set; } /// /// 上传角色 @@ -216,7 +226,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } = string.Empty; - } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + + } public class GetTrialClinicalDataSystemIndto { /// @@ -224,10 +239,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } = String.Empty; - /// - /// 临床级别 - /// - public ClinicalLevel? ClinicalDataLevel { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + + /// + /// 临床级别 + /// + public ClinicalLevel? ClinicalDataLevel { get; set; } /// @@ -259,10 +279,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } = String.Empty; - /// - /// 临床级别 - /// - public ClinicalLevel? ClinicalDataLevel { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + + /// + /// 临床级别 + /// + public ClinicalLevel? ClinicalDataLevel { get; set; } /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index 6ec1ee087..85a126ec2 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -76,6 +76,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + /// /// 上传方式 @@ -311,6 +316,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + /// /// 下拉ID /// @@ -472,6 +482,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + /// /// 临床级别 /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index fe286c9a4..19612bfee 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -540,10 +540,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string QuestionName { get; set; } - /// - /// 类型值 - /// - public string TypeValue { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// + /// 类型值 + /// + public string TypeValue { get; set; } /// /// 是否启用 @@ -658,7 +663,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string QuestionName { get; set; } - public string Answer { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + public string Answer { get; set; } /// /// 排序 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs index da6b07d74..0f3a879a8 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs @@ -22,7 +22,13 @@ namespace IRaCIS.Core.Application.ViewModel public string Type { get; set; } = string.Empty; public string ParentTriggerValue { get; set; } = string.Empty; public string QuestionName { get; set; } = string.Empty; - public string TypeValue { get; set; } = string.Empty; + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + public string TypeValue { get; set; } = string.Empty; public CriterionType? CurrentCriterionType { get; set; } @@ -50,10 +56,15 @@ namespace IRaCIS.Core.Application.ViewModel public string QuestionName { get; set; } - /// - /// 类型值 - /// - public string TypeValue { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// + /// 类型值 + /// + public string TypeValue { get; set; } /// /// 任务类型 @@ -163,10 +174,15 @@ namespace IRaCIS.Core.Application.ViewModel /// public string QuestionName { get; set; } - /// - /// 是否是必须 - /// - public bool IsRequired { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// + /// 是否是必须 + /// + public bool IsRequired { get; set; } /// /// 排序 @@ -248,12 +264,15 @@ namespace IRaCIS.Core.Application.ViewModel /// public string QuestionName { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; - - /// - /// 类型值 - /// - public string TypeValue { get; set; } + /// + /// 类型值 + /// + public string TypeValue { get; set; } @@ -309,7 +328,12 @@ namespace IRaCIS.Core.Application.ViewModel public string QuestionName { get; set; } = string.Empty; - public string TypeValue { get; set; } = string.Empty; + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + public string TypeValue { get; set; } = string.Empty; /// /// 任务类型 @@ -329,7 +353,12 @@ namespace IRaCIS.Core.Application.ViewModel public string Type { get; set; } public string? ParentTriggerValue { get; set; } = string.Empty; public string QuestionName { get; set; } - public string TypeValue { get; set; } + + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + public string TypeValue { get; set; } public Guid TrialId { get; set; } public bool IsEnable { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index 8303a9893..d18e815c9 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -357,10 +357,11 @@ namespace IRaCIS.Core.Application.Service { Id = data.Id, Type = data.Type, - ParentTriggerValue = data.ParentTriggerValue, + ParentTriggerValue = data.ParentTriggerValue , + QuestionEnName=data.QuestionEnName, IsEnable = data.IsEnable, IsConfirm = data.IsConfirm, - QuestionName = data.QuestionName, + QuestionName = data.QuestionName.LanguageName(data.QuestionEnName, _userInfo.IsEn_Us), IsRequired = data.IsRequired, ShowOrder = data.ShowOrder, ParentId = data.ParentId, diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs index 85781283b..fd89af94c 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs @@ -52,7 +52,7 @@ namespace IRaCIS.Core.Application.Service var query = _readingMedicineSystemQuestionRepository.AsQueryable() .WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue)) .WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue)) - .WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName)) + .WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName) || x.QuestionEnName.Contains(inDto.QuestionName)) .WhereIf(!inDto.Type.IsNullOrEmpty(), x => x.Type.Contains(inDto.Type)) .WhereIf(inDto.ReadingCategory != null, x => x.ReadingCategory == inDto.ReadingCategory) .WhereIf(inDto.CurrentCriterionType!=null,x=>x.CriterionTypeEnum==null||x.CriterionTypeEnum==inDto.CurrentCriterionType) @@ -85,7 +85,8 @@ namespace IRaCIS.Core.Application.Service .Select(x => new GetReadingMedicineTrialOtherQuestionOutDto() { Id = x.Id, - QuestionName = x.QuestionName, + QuestionName = x.QuestionName.LanguageName(x.QuestionEnName, _userInfo.IsEn_Us), + QuestionEnName =x.QuestionEnName, TypeValue = x.TypeValue, ReadingCategory = x.ReadingCategory, }).ToListAsync(); @@ -152,7 +153,7 @@ namespace IRaCIS.Core.Application.Service .Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == inDto.TrialReadingCriterionId) .WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue)) .WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue)) - .WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName)) + .WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName)|| x.QuestionEnName.Contains(inDto.QuestionName)) .WhereIf(!inDto.Type.IsNullOrEmpty(), x => x.Type.Contains(inDto.Type)) .WhereIf(inDto.ReadingCategory != null, x => x.ReadingCategory == inDto.ReadingCategory) .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder); @@ -190,7 +191,8 @@ namespace IRaCIS.Core.Application.Service .Select(x => new GetReadingMedicineTrialOtherQuestionOutDto() { Id = x.Id, - QuestionName = x.QuestionName, + QuestionName = x.QuestionName.LanguageName(x.QuestionEnName, _userInfo.IsEn_Us), + QuestionEnName=x.QuestionEnName, TypeValue = x.TypeValue, ReadingCategory = x.ReadingCategory, }).ToListAsync(); @@ -209,7 +211,13 @@ namespace IRaCIS.Core.Application.Service { var trialQuestionList = await _readingMedicineTrialQuestionRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == inDto.TrialReadingCriterionId) .WhereIf(inDto.ReadingCategory != null, x => x.ReadingCategory == inDto.ReadingCategory) - .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync(); + + .ProjectTo(_mapper.ConfigurationProvider, new + { + isEn_Us = _userInfo.IsEn_Us + + }) + .OrderBy(x => x.ShowOrder).ToListAsync(); List readingQuestionList = trialQuestionList.Where(x => x.ParentId == null).ToList(); readingQuestionList.ForEach(x => @@ -458,8 +466,9 @@ namespace IRaCIS.Core.Application.Service Id = NewId.NextGuid(), ShowOrder = x.ShowOrder, IsEnable = x.IsEnable, + QuestionEnName=x.QuestionEnName, IsRequired = x.IsRequired, - QuestionName = x.QuestionName, + QuestionName = x.QuestionName.LanguageName(x.QuestionEnName, _userInfo.IsEn_Us), TrialReadingCriterionId=inDto.TrialReadingCriterionId, Type = x.Type, ParentId=x.ParentId, diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index 9d481d5a7..df259b258 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -237,7 +237,8 @@ namespace IRaCIS.Core.Application.Service CreateMap() .ForMember(x=>x.ParentShowOrder,y=>y.MapFrom(n=>n.ParentQuestion.ShowOrder)); - CreateMap(); + CreateMap() + .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)); CreateMap() diff --git a/IRaCIS.Core.Domain/QC/QCQuestion.cs b/IRaCIS.Core.Domain/QC/QCQuestion.cs index cd5976775..b8d75e841 100644 --- a/IRaCIS.Core.Domain/QC/QCQuestion.cs +++ b/IRaCIS.Core.Domain/QC/QCQuestion.cs @@ -19,6 +19,11 @@ namespace IRaCIS.Core.Domain.Models [Required] public string QuestionName { get; set; } = string.Empty; + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + /// /// IsRequired /// diff --git a/IRaCIS.Core.Domain/QC/TrialQCQuestion.cs b/IRaCIS.Core.Domain/QC/TrialQCQuestion.cs index 9cb735782..0ec7ddc97 100644 --- a/IRaCIS.Core.Domain/QC/TrialQCQuestion.cs +++ b/IRaCIS.Core.Domain/QC/TrialQCQuestion.cs @@ -29,6 +29,11 @@ namespace IRaCIS.Core.Domain.Models [Required] public string QuestionName { get; set; } = string.Empty; + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + /// /// IsRequired /// diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs index ab84708b8..2bbf6687e 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataSystemSet.cs @@ -26,6 +26,11 @@ namespace IRaCIS.Core.Domain.Models /// public string ClinicalDataSetName { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + /// /// 临床级别 /// diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs index d1e8209e1..882aec273 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs @@ -26,10 +26,15 @@ namespace IRaCIS.Core.Domain.Models /// public string ClinicalDataSetName { get; set; } - /// - /// 临床级别 - /// - public ClinicalLevel ClinicalDataLevel { get; set; } + /// + /// 英文名称 + /// + public string ClinicalDataSetEnName { get; set; } = string.Empty; + + /// + /// 临床级别 + /// + public ClinicalLevel ClinicalDataLevel { get; set; } /// diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs index 1cefa7662..87c7c1f8a 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineSystemQuestion.cs @@ -34,6 +34,11 @@ namespace IRaCIS.Core.Domain.Models /// public string QuestionName { get; set; } + /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + /// /// 是否是必须 /// diff --git a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs index 276808a6d..d4f74aebd 100644 --- a/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs +++ b/IRaCIS.Core.Domain/Reading/MedicalAudit/ReadingMedicineTrialQuestion.cs @@ -35,10 +35,15 @@ namespace IRaCIS.Core.Domain.Models /// 问题名称 /// public string QuestionName { get; set; } - + /// - /// 修改人 - /// + /// 问题英文名称 + /// + public string QuestionEnName { get; set; } = string.Empty; + + /// + /// 修改人 + /// public Guid UpdateUserId { get; set; } ///