From fd6ade6c9e6dd14f6224edab18a592bd61067d31 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 17 Mar 2023 17:15:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=90=8C=E6=AD=A5=E6=A0=87?= =?UTF-8?q?=E5=87=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/FinancialChangeController.cs | 24 +++++++++---------- IRaCIS.Core.API/IRaCIS.Core.API.xml | 6 +---- .../IRaCIS.Core.Application.xml | 2 +- .../Service/QC/QCOperationService.cs | 4 +++- .../Interface/ITrialConfigService.cs | 2 +- .../TrialSiteUser/Interface/ITrialService.cs | 2 +- .../Service/TrialSiteUser/TrialService.cs | 6 ++++- 7 files changed, 24 insertions(+), 22 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/FinancialChangeController.cs b/IRaCIS.Core.API/Controllers/FinancialChangeController.cs index 282891a3..2b21a1d5 100644 --- a/IRaCIS.Core.API/Controllers/FinancialChangeController.cs +++ b/IRaCIS.Core.API/Controllers/FinancialChangeController.cs @@ -31,19 +31,19 @@ namespace IRaCIS.Core.API.Controllers.Special } - //[TrialAudit(AuditType.TrialAudit, AuditOptType.AddOrUpdateTrial)] + ////[TrialAudit(AuditType.TrialAudit, AuditOptType.AddOrUpdateTrial)] - /// 添加实验项目-返回新增Id[AUTH] - /// 新记录Id - [HttpPost, Route("Inspection/trial/addOrUpdateTrial")] - [UnitOfWork] + ///// 添加实验项目-返回新增Id[AUTH] + ///// 新记录Id + //[HttpPost, Route("Inspection/trial/addOrUpdateTrial")] + //[UnitOfWork] - public async Task AddOrUpdateTrialInspection(DataInspectionDto opt) - { - var fun =await AddOrUpdateTrial(opt.Data); + //public async Task AddOrUpdateTrialInspection(DataInspectionDto opt) + //{ + // var fun =await AddOrUpdateTrial(opt.Data); - return fun; - } + // return fun; + //} /// 添加实验项目-返回新增Id[AUTH] @@ -53,10 +53,10 @@ namespace IRaCIS.Core.API.Controllers.Special [Authorize(Policy = IRaCISPolicy.PM_APM)] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AddOrUpdateTrial", "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] - public async Task> AddOrUpdateTrial(TrialCommand param) + public async Task> AddOrUpdateTrial(TrialCommand param, [FromServices] ITrialConfigService _ITrialConfigService) { var userId = Guid.Parse(User.FindFirst("id").Value); - var result = await _trialService.AddOrUpdateTrial(param); + var result = await _trialService.AddOrUpdateTrial(param, _ITrialConfigService); if (_trialService.TrialExpeditedChange) { diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index 045a819c..e3d2f21e 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -32,11 +32,7 @@ 系统用户登录接口[New] - - 添加实验项目-返回新增Id[AUTH] - 新记录Id - - + 添加实验项目-返回新增Id[AUTH] 新记录Id diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index b4f98827..7f73c32c 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -10286,7 +10286,7 @@ - + 添加项目 diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index f3e781cf..cec72504 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1090,7 +1090,9 @@ namespace IRaCIS.Core.Application.Image.QA } //同时要根据项目有没有配置Subject 级别临床数据 - if (dbSubjectVisitList.Any(t => t.IsBaseLine && !t.IsHaveClinicalData)) + + + if (dbSubjectVisitList.Any(t => t.IsBaseLine && !t.IsHaveClinicalData) && await _repository.AnyAsync(t=>t.TrialId== cRCRequestToQCCommand.TrialId && t.ClinicalDataLevel==ClinicalLevel.Subject)) { return ResponseOutput.NotOk($"基线没有临床数据,确认提交?", 0, ApiResponseCodeEnum.NeedTips); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialConfigService.cs index 75ec6836..1512ffb6 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialConfigService.cs @@ -20,6 +20,6 @@ namespace IRaCIS.Application.Interfaces Task TrialConfigSignatureConfirm(SignConfirmDTO signConfirmDTO); - + Task AsyncTrialCriterionDictionary(AsyncTrialCriterionDictionaryInDto inDto); } } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs index ff2193eb..a746f596 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialService.cs @@ -8,7 +8,7 @@ namespace IRaCIS.Application.Interfaces { bool TrialExpeditedChange { get; set; } - Task> AddOrUpdateTrial(TrialCommand trialAddModel); + Task> AddOrUpdateTrial(TrialCommand trialAddModel, ITrialConfigService _ITrialConfigService); Task DeleteTrial(Guid trialId); Task> GetReviewerTrialListByEnrollmentStatus(TrialByStatusQueryDTO param); Task> GetTrialEnrollmentReviewerIds(Guid trialId); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 3fa7e947..9a616c37 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -133,7 +133,7 @@ namespace IRaCIS.Application.Services /// /// [NonDynamicMethod] - public virtual async Task> AddOrUpdateTrial(TrialCommand trialAddModel) + public virtual async Task> AddOrUpdateTrial(TrialCommand trialAddModel, ITrialConfigService _ITrialConfigService) { // 到时候 策略授权 统一改 归类 @@ -207,8 +207,10 @@ namespace IRaCIS.Application.Services List needAddCriterionList = await _repository.Where(x => x.IsEnable && x.CriterionType == CriterionType.RECIST1Pointt1).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var trialReadingCriteionId=NewId.NextGuid(); needAddCriterionList.ForEach(x => { + x.Id= trialReadingCriteionId; x.TrialId = trial.Id; x.ReadingQuestionCriterionSystemId = x.Id; x.Id = NewId.NextGuid(); @@ -261,6 +263,8 @@ namespace IRaCIS.Application.Services _provider.Set(trial.Id.ToString(), StaticData.TrialState.TrialOngoing, TimeSpan.FromDays(7)); + await _ITrialConfigService.AsyncTrialCriterionDictionary(new Core.Application.Contracts.AsyncTrialCriterionDictionaryInDto() { TrialReadingCriterionId = trialReadingCriteionId }); + return ResponseOutput.Ok(trial); } else