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);
+
}
}