代码整理
parent
ae88921049
commit
ee32ddd974
|
@ -292,6 +292,66 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
#region 阅片页面 关联信息查询 以及基本验证
|
||||
|
||||
/// <summary>
|
||||
/// 根据任务ID获取ReadingTool
|
||||
/// </summary>
|
||||
/// <param name="indto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetReadingToolOutDto> 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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取关联的阅片任务
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<(List<GetRelatedVisitTaskOutDto>, 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()
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取既往任务名称和编号
|
||||
/// </summary>
|
||||
|
@ -373,22 +433,23 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据任务ID获取ReadingTool
|
||||
/// 验证任务是否签名
|
||||
/// </summary>
|
||||
/// <param name="indto"></param>
|
||||
/// <param name="visitTaskid"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<GetReadingToolOutDto> GetReadingTool(GetReadingToolInDto indto)
|
||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||
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
|
|||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取关联的阅片任务
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<(List<GetRelatedVisitTaskOutDto>, 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 阅片任务 签名验证
|
||||
|
||||
/// <summary>
|
||||
/// 验证任务是否签名
|
||||
/// </summary>
|
||||
/// <param name="visitTaskid"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||
private async Task VerifyTaskIsSign(Guid visitTaskid)
|
||||
{
|
||||
if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.ReadingTaskState == ReadingTaskState.HaveSigned))
|
||||
{
|
||||
throw new BusinessValidationFailedException($"当前任务已经签名!");
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 废弃
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 完成阅片修改状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
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
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue