From 122b50e114eb8c623b6b1a8f1aa3a8351318b74a Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Sat, 6 May 2023 16:11:31 +0800 Subject: [PATCH 01/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Authorization/ApiResponseHandler.cs | 16 ++++++++++++---- .../BusinessFilter/ModelActionFilter .cs | 8 +++++++- .../BusinessFilter/ProjectExceptionFilter.cs | 12 ++++++++---- IRaCIS.Core.Application/Resources/en-US.json | 18 +++++++++++++++++- IRaCIS.Core.Application/Resources/zh-CN.json | 18 +++++++++++++++++- .../Service/Common/SystemMonitor.cs | 3 ++- .../Service/QC/QCOperationService.cs | 7 ++++--- .../ReadingPeriod/ReadingPeriodSetService.cs | 6 ++++-- .../SiteSurvey/TrialSiteSurveyService.cs | 9 ++++++--- .../TrialSiteUser/TrialConfigService.cs | 3 ++- .../TrialSiteUser/TrialMaintenanceService.cs | 3 ++- .../Service/Visit/VisitPlanService.cs | 3 ++- .../Repository/IRepository.cs | 4 +++- .../Repository/Repository.cs | 2 +- .../_IRaCIS/IQueryablePageListExtensions.cs | 2 +- .../_IRaCIS/Output/ResponseOutput.cs | 10 +++++----- .../Controllers/JWTController.cs | 6 ++++-- 后端提示语.xlsx | Bin 114288 -> 118628 bytes 18 files changed, 97 insertions(+), 33 deletions(-) diff --git a/IRaCIS.Core.API/_ServiceExtensions/Authorization/ApiResponseHandler.cs b/IRaCIS.Core.API/_ServiceExtensions/Authorization/ApiResponseHandler.cs index 32f999568..b2eb8e922 100644 --- a/IRaCIS.Core.API/_ServiceExtensions/Authorization/ApiResponseHandler.cs +++ b/IRaCIS.Core.API/_ServiceExtensions/Authorization/ApiResponseHandler.cs @@ -1,6 +1,7 @@ using IRaCIS.Core.Infrastructure.Extention; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Localization; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Newtonsoft.Json; @@ -12,9 +13,14 @@ namespace IRaCIS.Core.API { public class ApiResponseHandler : AuthenticationHandler { - public ApiResponseHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock) : base(options, logger, encoder, clock) + public IStringLocalizer _localizer; + public ApiResponseHandler(IOptionsMonitor options, + IStringLocalizer localizer, + ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock) : base(options, logger, encoder, clock) { - } + _localizer = localizer; + + } protected override Task HandleAuthenticateAsync() { @@ -24,14 +30,16 @@ namespace IRaCIS.Core.API { Response.ContentType = "application/json"; Response.StatusCode = StatusCodes.Status401Unauthorized; - await Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk("您无权访问该接口", ApiResponseCodeEnum.NoToken))); + //---您无权访问该接口 + await Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk(_localizer["ApiResponse_NoAccess"], ApiResponseCodeEnum.NoToken))); } protected override async Task HandleForbiddenAsync(AuthenticationProperties properties) { Response.ContentType = "application/json"; Response.StatusCode = StatusCodes.Status403Forbidden; - await Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk("您的权限不允许进行该操作",ApiResponseCodeEnum.HaveTokenNotAccess))); + //---您的权限不允许进行该操作 + await Response.WriteAsync(JsonConvert.SerializeObject(ResponseOutput.NotOk(_localizer["ApiResponse_Permission"],ApiResponseCodeEnum.HaveTokenNotAccess))); } } diff --git a/IRaCIS.Core.Application/BusinessFilter/ModelActionFilter .cs b/IRaCIS.Core.Application/BusinessFilter/ModelActionFilter .cs index 900583e6d..79c1788cb 100644 --- a/IRaCIS.Core.Application/BusinessFilter/ModelActionFilter .cs +++ b/IRaCIS.Core.Application/BusinessFilter/ModelActionFilter .cs @@ -11,6 +11,12 @@ namespace IRaCIS.Core.Application.Filter public class ModelActionFilter : ActionFilterAttribute, IActionFilter { + public IStringLocalizer _localizer; + public ModelActionFilter(IStringLocalizer localizer) + { + _localizer = localizer; + } + public override void OnActionExecuting(ActionExecutingContext context) { if (!context.ModelState.IsValid) @@ -23,7 +29,7 @@ namespace IRaCIS.Core.Application.Filter .ToArray(); //---提供给接口的参数无效。 - context.Result = new JsonResult(ResponseOutput.NotOk("Invalid parameters provided for the API." + JsonConvert.SerializeObject( validationErrors))); + context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["ModelAction_InvalidAPIParameter"] + JsonConvert.SerializeObject( validationErrors))); } } } diff --git a/IRaCIS.Core.Application/BusinessFilter/ProjectExceptionFilter.cs b/IRaCIS.Core.Application/BusinessFilter/ProjectExceptionFilter.cs index 0112952ab..2948ee64f 100644 --- a/IRaCIS.Core.Application/BusinessFilter/ProjectExceptionFilter.cs +++ b/IRaCIS.Core.Application/BusinessFilter/ProjectExceptionFilter.cs @@ -2,6 +2,7 @@ using IRaCIS.Core.Infrastructure.Extention; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.Extensions.Localization; using Microsoft.Extensions.Logging; namespace IRaCIS.Core.Application.Filter @@ -10,10 +11,13 @@ namespace IRaCIS.Core.Application.Filter { private readonly ILogger _logger; - public ProjectExceptionFilter(ILogger logger) + public IStringLocalizer _localizer; + + public ProjectExceptionFilter(IStringLocalizer localizer, ILogger logger) { _logger = logger; - } + _localizer = localizer; + } public void OnException(ExceptionContext context) { //context.ExceptionHandled;//记录当前这个异常是否已经被处理过了 @@ -23,7 +27,7 @@ namespace IRaCIS.Core.Application.Filter if (context.Exception.GetType().Name == "DbUpdateConcurrencyException") { //---并发更新,当前不允许该操作 - context.Result = new JsonResult(ResponseOutput.NotOk("Concurrent update, operation not allowed at this time." + context.Exception.Message)); + context.Result = new JsonResult(ResponseOutput.NotOk(_localizer["ProjectException_ConcurrentUpdateNotAllowed"] + context.Exception.Message)); } if (context.Exception.GetType() == typeof(BusinessValidationFailedException)) @@ -36,7 +40,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(_localizer["Project_ExceptionContactDeveloper"] + (context.Exception.InnerException is null ? (context.Exception.Message /*+ context.Exception.StackTrace*/) : (context.Exception.InnerException?.Message /*+ context.Exception.InnerException?.StackTrace*/)), ApiResponseCodeEnum.ProgramException)); } diff --git a/IRaCIS.Core.Application/Resources/en-US.json b/IRaCIS.Core.Application/Resources/en-US.json index 6a5a6157b..a6b8a6b93 100644 --- a/IRaCIS.Core.Application/Resources/en-US.json +++ b/IRaCIS.Core.Application/Resources/en-US.json @@ -2,6 +2,11 @@ "test{0}{1}": "英文本地化{0}{1}", "RequiredAttribute": "{0} is required", + // ------------------------------------------------------------_ServiceExtensions-------------------------------------------------------------------- + //ApiResponseHandler + "ApiResponse_NoAccess": "You do not have access to this API", + "ApiResponse_Permission": "Your permission does not allow you to perform this operation", + // ------------------------------------------------------------Controllers-------------------------------------------------------------------- //FinancialChangeController "Financial_ChargeSettled": "Expenses have been settled and workload can not be reset.", @@ -89,6 +94,8 @@ "ReadingQuestion_ExcludeWithDependency": "The displayed dependent parent problem and the required dependent problem are the same, but the answers are mutually exclusive, operation failed.", "ReadingQuestion_CircularDependency": "Calculation dependency has looped!", //ReadingPeriodSetService + "ReadingPeriodSet_NameDup": "Reading period name duplicate, operation failed", + "ReadingPeriodSet_Global": "Reading period name cannot be Global", "ReadingPeriodSet_AlreadyAdded": "{0} has already added the review period, cannot set it effective.", "ReadingPeriodSet_TaskCompletedCannotRevoke": "The current standard review has generated tasks and the review is completed, revoke failed.", "ReadingPeriodSet_LastVisit": "Last visit.", @@ -182,6 +189,8 @@ "Mail_AccountCreationReminder": "[from Extensive Imaging IRC] A reminder about creating an account", "Mail_AccountPasswordResetReminder": "[from Film IRC] A reminder about resetting account passwords", "Mail_InvitationEmail": "[from Extensive Imaging IRC][{0}]Invitation", + //SystemMonitor + "SysMon_JsonConfig": "Parsing the Json file configuration failed", // ------------------------------------------------------------Doctor-------------------------------------------------------------------- //DoctorService @@ -421,6 +430,7 @@ //TrialConfigService "TrialConfig_JudgeTaskFail": "There are judge questions that the conditions for generating judge reading task are not configured, and the operation has failed!", "TrialConfig_StdConfigMissing": "Questions are not configured under the current standard.", + "TrialConfig_AddEvalReq": "Selected additional evaluation, must check additional evaluation type", "TrialConfig_SignTemplateMissing": "This operation requires electronic signature confirmation, but the signature template for this scenario is not found in the system.", "TrialConfig_ProjectEnded": "The trial project has ended or stopped, and configuration changes are not allowed.", "TrialConfig_NoImageAuditQuestion": "No image quality control review question is currently added. Please add the image quality control review question first, and then confirm.", @@ -545,6 +555,12 @@ // ------------------------------------------------------------IRaCIS.Core.Domain-------------------------------------------------------------------- //Trial - "Trial_number": "The serial number consists of five digits. The first two digits are the center number and the last three digits are the serial number. The serial number must be the same as that recorded by the EDC" + "Trial_number": "The serial number consists of five digits. The first two digits are the center number and the last three digits are the serial number. The serial number must be the same as that recorded by the EDC", + + // ------------------------------------------------------------IRaCIS.Core.Infrastructure-------------------------------------------------------------------- + //ResponseOutput + "RO_BizObjNotExistsOrParamIncorrect": "The business object{0} does not exist in the database, or was deleted by someone else, or an incorrect parameter query caused", + "RO_ExpectChangeButNoEffect": "Expect a change, but the database data has not changed", + "RO_SaveFailed": "Saved failed" } diff --git a/IRaCIS.Core.Application/Resources/zh-CN.json b/IRaCIS.Core.Application/Resources/zh-CN.json index 8335865d2..ea777ab64 100644 --- a/IRaCIS.Core.Application/Resources/zh-CN.json +++ b/IRaCIS.Core.Application/Resources/zh-CN.json @@ -2,6 +2,11 @@ "test{0}{1}": "中文本地化{0}{1}", "RequiredAttribute": "{0} 字段是必须的", + // ------------------------------------------------------------_ServiceExtensions-------------------------------------------------------------------- + //ApiResponseHandler + "ApiResponse_NoAccess": "您无权访问该接口", + "ApiResponse_Permission": "您的权限不允许进行该操作", + // ------------------------------------------------------------Controllers-------------------------------------------------------------------- //FinancialChangeController "Financial_ChargeSettled": "费用已经结算,无法重置工作量", @@ -89,6 +94,8 @@ "ReadingQuestion_ExcludeWithDependency": "显示依赖父问题和必填依赖的问题为同一个,但答案互斥,操作失败", "ReadingQuestion_CircularDependency": "计算依赖循环了!", //ReadingPeriodSetService + "ReadingPeriodSet_NameDup": "阅片期名称重复,操作失败", + "ReadingPeriodSet_Global": "阅片期名称不能为Global", "ReadingPeriodSet_AlreadyAdded": "{0}已经添加过阅片期,无法设置生效", "ReadingPeriodSet_TaskCompletedCannotRevoke": "当前标准阅片已生成任务并且阅片完成,撤销失败。", "ReadingPeriodSet_LastVisit": "末次访视", @@ -182,6 +189,8 @@ "Mail_AccountCreationReminder": "[来自展影IRC] 关于创建账户的提醒", "Mail_AccountPasswordResetReminder": "[来自展影IRC] 关于重置账户密码的提醒", "Mail_InvitationEmail": "[来自展影IRC] [{0}]邀请信", + //SystemMonitor + "SysMon_JsonConfig": "解析Json文件配置出现问题", // ------------------------------------------------------------Doctor-------------------------------------------------------------------- //DoctorService @@ -421,6 +430,7 @@ //TrialConfigService "TrialConfig_JudgeTaskFail": "有裁判问题未配置产生裁判阅片任务的条件,操作失败!", "TrialConfig_StdConfigMissing": "当前标准下未配置问题", + "TrialConfig_AddEvalReq": "选择了附加评估,必须勾选附加评估类型", "TrialConfig_SignTemplateMissing": "该操作需要电子签名确认,但未在系统中找到该场景的签名模板。", "TrialConfig_ProjectEnded": "该项目已结束或停止,不允许修改配置。", "TrialConfig_NoImageAuditQuestion": "当前未添加影像质控审核问题。请先添加影像质控审核问题,再进行确认。", @@ -545,6 +555,12 @@ // ------------------------------------------------------------IRaCIS.Core.Domain-------------------------------------------------------------------- //Trial - "Trial_number": "编号由5位数字组成,前2位为中心编号,后3位为顺序号,请与EDC录入的编号保持一致" + "Trial_number": "编号由5位数字组成,前2位为中心编号,后3位为顺序号,请与EDC录入的编号保持一致", + + // ------------------------------------------------------------IRaCIS.Core.Infrastructure-------------------------------------------------------------------- + //ResponseOutput + "RO_BizObjNotExistsOrParamIncorrect": "业务对象{0}在数据库中不存在,或被他人删除,或参数查询不正确导致", + "RO_ExpectChangeButNoEffect": "期望发生更改,但数据库数据没有更改", + "RO_SaveFailed": "保存失败" } diff --git a/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs b/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs index 72e260849..88caed6fe 100644 --- a/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs +++ b/IRaCIS.Core.Application/Service/Common/SystemMonitor.cs @@ -64,7 +64,8 @@ namespace IRaCIS.Core.Application.Service.Common catch (Exception e) { - throw new BusinessValidationFailedException("解析Json文件配置出现问题:"+e.Message); + //---解析Json文件配置出现问题 + throw new BusinessValidationFailedException(_localizer["SysMon_JsonConfig"]+e.Message); } //默认存储的路径 diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 62e0cf191..6b3e26e71 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -985,7 +985,8 @@ namespace IRaCIS.Core.Application.Image.QA } else { - return ResponseOutput.NotOk("项目配置为单审,不满足SubmmitState:已提交 或者 AuditState:待审核/审核中, 不允许领取,请刷新界面"); + // ---项目配置为单审,不满足Submmit State:已提交 或者 Audit State:待审核/审核中, 不允许领取,请刷新界面 + return ResponseOutput.NotOk(_localizer["QCOperation_NoSingleAudit"]); } } else if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit) @@ -2075,8 +2076,8 @@ namespace IRaCIS.Core.Application.Image.QA await _subjectVisitRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId, u => new SubjectVisit() { ForwardState = ForwardStateEnum.ForwardFailed }); - - return ResponseOutput.NotOk("转发影像失败: " + e.Message); + // --转发影像失败 + return ResponseOutput.NotOk(_localizer["QCOperation_ForwardingFailed"] + e.Message); } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs index 86cd1cffa..555f98125 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs @@ -72,11 +72,13 @@ namespace IRaCIS.Application.Services if (await _readingPeriodSetRepository.AnyAsync(x => x.Id != addOrEditReadingPeriodSet.Id && x.IsTakeEffect != ReadingPeriodStatus.Revocation && x.TrialId == addOrEditReadingPeriodSet.TrialId && x.ReadingPeriodName == addOrEditReadingPeriodSet.ReadingPeriodName && x.TrialReadingCriterionId == addOrEditReadingPeriodSet.TrialReadingCriterionId)) { - return ResponseOutput.NotOk("阅片期名称重复,操作失败"); + //---阅片期名称重复,操作失败 + return ResponseOutput.NotOk(_localizer["ReadingPeriodSet_NameDup"]); } if (addOrEditReadingPeriodSet.ReadingPeriodName == "Global") { - return ResponseOutput.NotOk("阅片期名称不能为Global"); + //---阅片期名称不能为Global + return ResponseOutput.NotOk(_localizer["ReadingPeriodSet_Global"]); } if (addOrEditReadingPeriodSet.Id == null) { diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs index cba0db1e8..09a8225d9 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs @@ -442,7 +442,8 @@ namespace IRaCIS.Core.Application.Contracts if (await _trialSiteSurveyRepository.AnyAsync(t => t.Id == trialSiteSurveyId && t.State == TrialSiteSurveyEnum.PMCreatedAndLock)) { - return ResponseOutput.NotOk("中心调研表已锁定,不允许操作"); + //---中心调研已锁定,不允许操作。 + return ResponseOutput.NotOk(_localizer["TrialSiteSurvey_Locked"]); } var success = await _trialSiteSurveyRepository.BatchDeleteNoTrackingAsync(t => t.Id == trialSiteSurveyId); @@ -561,7 +562,8 @@ namespace IRaCIS.Core.Application.Contracts if (await _repository.AnyAsync(t => t.State == TrialSiteSurveyEnum.PMCreatedAndLock && t.Id == trialSiteSurveyId)) { - return ResponseOutput.NotOk("中心调研表已锁定,不允许操作。"); + //---中心调研已锁定,不允许操作。 + return ResponseOutput.NotOk(_localizer["TrialSiteSurvey_Locked"]); } if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) @@ -668,7 +670,8 @@ namespace IRaCIS.Core.Application.Contracts { if (await _repository.AnyAsync(t => t.State == TrialSiteSurveyEnum.PMCreatedAndLock && t.Id == trialSiteSurveyId)) { - return ResponseOutput.NotOk("中心调研表已锁定,不允许操作。"); + //---中心调研已锁定,不允许操作。 + return ResponseOutput.NotOk(_localizer["TrialSiteSurvey_Locked"]); } if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index 84f21d22d..3b0cbc4cf 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -624,7 +624,8 @@ namespace IRaCIS.Core.Application if (inDto.TrialCriterionAdditionalAssessmentTypeList.All(t => t.IsSelected != true)) { - throw new BusinessValidationFailedException("选择了附加评估,必须勾选附加评估类型"); + //---选择了附加评估,必须勾选附加评估类型 + throw new BusinessValidationFailedException(_localizer["TrialConfig_AddEvalReq"]); } var trialId = _readingQuestionTrialRepository.Where(t => t.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).Select(t => t.TrialId).FirstOrDefault(); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 2a360d85d..56595de72 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -184,7 +184,8 @@ namespace IRaCIS.Application.Services { if (await _repository.AnyAsync(t => t.UserId == trialUser.UserId && t.TrialId == trialUser.TrialId)) { - return ResponseOutput.NotOk("Participant has participated in site maintenance"); + // ----人员已加入现场维护 + return ResponseOutput.NotOk(_localizer["TrialMaint_PersonnelJoined"]); } if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC) diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs index 6a868048b..63c55f958 100644 --- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs +++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs @@ -111,7 +111,8 @@ namespace IRaCIS.Application.Services if (!await _trialRepository.Where(t => t.Id == visitPlan.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialState.TrialOngoing || t.TrialStatusStr == StaticData.TrialState.TrialInitializing)) { - throw new BusinessValidationFailedException("只有当项目状态为:初始化或进行中时,可以操作。 "); + //---只有当项目状态为:初始化或进行中时,可以操作。 + throw new BusinessValidationFailedException(_localizer["VisitPlan_OnlyInitOrOngoing"]); } var visitPlanList = await _visitStageRepository.Where(t => t.TrialId == visitPlan.TrialId, ignoreQueryFilters: true) diff --git a/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs b/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs index 251a746aa..698d295bb 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs @@ -429,7 +429,9 @@ namespace IRaCIS.Core.Infra.EFCore { if (updateFilter == null) { - throw new ArgumentException("更新过滤条件不允许为空", nameof(updateFilter)); + + + throw new ArgumentException("The update filter condition cannot be empty", nameof(updateFilter)); } var query = ignoreQueryFilter ? _dbContext.Set().AsNoTracking().IgnoreQueryFilters() : _dbContext.Set().AsNoTracking(); diff --git a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs index 586e9ea35..1309ce19f 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs @@ -229,7 +229,7 @@ namespace IRaCIS.Core.Infra.EFCore { if (updateFilter == null) { - throw new ArgumentException("更新过滤条件不允许为空", nameof(updateFilter)); + throw new ArgumentException("The update filter condition cannot be empty", nameof(updateFilter)); } var query = ignoreQueryFilter ? _dbSet.AsNoTracking().IgnoreQueryFilters() : _dbSet.AsNoTracking(); diff --git a/IRaCIS.Core.Infrastructure/_IRaCIS/IQueryablePageListExtensions.cs b/IRaCIS.Core.Infrastructure/_IRaCIS/IQueryablePageListExtensions.cs index 10bd999ea..bb102cd7d 100644 --- a/IRaCIS.Core.Infrastructure/_IRaCIS/IQueryablePageListExtensions.cs +++ b/IRaCIS.Core.Infrastructure/_IRaCIS/IQueryablePageListExtensions.cs @@ -54,7 +54,7 @@ namespace IRaCIS.Core.Infrastructure.Extention if (isMultiSortFiled&& sortArray==default) { - throw new System.Exception("必须指定排序字段"); + throw new System.Exception("The sort field must be specified"); } if (pageNumber <= 0) diff --git a/IRaCIS.Core.Infrastructure/_IRaCIS/Output/ResponseOutput.cs b/IRaCIS.Core.Infrastructure/_IRaCIS/Output/ResponseOutput.cs index d11078b18..deacf6512 100644 --- a/IRaCIS.Core.Infrastructure/_IRaCIS/Output/ResponseOutput.cs +++ b/IRaCIS.Core.Infrastructure/_IRaCIS/Output/ResponseOutput.cs @@ -7,10 +7,10 @@ namespace IRaCIS.Core.Infrastructure.Extention /// public class ResponseOutput : IResponseOutput { - /// - /// 是否成功标记 - /// - public bool IsSuccess { get; private set; } + /// + /// 是否成功标记 + /// + public bool IsSuccess { get; private set; } public ApiResponseCodeEnum Code { get; set; } = ApiResponseCodeEnum.OK; @@ -169,7 +169,7 @@ namespace IRaCIS.Core.Infrastructure.Extention public static IResponseOutput DBNotExistIfNUll(object businessObject) { - return new ResponseOutput().NotOk($"The business object{businessObject.GetType().Name} does not exist in the database, or was deleted by someone else, or an incorrect parameter query caused"); + return new ResponseOutput().NotOk("The business object{businessObject.GetType().Name} does not exist in the database, or was deleted by someone else, or an incorrect parameter query caused"); } diff --git a/ZhiZhunAuthenticationCenter/Controllers/JWTController.cs b/ZhiZhunAuthenticationCenter/Controllers/JWTController.cs index ca69a536d..4f36fcf68 100644 --- a/ZhiZhunAuthenticationCenter/Controllers/JWTController.cs +++ b/ZhiZhunAuthenticationCenter/Controllers/JWTController.cs @@ -77,13 +77,15 @@ namespace Zhaoxi.NET6.AuthenticationCenter.Controllers } else { - return ResponseOutput.NotOk("Token获取失败"); + + + return ResponseOutput.NotOk("Token获取失败"); } } else { - return ResponseOutput.NotOk("验证失败"); + return ResponseOutput.NotOk("验证失败"); } diff --git a/后端提示语.xlsx b/后端提示语.xlsx index 59c5547d35abd9e2e7d451eff3961abfe17dcadb..6b08f78545e8b93175d1ab99f3874f81da0e2856 100644 GIT binary patch delta 110441 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 Date: Mon, 8 May 2023 09:23:23 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/Dto/ReadingImageTaskViewModel.cs | 4 +++- .../Reading/ReadingImageTask/ReadingGlobalTaskService.cs | 9 +++++++-- .../ReadingCalculate/RECIST1Point1CalculateService.cs | 8 ++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index fd7ba9523..8429775bc 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -1181,7 +1181,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List AgreeOrNot { get; set; } public List AfterQuestionList { get; set; } - } + + public List LesionCountList { get; set; } = new List(); + } public class GetGlobalQuestionType { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index e5fd804f4..659f916cf 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -230,8 +230,13 @@ namespace IRaCIS.Application.Services VisitNum = x.SourceSubjectVisit.VisitNum, IsBaseLine = x.SourceSubjectVisit.IsBaseLine, VisitId = x.SourceSubjectVisitId.Value, - //CrterionDictionaryGroup= x.CrterionDictionaryGroup, - BeforeQuestionList = x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.GlobalReadingShowType!=GlobalReadingShowType.NotShow).OrderBy(y => y.ReadingQuestionTrial.ShowOrder) + LesionCountList=x.LesionList.GroupBy(y=>y.ReadingQuestionTrial.LesionType).Select(x => new LesionDto + { + LesionType = x.Key.Value, + Count = x.ToList().Count() + }).ToList(), + //CrterionDictionaryGroup= x.CrterionDictionaryGroup, + BeforeQuestionList = x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.GlobalReadingShowType!=GlobalReadingShowType.NotShow).OrderBy(y => y.ReadingQuestionTrial.ShowOrder) .Select(y => new GlobalQuestionInfo() { diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index c5fb7d69c..a17147ac7 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -110,8 +110,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId && x.ShowQuestion != ShowQuestion.Hide).ToListAsync(); var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).OrderBy(x => x.ShowOrder).ToListAsync(); var tableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == indto.VisitTaskId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - - var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync(); + result.LesionCountList = tableAnsweRowInfos.GroupBy(x => x.LesionType).Select(x => new LesionDto + { + LesionType = x.Key.Value, + Count = x.ToList().Count() + }).ToList(); + var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync(); var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync(); var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync(); From b4cf5cd2a35799dddc4bee79d92cf76999a00569 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 09:56:50 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingImageTask/ReadingGlobalTaskService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index 659f916cf..ba39e9c72 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -350,7 +350,7 @@ namespace IRaCIS.Application.Services result.TaskList.ForEach(x => { - x.AfterQuestionList = x.BeforeQuestionList.Where(x => x.IsJudgeQuestion) + x.AfterQuestionList = x.BeforeQuestionList .GroupJoin( globalReadingQuestion , l => new { a = l.QuestionId, b = x.VisitTaskId } From be8af75e61272ffcc84faadcf18d1f36c634a816 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 11:00:55 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingCalculate/IRECIST1Point1CalculateService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index c12a36889..51eea9a4e 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -1991,7 +1991,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate data.AllVanish = data.AllVanish && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Loss)); } - NewTargetLesionAssessment result = NewTargetLesionAssessment.NE; + NewTargetLesionAssessment result = NewTargetLesionAssessment.ND; // if(所有新靶病灶消失或一直不存在任何新靶病灶) if(data.NotExistsNewTargetLesion||data.AllVanish) @@ -2088,7 +2088,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate ExixtsUnevaluableState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewNoTargetLesionState.NotEvaluable)), }; - NewNoTargetLesionAssessment result = NewNoTargetLesionAssessment.NE; + NewNoTargetLesionAssessment result = NewNoTargetLesionAssessment.ND; // if(所有新非靶病灶消失或一直不存在任何新非靶病灶时评估为该结果) if(data.NotExistsNewNoTargetLesion|| data.AllVanish) @@ -2181,7 +2181,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate }; - OtherPreviousNewLesionAssessment result = OtherPreviousNewLesionAssessment.Equivocal; + OtherPreviousNewLesionAssessment result = OtherPreviousNewLesionAssessment.ND; // if(有其它既往新病灶消失或一直不存在任何其它既往新病灶) if (data.NotExistsOtherNewTargetLesion || data.AllVanish) From 7fae8de733062502d8dfe06063be7889c98b77f2 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 11:23:05 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTask/ReadingImageTaskService.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 85daf0c5a..2de0babbd 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1027,7 +1027,7 @@ namespace IRaCIS.Application.Services var pageGroupList = newPageQusetionList.Where(x => x.Type == ReadingQestionType.Group).ToList(); pageGroupList.ForEach(x => { - this.FindChildQuestion(x, newPageQusetionList, tableQuestionList, inDto.TableAnswers, inDto.TableAnsweRowInfos, inDto.OrganInfos, baseLineTableAnswer, isFirstChangeTask, lastTaskTableAnswer); + this.FindChildQuestion(x, newPageQusetionList, tableQuestionList, inDto.TableAnswers, inDto.TableAnsweRowInfos, inDto.OrganInfos, baseLineTableAnswer, isFirstChangeTask, lastTaskTableAnswer, inDto.TaskId); }); page.Childrens = pageGroupList.Where(x => !(x.Type == ReadingQestionType.Group && x.Childrens.Count() == 0)).ToList(); @@ -1044,7 +1044,7 @@ namespace IRaCIS.Application.Services groupList = qusetionList.Where(x => x.Type == ReadingQestionType.Group).ToList(); groupList.ForEach(x => { - this.FindChildQuestion(x, qusetionList, tableQuestionList, inDto.TableAnswers, inDto.TableAnsweRowInfos, inDto.OrganInfos, baseLineTableAnswer, isFirstChangeTask, lastTaskTableAnswer); + this.FindChildQuestion(x, qusetionList, tableQuestionList, inDto.TableAnswers, inDto.TableAnsweRowInfos, inDto.OrganInfos, baseLineTableAnswer, isFirstChangeTask, lastTaskTableAnswer, inDto.TaskId); }); groupList = groupList.Where(x => !(x.Type == ReadingQestionType.Group && x.Childrens.Count() == 0)).ToList(); @@ -1064,7 +1064,7 @@ namespace IRaCIS.Application.Services /// /// /// - private async void FindChildQuestion(TrialReadQuestionData item, List questionlists, List tableQuestionLists, List tableAnswers, List tableAnsweRowInfos, List organInfos, List baseLineTableAnswer,bool isFirstChangeTask, List lastTaskTableAnswer) + private async void FindChildQuestion(TrialReadQuestionData item, List questionlists, List tableQuestionLists, List tableAnswers, List tableAnsweRowInfos, List organInfos, List baseLineTableAnswer,bool isFirstChangeTask, List lastTaskTableAnswer,Guid? TaskId) { item.Childrens = questionlists.Where(x => x.ParentId == item.Id || (x.GroupId == item.Id && x.ParentId == null)).ToList(); item.TableQuestions = new TrialReadTableQuestion(); @@ -1195,7 +1195,8 @@ namespace IRaCIS.Application.Services answers.Add("RowId", rowInfo.Id.ToString()); answers.Add("StudyId", rowInfo.StudyId.ToString()); answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString()); - answers.Add("IsCanEditPosition", rowInfo.IsCanEditPosition.ToString()); + answers.Add("IsFristAdd", (rowInfo.FristAddTaskId== TaskId).ToString()); + answers.Add("IsCanEditPosition", rowInfo.IsCanEditPosition.ToString()); answers.Add("InstanceId", rowInfo == null ? string.Empty : rowInfo.InstanceId.ToString()); answers.Add("SeriesId", rowInfo == null ? string.Empty : rowInfo.SeriesId.ToString()); answers.Add("IsCurrentTaskAdd", rowInfo == null ? false.ToString() : rowInfo.IsCurrentTaskAdd.ToString()); @@ -1215,7 +1216,7 @@ namespace IRaCIS.Application.Services { item.Childrens.ForEach(x => { - this.FindChildQuestion(x, questionlists, tableQuestionLists, tableAnswers, tableAnsweRowInfos, organInfos, baseLineTableAnswer, isFirstChangeTask, lastTaskTableAnswer); + this.FindChildQuestion(x, questionlists, tableQuestionLists, tableAnswers, tableAnsweRowInfos, organInfos, baseLineTableAnswer, isFirstChangeTask, lastTaskTableAnswer, TaskId); }); } } From d9b3e56930cfa2cb40a7fe2268cd33f6a21d411f Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 14:23:04 +0800 Subject: [PATCH 06/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/IRaCIS.Core.Application.xml | 2 +- .../ReadingCalculate/IRECIST1Point1CalculateService.cs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 44812cf88..bc9329515 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -11156,7 +11156,7 @@ - +

获取子元素 diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 51eea9a4e..c3b3e6e53 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -581,7 +581,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate QuestionType.NewLesions, QuestionType.Tumor, QuestionType.ExistDisease, - }; + QuestionType.NewTargetLesion, + QuestionType.OtherNewTargetLesion, + QuestionType.IRECISTNewTargetLesion, + QuestionType.NewLesionEvaluation, + QuestionType.NewLesions, + }; // 没有靶病灶就删除其他几个答案的值 var isNeedDeleteTypes = calculateList.Where(x => !questionTypes.Contains(x.QuestionType)).Select(x => x.QuestionType).ToList(); From 212a7ed2b85603fbdedd7fdcbc2c1901caca0da5 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 14:23:58 +0800 Subject: [PATCH 07/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingCalculate/IRECIST1Point1CalculateService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index c3b3e6e53..958f2c7ad 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -581,11 +581,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate QuestionType.NewLesions, QuestionType.Tumor, QuestionType.ExistDisease, - QuestionType.NewTargetLesion, - QuestionType.OtherNewTargetLesion, + QuestionType.NewTargetLesion + QuestionType.NewNoTargetLesion, + QuestionType.OtherNewTargetLesion, QuestionType.IRECISTNewTargetLesion, QuestionType.NewLesionEvaluation, - QuestionType.NewLesions, }; // 没有靶病灶就删除其他几个答案的值 From 8689ac9139c04116f5ffd66499d810ea1997a544 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 14:24:22 +0800 Subject: [PATCH 08/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/IRECIST1Point1CalculateService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 958f2c7ad..811dbced7 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -581,7 +581,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate QuestionType.NewLesions, QuestionType.Tumor, QuestionType.ExistDisease, - QuestionType.NewTargetLesion + QuestionType.NewTargetLesion, QuestionType.NewNoTargetLesion, QuestionType.OtherNewTargetLesion, QuestionType.IRECISTNewTargetLesion, From d09dae83784e5c5259b2e0439d7640f98f77cdf0 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 15:33:45 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 38 ++++++++++ .../Reading/Dto/UserWLTemplateViewModel.cs | 50 +++++++++++++ .../ShortcutKey/UserWLTemplateService.cs | 66 +++++++++++++++++ .../Service/Reading/_MapConfig.cs | 6 +- .../Reading/ShortcutKey/UserWLTemplate.cs | 73 +++++++++++++++++++ .../Context/IRaCISDBContext.cs | 4 +- IRaCIS.Core.Test/DbHelper.ttinclude | 2 +- 7 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs create mode 100644 IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs create mode 100644 IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index bc9329515..cead395d6 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -6921,6 +6921,32 @@ + + + 用户WL模板 + + + + + 获取模板 + + + + + + + 新增修改模板 + + + + + + + 删除模板 + + + + 项目外部人员 录入流程相关 @@ -8019,6 +8045,18 @@ 任务类型 + + UserWLTemplateView 列表视图模型 + + + UserWLTemplateQuery 列表查询参数模型 + + + TemplateName + + + UserWLTemplateAddOrEdit 列表查询参数模型 + TrialExternalUserView 列表视图模型 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs new file mode 100644 index 000000000..d90957e6d --- /dev/null +++ b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs @@ -0,0 +1,50 @@ +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-05-08 15:20:44 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +//-------------------------------------------------------------------- +using System; +using IRaCIS.Core.Domain.Share; +using System.Collections.Generic; +namespace IRaCIS.Core.Application.ViewModel +{ + /// UserWLTemplateView 列表视图模型 + public class UserWLTemplateView + { + public Guid Id { get; set; } + public string TemplateName { get; set; } + public Guid UserId { get; set; } + public DateTime CreateTime { get; set; } + public Guid CreateUserId { get; set; } + public int WW { get; set; } + public int WL { get; set; } + public int ShowOrder { get; set; } = 0; + public bool IsPitchOn { get; set; } + } + + ///UserWLTemplateQuery 列表查询参数模型 + public class UserWLTemplateQuery + { + /// TemplateName + public string TemplateName { get; set; } + + } + + /// UserWLTemplateAddOrEdit 列表查询参数模型 + public class UserWLTemplateAddOrEdit + { + public Guid? Id { get; set; } + public string TemplateName { get; set; } + public Guid UserId { get; set; } + public DateTime CreateTime { get; set; } + public Guid CreateUserId { get; set; } + public int WW { get; set; } + public int WL { get; set; } + //public int ShowOrder { get; set; } + //public bool IsPitchOn { get; set; } + } + + +} + + diff --git a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs new file mode 100644 index 000000000..bec717886 --- /dev/null +++ b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs @@ -0,0 +1,66 @@ +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-05-08 15:26:52 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +//-------------------------------------------------------------------- + +using IRaCIS.Core.Domain.Models; +using Microsoft.AspNetCore.Mvc; +using IRaCIS.Core.Application.Interfaces; +using IRaCIS.Core.Application.ViewModel; +namespace IRaCIS.Core.Application.Service +{ + /// + /// 用户WL模板 + /// + [ApiExplorerSettings(GroupName = "Reading")] + public class UserWLTemplateService : BaseService + { + + private readonly IRepository _userWLTemplateRepository; + + public UserWLTemplateService(IRepository userWLTemplateRepository) + { + _userWLTemplateRepository = userWLTemplateRepository; + } + + /// + /// 获取模板 + /// + /// + /// + public async Task> GetUserWLTemplateList(UserWLTemplateQuery inQuery) + { + var userWLTemplateQueryable = _userWLTemplateRepository + .Where(x=>x.UserId==_userInfo.Id) + .ProjectTo(_mapper.ConfigurationProvider); + return await userWLTemplateQueryable.ToListAsync(); + } + + /// + /// 新增修改模板 + /// + /// + /// + public async Task AddOrUpdateUserWLTemplate(UserWLTemplateAddOrEdit addOrEditUserWLTemplate) + { + addOrEditUserWLTemplate.UserId = _userInfo.Id; + var entity = await _userWLTemplateRepository.InsertOrUpdateAsync(addOrEditUserWLTemplate, true); + return ResponseOutput.Ok(entity.Id.ToString()); + } + + /// + /// 删除模板 + /// + /// + /// + [HttpDelete("{userWLTemplateId:guid}")] + public async Task DeleteUserWLTemplate(Guid userWLTemplateId) + { + var success = await _userWLTemplateRepository.DeleteFromQueryAsync(t => t.Id == userWLTemplateId, true); + return ResponseOutput.Ok(); + } + + + } +} diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index 9d481d5a7..6596968c2 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -20,7 +20,11 @@ namespace IRaCIS.Core.Application.Service CreateMap(); CreateMap(); - CreateMap(); + + CreateMap(); + CreateMap().ReverseMap(); + + CreateMap(); CreateMap(); diff --git a/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs b/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs new file mode 100644 index 000000000..d867b4524 --- /dev/null +++ b/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs @@ -0,0 +1,73 @@ + +//-------------------------------------------------------------------- +// 此代码由T4模板自动生成 byzhouhang 20210918 +// 生成时间 2023-05-08 15:14:38 +// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 +using System; +using IRaCIS.Core.Domain.Share; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +namespace IRaCIS.Core.Domain.Models +{ + /// + ///UserWLTemplate + /// + [Table("UserWLTemplate")] + public class UserWLTemplate : Entity, IAuditAdd + { + + /// + /// Id + /// + [Key] + [Required] + public Guid Id { get; set; } + + /// + /// TemplateName + /// + [Required] + public string TemplateName { get; set; } + + /// + /// UserId + /// + [Required] + public Guid UserId { get; set; } + + /// + /// CreateTime + /// + [Required] + public DateTime CreateTime { get; set; } + + /// + /// CreateUserId + /// + [Required] + public Guid CreateUserId { get; set; } + + /// + /// WW + /// + public int WW { get; set; } + + /// + /// WL + /// + public int WL { get; set; } + + /// + /// ShowOrder + /// + public int ShowOrder { get; set; } = 0; + + /// + /// 是否为默认 + /// + public bool IsPitchOn { get; set; } = true; + + } + + +} diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index e9e34e6af..089e70cbb 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -451,7 +451,9 @@ namespace IRaCIS.Core.Infra.EFCore #endregion public virtual DbSet ShortcutKey { get; set; } - public virtual DbSet EmailNoticeConfig { get; set; } + + public virtual DbSet UserWLTemplate { get; set; } + public virtual DbSet EmailNoticeConfig { get; set; } public virtual DbSet SystemBasicData { get; set; } public virtual DbSet TrialSign { get; set; } diff --git a/IRaCIS.Core.Test/DbHelper.ttinclude b/IRaCIS.Core.Test/DbHelper.ttinclude index 793d43cb7..798e5963d 100644 --- a/IRaCIS.Core.Test/DbHelper.ttinclude +++ b/IRaCIS.Core.Test/DbHelper.ttinclude @@ -4,7 +4,7 @@ public static readonly string ConnectionString = "Server=123.56.94.154,1433\\MSSQLSERVER;Database=IRaCIS_New_Tet;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"; public static readonly string DbDatabase = "IRaCIS_New_Tet"; //ַ,ƴ - public static readonly string TableName = "ReadingTrialCriterionDictionary"; + public static readonly string TableName = "UserWLTemplate"; //ļ service Ƿҳ } #> From 520aa26a11c5c1b628cf5d99705a0b9bd5d236cb Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 15:56:11 +0800 Subject: [PATCH 10/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/Dto/UserWLTemplateViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs index d90957e6d..2d1ed1f49 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs @@ -26,7 +26,7 @@ namespace IRaCIS.Core.Application.ViewModel public class UserWLTemplateQuery { /// TemplateName - public string TemplateName { get; set; } + } From 2fbd0b09f69bacacc15f58ebe7d9bf1302f25872 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 17:04:36 +0800 Subject: [PATCH 11/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 16 ++++++-- .../Reading/Dto/ReadingImageTaskViewModel.cs | 4 +- .../Reading/Dto/UserWLTemplateViewModel.cs | 23 ++++++----- .../ReadingImageTaskService.cs | 13 +++++-- .../ShortcutKey/UserWLTemplateService.cs | 38 ++++++++++++++++++- IRaCIS.Core.Domain/Management/User.cs | 7 +++- .../Reading/ShortcutKey/UserWLTemplate.cs | 7 ---- 7 files changed, 82 insertions(+), 26 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index cead395d6..1082f8c01 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -6947,6 +6947,19 @@ + + + 获取自动切换任务配置 + + + + + + 设置自动切换任务 + + + + 项目外部人员 录入流程相关 @@ -8051,9 +8064,6 @@ UserWLTemplateQuery 列表查询参数模型 - - TemplateName - UserWLTemplateAddOrEdit 列表查询参数模型 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 8429775bc..889ec216d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -1359,7 +1359,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string SubjectCode { get; set; }=String.Empty; - public ReadingCategory ReadingCategory { get; set; } + public bool AutoCutNextTask { get; set; } = false; + + public ReadingCategory ReadingCategory { get; set; } public decimal VisitNum { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs index 2d1ed1f49..7e85dbd38 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs @@ -20,18 +20,23 @@ namespace IRaCIS.Core.Application.ViewModel public int WL { get; set; } public int ShowOrder { get; set; } = 0; public bool IsPitchOn { get; set; } - } + } - ///UserWLTemplateQuery 列表查询参数模型 - public class UserWLTemplateQuery - { - /// TemplateName - + ///UserWLTemplateQuery 列表查询参数模型 + public class UserWLTemplateQuery + { + /// TemplateName - } - /// UserWLTemplateAddOrEdit 列表查询参数模型 - public class UserWLTemplateAddOrEdit + } + + public class SetAutoCutNextTaskInDto + { + public bool AutoCutNextTask { get; set; } + } + + /// UserWLTemplateAddOrEdit 列表查询参数模型 + public class UserWLTemplateAddOrEdit { public Guid? Id { get; set; } public string TemplateName { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 2de0babbd..922eacda5 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -42,7 +42,8 @@ namespace IRaCIS.Application.Services private readonly IRepository _readModuleRepository; private readonly IRepository _dicomInstanceRepository; private readonly IRepository _organInfoRepository; - private readonly IRepository _readingCriterionDictionaryRepository; + private readonly IRepository _userRepository; + private readonly IRepository _readingCriterionDictionaryRepository; private readonly IRepository _readingTrialCriterionDictionaryRepository; private readonly IRepository _tumorAssessmentRepository; private readonly IRepository _readingTableAnswerRowInfoRepository; @@ -79,7 +80,8 @@ namespace IRaCIS.Application.Services IRepository readModuleRepository, IRepository dicomInstanceRepository, IRepository organInfoRepository, - IMemoryCache cache, + IRepository userRepository, + IMemoryCache cache, IRepository readingCriterionDictionaryRepository, IRepository readingTrialCriterionDictionaryRepository, IRepository tumorAssessmentRepository, @@ -114,7 +116,8 @@ namespace IRaCIS.Application.Services this._readModuleRepository = readModuleRepository; this._dicomInstanceRepository = dicomInstanceRepository; this._organInfoRepository = organInfoRepository; - this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; + this._userRepository = userRepository; + this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._tumorAssessmentRepository = tumorAssessmentRepository; this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository; this._readingTableQuestionSystemRepository = readingTableQuestionSystemRepository; @@ -2330,7 +2333,9 @@ namespace IRaCIS.Application.Services task.IsConvertedTask = visitTaskInfo.IsConvertedTask; var blindSubjectCode = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).Select(x => x.BlindSubjectCode).FirstNotNullAsync(); task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode; - return task; + task.AutoCutNextTask =await _userRepository.Where(x => x.Id == _userInfo.Id).Select(x => x.AutoCutNextTask).FirstOrDefaultAsync(); + + return task; } /// diff --git a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs index bec717886..ae00dc0e0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs @@ -18,10 +18,14 @@ namespace IRaCIS.Core.Application.Service { private readonly IRepository _userWLTemplateRepository; + private readonly IRepository _userRepository; - public UserWLTemplateService(IRepository userWLTemplateRepository) + public UserWLTemplateService(IRepository userWLTemplateRepository, + IRepository userRepository + ) { _userWLTemplateRepository = userWLTemplateRepository; + this._userRepository = userRepository; } /// @@ -61,6 +65,38 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Ok(); } + /// + /// 获取自动切换任务配置 + /// + /// + [HttpPost] + public async Task GetAutoCutNextTask() + { + return await _userRepository.Where(x=>x.Id==_userInfo.Id).Select(x => new + { + AutoCutNextTask = x.AutoCutNextTask + }).FirstNotNullAsync(); + } + + + /// + /// 设置自动切换任务 + /// + /// + /// + [HttpPost] + public async Task SetAutoCutNextTask(SetAutoCutNextTaskInDto inDto) + { + await _userRepository.UpdatePartialNowNoQueryAsync(_userInfo.Id, x => new User() + { + + AutoCutNextTask = inDto.AutoCutNextTask + }); + + await _userRepository.SaveChangesAsync (); + + return ResponseOutput.Ok(); + } } } diff --git a/IRaCIS.Core.Domain/Management/User.cs b/IRaCIS.Core.Domain/Management/User.cs index ede2ff587..ade0229e1 100644 --- a/IRaCIS.Core.Domain/Management/User.cs +++ b/IRaCIS.Core.Domain/Management/User.cs @@ -88,7 +88,12 @@ namespace IRaCIS.Core.Domain.Models public bool IsTestUser { get; set; } - [Projectable] public string FullName => LastName + " / " + FirstName; + /// + /// Զлһ + /// + public bool AutoCutNextTask { get; set; } = false; + + [Projectable] public string FullName => LastName + " / " + FirstName; //[Projectable] public string FullName => $"{LastName} / {FirstName}"; } diff --git a/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs b/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs index d867b4524..c89452ee2 100644 --- a/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs +++ b/IRaCIS.Core.Domain/Reading/ShortcutKey/UserWLTemplate.cs @@ -15,13 +15,6 @@ namespace IRaCIS.Core.Domain.Models [Table("UserWLTemplate")] public class UserWLTemplate : Entity, IAuditAdd { - - /// - /// Id - /// - [Key] - [Required] - public Guid Id { get; set; } /// /// TemplateName From 127b643e44aebc255b789f7879dcee7f37c6289a Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 8 May 2023 17:11:04 +0800 Subject: [PATCH 12/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/Dto/ReadingImageTaskViewModel.cs | 1 - .../Service/Reading/ReadingImageTask/ReadingImageTaskService.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 889ec216d..3991b063b 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -1359,7 +1359,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string SubjectCode { get; set; }=String.Empty; - public bool AutoCutNextTask { get; set; } = false; public ReadingCategory ReadingCategory { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 922eacda5..542881506 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2333,7 +2333,6 @@ namespace IRaCIS.Application.Services task.IsConvertedTask = visitTaskInfo.IsConvertedTask; var blindSubjectCode = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).Select(x => x.BlindSubjectCode).FirstNotNullAsync(); task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode; - task.AutoCutNextTask =await _userRepository.Where(x => x.Id == _userInfo.Id).Select(x => x.AutoCutNextTask).FirstOrDefaultAsync(); return task; } From 57c4b198f76dd3c0737b31da98035f415303d936 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 9 May 2023 09:33:42 +0800 Subject: [PATCH 13/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 20 ++++++++++++++----- .../ReadingImageTaskService.cs | 10 +++++++--- .../ReadingTableAnswerRowInfo.cs | 7 ++++++- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 3991b063b..157f5e8c6 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -447,10 +447,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public Guid VisitTaskId { get; set; } - /// - /// TrialId - /// - public Guid TrialId { get; set; } + /// + /// 标记工具 + /// + public string MarkTool { get; set; } = string.Empty; + + /// + /// TrialId + /// + public Guid TrialId { get; set; } /// /// 首次添加任务ID @@ -1697,7 +1702,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string FromMark { get; set; } = string.Empty; - public decimal RowIndex { get; set; } + /// + /// 标记工具 + /// + public string MarkTool { get; set; } = string.Empty; + + public decimal RowIndex { get; set; } /// /// 截图地址 diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 542881506..1d344195d 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1196,7 +1196,8 @@ namespace IRaCIS.Application.Services answers.Add("MeasureData", rowInfo == null ? string.Empty : rowInfo.MeasureData); answers.Add("RowIndex", x.ToString()); answers.Add("RowId", rowInfo.Id.ToString()); - answers.Add("StudyId", rowInfo.StudyId.ToString()); + answers.Add("MarkTool", rowInfo.MarkTool); + answers.Add("StudyId", rowInfo.StudyId.ToString()); answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString()); answers.Add("IsFristAdd", (rowInfo.FristAddTaskId== TaskId).ToString()); answers.Add("IsCanEditPosition", rowInfo.IsCanEditPosition.ToString()); @@ -1206,7 +1207,9 @@ namespace IRaCIS.Application.Services answers.Add("SplitOrMergeLesionName", rowInfo.SplitName.IsNullOrEmpty() ? rowInfo.MergeName : rowInfo.SplitName); answers.Add("SplitOrMergeType", rowInfo.SplitOrMergeType == null ? string.Empty : ((int)rowInfo.SplitOrMergeType).ToString()); answers.Add("LastTaskState", lastTaskTableAnswer.Where(n=>n.QuestionId== item.Id&&n.ReadingTableQuestionTrial.QuestionMark==QuestionMark.State&&n.RowIndex==x).Select(n=>n.Answer).FirstOrDefault()??string.Empty); - if (rowInfo.LesionType == LesionType.BaselineLesions) + answers.Add("LastTaskMajorAxis", lastTaskTableAnswer.Where(n => n.QuestionId == item.Id && n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis && n.RowIndex == x).Select(n => n.Answer).FirstOrDefault() ?? string.Empty); + answers.Add("LastTaskShortAxis", lastTaskTableAnswer.Where(n => n.QuestionId == item.Id && n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis && n.RowIndex == x).Select(n => n.Answer).FirstOrDefault() ?? string.Empty); + if (rowInfo.LesionType == LesionType.BaselineLesions) { answers.Add("BaseLineLesionNumber", baseLineTableAnswer.Where(n => n.ReadingTableQuestionTrial.QuestionMark == QuestionMark.LesionNumber && n.RowIndex == rowInfo.RowIndex).Select(x => x.Answer).FirstIsNullReturnEmpty()); } @@ -1852,7 +1855,8 @@ namespace IRaCIS.Application.Services rowInfo.IsDicomReading = inDto.IsDicomReading; rowInfo.IsCurrentTaskAdd = isCurrentTaskAdd; rowInfo.NumberOfFrames = inDto.NumberOfFrames; - rowInfo.FristAddTaskNum = taskinfo.VisitTaskNum; + rowInfo.MarkTool = inDto.MarkTool; + rowInfo.FristAddTaskNum = taskinfo.VisitTaskNum; rowInfo.FristAddTaskId = inDto.VisitTaskId; rowInfo.PicturePath = inDto.PicturePath; rowInfo.RowIndex = inDto.RowIndex; diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs index 70b138918..9932ed4f8 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs @@ -173,8 +173,13 @@ namespace IRaCIS.Core.Domain.Models //病灶编号 public string RowMark { get; set; } = string.Empty; + /// + /// 标记工具 + /// + public string MarkTool { get; set; } = string.Empty; - [JsonIgnore] + + [JsonIgnore] [ForeignKey("VisitTaskId")] public VisitTask VisitTask { get; set; } From 9feba1c57031e94d74b33d962156659412412ff7 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 9 May 2023 09:59:00 +0800 Subject: [PATCH 14/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/IRaCIS.Core.Application.xml | 10 ++++++++++ .../ReadingCalculate/IRECIST1Point1CalculateService.cs | 10 ++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 1082f8c01..481fe4e45 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -3384,6 +3384,11 @@ VisitTaskId + + + 标记工具 + + TrialId @@ -3824,6 +3829,11 @@ 任务Id + + + 标记工具 + + 截图地址 diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 811dbced7..0705f5770 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -535,10 +535,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate //整体肿瘤评估 new ReadingCalculateData (){QuestionType=QuestionType.Tumor,GetStringFun=GetTumor,IsConvertedTask=false}, - // 转化时整体肿瘤评估 - new ReadingCalculateData (){QuestionType=QuestionType.Tumor,GetStringFun=GetConvertingTumor,IsConvertedTask=true,IsBeTransforming=true}, - + new ReadingCalculateData (){QuestionType=QuestionType.Tumor,GetStringFun=GetConvertingTumor,IsConvertedTask=true,IsBeTransforming=true}, //IRECIST整体肿瘤评估 new ReadingCalculateData (){QuestionType=QuestionType.Tumor,GetStringFun=GetIRECSITTargetLesionEvaluate,IsConvertedTask=true}, @@ -1812,7 +1810,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate /// { /// 非靶病灶疗效为 iCPD /// } - /// else if (满足RECIST1.1的PD标准 && 任一非靶病灶状态评估为“显著增大(iUPD)”) + /// else if (任一非靶病灶状态评估为“显著增大(iUPD)”) /// { /// 非靶病灶疗效为 iUPD /// } @@ -1898,8 +1896,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 非靶病灶疗效为 iCPD result = NoTargetAssessment.iCPD; } - // else if (满足RECIST1.1的PD标准 && 任一非靶病灶状态评估为“显著增大(iUPD)”) - else if (data.RECISTPD && data.ExistiUPD) + // else if ( 任一非靶病灶状态评估为“显著增大(iUPD)”) + else if ( data.ExistiUPD) { // 非靶病灶疗效为 iUPD result = NoTargetAssessment.iUPD; From 83b006c615599bc923016ee28f4cc578a2cdbe0f Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 9 May 2023 15:16:00 +0800 Subject: [PATCH 15/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingImageTask/ReadingImageTaskService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 1d344195d..b794811e9 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1907,6 +1907,7 @@ namespace IRaCIS.Application.Services IsCurrentTaskAdd = isCurrentTaskAdd, WL = rowInfo.WL, WW = rowInfo.WW, + MarkTool = inDto.MarkTool, OrganInfoId = rowInfo.OrganInfoId, PicturePath = rowInfo.PicturePath, NumberOfFrames = rowInfo.NumberOfFrames, @@ -1916,7 +1917,7 @@ namespace IRaCIS.Application.Services VisitTaskId = rowInfo.VisitTaskId, StudyId = rowInfo.StudyId, IsCanEditPosition = rowInfo.IsCanEditPosition, - }); + }) ; foreach (var item in inDto.AnswerList) From d87aa2620eb6022131356ea0d3ef0d493de45581 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 9 May 2023 16:34:32 +0800 Subject: [PATCH 16/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ShortcutKey/ShortcutKeyService.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs index 1a893150e..16f80799d 100644 --- a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs @@ -281,7 +281,20 @@ namespace IRaCIS.Core.Application.Service MetaKey = false, Text= "Space", Code= "Space" - }, }; + }, + new ShortcutKey (){ + + Keyboardkey= "", + ShortcutKeyEnum = 19, + ImageToolType= 0, + AltKey = false, + CtrlKey = false, + ShiftKey = false, + MetaKey = false, + Text= "", + Code= "" + }, + }; return shortcutKeys; From fbe94c0f5783bc84ae2d01379e386aabe61c0c91 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 9 May 2023 16:39:22 +0800 Subject: [PATCH 17/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ShortcutKey/ShortcutKeyService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs index 16f80799d..dc1592d23 100644 --- a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/ShortcutKeyService.cs @@ -284,15 +284,15 @@ namespace IRaCIS.Core.Application.Service }, new ShortcutKey (){ - Keyboardkey= "", + Keyboardkey= "m", ShortcutKeyEnum = 19, ImageToolType= 0, AltKey = false, CtrlKey = false, ShiftKey = false, MetaKey = false, - Text= "", - Code= "" + Text= "M", + Code= "KeyM" }, }; From fb3647fc990ccd2c4c5e05628e523040431fbeaf Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 13:45:11 +0800 Subject: [PATCH 18/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 17 +++++++++++++ .../Reading/Dto/ReadingImageTaskViewModel.cs | 24 +++++++++++++++++- .../ReadingImageTaskService.cs | 25 ++++++++++++++++++- IRaCIS.Core.Domain/Document/TrialDocument.cs | 1 - 4 files changed, 64 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 481fe4e45..17ca78f84 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -3369,6 +3369,16 @@ 序号标记 + + + Name + + + + + Path + + 第一层的Question @@ -11078,6 +11088,13 @@ + + + 获取手册 + + + + 获取任务附加问题 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 157f5e8c6..b71ac47a1 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -330,7 +330,28 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List AnswerList { get; set; } = new List(); } - public class GetTaskAdditionalQuestionInDto + public class GetManualListInDto + { + public Guid TrialId { get; set; } + } + + + public class GetManualListOutDto + { + + /// + /// Name + /// + public string Name { get; set; } = string.Empty; + + /// + /// Path + /// + public string Path { get; set; } = string.Empty; + } + + + public class GetTaskAdditionalQuestionInDto { //public Guid TrialReadingCriterionId { get; set; } public Guid VisitTaskId { get; set; } @@ -1364,6 +1385,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string SubjectCode { get; set; }=String.Empty; + public bool ExistsManual { get; set; } public ReadingCategory ReadingCategory { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index b794811e9..18d526daf 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -42,6 +42,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _readModuleRepository; private readonly IRepository _dicomInstanceRepository; private readonly IRepository _organInfoRepository; + private readonly IRepository _trialDocumentRepository; private readonly IRepository _userRepository; private readonly IRepository _readingCriterionDictionaryRepository; private readonly IRepository _readingTrialCriterionDictionaryRepository; @@ -80,6 +81,7 @@ namespace IRaCIS.Application.Services IRepository readModuleRepository, IRepository dicomInstanceRepository, IRepository organInfoRepository, + IRepository trialDocumentRepository, IRepository userRepository, IMemoryCache cache, IRepository readingCriterionDictionaryRepository, @@ -116,6 +118,7 @@ namespace IRaCIS.Application.Services this._readModuleRepository = readModuleRepository; this._dicomInstanceRepository = dicomInstanceRepository; this._organInfoRepository = organInfoRepository; + this._trialDocumentRepository = trialDocumentRepository; this._userRepository = userRepository; this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository; this._tumorAssessmentRepository = tumorAssessmentRepository; @@ -135,11 +138,30 @@ namespace IRaCIS.Application.Services } /// - /// 获取任务附加问题 + /// 获取手册 /// /// /// [HttpPost] + public async Task> GetManualList(GetManualListInDto inDto) + { + UserTypeEnum userType = (UserTypeEnum)_userInfo.UserTypeEnumInt; + //_userInfo.UserTypeId + + return await _trialDocumentRepository.Where(x => x.TrialId == inDto.TrialId && x.NeedConfirmedUserTypeList.Any(y => y.NeedConfirmUserTypeId == _userInfo.UserTypeId)) + .Select(x => new GetManualListOutDto() + { + Name = x.Name, + Path = x.Path + }).ToListAsync(); + } + + /// + /// 获取任务附加问题 + /// + /// + /// + [HttpPost] public async Task<(List, bool)> GetTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto) { @@ -2338,6 +2360,7 @@ namespace IRaCIS.Application.Services task.IsConvertedTask = visitTaskInfo.IsConvertedTask; var blindSubjectCode = await _visitTaskRepository.Where(x => x.Id == task.VisitTaskId).Select(x => x.BlindSubjectCode).FirstNotNullAsync(); task.SubjectCode = blindSubjectCode.IsNullOrEmpty() ? task.SubjectCode : blindSubjectCode; + task.ExistsManual = (await GetManualList(new GetManualListInDto() { TrialId = visitTaskInfo.TrialId })).Count() > 0; return task; } diff --git a/IRaCIS.Core.Domain/Document/TrialDocument.cs b/IRaCIS.Core.Domain/Document/TrialDocument.cs index 48b3cca46..b25c5f3a8 100644 --- a/IRaCIS.Core.Domain/Document/TrialDocument.cs +++ b/IRaCIS.Core.Domain/Document/TrialDocument.cs @@ -30,7 +30,6 @@ namespace IRaCIS.Core.Domain.Models public Dictionary FileType { get; set; } - public Guid FileTypeId { get; set; } From b167ec794a9c6dd6b496b4506fc4444afd0a970c Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 13:56:02 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingCalculate/IRECIST1Point1CalculateService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 0705f5770..827cf332d 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -1963,7 +1963,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } var lastVisitTaskId = await GetLastVisitTaskId(inDto); var newTargetLesionQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewTargetLesion).Select(x => x.QuestionId).FirstOrDefault(); - var sodQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SOD).Select(x => x.QuestionId).FirstOrDefault(); + var isodQuestionId = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ISOD).Select(x => x.QuestionId).FirstOrDefault(); IRECISTNewTargetLesionDto data = new IRECISTNewTargetLesionDto() { // 不存在新靶病灶 @@ -1977,7 +1977,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate .Select(x => x.Answer).FirstOrDefaultAsync()) ?? string.Empty, //SOD增加5mm以上 - ISODAdd5mm = await GetSODData(inDto) - (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == sodQuestionId) + ISODAdd5mm = await GetiSODData(inDto) - (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastVisitTaskId && x.ReadingQuestionTrialId == isodQuestionId) .Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0() >= 5, //有"存在"状态的新靶病灶 From e941bd82660379a32a85f180f49a35dedad437df Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 14:02:13 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/Dto/ReadingImageTaskViewModel.cs | 2 ++ .../Service/Reading/ReadingImageTask/ReadingImageTaskService.cs | 1 + 2 files changed, 3 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index b71ac47a1..c3863a781 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -339,6 +339,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class GetManualListOutDto { + public Guid Id { get; set; } + /// /// Name /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 18d526daf..98ed6017b 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -151,6 +151,7 @@ namespace IRaCIS.Application.Services return await _trialDocumentRepository.Where(x => x.TrialId == inDto.TrialId && x.NeedConfirmedUserTypeList.Any(y => y.NeedConfirmUserTypeId == _userInfo.UserTypeId)) .Select(x => new GetManualListOutDto() { + Id=x.Id, Name = x.Name, Path = x.Path }).ToListAsync(); From 0a994573cdb160a2b2599422f2345c96e5ba916d Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 14:35:34 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingImageTask/ReadingImageTaskService.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 98ed6017b..866c54787 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -148,7 +148,9 @@ namespace IRaCIS.Application.Services UserTypeEnum userType = (UserTypeEnum)_userInfo.UserTypeEnumInt; //_userInfo.UserTypeId - return await _trialDocumentRepository.Where(x => x.TrialId == inDto.TrialId && x.NeedConfirmedUserTypeList.Any(y => y.NeedConfirmUserTypeId == _userInfo.UserTypeId)) + return await _trialDocumentRepository.Where(x => x.TrialId == inDto.TrialId + &&x.TrialDocConfirmedUserList.Any(y=>y.ConfirmUserId== _userInfo.Id) + && x.NeedConfirmedUserTypeList.Any(y => y.NeedConfirmUserTypeId == _userInfo.UserTypeId)) .Select(x => new GetManualListOutDto() { Id=x.Id, From 2bae90e339e9a6264cb2cac10879672e12ed16cd Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 15:18:55 +0800 Subject: [PATCH 22/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRECIST1Point1CalculateService.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 827cf332d..c64a1f783 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -786,9 +786,17 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate }).ToListAsync(); - var unableEvaluateRowIds = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.Answer == TargetState.UnableEvaluate.GetEnumInt() + var unableEvaluateRowIds = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State - ) + ).Where(x => + (x.ReadingQuestionTrial.LesionType==LesionType.TargetLesion && x.Answer == TargetState.UnableEvaluate.GetEnumInt()) + || (x.ReadingQuestionTrial.LesionType == LesionType.NewLesions && x.Answer == NewTargetLesionState.NotEvaluable.GetEnumInt()) + || (x.ReadingQuestionTrial.LesionType == LesionType.NonTargetLesions && x.Answer == NoTargetState.UnableEvaluate.GetEnumInt()) + || (x.ReadingQuestionTrial.LesionType == LesionType.NewTargetLesion && x.Answer == NewTargetLesionState.NotEvaluable.GetEnumInt()) + || (x.ReadingQuestionTrial.LesionType == LesionType.NewNonTargetLesion && x.Answer == NewNoTargetLesionState.NotEvaluable.GetEnumInt()) + || (x.ReadingQuestionTrial.LesionType == LesionType.OtherPreviousNewLesion && x.Answer == OtherPreviousNewLesionState.NotEvaluable.GetEnumInt()) + || (x.ReadingQuestionTrial.LesionType == LesionType.TriggeringIRECSIT && x.Answer == NewLesionAfterTriggeringiRECSITState.NotEvaluable.GetEnumInt()) + ) .Select(x => x.RowId).Distinct().ToListAsync(); @@ -821,7 +829,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (errorMassage != string.Empty) { - errorMassage = _localizer["ReadingCalculate_Questionable"] + errorMassage; throw new BusinessValidationFailedException(errorMassage); } From 0d5810a8fb7c653daf32a8af5d1de44f56f397a4 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 16:07:06 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingCalculate/IRECIST1Point1CalculateService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index c64a1f783..78923bb1e 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -1991,7 +1991,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate HaveExixtsState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist)), // 至少有一个新靶病无法评估 - ExixtsUnevaluableState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.Exist)), + ExixtsUnevaluableState = tableQuestion.SelectMany(x => x.TableQuestionList).Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(NewTargetLesionState.NotEvaluable)), }; @@ -2031,7 +2031,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate else if (data.ExixtsUnevaluableState) { // 疗效为 NE - result = NewTargetLesionAssessment.iUPD; + result = NewTargetLesionAssessment.NE; } return result.GetEnumInt(); From ece6bb6e0a4265b421aee6cce6ca1a24db488699 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 10 May 2023 17:07:42 +0800 Subject: [PATCH 24/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index d28d6890a..7ed9a7783 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -1241,7 +1241,7 @@ namespace IRaCIS.Core.Domain.Share /// /// 存在 /// - Exist = 1, + Exist = 0, /// /// 增大 From 1df06fc0eebde4f63bd37dd8dc6d9c5de23bfc0b Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 15 May 2023 09:13:45 +0800 Subject: [PATCH 25/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/IRECIST1Point1CalculateService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 78923bb1e..24b4d42cf 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -2413,7 +2413,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate else if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewTargetLesion && x.Answer.EqEnum(NewTargetLesionAssessment.iUPD)) || inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.NewNoTargetLesion && x.Answer.EqEnum(NewNoTargetLesionAssessment.iUPD)) || inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.OtherNewTargetLesion && x.Answer.EqEnum(OtherPreviousNewLesionAssessment.iUPD)) - || lastTaskCalculateDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.IRECISTNewTargetLesion && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITAssessment.Yes)) + || inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.IRECISTNewTargetLesion && x.Answer.EqEnum(NewLesionAfterTriggeringiRECSITAssessment.Yes)) ) { // 疗效为 iUPD