diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
index eb8338e15..a57ad22b6 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs
@@ -409,13 +409,34 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Ok(true);
}
-
///
- /// 获取CRC确认列表
+ /// 删除表单数据
///
///
///
+ ///
[HttpPost]
+ public async Task DeleteClinicalForm(DeleteClinicalFormInDto inDto)
+ {
+
+ if (await _readModuleCriterionFromRepository.AnyAsync(x => x.ClinicalFormId == inDto.ClinicalFormId))
+ {
+ throw new BusinessValidationFailedException("当前表单已确认,无法删除!");
+ }
+
+ await _clinicalFormRepository.BatchDeleteNoTrackingAsync(x => x.Id == inDto.ClinicalFormId);
+ await _clinicalQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId);
+ await _clinicalAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId);
+ await _clinicalTableAnswerRepository.BatchDeleteNoTrackingAsync(x => x.ClinicalFormId == inDto.ClinicalFormId);
+ return ResponseOutput.Ok(true);
+ }
+
+ ///
+ /// 获取CRC确认列表
+ ///
+ ///
+ ///
+ [HttpPost]
public async Task> GetCRCConfirmList(GetCRCConfirmListInDto inDto)
{
List result = await _readModuleRepository.Where(x => x.TrialId == inDto.TrialId)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs
index 4e125fd93..b7807b8fb 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs
@@ -161,6 +161,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
}
+ public class DeleteClinicalFormInDto
+ {
+ public Guid ClinicalFormId { get; set; }
+ }
public class SubmitClinicalFormInDto
{
///