diff --git a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs index 7ccd15715..6c808bad0 100644 --- a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs +++ b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs @@ -260,6 +260,11 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO public bool obtaionOrCancel { get; set; } } + public class UpdateReadModuleClinicalDataInDto + { + public Guid ReadingClinicalDataId { get; set; } + } + public class ReadingClinicalDataSignIndto { /// diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 244cc6bfd..59b6ee603 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -372,6 +372,34 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Result(result); } + + /// + /// 修改临床数据后 将签名状态变更为未签名 + /// + /// + /// + [HttpPost] + public async Task UpdateReadModuleClinicalData(UpdateReadModuleClinicalDataInDto inDto) + { + var data = await _readingClinicalDataRepository.FirstOrDefaultAsync(t => t.Id == inDto.ReadingClinicalDataId); + + await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.ReadingClinicalDataId, x => new ReadingClinicalData() + { + IsSign = false, + ReadingClinicalDataState = ReadingClinicalDataStatus.HaveUploaded + }); + + var result = await _readModuleRepository.Where(x=>x.Id== data.ReadingId).Include(x=>x.SubjectVisit).FirstNotNullAsync(); + + await _visitTaskRepository.UpdatePartialFromQueryAsync(x => x.TrialReadingCriterionId == result.TrialReadingCriterionId && x.VisitTaskNum > result.SubjectVisit.VisitNum, x => new VisitTask() + { + IsFrontTaskNeedSignButNotSign = false, + }); + + return ResponseOutput.Result(await _visitTaskRepository.SaveChangesAsync()); + + + } ///// ///// 一致性分析的临床数据 /////