修改一版
parent
a8872841e1
commit
590a85cc20
|
@ -1007,6 +1007,44 @@ namespace IRaCIS.Application.Services
|
||||||
SignTime = DateTime.Now,
|
SignTime = DateTime.Now,
|
||||||
JudgeResultImagePath = inDto.JudgeResultImagePath,
|
JudgeResultImagePath = inDto.JudgeResultImagePath,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 需要判断是否添加肿瘤学任务
|
||||||
|
var taskInfo = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == inDto.VisitTaskId).FirstNotNullAsync();
|
||||||
|
if (taskInfo.ReadingCategory == ReadingCategory.Global)
|
||||||
|
{
|
||||||
|
if (taskInfo.SouceReadModuleId == null)
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException($"当前裁判的全局任务的SouceId为null");
|
||||||
|
}
|
||||||
|
|
||||||
|
var visitId = await _readModuleRepository.Where(x => x.Id == taskInfo.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
// 肿瘤学信息
|
||||||
|
List<ReadingGenerataTaskDTO> needReadList = await _readModuleRepository.Where(x => x.SubjectVisitId == visitId && x.ModuleType == ModuleTypeEnum.Oncology)
|
||||||
|
.Select(x => new ReadingGenerataTaskDTO
|
||||||
|
{
|
||||||
|
IsUrgent = x.IsUrgent ?? false,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
ReadingName = x.ModuleName,
|
||||||
|
VisitNum = x.VisitNum,
|
||||||
|
ReadModuleId = x.Id,
|
||||||
|
ReadingCategory = ReadingCategory.Oncology,
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
await _visitTaskHelpeService.AddTaskAsync(new GenerateTaskCommand()
|
||||||
|
{
|
||||||
|
|
||||||
|
ReadingCategory = GenerateTaskCategory.Oncology,
|
||||||
|
TrialId = taskInfo.TrialId,
|
||||||
|
ReadingGenerataTaskList = needReadList
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var result = await _visitTaskRepository.SaveChangesAsync();
|
var result = await _visitTaskRepository.SaveChangesAsync();
|
||||||
return ResponseOutput.Ok(result);
|
return ResponseOutput.Ok(result);
|
||||||
}
|
}
|
||||||
|
@ -1130,8 +1168,8 @@ namespace IRaCIS.Application.Services
|
||||||
break;
|
break;
|
||||||
// 肿瘤学
|
// 肿瘤学
|
||||||
case ReadingCategory.Global:
|
case ReadingCategory.Global:
|
||||||
var subjectId = await _readModuleRepository.Where(x => x.Id == taskInfo.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync();
|
var subjectVisitId = await _readModuleRepository.Where(x => x.Id == taskInfo.SouceReadModuleId).Select(x => x.SubjectVisitId).FirstOrDefaultAsync();
|
||||||
needReadList=await _readModuleRepository.Where(x => x.SubjectVisitId == subjectId&&x.ModuleType==ModuleTypeEnum.Oncology)
|
needReadList=await _readModuleRepository.Where(x => x.SubjectVisitId == subjectVisitId && x.ModuleType==ModuleTypeEnum.Oncology)
|
||||||
.Select(x => new ReadingGenerataTaskDTO
|
.Select(x => new ReadingGenerataTaskDTO
|
||||||
{
|
{
|
||||||
IsUrgent = x.IsUrgent ?? false,
|
IsUrgent = x.IsUrgent ?? false,
|
||||||
|
@ -1141,7 +1179,12 @@ namespace IRaCIS.Application.Services
|
||||||
ReadModuleId = x.Id,
|
ReadModuleId = x.Id,
|
||||||
ReadingCategory = typeChangeDic[x.ModuleType],
|
ReadingCategory = typeChangeDic[x.ModuleType],
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
if (taskInfo.JudgeVisitTaskId == null)
|
|
||||||
|
var readingType=await _trialRepository.Where(x => x.Id == taskInfo.TrialId).Select(x => x.ReadingType).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
if (taskInfo.JudgeVisitTaskId == null&&(await _visitTaskRepository.Where(x=>x.TaskState==TaskState.Effect&&x.ReadingCategory==ReadingCategory.Global
|
||||||
|
&&x.ReadingTaskState==ReadingTaskState.HaveSigned
|
||||||
|
).CountAsync()== (int)readingType))
|
||||||
{
|
{
|
||||||
// 有裁判要等裁判完成之后才进行添加
|
// 有裁判要等裁判完成之后才进行添加
|
||||||
await _visitTaskHelpeService.AddTaskAsync(new GenerateTaskCommand()
|
await _visitTaskHelpeService.AddTaskAsync(new GenerateTaskCommand()
|
||||||
|
@ -1177,10 +1220,11 @@ namespace IRaCIS.Application.Services
|
||||||
var visitTask = await _visitTaskRepository.Where(x => x.Id == visitTaskId).AsNoTracking().FirstNotNullAsync();
|
var visitTask = await _visitTaskRepository.Where(x => x.Id == visitTaskId).AsNoTracking().FirstNotNullAsync();
|
||||||
|
|
||||||
// 判断是否是一致性核查产生
|
// 判断是否是一致性核查产生
|
||||||
if (visitTask.IsAnalysisCreate&& visitTask.ConsistentAnalysisOriginalTaskId!=null)
|
if (visitTask.IsAnalysisCreate)
|
||||||
{
|
{
|
||||||
visitTaskids.Add(visitTask.Id);
|
visitTaskids=await _visitTaskRepository.Where(x=>x.ArmEnum== visitTask.ArmEnum&&x.TaskState==TaskState.Effect&&x.SourceSubjectVisitId== visitTask.SourceSubjectVisitId
|
||||||
visitTaskids.Add(visitTask.ConsistentAnalysisOriginalTaskId.Value);
|
&&x.SouceReadModuleId==visitTask.SouceReadModuleId && x.ReadingCategory != ReadingCategory.Judge && x.ReadingTaskState == ReadingTaskState.HaveSigned).Select(x => x.Id).ToListAsync();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1188,7 +1232,7 @@ namespace IRaCIS.Application.Services
|
||||||
visitTaskids = await _visitTaskRepository.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReadingCategory != ReadingCategory.Judge
|
visitTaskids = await _visitTaskRepository.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReadingCategory != ReadingCategory.Judge
|
||||||
&& x.TaskState== TaskState.Effect
|
&& x.TaskState== TaskState.Effect
|
||||||
&& x.IsAnalysisCreate==false
|
&& x.IsAnalysisCreate==false
|
||||||
&& x.ReReadingApplyState != ReReadingApplyState.Agree && x.SourceSubjectVisitId == visitTask.SourceSubjectVisitId && x.SouceReadModuleId == visitTask.SouceReadModuleId).Select(x => x.Id).ToListAsync();
|
&& x.SourceSubjectVisitId == visitTask.SourceSubjectVisitId && x.SouceReadModuleId == visitTask.SouceReadModuleId).Select(x => x.Id).ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
var trialInfo = await _trialRepository.Where(x => x.Id == visitTask.TrialId).Select(x=> new {
|
var trialInfo = await _trialRepository.Where(x => x.Id == visitTask.TrialId).Select(x=> new {
|
||||||
|
|
Loading…
Reference in New Issue