代码修改
							parent
							
								
									04cfb2b977
								
							
						
					
					
						commit
						fa92144439
					
				| 
						 | 
				
			
			@ -11,7 +11,7 @@ namespace IRaCIS.Core.Application.Filter;
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
public class LimitUserRequestAuthorization : IAsyncAuthorizationFilter
 | 
			
		||||
public class LimitUserRequestAuthorization :BaseService, IAsyncAuthorizationFilter
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,8 @@ public class LimitUserRequestAuthorization : IAsyncAuthorizationFilter
 | 
			
		|||
                {
 | 
			
		||||
                    context.HttpContext.Response.ContentType = "application/json";
 | 
			
		||||
                    context.HttpContext.Response.StatusCode = StatusCodes.Status200OK;
 | 
			
		||||
                    await context.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk("当前请求未从Header/Url取到用户Token,请联系开发者")));
 | 
			
		||||
                //---当前请求未从Header/Url取到用户Token,请联系开发者
 | 
			
		||||
                    await context.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk(_localizer["LimitUser_AuthTokenMissing"])));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //2、在这里取缓存  进行比较  看是否有其他人进行了登陆,如果其他人登陆了,就把之前用户挤掉
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +77,8 @@ public class LimitUserRequestAuthorization : IAsyncAuthorizationFilter
 | 
			
		|||
 | 
			
		||||
                    context.HttpContext.Response.ContentType = "application/json";
 | 
			
		||||
                    context.HttpContext.Response.StatusCode = StatusCodes.Status403Forbidden;
 | 
			
		||||
                    await context.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk("您的账户在其他地方已登陆,您被迫下线。", ApiResponseCodeEnum.LoginInOtherPlace)));
 | 
			
		||||
                //---您的账户在其他地方已登陆,您被迫下线。
 | 
			
		||||
                    await context.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk(_localizer["LimitUser_AccountLoggedInElsewhere"], ApiResponseCodeEnum.LoginInOtherPlace)));
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,18 @@
 | 
			
		|||
using IRaCIS.Core.Infrastructure.Extention;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc.Filters;
 | 
			
		||||
using Microsoft.Extensions.Localization;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace IRaCIS.Core.Application.Filter
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public class ModelActionFilter : ActionFilterAttribute, IActionFilter
 | 
			
		||||
    {
 | 
			
		||||
        public override void OnActionExecuting(ActionExecutingContext context)
 | 
			
		||||
        {
 | 
			
		||||
		public override void OnActionExecuting(ActionExecutingContext context)
 | 
			
		||||
		{
 | 
			
		||||
            if (!context.ModelState.IsValid)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -19,7 +22,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
                                              .Select(e => e.ErrorMessage)
 | 
			
		||||
                                              .ToArray();
 | 
			
		||||
     
 | 
			
		||||
                context.Result = new JsonResult(ResponseOutput.NotOk("提供给接口的参数无效。" +JsonConvert.SerializeObject( validationErrors)));
 | 
			
		||||
                //---提供给接口的参数无效。
 | 
			
		||||
                context.Result = new JsonResult(ResponseOutput.NotOk("Invalid parameters provided for the API." + JsonConvert.SerializeObject( validationErrors)));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,7 +22,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
            {
 | 
			
		||||
                if (context.Exception.GetType().Name == "DbUpdateConcurrencyException")
 | 
			
		||||
                {
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk("并发更新,当前不允许该操作" + context.Exception.Message));
 | 
			
		||||
                //---并发更新,当前不允许该操作
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk("Concurrent update, operation not allowed at this time." + context.Exception.Message));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (context.Exception.GetType() == typeof(BusinessValidationFailedException))
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +36,7 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk(" 程序异常,请联系开发人员。 " + (context.Exception.InnerException is null ? (context.Exception.Message /*+ context.Exception.StackTrace*/)
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk("程序异常,请联系开发人员。" + (context.Exception.InnerException is null ? (context.Exception.Message /*+ context.Exception.StackTrace*/)
 | 
			
		||||
                        : (context.Exception.InnerException?.Message /*+ context.Exception.InnerException?.StackTrace*/)), ApiResponseCodeEnum.ProgramException));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@ using IRaCIS.Core.Domain.Share;
 | 
			
		|||
using Microsoft.AspNetCore.Http;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc.Filters;
 | 
			
		||||
using Microsoft.Extensions.Localization;
 | 
			
		||||
using System.Text.RegularExpressions;
 | 
			
		||||
using static IRaCIS.Core.Domain.Share.StaticData;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -16,17 +17,18 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
        private readonly IEasyCachingProvider _provider;
 | 
			
		||||
        private readonly IUserInfo _userInfo;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        private readonly List<string> _trialOptList=new List<string>();
 | 
			
		||||
        public IStringLocalizer _localizer;
 | 
			
		||||
		private readonly List<string> _trialOptList=new List<string>();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        public TrialResourceFilter(IEasyCachingProvider provider, IUserInfo userInfo, string trialOpt = null, string trialOpt2 = null, string trialOpt3 = null)
 | 
			
		||||
        public TrialResourceFilter(IEasyCachingProvider provider, IStringLocalizer localizer , IUserInfo userInfo, string trialOpt = null, string trialOpt2 = null, string trialOpt3 = null)
 | 
			
		||||
        {
 | 
			
		||||
            _provider = provider;
 | 
			
		||||
            _userInfo = userInfo;
 | 
			
		||||
            //_trialOpt = trialOpt;
 | 
			
		||||
            _localizer = localizer;
 | 
			
		||||
			//_trialOpt = trialOpt;
 | 
			
		||||
 | 
			
		||||
            if (!string.IsNullOrWhiteSpace(trialOpt)) _trialOptList.Add(trialOpt.Trim());
 | 
			
		||||
			if (!string.IsNullOrWhiteSpace(trialOpt)) _trialOptList.Add(trialOpt.Trim());
 | 
			
		||||
            if (!string.IsNullOrWhiteSpace(trialOpt2)) _trialOptList.Add(trialOpt2.Trim());
 | 
			
		||||
            if (!string.IsNullOrWhiteSpace(trialOpt3)) _trialOptList.Add(trialOpt3.Trim());
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +58,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
            // 后期列举出具体的类型,其他任何用户类型,都不允许操作
 | 
			
		||||
            if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA)
 | 
			
		||||
            {
 | 
			
		||||
                context.Result = new JsonResult(ResponseOutput.NotOk("对不起,您的账户没有操作权限。"));
 | 
			
		||||
                //---对不起,您的账户没有操作权限。
 | 
			
		||||
                context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialResource_NoAccessPermission"]));
 | 
			
		||||
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -94,7 +97,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk("正则取请求Refer 中trialId 失败,请联系开发人员核查"));
 | 
			
		||||
                //---正则取请求Refer 中trialId 失败,请联系开发人员核查
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialResource_ReferTrialIdFailed"]));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -137,7 +141,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        context.Result = new JsonResult(ResponseOutput.NotOk("正则取请求Refer 中trialId 失败,请联系开发人员核查"));
 | 
			
		||||
                //---正则取请求Refer 中trialId 失败,请联系开发人员核查
 | 
			
		||||
                        context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialResource_ReferTrialIdFailed"]));
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    //使用字符串取 如果是swagger  可能有时取的不对  因为空格的原因
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +189,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
                //  项目停止、或者完成  不允许操作
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk("本次请求被配置规则拦截:项目状态处于进行中时,才允许操作,若此处逻辑有误,请联系开发人员修改"));
 | 
			
		||||
                //---本次请求被配置规则拦截:项目状态处于进行中时,才允许操作,若此处逻辑有误,请联系开发人员修改
 | 
			
		||||
                    context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialResource_InterceptedProjectStatusRule"]));
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -199,7 +205,8 @@ namespace IRaCIS.Core.Application.Filter
 | 
			
		|||
            {
 | 
			
		||||
                //如果项目相关接口没有传递trialId 会来到这里,提醒,以便修改
 | 
			
		||||
 | 
			
		||||
                context.Result = new JsonResult(ResponseOutput.NotOk("该接口参数中,没有传递项目编号,请核对。"));
 | 
			
		||||
                //---该接口参数中,没有传递项目编号,请核对。
 | 
			
		||||
                context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["TrialResource_MissingProjectNumber"]));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ namespace IRaCIS.Application.Services.BusinessFilter
 | 
			
		|||
 | 
			
		||||
                else if(statusCode != 200&&!(objectResult.Value is IResponseOutput))
 | 
			
		||||
                {
 | 
			
		||||
                    var apiResponse = ResponseOutput.NotOk("程序错误,请联系开发人员。");
 | 
			
		||||
                    var apiResponse = ResponseOutput.NotOk("Program error, please contact developer.");
 | 
			
		||||
 | 
			
		||||
                    objectResult.Value = apiResponse;
 | 
			
		||||
                    objectResult.DeclaredType = apiResponse.GetType();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5192,6 +5192,11 @@
 | 
			
		|||
            全局阅片显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionTrialView.ConvertShowType">
 | 
			
		||||
            <summary>
 | 
			
		||||
            转化显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionTrialView.DefaultValue">
 | 
			
		||||
            <summary>
 | 
			
		||||
            默认值
 | 
			
		||||
| 
						 | 
				
			
			@ -5447,6 +5452,11 @@
 | 
			
		|||
            全局阅片显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionSystemView.ConvertShowType">
 | 
			
		||||
            <summary>
 | 
			
		||||
            转化显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ReadingQuestionSystemView.DefaultValue">
 | 
			
		||||
            <summary>
 | 
			
		||||
            默认值
 | 
			
		||||
| 
						 | 
				
			
			@ -5767,6 +5777,11 @@
 | 
			
		|||
            全局阅片显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionSystemInDto.ConvertShowType">
 | 
			
		||||
            <summary>
 | 
			
		||||
            转化显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionSystemInDto.DefaultValue">
 | 
			
		||||
            <summary>
 | 
			
		||||
            默认值
 | 
			
		||||
| 
						 | 
				
			
			@ -5912,6 +5927,11 @@
 | 
			
		|||
            全局阅片显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionTrialInDto.ConvertShowType">
 | 
			
		||||
            <summary>
 | 
			
		||||
            转化显示类型
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.AddOrUpdateReadingQuestionTrialInDto.DefaultValue">
 | 
			
		||||
            <summary>
 | 
			
		||||
            默认值
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,6 @@
 | 
			
		|||
  "RequiredAttribute": "{0} is required",
 | 
			
		||||
 | 
			
		||||
  //-------------------------------------------------------------------------------------Reading-----------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
  //ReadingGlobalTaskService
 | 
			
		||||
  "ReadingGlobal_NotGlobal": "System call error. The current read is not a global review read.",
 | 
			
		||||
  //ReadingImageTaskService
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +75,6 @@
 | 
			
		|||
  "ReadModule_TumorExists": "The current visit has a tumor review, please delete the tumor review first.",
 | 
			
		||||
  "ReadModule_TaskGenerated": "The current review has generated tasks, operation failed.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Allocation--------------------------------------------------------------------
 | 
			
		||||
  //TaskAllocationRuleService
 | 
			
		||||
  "TaskAllocation_DoctorIdNotFound": "Error, the doctor is account Id was not found in the enrollment table.",
 | 
			
		||||
| 
						 | 
				
			
			@ -132,10 +130,6 @@
 | 
			
		|||
  "VisitTask_NoConsistencyReturn": "",
 | 
			
		||||
  "VisitTask_VisitTypeTaskAllowedForPMOnly": "Only visit task type can be returned by PM.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Common--------------------------------------------------------------------
 | 
			
		||||
  //CommonDocumentService
 | 
			
		||||
  "Document_CodeDuplication": "The Code of the document cannot be repeated.",
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +158,6 @@
 | 
			
		|||
  "Mail_AccountPasswordResetReminder": "[from Film IRC] A reminder about resetting account passwords",
 | 
			
		||||
  "Mail_InvitationEmail": "[from Extensive Imaging IRC][{0}]Invitation",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Doctor--------------------------------------------------------------------
 | 
			
		||||
  //DoctorService
 | 
			
		||||
  "Doctor_DupPhoneOrEmail": "current phone or email number already existed",
 | 
			
		||||
| 
						 | 
				
			
			@ -173,8 +166,6 @@
 | 
			
		|||
  "Doctor_StandardDuplicateFileTypeError": "This type of file has already been added to the current criterion.",
 | 
			
		||||
  "Doctor_RequiredDocumentsError": "Resume & Consultant Agreement must be upload ",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Document--------------------------------------------------------------------
 | 
			
		||||
  //SystemDocumentService
 | 
			
		||||
  "SystemD_DuplicateFile": "A file of the same type and name already exists in the system.",
 | 
			
		||||
| 
						 | 
				
			
			@ -220,7 +211,6 @@
 | 
			
		|||
  "TrialEmailN_ConfigurationCorrect": "If this email is received, the email configuration is correct.",
 | 
			
		||||
  "TrialEmailN_InvalidSenderEmailConfig": "The sender configuration is incorrect. Please check whether the server address or authorization code is correct or not.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Financial--------------------------------------------------------------------
 | 
			
		||||
  //CalculateService
 | 
			
		||||
  "Cal_VolDataErr": "Volume reward data error.",
 | 
			
		||||
| 
						 | 
				
			
			@ -234,7 +224,6 @@
 | 
			
		|||
  //TrialRevenuesPriceService
 | 
			
		||||
  "TRP_AddMeaningful": "Please add meaningful data",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------ImageAndDoc--------------------------------------------------------------------
 | 
			
		||||
  //DicomArchiveService
 | 
			
		||||
  "DAS_NoAnonCacheData": "The cache  data for  anonymous config is not obtained, and the upload stops. Please contact the developer for verification.",
 | 
			
		||||
| 
						 | 
				
			
			@ -250,8 +239,6 @@
 | 
			
		|||
  "Study_VisitEndedNotAllowed": "Subject visit is over, and uploading is not allowed!",
 | 
			
		||||
  "Study_ImgAlreadyUploaded": "Uploading is not allowed above here.The current image check has been uploaded to {1} of subject {0}",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Inspection--------------------------------------------------------------------
 | 
			
		||||
  //FrontAuditConfigService
 | 
			
		||||
  "FrontAudit_IdDup": "The identifier is duplicated.",
 | 
			
		||||
| 
						 | 
				
			
			@ -260,7 +247,6 @@
 | 
			
		|||
  //InspectionService
 | 
			
		||||
  "Inspection_UserDisabled": "The current user has been disabled.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Institution--------------------------------------------------------------------
 | 
			
		||||
  //CROService
 | 
			
		||||
  "CRO_DupName": "CRO with the same name already exists.Please confirm",
 | 
			
		||||
| 
						 | 
				
			
			@ -276,9 +262,6 @@
 | 
			
		|||
  "Sponsor_DupName": "Sponsor with the same name already exists.Please confirm.",
 | 
			
		||||
  "Sponsor_InProject": "The sponsor has been added to the project and it is not allowed to delete.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Management--------------------------------------------------------------------
 | 
			
		||||
  //MenuService
 | 
			
		||||
  "Menu_ParentDupChild": "A child node with the same name already exists under the parent node.",
 | 
			
		||||
| 
						 | 
				
			
			@ -300,8 +283,6 @@
 | 
			
		|||
  //UserTypeService
 | 
			
		||||
  "UserType_InUse": "User already exists in that user type, and it cannot be deleted.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------QC--------------------------------------------------------------------
 | 
			
		||||
  //QCCommon
 | 
			
		||||
  "QCCommon_CannotOperate": "CRC has submitted the image and it cannot be operated.",
 | 
			
		||||
| 
						 | 
				
			
			@ -379,9 +360,6 @@
 | 
			
		|||
  "TrialQCQuestion_DeleteChildFirst": "Before deleting the parent question, delete the child question that references the parent question.",
 | 
			
		||||
  "TrialQCQuestion_ReferencedByQCProcess": "This review question has been cited by the image quality control process and is not allowed to be deleted.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------QC--------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------SiteSurvey--------------------------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			@ -412,7 +390,6 @@
 | 
			
		|||
  "TrialSiteUser_NoTestUserForFormal": "It is Formal and training projects that are not allowed to add test users.",
 | 
			
		||||
  "TrialSiteUser_NoFormalUserForTest": "It is the test project that regular users are not allowed in.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Stat--------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------TrialSiteUser--------------------------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			@ -466,8 +443,6 @@
 | 
			
		|||
  "TrialSite_CannotDeleteAssociatedSubject": "The subjects has been added to  this site, and couldn't be deleted.",
 | 
			
		||||
  "TrialSite_CannotDeleteUploadedData": "The site has been uploaded study, and couldn't be deleted.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Visit--------------------------------------------------------------------
 | 
			
		||||
  //SubjectService
 | 
			
		||||
  "Subject_NoConfirmedPlan": "The visit plan of the project is not confirmed. Please contact the program Manager to confirm the visit plan before adding subjects.",
 | 
			
		||||
| 
						 | 
				
			
			@ -498,7 +473,6 @@
 | 
			
		|||
  "VisitPlan_CheckExport": "Check and export _{0}.xlsx",
 | 
			
		||||
  "VisitPlan_Assigned": "The visit plan has been assigned to the subjects and executed.",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------WorkLoad--------------------------------------------------------------------
 | 
			
		||||
  //DoctorWorkloadService
 | 
			
		||||
  "DoctorWorkload_AssignType": "A task has been assigned and does not allow you to reduce the reading type.",
 | 
			
		||||
| 
						 | 
				
			
			@ -509,7 +483,6 @@
 | 
			
		|||
  "Enroll_EmailFormat": "The {0} mailbox format is faulty.",
 | 
			
		||||
  "Enroll_CannotRollback": "Reviewers with workload cannot go back",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Triggers--------------------------------------------------------------------
 | 
			
		||||
  //AddlTrialUserTrigger
 | 
			
		||||
  "AddlTrialUser_NoTestUser": "It is Formal and training projects that are not allowed to add test users.",
 | 
			
		||||
| 
						 | 
				
			
			@ -518,5 +491,23 @@
 | 
			
		|||
  "SubjectState_CannotSetCurrentAsLastVisit": "The subject has already had a visit set as the last visit, and the current visit is not allowed to be set as the last visit.",
 | 
			
		||||
  "SubjectState_CannotSetAsLastVisitWithImage": "The image of the subject's visit after the current visit has been uploaded, and the current visit is not allowed to be set as the last visit.",
 | 
			
		||||
  //SubjectVisitFinalVisitTrigger
 | 
			
		||||
  "SubjectVisit_CannotSetAsLastVisit": "The subject's follow-up visits has uploaded images or submitted , and the current visit is not allowed to be set as the last visit."
 | 
			
		||||
  "SubjectVisit_CannotSetAsLastVisit": "The subject's follow-up visits has uploaded images or submitted , and the current visit is not allowed to be set as the last visit.",
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Helper--------------------------------------------------------------------
 | 
			
		||||
  //LimitUserRequestAuthorization
 | 
			
		||||
  "LimitUser_AuthTokenMissing": "User token was not retrieved from Header/URL, please contact developer",
 | 
			
		||||
  "LimitUser_AccountLoggedInElsewhere": "User token was not retrieved from Header/URL, please contact developer",
 | 
			
		||||
  //ModelActionFilter 
 | 
			
		||||
  "ModelAction_InvalidAPIParameter": "Invalid parameters provided for the API.",
 | 
			
		||||
  //ProjectExceptionFilter
 | 
			
		||||
  "ProjectException_ConcurrentUpdateNotAllowed": "Concurrent update, operation not allowed at this time.",
 | 
			
		||||
  "Project_ExceptionContactDeveloper": "Program exception, please contact developer.",
 | 
			
		||||
  //TrialResourceFilter
 | 
			
		||||
  "TrialResource_NoAccessPermission": "Sorry, your account does not have operation permissions.",
 | 
			
		||||
  "TrialResource_ReferTrialIdFailed": "Regular expression failed to fetch trialId from request Refer, please contact developer to check",
 | 
			
		||||
  "TrialResource_InterceptedProjectStatusRule": "This request was blocked by configured rules: only operations allowed when project status is in progress, please contact developer if this logic is incorrect and needs to be modified",
 | 
			
		||||
  "TrialResource_MissingProjectNumber": "Project number not passed in the API parameters, please verify.",
 | 
			
		||||
  //UnifiedApiResultFilter
 | 
			
		||||
  "UnifiedAPI_ProgramError": "Program error, please contact developer."
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,7 +75,6 @@
 | 
			
		|||
  "ReadModule_TumorExists": "当前访视存在肿瘤学阅片,请先删除肿瘤学阅片",
 | 
			
		||||
  "ReadModule_TaskGenerated": "当前阅片已生成任务,操作失败。",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Allocation--------------------------------------------------------------------
 | 
			
		||||
  //TaskAllocationRuleService
 | 
			
		||||
  "TaskAllocation_DoctorIdNotFound": "错误,未在入组表中找到该医生的账号Id",
 | 
			
		||||
| 
						 | 
				
			
			@ -131,7 +130,6 @@
 | 
			
		|||
  "VisitTask_NoConsistencyReturn": "不允许退回一致性分析任务",
 | 
			
		||||
  "VisitTask_VisitTypeTaskAllowedForPMOnly": "仅仅访视类型的任务支持PM退回",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Common--------------------------------------------------------------------
 | 
			
		||||
  //CommonDocumentService
 | 
			
		||||
  "Document_CodeDuplication": "文档的Code不能够重复。",
 | 
			
		||||
| 
						 | 
				
			
			@ -159,14 +157,15 @@
 | 
			
		|||
  "Mail_AccountCreationReminder": "[来自展影IRC] 关于创建账户的提醒",
 | 
			
		||||
  "Mail_AccountPasswordResetReminder": "[来自展影IRC] 关于重置账户密码的提醒",
 | 
			
		||||
  "Mail_InvitationEmail": "[来自展影IRC] [{0}]邀请信",
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Doctor--------------------------------------------------------------------
 | 
			
		||||
  //DoctorService
 | 
			
		||||
  "Doctor_DupPhoneOrEmail": "当前的电话或电子邮件号码已经存在",
 | 
			
		||||
  "Doctor_DupPhone": "当前的电话号码已经存在!",
 | 
			
		||||
  "Doctor_DupEmail": "当前的邮箱已经存在!",
 | 
			
		||||
  "Doctor_StandardDuplicateFileTypeError": "当前标准已添加过此类型文件",
 | 
			
		||||
  "Doctor_RequiredDocumentsError": "简历及顾问协议必须上传",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Document--------------------------------------------------------------------
 | 
			
		||||
  //SystemDocumentService
 | 
			
		||||
  "SystemD_DuplicateFile": "系统中已存在同类型的同名文件。",
 | 
			
		||||
| 
						 | 
				
			
			@ -225,7 +224,6 @@
 | 
			
		|||
  //TrialRevenuesPriceService
 | 
			
		||||
  "TRP_AddMeaningful": "请添加有意义的数据",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------ImageAndDoc--------------------------------------------------------------------
 | 
			
		||||
  //DicomArchiveService
 | 
			
		||||
  "DAS_NoAnonCacheData": "未取到缓存匿名化配置数据,上传停止,请联系开发人员核实",
 | 
			
		||||
| 
						 | 
				
			
			@ -285,7 +283,6 @@
 | 
			
		|||
  //UserTypeService
 | 
			
		||||
  "UserType_InUse": "该用户类型中已存在用户,不能删除。",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------QC--------------------------------------------------------------------
 | 
			
		||||
  //QCCommon
 | 
			
		||||
  "QCCommon_CannotOperate": "CRC 已提交影像,不能进行操作。",
 | 
			
		||||
| 
						 | 
				
			
			@ -446,7 +443,6 @@
 | 
			
		|||
  "TrialSite_CannotDeleteAssociatedSubject": "受试者已经添加,不能删除",
 | 
			
		||||
  "TrialSite_CannotDeleteUploadedData": "中心已经上传调研,无法删除",
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Visit--------------------------------------------------------------------
 | 
			
		||||
  //SubjectService
 | 
			
		||||
  "Subject_NoConfirmedPlan": "项目访视计划没有确认。请联系项目经理确认项目访视计划后,再添加受试者。",
 | 
			
		||||
| 
						 | 
				
			
			@ -495,6 +491,23 @@
 | 
			
		|||
  "SubjectState_CannotSetCurrentAsLastVisit": "该受试者已经有访视被设置为末次访视,不允许将当前访视设置为末次访视。",
 | 
			
		||||
  "SubjectState_CannotSetAsLastVisitWithImage": "该受试者当前访视后有访视的影像已上传,当前访视不允许设置为末次访视。",
 | 
			
		||||
  //SubjectVisitFinalVisitTrigger
 | 
			
		||||
  "SubjectVisit_CannotSetAsLastVisit": "该受试者已有后续访视已上传影像或已提交,当前访视不允许设置为末次访视。"
 | 
			
		||||
  "SubjectVisit_CannotSetAsLastVisit": "该受试者已有后续访视已上传影像或已提交,当前访视不允许设置为末次访视。",
 | 
			
		||||
 | 
			
		||||
  // ------------------------------------------------------------Helper--------------------------------------------------------------------
 | 
			
		||||
  //LimitUserRequestAuthorization
 | 
			
		||||
  "LimitUser_AuthTokenMissing": "当前请求未从Header/Url取到用户Token,请联系开发者",
 | 
			
		||||
  "LimitUser_AccountLoggedInElsewhere": "您的账户在其他地方已登陆,您被迫下线。",
 | 
			
		||||
  //ModelActionFilter 
 | 
			
		||||
  "ModelAction_InvalidAPIParameter": "提供给接口的参数无效。",
 | 
			
		||||
  //ProjectExceptionFilter
 | 
			
		||||
  "ProjectException_ConcurrentUpdateNotAllowed": "并发更新,当前不允许该操作",
 | 
			
		||||
  "Project_ExceptionContactDeveloper": "程序异常,请联系开发人员。 ",
 | 
			
		||||
  //TrialResourceFilter
 | 
			
		||||
  "TrialResource_NoAccessPermission": "对不起,您的账户没有操作权限。",
 | 
			
		||||
  "TrialResource_ReferTrialIdFailed": "正则取请求Refer 中trialId 失败,请联系开发人员核查",
 | 
			
		||||
  "TrialResource_InterceptedProjectStatusRule": "本次请求被配置规则拦截:项目状态处于进行中时,才允许操作,若此处逻辑有误,请联系开发人员修改",
 | 
			
		||||
  "TrialResource_MissingProjectNumber": "该接口参数中,没有传递项目编号,请核对。",
 | 
			
		||||
  //UnifiedApiResultFilter
 | 
			
		||||
  "UnifiedAPI_ProgramError": "程序错误,请联系开发人员。"
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								后端提示语.xlsx
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								后端提示语.xlsx
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue