From 8f4f9a91c2e15a9162fe7ae23d5e1d1259ad9859 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 5 Dec 2023 13:59:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E8=87=B4=E6=80=A7?= =?UTF-8?q?=E6=A0=B8=E6=9F=A5=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConsistencyVerificationHandler.cs | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs b/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs index 3d8528ec6..1a4a9399b 100644 --- a/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs +++ b/IRaCIS.Core.Application/_MediatR/Handlers/ConsistencyVerificationHandler.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json; using MediatR; using System.Linq.Expressions; using System.Text; +using Microsoft.Extensions.Localization; namespace IRaCIS.Core.Application.MediatR.Handlers { @@ -17,6 +18,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers private readonly IRepository _trialSiteRepository; private readonly IMapper _mapper; private readonly IRepository _noneDicomStudyRepository; + public IStringLocalizer _localizer { get; set; } /// /// 构造函数注入 @@ -25,7 +27,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers public ConsistencyVerificationHandler(IRepository studyRepository, IUserInfo userInfo, IRepository subjectRepository, IRepository subjectVisitRepository, IRepository trialSiteRepository, IRepository noneDicomStudyRepository, - IMapper mapper) + IMapper mapper, IStringLocalizer localizer) { _noneDicomStudyRepository = noneDicomStudyRepository; _studyRepository = studyRepository; @@ -34,6 +36,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers _subjectVisitRepository = subjectVisitRepository; _trialSiteRepository = trialSiteRepository; _mapper = mapper; + _localizer = localizer; } async Task IRequestHandler.Handle(ConsistencyVerificationRequest request, CancellationToken cancellationToken) @@ -112,14 +115,18 @@ namespace IRaCIS.Core.Application.MediatR.Handlers StringBuilder dialogMsg = new StringBuilder(); - //---您好,根据本系统自动识别,该受试者当前访视在IRC系统中已提交的影像检查情况如下: - dialogMsg.Append(StaticData.International("ConsistencyVerification_Img")); + //---您好,根据本系统自动识别,该受试者当前访视在IRC系统中已提交的影像检查情况如下: + dialogMsg.Append($"
{StaticData.International("ConsistencyVerification_Img")}
"); var num = 0; List paramInfoList = new List(); + foreach (var item in dbVisitStudyList) { num++; - dialogMsg.AppendLine($"
{num}.{item.StudyDate}{StaticData.International("ConsistencyVerification_Of")}{item.Modality}{StaticData.International("ConsistencyVerification_ImgC")}"); + + dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_ImgC", item.StudyDate, item.Modality]}
"); + + paramInfoList.Add(new ParamInfoDto() { Modality = item.Modality, @@ -176,7 +183,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers if (dbExceptExcel.Count() == 0 && excelExceptDB.Count() == 0) { dialogMsg.AppendLine($"
"); - //---核对EDC数据,完全一致, 审核通过 + //---核对EDC数据,完全一致, 审核通过 dialogMsg.AppendLine(StaticData.International("ConsistencyVerification_EDCA")); @@ -184,9 +191,9 @@ namespace IRaCIS.Core.Application.MediatR.Handlers dbSV.CheckState = CheckStateEnum.CVPassed; dbSV.CheckUserId = _userInfo.Id; dbSV.CheckPassedTime = DateTime.Now; - //---核对EDC数据,完全一致 + //---核对EDC数据,完全一致 dbSV.CheckResult = StaticData.International("ConsistencyVerification_EDCB"); - //---自动核查通过 + //---自动核查通过 dbSV.ManualPassReason = StaticData.International("ConsistencyVerification_Auto"); //维护状态 @@ -205,34 +212,34 @@ namespace IRaCIS.Core.Application.MediatR.Handlers // ETC 和系统的有区别 else { - dialogMsg.AppendLine($"
"); - //存在问题如下: - dialogMsg.AppendLine($"
{StaticData.International("ConsistencyVerification_Prob")}"); + //"Problems are as follows: + dialogMsg.AppendLine($"
{StaticData.International("ConsistencyVerification_Prob")}
"); num = 0; foreach (var item in dbExceptExcel) { num++; //影像检查(EDC 缺少) ConsistencyVerification_EdcL - dialogMsg.AppendLine($"
{num}.{item.StudyDate}{StaticData.International("ConsistencyVerification_Of")}{item.Modality}{StaticData.International("ConsistencyVerification_EdcL")} "); + dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_EdcL", item.StudyDate, item.Modality]}
"); + } foreach (var item in excelExceptDB) { num++; // 影像检查(IRC 缺少) - dialogMsg.AppendLine($"
{num}.{item.StudyDate}{StaticData.International("ConsistencyVerification_Of")}{item.Modality}{StaticData.International("ConsistencyVerification_IrcL")} "); + dialogMsg.AppendLine($"
{num}. {_localizer["ConsistencyVerification_IrcLi", item.StudyDate, item.Modality]}
"); } dialogMsg.AppendLine($"
"); - dialogMsg.AppendLine(@$"
{StaticData.International("ConsistencyVerification_Desc")}"); + dialogMsg.AppendLine(@$"
{StaticData.International("ConsistencyVerification_Desc")}
"); + + dbSV.CheckResult = StaticData.International("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]}")); - //---根据导入的一致性核查数据,请确认本访视以下不一致检查项信息: - dbSV.CheckResult = StaticData.International("ConsistencyVerification_Conf") + String.Join(" | ", dbExceptExcel.Select(t => $"{StaticData.International("ConsistencyVerification_Edc")}{t.StudyDate} {t.Modality} ")) + " | " - + String.Join(" | ", excelExceptDB.Select(t => $"{StaticData.International("ConsistencyVerification_IrcLi")}{t.StudyDate} {t.Modality}")); //新增一致性核查质疑记录 - dbSV.CheckState = CheckStateEnum.CVIng; dbSV.CheckChallengeState = CheckChanllengeTypeEnum.PMWaitCRCReply;