diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 8a2bc6e23..758201856 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -253,6 +253,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid RowId { get; set; }
}
+ public class ReadClinicalDataInDto
+ {
+ [NotDefault]
+ public Guid VisitTaskId { get; set; }
+ }
public class GetReadingToolInDto
{
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index b51b986e9..dcdb2a2d3 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -114,6 +114,20 @@ namespace IRaCIS.Application.Services
this._trialEmailNoticeConfigService = trialEmailNoticeConfigService;
}
+ ///
+ /// 阅读临床数据
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task ReadClinicalData(ReadClinicalDataInDto inDto)
+ {
+ await _visitTaskRepository.UpdatePartialFromQueryAsync(inDto.VisitTaskId, x => new VisitTask
+ {
+ IsReadClinicalData = true
+ });
+ await _visitTaskRepository.SaveChangesAsync();
+ }
///
/// 添加默认值到任务里面
@@ -1097,7 +1111,19 @@ namespace IRaCIS.Application.Services
await _readingCalculateService.VerifyVisitTaskQuestions(inDto);
- //await _readingCalculateService.VerifyVisitTaskQuestions(inDto);
+ if ((await _readingClinicalDataService.GetClinicalDataList(new GetReadingOrTaskClinicalDataListInDto()
+ {
+
+ SubjectId = taskInfo.SubjectId,
+ TrialId = taskInfo.TrialId,
+ VisitTaskId = taskInfo.Id,
+ })).Count() > 0 && !taskInfo.IsReadClinicalData)
+ {
+ throw new BusinessValidationFailedException($"临床数据未阅读!");
+ }
+
+
+
return ResponseOutput.Ok(true);
}
diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
index 133399d50..f95525d6e 100644
--- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs
+++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs
@@ -169,6 +169,11 @@ namespace IRaCIS.Core.Domain.Models
///
public bool? IsGlobalHaveUpdate { get; set; }
+ ///
+ /// 是否阅读临床数据
+ ///
+ public bool IsReadClinicalData { get; set; } = false;
+
#region 裁判任务特有