diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 33736e5b7..8018bc159 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -272,6 +272,23 @@ namespace IRaCIS.Core.API.Controllers } + /// + /// 提交结构化录入并签名 + /// + /// + /// + [HttpPost, Route("Inspection/ClinicalAnswer/SubmitClinicalFormAndSign")] + [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + + [UnitOfWork] + public async Task SubmitClinicalFormAndSign(DataInspectionDto opt) + { + var singid = await _inspectionService.RecordSing(opt.SignInfo); + var result = await _clinicalAnswerService.SubmitClinicalForm(opt.Data); + await _inspectionService.CompletedSign(singid, result); + return result; + } + /// /// 提交阅片裁判问题 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 789b5fa9d..9baaa781f 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -431,7 +431,13 @@ namespace IRaCIS.Core.Application.Service await _clinicalAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId); await _clinicalTableAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId); } - + if(inDto.ReadingId!=null) + { + await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(x => x.ReadingId == inDto.ReadingId && x.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId, x => new ReadingClinicalData() + { + IsSign = true + }); + } await _clinicalFormRepository.AddAsync(clinicalForm); await _clinicalQuestionAnswerRepository.AddRangeAsync(clinicalQuestionAnswers); await _clinicalAnswerRowInfoRepository.AddRangeAsync(clinicalAnswerRowInfos); diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs index bcb350355..f2f803ee9 100644 --- a/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs @@ -15,5 +15,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Interface Task PMConfirmClinical(CRCConfirmClinicalInDto inDto); + Task SubmitClinicalForm(SubmitClinicalFormInDto inDto); + } }