diff --git a/IRaCIS.Core.API/Controllers/FinancialChangeController.cs b/IRaCIS.Core.API/Controllers/FinancialChangeController.cs index 282891a36..ec6b350de 100644 --- a/IRaCIS.Core.API/Controllers/FinancialChangeController.cs +++ b/IRaCIS.Core.API/Controllers/FinancialChangeController.cs @@ -12,6 +12,7 @@ using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Application.Auth; +using Microsoft.Extensions.Localization; namespace IRaCIS.Core.API.Controllers.Special { @@ -22,11 +23,12 @@ namespace IRaCIS.Core.API.Controllers.Special { private readonly ITrialService _trialService; private readonly ICalculateService _calculateService; - - public FinancialChangeController(ITrialService trialService, ICalculateService calculateService - ) + private IStringLocalizer _localizer { get; set; } + public FinancialChangeController(ITrialService trialService, ICalculateService calculateService, IStringLocalizer localizer + ) { - _trialService = trialService; + _localizer = localizer; + _trialService = trialService; _calculateService = calculateService; } @@ -124,7 +126,8 @@ namespace IRaCIS.Core.API.Controllers.Special if (isLock) { - return ResponseOutput.NotOk("Expenses have been settled and workload can not be reset."); + //---Expenses have been settled and workload can not be reset. + return ResponseOutput.NotOk(_localizer["Financial_ChargeSettled"]); } var deleteResult = await _trialWorkloadService.DeleteWorkload(id); @@ -300,7 +303,8 @@ namespace IRaCIS.Core.API.Controllers.Special { if (!ModelState.IsValid) { - return ResponseOutput.NotOk("Invalid parameter."); + //---Invalid parameter. + return ResponseOutput.NotOk(_localizer["Financial_InvalidParameter"]); } return await _calculateService.CalculateMonthlyPayment(param, User.FindFirst("id").Value); } diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index b9485e59d..f543a9005 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -286,7 +286,8 @@ namespace IRaCIS.Core.API.Controllers !MediaTypeHeaderValue.TryParse(HttpContext.Request.ContentType, out var mediaTypeHeader) || string.IsNullOrEmpty(mediaTypeHeader.Boundary.Value)) { - return ResponseOutput.NotOk("不支持的MediaType"); + //---不支持的MediaType + return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_UnsupportedMedia")); } var archiveStudyCommand = new ArchiveStudyCommand() { AbandonStudyId = abandonStudyId, StudyInstanceUid = studyInstanceUid, SubjectVisitId = subjectVisitId }; @@ -297,7 +298,8 @@ namespace IRaCIS.Core.API.Controllers if (_provider.Exists($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}")) { - return ResponseOutput.NotOk("当前已有人正在上传和归档该检查!"); + //---当前已有人正在上传和归档该检查! + return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_ArchiveInProgress")); } else { @@ -370,7 +372,8 @@ namespace IRaCIS.Core.API.Controllers { _provider.Remove($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}"); - throw new BusinessValidationFailedException("请求异常,请重试!"); + //---请求异常,请重试! + throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_RequestError")); } studyMonitor.FileSize = (decimal)HttpContext.Request.ContentLength; @@ -741,7 +744,8 @@ namespace IRaCIS.Core.API.Controllers if (!fileName.EndsWith(".xlsx") && !fileName.EndsWith(".csv") && !fileName.EndsWith(".xls")) { - throw new BusinessValidationFailedException("支持.xlsx、.xls、.csv格式的文件上传。"); + //---支持.xlsx、.xls、.csv格式的文件上传。 + throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_SupportedFormats")); } (serverFilePath, relativePath) = FileStoreHelper.GetTrialCheckFilePath(_hostEnvironment, fileName, trialId); @@ -881,7 +885,8 @@ namespace IRaCIS.Core.API.Controllers if (etcCheckList == null || etcCheckList.Count == 0) { - return ResponseOutput.NotOk("请保证上传数据符合模板文件中的样式,且存在有效数据。"); + //---请保证上传数据符合模板文件中的样式,且存在有效数据。 + return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_InvalidData")); } else { @@ -901,7 +906,8 @@ namespace IRaCIS.Core.API.Controllers if (etcCheckList.Count == 0) { - return ResponseOutput.NotOk("请保证上传数据符合模板文件中的样式,且存在有效数据。"); + //---请保证上传数据符合模板文件中的样式,且存在有效数据。 + return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_InvalidData")); } } diff --git a/IRaCIS.Core.API/Utility/MultipartRequestHelper.cs b/IRaCIS.Core.API/Utility/MultipartRequestHelper.cs index 6be5c7bbe..11aa8cd92 100644 --- a/IRaCIS.Core.API/Utility/MultipartRequestHelper.cs +++ b/IRaCIS.Core.API/Utility/MultipartRequestHelper.cs @@ -14,7 +14,8 @@ namespace IRaCIS.Core.API.Utility if (string.IsNullOrWhiteSpace(boundary)) { - throw new InvalidDataException("Missing content-type boundary."); + throw new InvalidDataException( + "Missing content-type boundary."); } if (boundary.Length > lengthLimit) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 62fefa122..44812cf88 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1234,13 +1234,6 @@ - - - 获取报告整体整体评估 - - - - 获取报告是否存在疾病 diff --git a/IRaCIS.Core.Application/Resources/en-US.json b/IRaCIS.Core.Application/Resources/en-US.json index 2107ff670..6a5a6157b 100644 --- a/IRaCIS.Core.Application/Resources/en-US.json +++ b/IRaCIS.Core.Application/Resources/en-US.json @@ -2,6 +2,17 @@ "test{0}{1}": "英文本地化{0}{1}", "RequiredAttribute": "{0} is required", + // ------------------------------------------------------------Controllers-------------------------------------------------------------------- + //FinancialChangeController + "Financial_ChargeSettled": "Expenses have been settled and workload can not be reset.", + "Financial_InvalidParameter": "Invalid parameter.", + //UploadDownLoadController + "UploadDownLoad_UnsupportedMedia": "Unsupported media type.", + "UploadDownLoad_ArchiveInProgress": "Another user is uploading or archiving this inspection.", + "UploadDownLoad_InvalidData": "Please ensure that the uploaded data conforms to the style of the template file and contains valid data.", + "UploadDownLoad_RequestError": "Request error.", + "UploadDownLoad_SupportedFormats": "Supports upload of .xlsx, .xls, and .csv formats.", + //-------------------------------------------------------------------------------------Reading----------------------------------------------------------------- //ClinicalDataSetService "ClinicalDataSet_DupTypeFail": "There are duplicate clinical data of the same type. The operation failed.", diff --git a/IRaCIS.Core.Application/Resources/zh-CN.json b/IRaCIS.Core.Application/Resources/zh-CN.json index a2361cd83..8335865d2 100644 --- a/IRaCIS.Core.Application/Resources/zh-CN.json +++ b/IRaCIS.Core.Application/Resources/zh-CN.json @@ -2,6 +2,17 @@ "test{0}{1}": "中文本地化{0}{1}", "RequiredAttribute": "{0} 字段是必须的", + // ------------------------------------------------------------Controllers-------------------------------------------------------------------- + //FinancialChangeController + "Financial_ChargeSettled": "费用已经结算,无法重置工作量", + "Financial_InvalidParameter": "无效的参数。", + //UploadDownLoadController + "UploadDownLoad_UnsupportedMedia": "不支持的MediaType", + "UploadDownLoad_ArchiveInProgress": "当前已有人正在上传和归档该检查!", + "UploadDownLoad_InvalidData": "请保证上传数据符合模板文件中的样式,且存在有效数据。", + "UploadDownLoad_RequestError": "请求异常,请重试!", + "UploadDownLoad_SupportedFormats": "支持.xlsx、.xls、.csv格式的文件上传。", + // ------------------------------------------------------------Reading-------------------------------------------------------------------- //ClinicalDataSetService "ClinicalDataSet_DupTypeFail": "存在同类型的临床数据,操作失败", diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 8850ebf69..c12a36889 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -1676,7 +1676,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).SelectMany(x => x.TableRowInfoList).ToList(); var lastVisitTaskId = await GetLastVisitTaskId(inDto); - var tumorQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.Tumor).Select(x => x.QuestionId).FirstOrDefault(); + var targetLesionQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.TargetLesion).Select(x => x.QuestionId).FirstOrDefault(); var sodQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SOD).Select(x => x.QuestionId).FirstOrDefault(); IRECISTTargetLesionDto resultData = new IRECISTTargetLesionDto() @@ -1685,7 +1685,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate NotExistsTargetLesion = tableQuestion.Count() == 0, // 上一访视评估 - LastTaskTarget = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == tumorQuestionId) + LastTaskTarget = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == targetLesionQuestionId) .Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty, // 满足RECISTPD @@ -1742,19 +1742,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate result = TargetAssessment.ND; } // else if (上一访视评估为iCPD && 本次访视满足RECIST1.1的PD条件&&比整体访视期间最低点SOD增加≥20%&&比整体访视期间最低点SOD绝对增加值≥5 mm) - else if (resultData.LastTaskTarget.EqEnum(OverallAssessment.iCPD) && resultData.MeetRECISTPD && resultData.LowSodAddGreaterThan20Percent && resultData.LowSodAddGreaterThan5) + else if (resultData.LastTaskTarget.EqEnum(TargetAssessment.iCPD) && resultData.MeetRECISTPD && resultData.LowSodAddGreaterThan20Percent && resultData.LowSodAddGreaterThan5) { // 靶病灶疗效为 ICPD result = TargetAssessment.iCPD; } // else if (上一访视评估为iUPD&&本次访视SOD增加不小于5mm) - else if (resultData.LastTaskTarget.EqEnum(OverallAssessment.iUPD) && resultData.SODAddGreaterThan5) + else if (resultData.LastTaskTarget.EqEnum(TargetAssessment.iUPD) && resultData.SODAddGreaterThan5) { // 靶病灶疗效为 ICPD result = TargetAssessment.iCPD; } // } else if (本次访视满足RECIST1.1的PD条件 && (比整体访视期间最低点SOD增加≥20 % && 比整体访视期间最低点SOD绝对增加值≥5 mm)|| (前一访视评估为iCR && 当前访视至少有一个“存在”状态的靶病灶)) - else if (resultData.MeetRECISTPD && (resultData.LowSodAddGreaterThan20Percent && resultData.LowSodAddGreaterThan5) || (resultData.LastTaskTarget.EqEnum(OverallAssessment.iCR) && resultData.HaveExistLesion)) + else if (resultData.MeetRECISTPD && (resultData.LowSodAddGreaterThan20Percent && resultData.LowSodAddGreaterThan5) || (resultData.LastTaskTarget.EqEnum(TargetAssessment.iCR) && resultData.HaveExistLesion)) { // 靶病灶疗效为 iUPD result = TargetAssessment.iUPD; diff --git a/后端提示语.xlsx b/后端提示语.xlsx index 309ca6db0..59c5547d3 100644 Binary files a/后端提示语.xlsx and b/后端提示语.xlsx differ