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