修改国际化
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
hang 2025-04-18 13:06:59 +08:00
parent 213cb69332
commit 49c3a0d494
3 changed files with 56 additions and 32 deletions

View File

@ -179,8 +179,8 @@ public class TrialGlobalLimitActionFilter(IFusionCache _fusionCache, IUserInfo _
}
catch (Exception)
{
context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["该授权码与该项目不匹配"]));
//该授权码与该项目不匹配(无法解密)
context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialGlobalLimit_AuthorizationCodeError"]));
return;
}
@ -193,13 +193,15 @@ public class TrialGlobalLimitActionFilter(IFusionCache _fusionCache, IUserInfo _
if (authInfo.TrialCode != trialInfo.TrialCode || authInfo.CreateUserId != trialInfo.CreateUserId || authInfo.TrialId != trialInfo.TrialId
|| authInfo.HospitalCode != hospitalCode || trialInfo.CriterionTypeList.Except(authInfo.CriterionTypeList).Count() != 0)
{
context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["您的操作被禁止,系统检测到该项目授权码与该项目授权配置信息不一致,请还原项目授权配置信息!"]));
// 您的操作被禁止,系统检测到该项目授权码与该项目授权配置信息不一致,请还原项目授权配置信息!
context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialGlobalLimit_AuthorizationCodeInfoError"]));
return;
}
if (DateTime.Now > authInfo.AuthorizationDeadLineDate.Value.AddDays(15))
{
context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["当前时间已经超过项目授权截止时间半个月,请重新获取项目授权后再进行操作!"]));
//当前时间已经超过项目授权截止时间半个月,请重新获取项目授权后再进行操作!
context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialGlobalLimit_AuthorizationCodeAfterDeadLine15Days"]));
return;
}

View File

@ -1283,6 +1283,7 @@ namespace IRaCIS.Core.Application
await _fusionCache.SetAsync(CacheKeys.Trial(trial.Id.ToString()), caheInfo, TimeSpan.FromDays(7));
await _trialRepository.SaveChangesAsync();
return ResponseOutput.Ok();

View File

@ -230,8 +230,8 @@ namespace IRaCIS.Application.Services
}
catch (Exception)
{
return ResponseOutput.Ok(trial, msg: "项目未授权,请确认。", code: ApiResponseCodeEnum.NeedTips);
//项目未授权,请确认。
return ResponseOutput.Ok(trial, msg: _localizer["Patient_TrialNotAuthorization"], code: ApiResponseCodeEnum.NeedTips);
}
}
return ResponseOutput.Ok(trial);
@ -276,7 +276,8 @@ namespace IRaCIS.Application.Services
{
if (await _trialRepository.AnyAsync(u => u.ResearchProgramNo == inCommand.ResearchProgramNo && u.CriterionTypes.Contains($"|{(int)criterionType}|")))
{
throw new BusinessValidationFailedException($"已存在研究方案号为{inCommand.ResearchProgramNo},该标准的项目");
//"已存在研究方案号为{inCommand.ResearchProgramNo},该标准的项目"
throw new BusinessValidationFailedException(_localizer["Patient_SameResearchProgramNoTrial", inCommand.ResearchProgramNo]);
}
}
@ -338,7 +339,7 @@ namespace IRaCIS.Application.Services
{
if (await _trialRepository.AnyAsync(u => u.ResearchProgramNo == inCommand.ResearchProgramNo && u.CriterionTypes.Contains($"|{(int)criterionType}|") && u.Id != updateModel.Id))
{
throw new BusinessValidationFailedException($"已存在研究方案号为{inCommand.ResearchProgramNo},该标准的项目");
throw new BusinessValidationFailedException(_localizer["Patient_SameResearchProgramNoTrial", inCommand.ResearchProgramNo]);
}
}
@ -490,8 +491,8 @@ namespace IRaCIS.Application.Services
}
catch (Exception)
{
return ResponseOutput.NotOk("激活码有误,请核对,无法激活");
//"激活码有误,请核对,无法激活"
return ResponseOutput.NotOk(_localizer["Trial_ActivationCodeError"]);
}
var authInfo = JsonConvert.DeserializeObject<TrialAuthorizationInfo>(decodedText);
@ -502,7 +503,8 @@ namespace IRaCIS.Application.Services
}
else
{
return ResponseOutput.NotOk("激活码信息有误!");
//"激活码信息有误!"
return ResponseOutput.NotOk(_localizer["Trial_ActivationCodeError"] );
}
}
@ -534,8 +536,8 @@ namespace IRaCIS.Application.Services
}
catch (Exception)
{
return ResponseOutput.NotOk("激活码有误,请核对,无法激活");
//激活码有误,请核对,无法激活
return ResponseOutput.NotOk(_localizer["Trial_ActivationCodeError"]);
}
var authInfo = JsonConvert.DeserializeObject<TrialAuthorizationInfo>(decodedText);
@ -545,12 +547,14 @@ namespace IRaCIS.Application.Services
if (authInfo.TrialCode != trialInfo.TrialCode || authInfo.CreateUserId != trialInfo.CreateUserId || authInfo.HospitalCode != hospitalCode ||
authInfo.TrialId != trialInfo.Id || trialInfo.CriterionTypeList.Except(authInfo.CriterionTypeList).Count() != 0)
{
return ResponseOutput.NotOk("该授权码与该项目不匹配");
//"该授权码与该项目不匹配"
return ResponseOutput.NotOk(_localizer["Trial_ActivationCodeIsNotCurrentTrialError"]);
}
if (DateTime.Now > authInfo.ActiveDeadLineDate)
{
return ResponseOutput.NotOk($"当前时间{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}超过激活时间{authInfo.ActiveDeadLineDate.Value.ToString("yyyy-MM-dd HH:mm:ss")},请联系授权方重新获取激活码");
//$"当前时间{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}超过激活时间{authInfo.ActiveDeadLineDate.Value.ToString("yyyy-MM-dd HH:mm:ss")},请联系授权方重新获取激活码"
return ResponseOutput.NotOk(_localizer["Trial_ActivationCodeActiveTimeError", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), authInfo.ActiveDeadLineDate.Value.ToString("yyyy-MM-dd HH:mm:ss")]);
}
//截止日期
@ -566,11 +570,12 @@ namespace IRaCIS.Application.Services
var caheInfo = new TrialCacheInfo() { TrialId = trialInfo.Id, TrialStatusStr = trialInfo.TrialStatusStr, AuthorizationEncrypt = newActivationCode, CriterionTypes = trialInfo.CriterionTypes, AuthorizationDate = trialInfo.AuthorizationDate, CreateUserId = trialInfo.CreateUserId, TrialCode = trialInfo.TrialCode };
await _provider.SetAsync(trialInfo.Id.ToString(), JsonConvert.SerializeObject(caheInfo), TimeSpan.FromDays(7));
await _fusionCache.SetAsync(CacheKeys.Trial(trialInfo.Id.ToString()), caheInfo, TimeSpan.FromDays(7));
}
else
{
return ResponseOutput.NotOk("该授权码与该项目不匹配");
// 激活信息反序列化错误
return ResponseOutput.NotOk(_localizer["Trial_ActivationCodeDeserializeError"] );
}
@ -1244,7 +1249,12 @@ namespace IRaCIS.Application.Services
var find = await _subjectRepository.FirstOrDefaultAsync(t => t.TrialId == inCommand.TrialId && t.Code == inCommand.SubjectCode);
if (find != null)
{
return ResponseOutput.NotOk($"项目中已存在编号为“{find.Code}”的受试者,状态为:{(find.Status == SubjectStatus.OnVisit ? "访" : "访")},不允许添加。", ApiResponseCodeEnum.NeedTips);
//$"项目中已存在编号为“{find.Code}”的受试者,状态为:{(find.Status == SubjectStatus.OnVisit ? "访视中" : "访视结束")},不允许添加。"
var identification = find.Status == SubjectStatus.OnVisit ? "Patient_TrialExistSubjectCodeError1" : "Patient_TrialExistSubjectCodeError2";
return ResponseOutput.NotOk(_localizer[identification, find.Code], ApiResponseCodeEnum.NeedTips);
}
return ResponseOutput.Ok();
@ -1304,8 +1314,8 @@ namespace IRaCIS.Application.Services
}
else
{
return ResponseOutput.NotOk($"项目中已存在编号为“{find.Code}”的受试者,状态为:{(find.Status == SubjectStatus.OnVisit ? "访" : "访")},不允许添加。");
var identification = find.Status == SubjectStatus.OnVisit ? "Patient_TrialExistSubjectCodeError1" : "Patient_TrialExistSubjectCodeError2";
return ResponseOutput.NotOk(_localizer[identification, find.Code]);
//subjectId = find.Id;
}
@ -1417,7 +1427,8 @@ namespace IRaCIS.Application.Services
}
else if (_studySubjectVisitRepository.Any(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState == SubmitStateEnum.Submitted))
{
return ResponseOutput.NotOk(_localizer["该受试者有访视已提交,不允许解除受试者和该患者的绑定关系"]);
//该受试者有访视已提交,不允许解除受试者和该患者的绑定关系
return ResponseOutput.NotOk(_localizer["Patient_SubjectVisitSubmitedCannotUnBinding"]);
}
@ -1558,7 +1569,8 @@ namespace IRaCIS.Application.Services
if (_subjectRepository.Any(t => t.Id == subjectId && t.Status == SubjectStatus.EndOfVisit))
{
return ResponseOutput.NotOk(_localizer["受试者状态为访视结束,不允许绑定访视和检查"]);
//受试者状态为访视结束,不允许绑定访视和检查
return ResponseOutput.NotOk(_localizer["Patient_SubjectEndOfVisit"]);
}
var subjectVisit = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId);
@ -1598,7 +1610,8 @@ namespace IRaCIS.Application.Services
if (!arraysEqual)
{
return ResponseOutput.NotOk(_localizer[$"{bindVisit.SubjectCode}所提交的访视中的检查时间,不符合后续访视的检查时间比前序检查的时间大的要求"]);
//_localizer[$"{bindVisit.SubjectCode}所提交的访视中的检查时间,不符合后续访视的检查时间比前序检查的时间大的要求"]
return ResponseOutput.NotOk(_localizer["Patient_SubjectVisitSubmmitTimeVerifyError", bindVisit.SubjectCode]);
}
@ -1738,7 +1751,8 @@ namespace IRaCIS.Application.Services
{
if (allVisitList.Where(t => t.SubmitState != SubmitStateEnum.Submitted).Count() != inCommand.SubjectVisitIdList.Count())
{
return ResponseOutput.NotOk(_localizer["当前批量提交的访视中间有遗漏的访视或者前序有访视未提交"]);
//当前批量提交的访视中间有遗漏的访视或者前序有访视未提交
return ResponseOutput.NotOk(_localizer["Patient_CurrentBatchSubmitVisitError"]);
}
}
@ -1746,25 +1760,29 @@ namespace IRaCIS.Application.Services
{
if (allVisitList.Any(t => t.VisitNum < curentMaxNum && t.SubmitState != SubmitStateEnum.Submitted))
{
return ResponseOutput.NotOk(_localizer["前序有访视未提交,请先提交前序访视"]);
//前序有访视未提交,请先提交前序访视
return ResponseOutput.NotOk(_localizer["Patient_BeforeVisitNotSubmit"]);
}
}
if (allVisitList.Any(t => t.Status == SubjectStatus.EndOfVisit))
{
return ResponseOutput.NotOk(_localizer["受试者状态为访视结束,不允许提交访视生成任务"]);
//受试者状态为访视结束,不允许提交访视生成任务
return ResponseOutput.NotOk(_localizer["Patient_SubjectEndOfVisitNotSubmit"]);
}
var list = await _studySubjectVisitRepository.Where(t => inCommand.SubjectVisitIdList.Contains(t.SubjectVisitId)).Select(t => new { t.SCPStudyId, t.SCPStudy.PatientId, t.SubjectVisitId, t.SubjectVisit.VisitNum, t.SubjectVisit.SubjectId, SubjectCode = t.SubjectVisit.Subject.Code, t.SubjectVisit.TrialId, t.SCPStudy.StudyTime, t.StudyId, t.SCPStudy.IsUploadFinished }).OrderBy(t => t.StudyTime).ToListAsync();
if (list.Any(t => t.StudyId != null))
{
return ResponseOutput.NotOk(_localizer["有访视和检查处于已绑定关系,不允许再次提交绑定"]);
//有访视和检查处于已绑定关系,不允许再次提交绑定
return ResponseOutput.NotOk(_localizer["Patient_VisitAndStudyHaveBind"]);
}
if (list.Any(t => t.IsUploadFinished == false))
{
return ResponseOutput.NotOk(_localizer["有访视检查正在传输中,不允许提交"]);
//有访视检查正在传输中,不允许提交
return ResponseOutput.NotOk(_localizer["Patient_VisitStudyIsUploading"]);
}
@ -1779,12 +1797,14 @@ namespace IRaCIS.Application.Services
if (!arraysEqual)
{
return ResponseOutput.NotOk(_localizer[$"{g.Key.SubjectCode}所提交的访视中的检查时间,不符合后续访视的检查时间比前序检查的时间大的要求"]);
//_localizer[$"{g.Key.SubjectCode}所提交的访视中的检查时间,不符合后续访视的检查时间比前序检查的时间大的要求"]
return ResponseOutput.NotOk(_localizer["Patient_SubjectVisitSubmmitTimeVerifyError", g.Key.SubjectCode] );
}
if (DateTime.Now < studyTimeOrderList.Max(t => t.StudyTime))
{
return ResponseOutput.NotOk(_localizer[$"您当前修改了服务器时间,试图绕过软件授权,请恢复服务器时间,并联系授权方授权才可进行操作"]);
//$"您当前修改了服务器时间,试图绕过软件授权,请恢复服务器时间,并联系授权方授权才可进行操作"
return ResponseOutput.NotOk(_localizer["Patient_ModifyServerTimeError"]);
}
}
@ -1812,7 +1832,8 @@ namespace IRaCIS.Application.Services
//提交的访视下没有检查
if (!_studySubjectVisitRepository.Any(t => t.SubjectVisitId == item.SubjectVisitId))
{
return ResponseOutput.NotOk(_localizer["提交的访视下必须有影像检查!"]);
//提交的访视下必须有影像检查!
return ResponseOutput.NotOk(_localizer["Patient_SubmitVisitMustHaveImage"]);
}
var dbSubjectVisit = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == item.SubjectVisitId);