diff --git a/IRaCIS.Core.API/appsettings.Prod_IRC.json b/IRaCIS.Core.API/appsettings.Prod_IRC.json index e3ad98834..9de1e7fab 100644 --- a/IRaCIS.Core.API/appsettings.Prod_IRC.json +++ b/IRaCIS.Core.API/appsettings.Prod_IRC.json @@ -61,6 +61,7 @@ "FromName": "irc", "AuthorizationCode": "ExtImg@2022", "SiteUrl": "http://irc.extimaging.com/login", + "SystemShortName": "IRC", "OrganizationName": "Extlmaging", "OrganizationNameCN": "Extlmaging", "CompanyName": "Extensive Imaging", diff --git a/IRaCIS.Core.API/appsettings.Test_IRC.json b/IRaCIS.Core.API/appsettings.Test_IRC.json index d6b5b6553..1b3af9b10 100644 --- a/IRaCIS.Core.API/appsettings.Test_IRC.json +++ b/IRaCIS.Core.API/appsettings.Test_IRC.json @@ -81,6 +81,7 @@ "AuthorizationCode": "SHzyyl2021", "SiteUrl": "http://irc.test.extimaging.com/login", + "SystemShortName": "IRC", "OrganizationName": "Extlmaging", "OrganizationNameCN": "Extlmaging", "CompanyName": "Extensive Imaging", diff --git a/IRaCIS.Core.API/appsettings.US_Prod_IRC.json b/IRaCIS.Core.API/appsettings.US_Prod_IRC.json index a070fcdc8..062fc5831 100644 --- a/IRaCIS.Core.API/appsettings.US_Prod_IRC.json +++ b/IRaCIS.Core.API/appsettings.US_Prod_IRC.json @@ -67,6 +67,7 @@ "FromName": "LiLi", "AuthorizationCode": "Q#669869497420ul", + "SystemShortName": "LiLi", "OrganizationName": "Elevate Imaging", "OrganizationNameCN": "Elevate Imaging", "CompanyName": "Elevate Imaging Inc.", diff --git a/IRaCIS.Core.API/appsettings.US_Test_IRC.json b/IRaCIS.Core.API/appsettings.US_Test_IRC.json index 717c771f7..044c35bf8 100644 --- a/IRaCIS.Core.API/appsettings.US_Test_IRC.json +++ b/IRaCIS.Core.API/appsettings.US_Test_IRC.json @@ -75,6 +75,7 @@ "FromName": "LiLi", "AuthorizationCode": "Q#669869497420ul", + "SystemShortName": "LiLi", "OrganizationName": "Elevate Imaging", "OrganizationNameCN": "Elevate Imaging", "CompanyName": "Elevate Imaging Inc.", diff --git a/IRaCIS.Core.API/appsettings.US_Uat_IRC.json b/IRaCIS.Core.API/appsettings.US_Uat_IRC.json index 0e80aebd5..24bec33f2 100644 --- a/IRaCIS.Core.API/appsettings.US_Uat_IRC.json +++ b/IRaCIS.Core.API/appsettings.US_Uat_IRC.json @@ -73,6 +73,7 @@ "FromName": "LiLi", "AuthorizationCode": "Q#669869497420ul", + "SystemShortName": "LiLi", "OrganizationName": "Elevate Imaging", "OrganizationNameCN": "Elevate Imaging", "CompanyName": "Elevate Imaging Inc.", diff --git a/IRaCIS.Core.API/appsettings.Uat_IRC.json b/IRaCIS.Core.API/appsettings.Uat_IRC.json index e76b4de97..df2bd3755 100644 --- a/IRaCIS.Core.API/appsettings.Uat_IRC.json +++ b/IRaCIS.Core.API/appsettings.Uat_IRC.json @@ -80,6 +80,8 @@ "FromName": "UAT_IRC", "AuthorizationCode": "SHzyyl2021", "SiteUrl": "http://irc.uat.extimaging.com/login", + + "SystemShortName": "IRC", "OrganizationName": "Extlmaging", "OrganizationNameCN": "Extlmaging", "CompanyName": "Extensive Imaging", diff --git a/IRaCIS.Core.Application/BusinessFilter/_Config/_AppSettings.cs b/IRaCIS.Core.Application/BusinessFilter/_Config/_AppSettings.cs index 2340b302f..1c6e4b887 100644 --- a/IRaCIS.Core.Application/BusinessFilter/_Config/_AppSettings.cs +++ b/IRaCIS.Core.Application/BusinessFilter/_Config/_AppSettings.cs @@ -51,6 +51,8 @@ public class SystemEmailSendConfig public string SiteUrl { get; set; } = string.Empty; + public string SystemShortName { get; set; } = string.Empty; + public string OrganizationName { get; set; } = string.Empty; public string OrganizationNameCN { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 07e7bc1c8..7e619eeed 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -13425,7 +13425,7 @@ 返回 - + 构造函数注入 diff --git a/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs b/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs index 1f68fca39..3b8c97d7a 100644 --- a/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs +++ b/IRaCIS.Core.Application/MassTransit/Consumer/ConsistencyCheckConsumer.cs @@ -4,6 +4,7 @@ using IRaCIS.Core.Application.MassTransit.Command; using IRaCIS.Core.Domain.Share; using MassTransit; using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Options; using Newtonsoft.Json; using System.Text; @@ -21,6 +22,8 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer private readonly IRepository _noneDicomStudyRepository; public IStringLocalizer _localizer { get; set; } + private readonly SystemEmailSendConfig _systemEmailConfig; + /// /// 构造函数注入 /// @@ -28,7 +31,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer public ConsistencyCheckConsumer(IRepository studyRepository, IUserInfo userInfo, IRepository subjectRepository, IRepository subjectVisitRepository, IRepository trialSiteRepository, IRepository noneDicomStudyRepository, - IMapper mapper, IStringLocalizer localizer) + IMapper mapper, IStringLocalizer localizer, IOptionsMonitor systemEmailConfig) { _noneDicomStudyRepository = noneDicomStudyRepository; _studyRepository = studyRepository; @@ -38,6 +41,8 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer _trialSiteRepository = trialSiteRepository; _mapper = mapper; _localizer = localizer; + + _systemEmailConfig = systemEmailConfig.CurrentValue; } @@ -186,7 +191,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer { dialogMsg.AppendLine($"
"); //---核对EDC数据,完全一致, 审核通过 - dialogMsg.AppendLine(_localizer["ConsistencyVerification_EDCA"]); + dialogMsg.AppendLine(_localizer["ConsistencyVerification_EDCA", _systemEmailConfig.SystemShortName]); // dialogMsg.AppendLine(@$"
说明:为高效解决/处理以上全部质疑问题,麻烦您准确核实实际影像检查情况。请注意影像日期与实际检查的日期可能会不一致,部分检查(如PET -CT)可能同时存在多种模态影像。准确核实后,请回复该访视正确的影像检查情况。"); @@ -196,7 +201,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer dbSV.CheckChallengeState = CheckChanllengeTypeEnum.Closed; //---核对EDC数据,完全一致 - dbSV.CheckResult = _localizer["ConsistencyVerification_EDCB"]; + dbSV.CheckResult = _localizer["ConsistencyVerification_EDCB", _systemEmailConfig.SystemShortName]; //---自动核查通过 dbSV.ManualPassReason = _localizer["ConsistencyVerification_Auto"]; @@ -224,7 +229,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer { num++; //影像检查(EDC 缺少) ConsistencyVerification_EdcL - dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_EdcL", item.StudyDate, item.Modality]}
"); + dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_EdcL", item.StudyDate, item.Modality, _systemEmailConfig.SystemShortName]}
"); } @@ -232,15 +237,15 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer { num++; // 影像检查(IRC 缺少) - dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_IrcLi", item.StudyDate, item.Modality]}
"); + dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_IrcLi", item.StudyDate, item.Modality, _systemEmailConfig.SystemShortName]}
"); } dialogMsg.AppendLine($"
"); dialogMsg.AppendLine(@$"
{_localizer["ConsistencyVerification_Desc"]}
"); dbSV.CheckResult = _localizer["ConsistencyVerification_Conf"] + - String.Join(" | ", dbExceptExcel.Select(t => $"{_localizer["ConsistencyVerification_EdcL", t.StudyDate, t.Modality]}")) + " | " - + String.Join(" | ", excelExceptDB.Select(t => $"{_localizer["ConsistencyVerification_IrcLi", t.StudyDate, t.Modality]}")); + String.Join(" | ", dbExceptExcel.Select(t => $"{_localizer["ConsistencyVerification_EdcL", t.StudyDate, t.Modality, _systemEmailConfig.SystemShortName]}")) + " | " + + String.Join(" | ", excelExceptDB.Select(t => $"{_localizer["ConsistencyVerification_IrcLi", t.StudyDate, t.Modality, _systemEmailConfig.SystemShortName]}")); //新增一致性核查质疑记录 diff --git a/IRaCIS.Core.Application/Service/QC/QCListService.cs b/IRaCIS.Core.Application/Service/QC/QCListService.cs index f5f99cd48..7a52b16f8 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -1,6 +1,7 @@ using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Contracts.DTO; using IRaCIS.Core.Application.Service.Reading.Dto; +using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using MassTransit.Initializers; @@ -279,7 +280,7 @@ namespace IRaCIS.Core.Application.Image.QA /// /// [HttpPost] - public async Task<(PageOutput, TrialSubjectAndSVConfig)> GetConsistencyVerificationList(CheckQuery inQuery) + public async Task>> GetConsistencyVerificationList(CheckQuery inQuery) { var svExpression = QCCommon.GetSubjectVisitFilter(inQuery.VisitPlanArray); @@ -294,9 +295,14 @@ namespace IRaCIS.Core.Application.Image.QA .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.UserRoleId))//CRC 过滤负责的site .ProjectTo(_mapper.ConfigurationProvider); - var pageList = await query.ToPagedListAsync(inQuery); + + var defalutSortArray = new string[] { nameof(QCCheckWithModalityView.CheckState), nameof(QCCheckWithModalityView.IsUrgent), nameof(QCCheckWithModalityView.SubjectCode), nameof(QCCheckWithModalityView.VisitNum) }; + + var pageList = await query.ToPagedListAsync(inQuery, defalutSortArray); + var config = await _trialRepository.Where(t => t.Id == inQuery.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync().IfNullThrowException(); - return (pageList, config); + + return ResponseOutput.Ok(pageList, config); } /// @@ -530,7 +536,7 @@ namespace IRaCIS.Core.Application.Image.QA config.IsPacsConnectConfiged = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).AnyAsync(t => t.Trial.IsPACSConnect && t.Subject.TrialSite.TrialSiteDicomAEList.Any()); - return ResponseOutput.Ok (list, config); + return ResponseOutput.Ok(list, config); }