Uat_Study
he 2023-05-06 15:06:06 +08:00
parent 63572942ea
commit 73862c10c5
8 changed files with 51 additions and 25 deletions

View File

@ -12,6 +12,7 @@ using IRaCIS.Core.Application.Service.Inspection.DTO;
using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Infra.EFCore;
using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Application.Auth; using IRaCIS.Core.Application.Auth;
using Microsoft.Extensions.Localization;
namespace IRaCIS.Core.API.Controllers.Special namespace IRaCIS.Core.API.Controllers.Special
{ {
@ -22,11 +23,12 @@ namespace IRaCIS.Core.API.Controllers.Special
{ {
private readonly ITrialService _trialService; private readonly ITrialService _trialService;
private readonly ICalculateService _calculateService; private readonly ICalculateService _calculateService;
private IStringLocalizer _localizer { get; set; }
public FinancialChangeController(ITrialService trialService, ICalculateService calculateService public FinancialChangeController(ITrialService trialService, ICalculateService calculateService, IStringLocalizer localizer
) )
{ {
_trialService = trialService; _localizer = localizer;
_trialService = trialService;
_calculateService = calculateService; _calculateService = calculateService;
} }
@ -124,7 +126,8 @@ namespace IRaCIS.Core.API.Controllers.Special
if (isLock) 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); var deleteResult = await _trialWorkloadService.DeleteWorkload(id);
@ -300,7 +303,8 @@ namespace IRaCIS.Core.API.Controllers.Special
{ {
if (!ModelState.IsValid) 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); return await _calculateService.CalculateMonthlyPayment(param, User.FindFirst("id").Value);
} }

View File

@ -286,7 +286,8 @@ namespace IRaCIS.Core.API.Controllers
!MediaTypeHeaderValue.TryParse(HttpContext.Request.ContentType, out var mediaTypeHeader) || !MediaTypeHeaderValue.TryParse(HttpContext.Request.ContentType, out var mediaTypeHeader) ||
string.IsNullOrEmpty(mediaTypeHeader.Boundary.Value)) 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 }; 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}")) if (_provider.Exists($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}"))
{ {
return ResponseOutput.NotOk("当前已有人正在上传和归档该检查!"); //---当前已有人正在上传和归档该检查!
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_ArchiveInProgress"));
} }
else else
{ {
@ -370,7 +372,8 @@ namespace IRaCIS.Core.API.Controllers
{ {
_provider.Remove($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}"); _provider.Remove($"StudyUid_{trialId}_{archiveStudyCommand.StudyInstanceUid}");
throw new BusinessValidationFailedException("请求异常,请重试!"); //---请求异常,请重试!
throw new BusinessValidationFailedException(StaticData.International("UploadDownLoad_RequestError"));
} }
studyMonitor.FileSize = (decimal)HttpContext.Request.ContentLength; 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")) 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); (serverFilePath, relativePath) = FileStoreHelper.GetTrialCheckFilePath(_hostEnvironment, fileName, trialId);
@ -881,7 +885,8 @@ namespace IRaCIS.Core.API.Controllers
if (etcCheckList == null || etcCheckList.Count == 0) if (etcCheckList == null || etcCheckList.Count == 0)
{ {
return ResponseOutput.NotOk("请保证上传数据符合模板文件中的样式,且存在有效数据。"); //---请保证上传数据符合模板文件中的样式,且存在有效数据。
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_InvalidData"));
} }
else else
{ {
@ -901,7 +906,8 @@ namespace IRaCIS.Core.API.Controllers
if (etcCheckList.Count == 0) if (etcCheckList.Count == 0)
{ {
return ResponseOutput.NotOk("请保证上传数据符合模板文件中的样式,且存在有效数据。"); //---请保证上传数据符合模板文件中的样式,且存在有效数据。
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_InvalidData"));
} }
} }

View File

@ -14,7 +14,8 @@ namespace IRaCIS.Core.API.Utility
if (string.IsNullOrWhiteSpace(boundary)) if (string.IsNullOrWhiteSpace(boundary))
{ {
throw new InvalidDataException("Missing content-type boundary."); throw new InvalidDataException(
"Missing content-type boundary.");
} }
if (boundary.Length > lengthLimit) if (boundary.Length > lengthLimit)

View File

@ -1234,13 +1234,6 @@
<param name="calculateType"></param> <param name="calculateType"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetReportTumor(System.Guid)">
<summary>
获取报告整体整体评估
</summary>
<param name="visitTaskId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetReportIsExistDisease(System.Guid)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetReportIsExistDisease(System.Guid)">
<summary> <summary>
获取报告是否存在疾病 获取报告是否存在疾病

View File

@ -2,6 +2,17 @@
"test{0}{1}": "英文本地化{0}{1}", "test{0}{1}": "英文本地化{0}{1}",
"RequiredAttribute": "{0} is required", "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----------------------------------------------------------------- //-------------------------------------------------------------------------------------Reading-----------------------------------------------------------------
//ClinicalDataSetService //ClinicalDataSetService
"ClinicalDataSet_DupTypeFail": "There are duplicate clinical data of the same type. The operation failed.", "ClinicalDataSet_DupTypeFail": "There are duplicate clinical data of the same type. The operation failed.",

View File

@ -2,6 +2,17 @@
"test{0}{1}": "中文本地化{0}{1}", "test{0}{1}": "中文本地化{0}{1}",
"RequiredAttribute": "{0} 字段是必须的", "RequiredAttribute": "{0} 字段是必须的",
// ------------------------------------------------------------Controllers--------------------------------------------------------------------
//FinancialChangeController
"Financial_ChargeSettled": "费用已经结算,无法重置工作量",
"Financial_InvalidParameter": "无效的参数。",
//UploadDownLoadController
"UploadDownLoad_UnsupportedMedia": "不支持的MediaType",
"UploadDownLoad_ArchiveInProgress": "当前已有人正在上传和归档该检查!",
"UploadDownLoad_InvalidData": "请保证上传数据符合模板文件中的样式,且存在有效数据。",
"UploadDownLoad_RequestError": "请求异常,请重试!",
"UploadDownLoad_SupportedFormats": "支持.xlsx、.xls、.csv格式的文件上传。",
// ------------------------------------------------------------Reading-------------------------------------------------------------------- // ------------------------------------------------------------Reading--------------------------------------------------------------------
//ClinicalDataSetService //ClinicalDataSetService
"ClinicalDataSet_DupTypeFail": "存在同类型的临床数据,操作失败", "ClinicalDataSet_DupTypeFail": "存在同类型的临床数据,操作失败",

View File

@ -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 tableQuestion = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).SelectMany(x => x.TableRowInfoList).ToList();
var lastVisitTaskId = await GetLastVisitTaskId(inDto); 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(); var sodQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SOD).Select(x => x.QuestionId).FirstOrDefault();
IRECISTTargetLesionDto resultData = new IRECISTTargetLesionDto() IRECISTTargetLesionDto resultData = new IRECISTTargetLesionDto()
@ -1685,7 +1685,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
NotExistsTargetLesion = tableQuestion.Count() == 0, 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, .Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty,
// 满足RECISTPD // 满足RECISTPD
@ -1742,19 +1742,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
result = TargetAssessment.ND; result = TargetAssessment.ND;
} }
// else if (上一访视评估为iCPD && 本次访视满足RECIST1.1的PD条件&&比整体访视期间最低点SOD增加≥20%&&比整体访视期间最低点SOD绝对增加值≥5 mm) // 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 // 靶病灶疗效为 ICPD
result = TargetAssessment.iCPD; result = TargetAssessment.iCPD;
} }
// else if (上一访视评估为iUPD&&本次访视SOD增加不小于5mm) // else if (上一访视评估为iUPD&&本次访视SOD增加不小于5mm)
else if (resultData.LastTaskTarget.EqEnum(OverallAssessment.iUPD) && resultData.SODAddGreaterThan5) else if (resultData.LastTaskTarget.EqEnum(TargetAssessment.iUPD) && resultData.SODAddGreaterThan5)
{ {
// 靶病灶疗效为 ICPD // 靶病灶疗效为 ICPD
result = TargetAssessment.iCPD; result = TargetAssessment.iCPD;
} }
// } else if (本次访视满足RECIST1.1的PD条件 && (比整体访视期间最低点SOD增加≥20 % && 比整体访视期间最低点SOD绝对增加值≥5 mm)|| (前一访视评估为iCR && 当前访视至少有一个“存在”状态的靶病灶)) // } 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 // 靶病灶疗效为 iUPD
result = TargetAssessment.iUPD; result = TargetAssessment.iUPD;

Binary file not shown.