diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
index c66972069..8975d9c7e 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -292,6 +292,66 @@ namespace IRaCIS.Application.Services
#region 阅片页面 关联信息查询 以及基本验证
+ ///
+ /// 根据任务ID获取ReadingTool
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task GetReadingTool(GetReadingToolInDto indto)
+ {
+ var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).FirstNotNullAsync();
+ GetReadingToolOutDto result = new GetReadingToolOutDto();
+ result.ReadingTool = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == visitTaskInfo.TrialReadingCriterionId).Select(x => x.ReadingTool).FirstOrDefaultAsync();
+ return result;
+ }
+
+ ///
+ /// 获取关联的阅片任务
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task<(List, object)> GetRelatedVisitTask(GetRelatedVisitTaskInDto inDto)
+ {
+ var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
+
+ if (taskInfo.TaskState != TaskState.Effect)
+ {
+ throw new BusinessValidationFailedException($"当前任务已失效!");
+ }
+ var baselineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == taskInfo.SubjectId && x.IsBaseLine && !x.IsLostVisit).Select(x => x.Id).FirstNotNullAsync();
+ var result = await _visitTaskRepository.Where(x =>
+ (x.TrialId == taskInfo.TrialId &&
+ x.SubjectId == taskInfo.SubjectId &&
+ x.ArmEnum == taskInfo.ArmEnum &&
+ x.DoctorUserId == taskInfo.DoctorUserId &&
+ x.ReadingTaskState == ReadingTaskState.HaveSigned &&
+ x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
+ x.TaskState == TaskState.Effect &&
+ x.IsAnalysisCreate == taskInfo.IsAnalysisCreate &&
+ x.ReadingCategory == ReadingCategory.Visit) || x.Id == inDto.VisitTaskId)
+ .Select(x => new GetRelatedVisitTaskOutDto()
+ {
+ TaskBlindName = x.TaskBlindName,
+ TaskName = x.TaskName,
+ ReadingTaskState = x.ReadingTaskState,
+ VisitId = x.SourceSubjectVisitId,
+ VisitTaskId = x.Id,
+ VisitTaskNum = x.VisitTaskNum,
+ IsBaseLineTask = x.SourceSubjectVisitId == baselineVisitId,
+ IsCurrentTask = x.Id == inDto.VisitTaskId,
+
+ }).OrderBy(x => x.VisitTaskNum).ToListAsync();
+
+
+
+ return (result, new
+ {
+ ReadingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync()
+ });
+ }
+
///
/// 获取既往任务名称和编号
///
@@ -373,22 +433,23 @@ namespace IRaCIS.Application.Services
-
-
///
- /// 根据任务ID获取ReadingTool
+ /// 验证任务是否签名
///
- ///
+ ///
///
- [HttpPost]
- public async Task GetReadingTool(GetReadingToolInDto indto)
+ ///
+ private async Task VerifyTaskIsSign(Guid visitTaskid)
{
- var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).FirstNotNullAsync();
- GetReadingToolOutDto result = new GetReadingToolOutDto();
- result.ReadingTool = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == visitTaskInfo.TrialReadingCriterionId).Select(x => x.ReadingTool).FirstOrDefaultAsync();
- return result;
+ if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.ReadingTaskState == ReadingTaskState.HaveSigned))
+ {
+ throw new BusinessValidationFailedException($"当前任务已经签名!");
+
+ }
}
+
+
#endregion
@@ -938,51 +999,7 @@ namespace IRaCIS.Application.Services
}
- ///
- /// 获取关联的阅片任务
- ///
- ///
- ///
- [HttpPost]
- public async Task<(List, object)> GetRelatedVisitTask(GetRelatedVisitTaskInDto inDto)
- {
- var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
- if (taskInfo.TaskState != TaskState.Effect)
- {
- throw new BusinessValidationFailedException($"当前任务已失效!");
- }
- var baselineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == taskInfo.SubjectId && x.IsBaseLine && !x.IsLostVisit).Select(x => x.Id).FirstNotNullAsync();
- var result = await _visitTaskRepository.Where(x =>
- (x.TrialId == taskInfo.TrialId &&
- x.SubjectId == taskInfo.SubjectId &&
- x.ArmEnum == taskInfo.ArmEnum &&
- x.DoctorUserId == taskInfo.DoctorUserId &&
- x.ReadingTaskState == ReadingTaskState.HaveSigned &&
- x.TrialReadingCriterionId== taskInfo.TrialReadingCriterionId&&
- x.TaskState == TaskState.Effect &&
- x.IsAnalysisCreate == taskInfo.IsAnalysisCreate &&
- x.ReadingCategory == ReadingCategory.Visit) || x.Id == inDto.VisitTaskId)
- .Select(x => new GetRelatedVisitTaskOutDto()
- {
- TaskBlindName = x.TaskBlindName,
- TaskName = x.TaskName,
- ReadingTaskState=x.ReadingTaskState,
- VisitId = x.SourceSubjectVisitId,
- VisitTaskId = x.Id,
- VisitTaskNum = x.VisitTaskNum,
- IsBaseLineTask= x.SourceSubjectVisitId== baselineVisitId,
- IsCurrentTask = x.Id == inDto.VisitTaskId,
-
- }).OrderBy(x => x.VisitTaskNum).ToListAsync();
-
-
-
- return (result, new
- {
- ReadingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync()
- });
- }
#endregion
@@ -1634,64 +1651,5 @@ namespace IRaCIS.Application.Services
-
-
-
-
-
-
-
- #region 阅片任务 签名验证
-
- ///
- /// 验证任务是否签名
- ///
- ///
- ///
- ///
- private async Task VerifyTaskIsSign(Guid visitTaskid)
- {
- if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.ReadingTaskState == ReadingTaskState.HaveSigned))
- {
- throw new BusinessValidationFailedException($"当前任务已经签名!");
-
- }
- }
- #endregion
-
-
-
- #region 废弃
-
-
- ///
- /// 完成阅片修改状态
- ///
- ///
- private async Task FinishReadUpdateState(Guid visitTaskId)
- {
- //var taskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync();
- //if (!await _visitTaskRepository.AnyAsync(x => x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && x.SouceReadModuleId == taskInfo.SouceReadModuleId && x.ReadingTaskState != ReadingTaskState.HaveSigned))
- //{
- // if (taskInfo.SouceReadModuleId != null)
- // {
- // await _readModuleRepository.UpdatePartialFromQueryAsync(taskInfo.SouceReadModuleId.Value, x => new ReadModule
- // {
- // ReadingStatus = ReadingStatusEnum.ReadCompleted
- // });
- // }
- // else if (taskInfo.SourceSubjectVisitId != null)
- // {
- // await _subjectVisitRepository.UpdatePartialFromQueryAsync(taskInfo.SourceSubjectVisitId.Value, x => new SubjectVisit
- // {
- // ReadingStatus = ReadingStatusEnum.ReadCompleted
- // });
- // }
- // await _subjectVisitRepository.SaveChangesAsync();
- //}
- }
-
- #endregion
-
}
}