代码整理
parent
ae88921049
commit
ee32ddd974
|
@ -292,6 +292,66 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
#region 阅片页面 关联信息查询 以及基本验证
|
#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>
|
||||||
/// 获取既往任务名称和编号
|
/// 获取既往任务名称和编号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -373,21 +433,22 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根据任务ID获取ReadingTool
|
/// 验证任务是否签名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="indto"></param>
|
/// <param name="visitTaskid"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||||
public async Task<GetReadingToolOutDto> GetReadingTool(GetReadingToolInDto indto)
|
private async Task VerifyTaskIsSign(Guid visitTaskid)
|
||||||
{
|
{
|
||||||
var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).FirstNotNullAsync();
|
if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.ReadingTaskState == ReadingTaskState.HaveSigned))
|
||||||
GetReadingToolOutDto result = new GetReadingToolOutDto();
|
{
|
||||||
result.ReadingTool = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == visitTaskInfo.TrialReadingCriterionId).Select(x => x.ReadingTool).FirstOrDefaultAsync();
|
throw new BusinessValidationFailedException($"当前任务已经签名!");
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#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
|
#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