修改一致性核查国际化
continuous-integration/drone/push Build is passing Details

Uat_Study
hang 2023-12-05 13:59:21 +08:00
parent a53e306427
commit 8f4f9a91c2
1 changed files with 24 additions and 17 deletions

View File

@ -5,6 +5,7 @@ using Newtonsoft.Json;
using MediatR; using MediatR;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Text; using System.Text;
using Microsoft.Extensions.Localization;
namespace IRaCIS.Core.Application.MediatR.Handlers namespace IRaCIS.Core.Application.MediatR.Handlers
{ {
@ -17,6 +18,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
private readonly IRepository<TrialSite> _trialSiteRepository; private readonly IRepository<TrialSite> _trialSiteRepository;
private readonly IMapper _mapper; private readonly IMapper _mapper;
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository; private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
public IStringLocalizer _localizer { get; set; }
/// <summary> /// <summary>
/// 构造函数注入 /// 构造函数注入
@ -25,7 +27,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
public ConsistencyVerificationHandler(IRepository<DicomStudy> studyRepository, IUserInfo userInfo, public ConsistencyVerificationHandler(IRepository<DicomStudy> studyRepository, IUserInfo userInfo,
IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository, IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TrialSite> trialSiteRepository, IRepository<NoneDicomStudy> noneDicomStudyRepository, IRepository<TrialSite> trialSiteRepository, IRepository<NoneDicomStudy> noneDicomStudyRepository,
IMapper mapper) IMapper mapper, IStringLocalizer localizer)
{ {
_noneDicomStudyRepository = noneDicomStudyRepository; _noneDicomStudyRepository = noneDicomStudyRepository;
_studyRepository = studyRepository; _studyRepository = studyRepository;
@ -34,6 +36,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
_subjectVisitRepository = subjectVisitRepository; _subjectVisitRepository = subjectVisitRepository;
_trialSiteRepository = trialSiteRepository; _trialSiteRepository = trialSiteRepository;
_mapper = mapper; _mapper = mapper;
_localizer = localizer;
} }
async Task<string> IRequestHandler<ConsistencyVerificationRequest, string>.Handle(ConsistencyVerificationRequest request, CancellationToken cancellationToken) async Task<string> IRequestHandler<ConsistencyVerificationRequest, string>.Handle(ConsistencyVerificationRequest request, CancellationToken cancellationToken)
@ -112,14 +115,18 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
StringBuilder dialogMsg = new StringBuilder(); StringBuilder dialogMsg = new StringBuilder();
//---您好,根据本系统自动识别该受试者当前访视在IRC系统中已提交的影像检查情况如下 //---您好,根据本系统自动识别该受试者当前访视在IRC系统中已提交的影像检查情况如下
dialogMsg.Append(StaticData.International("ConsistencyVerification_Img")); dialogMsg.Append($"<div>{StaticData.International("ConsistencyVerification_Img")}</div>");
var num = 0; var num = 0;
List<ParamInfoDto> paramInfoList = new List<ParamInfoDto>(); List<ParamInfoDto> paramInfoList = new List<ParamInfoDto>();
foreach (var item in dbVisitStudyList) foreach (var item in dbVisitStudyList)
{ {
num++; num++;
dialogMsg.AppendLine($"<br>{num}.{item.StudyDate}{StaticData.International("ConsistencyVerification_Of")}{item.Modality}{StaticData.International("ConsistencyVerification_ImgC")}");
dialogMsg.AppendLine($"<br/><div style='text-indent: 20px;'>{num}. {_localizer["ConsistencyVerification_ImgC", item.StudyDate, item.Modality]}</div>");
paramInfoList.Add(new ParamInfoDto() paramInfoList.Add(new ParamInfoDto()
{ {
Modality = item.Modality, Modality = item.Modality,
@ -176,7 +183,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
if (dbExceptExcel.Count() == 0 && excelExceptDB.Count() == 0) if (dbExceptExcel.Count() == 0 && excelExceptDB.Count() == 0)
{ {
dialogMsg.AppendLine($"<br/>"); dialogMsg.AppendLine($"<br/>");
//---核对EDC数据完全一致, 审核通过 //---核对EDC数据完全一致, 审核通过
dialogMsg.AppendLine(StaticData.International("ConsistencyVerification_EDCA")); dialogMsg.AppendLine(StaticData.International("ConsistencyVerification_EDCA"));
@ -184,9 +191,9 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
dbSV.CheckState = CheckStateEnum.CVPassed; dbSV.CheckState = CheckStateEnum.CVPassed;
dbSV.CheckUserId = _userInfo.Id; dbSV.CheckUserId = _userInfo.Id;
dbSV.CheckPassedTime = DateTime.Now; dbSV.CheckPassedTime = DateTime.Now;
//---核对EDC数据完全一致 //---核对EDC数据完全一致
dbSV.CheckResult = StaticData.International("ConsistencyVerification_EDCB"); dbSV.CheckResult = StaticData.International("ConsistencyVerification_EDCB");
//---自动核查通过 //---自动核查通过
dbSV.ManualPassReason = StaticData.International("ConsistencyVerification_Auto"); dbSV.ManualPassReason = StaticData.International("ConsistencyVerification_Auto");
//维护状态 //维护状态
@ -205,34 +212,34 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
// ETC 和系统的有区别 // ETC 和系统的有区别
else else
{ {
dialogMsg.AppendLine($"<br/>"); //"Problems are as follows:
//存在问题如下: dialogMsg.AppendLine($"<br/><div style='color: #f00'>{StaticData.International("ConsistencyVerification_Prob")}</div>");
dialogMsg.AppendLine($"<br><span style='color: #f00'>{StaticData.International("ConsistencyVerification_Prob")}</span>");
num = 0; num = 0;
foreach (var item in dbExceptExcel) foreach (var item in dbExceptExcel)
{ {
num++; num++;
//影像检查(EDC 缺少) ConsistencyVerification_EdcL //影像检查(EDC 缺少) ConsistencyVerification_EdcL
dialogMsg.AppendLine($"<br>{num}.{item.StudyDate}{StaticData.International("ConsistencyVerification_Of")}{item.Modality}{StaticData.International("ConsistencyVerification_EdcL")} "); dialogMsg.AppendLine($"<br/><div style='text-indent: 20px;'>{num}. {_localizer["ConsistencyVerification_EdcL", item.StudyDate, item.Modality]}</div>");
} }
foreach (var item in excelExceptDB) foreach (var item in excelExceptDB)
{ {
num++; num++;
// 影像检查(IRC 缺少) // 影像检查(IRC 缺少)
dialogMsg.AppendLine($"<br>{num}.{item.StudyDate}{StaticData.International("ConsistencyVerification_Of")}{item.Modality}{StaticData.International("ConsistencyVerification_IrcL")} "); dialogMsg.AppendLine($"<br/><div style='text-indent: 20px;'>{num}. {_localizer["ConsistencyVerification_IrcLi", item.StudyDate, item.Modality]}</div>");
} }
dialogMsg.AppendLine($"<br/>"); dialogMsg.AppendLine($"<br/>");
dialogMsg.AppendLine(@$"<br>{StaticData.International("ConsistencyVerification_Desc")}"); dialogMsg.AppendLine(@$"<div>{StaticData.International("ConsistencyVerification_Desc")}<div/>");
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.CheckState = CheckStateEnum.CVIng;
dbSV.CheckChallengeState = CheckChanllengeTypeEnum.PMWaitCRCReply; dbSV.CheckChallengeState = CheckChanllengeTypeEnum.PMWaitCRCReply;