Merge branch 'Test.Study' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test.Study

Uat_Study
hang 2023-12-05 14:53:09 +08:00
commit 91503dc599
1 changed files with 24 additions and 17 deletions

View File

@ -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<TrialSite> _trialSiteRepository;
private readonly IMapper _mapper;
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
public IStringLocalizer _localizer { get; set; }
/// <summary>
/// 构造函数注入
@ -25,7 +27,7 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
public ConsistencyVerificationHandler(IRepository<DicomStudy> studyRepository, IUserInfo userInfo,
IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TrialSite> trialSiteRepository, IRepository<NoneDicomStudy> 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<string> IRequestHandler<ConsistencyVerificationRequest, string>.Handle(ConsistencyVerificationRequest request, CancellationToken cancellationToken)
@ -113,13 +116,17 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
StringBuilder dialogMsg = new StringBuilder();
//---您好,根据本系统自动识别该受试者当前访视在IRC系统中已提交的影像检查情况如下
dialogMsg.Append(StaticData.International("ConsistencyVerification_Img"));
dialogMsg.Append($"<div>{StaticData.International("ConsistencyVerification_Img")}</div>");
var num = 0;
List<ParamInfoDto> paramInfoList = new List<ParamInfoDto>();
foreach (var item in dbVisitStudyList)
{
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()
{
Modality = item.Modality,
@ -205,34 +212,34 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
// ETC 和系统的有区别
else
{
dialogMsg.AppendLine($"<br/>");
//存在问题如下:
dialogMsg.AppendLine($"<br><span style='color: #f00'>{StaticData.International("ConsistencyVerification_Prob")}</span>");
//"Problems are as follows:
dialogMsg.AppendLine($"<br/><div style='color: #f00'>{StaticData.International("ConsistencyVerification_Prob")}</div>");
num = 0;
foreach (var item in dbExceptExcel)
{
num++;
//影像检查(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)
{
num++;
// 影像检查(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>{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.CheckChallengeState = CheckChanllengeTypeEnum.PMWaitCRCReply;