修改一版
parent
035a3c12d7
commit
d3b1373ecf
|
@ -100,6 +100,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
|
||||
public bool IsBaseLine { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// TrialReadingCriterionId
|
||||
/// </summary>
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public string VisitName { get; set; }
|
||||
|
||||
public string BlindName { get; set; }
|
||||
|
|
|
@ -409,6 +409,7 @@ namespace IRaCIS.Application.Services
|
|||
result.ReadingTaskState = visitTaskInfo.ReadingTaskState;
|
||||
var taskInfoList = await _visitTaskRepository.Where(x => (x.SubjectId == visitTaskInfo.SubjectId && x.TaskState == TaskState.Effect
|
||||
&&x.ArmEnum== visitTaskInfo.ArmEnum
|
||||
&&x.TrialReadingCriterionId==visitTaskInfo.TrialReadingCriterionId
|
||||
&& x.ReadingCategory == ReadingCategory.Visit && !x.IsAnalysisCreate && x.ReadingTaskState == ReadingTaskState.HaveSigned) || x.Id == indto.VisitTaskId
|
||||
).OrderBy(x => x.VisitTaskNum).Select(x => new VisitTaskInfo()
|
||||
{
|
||||
|
@ -851,6 +852,7 @@ namespace IRaCIS.Application.Services
|
|||
var globalTaskInfo = await _visitTaskRepository
|
||||
.Where(x => x.SubjectId == taskInfo.SubjectId &&
|
||||
x.TaskState == TaskState.Effect &&
|
||||
x.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId &&
|
||||
x.ReadingCategory == ReadingCategory.Global &&
|
||||
x.VisitTaskNum < taskInfo.VisitTaskNum
|
||||
).OrderByDescending(x => x.VisitTaskNum)
|
||||
|
@ -889,6 +891,7 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
// 找到对应的访视
|
||||
List<OncologyVisitTaskInfo> oncologyVisits = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
|
||||
x.SubjectId == visitTask.SubjectId && x.IsAnalysisCreate == visitTask.IsAnalysisCreate && x.TaskState == TaskState.Effect && x.VisitTaskNum < visitTask.VisitTaskNum)
|
||||
.Where(x => x.DoctorUserId == visitTask.DoctorUserId)
|
||||
.OrderBy(x => x.VisitTaskNum).Select(x => new OncologyVisitTaskInfo()
|
||||
|
@ -1031,6 +1034,7 @@ namespace IRaCIS.Application.Services
|
|||
// 一致性分析按照doctorId 其他按照分组
|
||||
|
||||
result.TaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
|
||||
x.SubjectId == taskInfo.SubjectId && x.IsAnalysisCreate == taskInfo.IsAnalysisCreate && x.TaskState == TaskState.Effect && x.VisitTaskNum < taskInfo.VisitTaskNum)
|
||||
.Where(x => x.DoctorUserId == taskInfo.DoctorUserId)
|
||||
.OrderBy(x => x.VisitTaskNum).Select(x => new GlobalVisitInfo()
|
||||
|
@ -1239,7 +1243,9 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
else
|
||||
{
|
||||
task = await _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId==trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id && x.TaskState == TaskState.Effect).Select(x => new GetReadingTaskDto()
|
||||
task = await _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId==trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id
|
||||
&& x.TrialReadingCriterionId == trialReadingCriterionId
|
||||
&& x.TaskState == TaskState.Effect).Select(x => new GetReadingTaskDto()
|
||||
{
|
||||
VisitTaskId = x.Id,
|
||||
TaskBlindName = x.TaskBlindName,
|
||||
|
@ -1933,6 +1939,7 @@ namespace IRaCIS.Application.Services
|
|||
x.ArmEnum == taskInfo.ArmEnum &&
|
||||
x.Id != inDto.VisitTaskId &&
|
||||
x.DoctorUserId == taskInfo.DoctorUserId &&
|
||||
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
|
||||
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
|
||||
x.TaskState == TaskState.Effect &&
|
||||
x.IsAnalysisCreate == taskInfo.IsAnalysisCreate)
|
||||
|
@ -2540,7 +2547,8 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
// 找到一个全局阅片任务是否有裁判任务
|
||||
|
||||
var judgeVisitTaskId = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModuleId && x.TaskState == TaskState.Effect && x.ReadingCategory == ReadingCategory.Global
|
||||
var judgeVisitTaskId = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModuleId && x.TaskState == TaskState.Effect
|
||||
&& x.ReadingCategory == ReadingCategory.Global
|
||||
&& x.ReadingTaskState == ReadingTaskState.HaveSigned).Select(x => x.JudgeVisitTaskId).FirstOrDefaultAsync();
|
||||
|
||||
// 获取系统配置
|
||||
|
|
|
@ -328,7 +328,9 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
if (globalModule != null)
|
||||
{
|
||||
var globalTaskInfoList = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalModule.Id && x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned&&!x.IsAnalysisCreate).ToListAsync();
|
||||
var globalTaskInfoList = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalModule.Id
|
||||
&& x.TrialReadingCriterionId == dto.TrialReadingCriterionId
|
||||
&& x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned&&!x.IsAnalysisCreate).ToListAsync();
|
||||
|
||||
if (globalTaskInfoList.Count() > 0 && globalTaskInfoList.Count == (int)criterionInfo.ReadingType)
|
||||
{
|
||||
|
|
|
@ -186,6 +186,8 @@ namespace IRaCIS.Application.Services
|
|||
case ReadingSetType.ImageReading:
|
||||
//增加标准
|
||||
var taskInfoList = await _visitTaskRepository.Where(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && subjectVisitIds.Contains(x.SourceSubjectVisitId ?? default(Guid)) &&
|
||||
|
||||
x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId &&
|
||||
x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate).ToListAsync();
|
||||
|
||||
foreach (var item in taskInfoList)
|
||||
|
@ -230,7 +232,9 @@ namespace IRaCIS.Application.Services
|
|||
var globalModuleIds = await _readModuleRepository.Where(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && subjectVisitIds.Contains(x.SubjectVisitId) && x.ModuleType == ModuleTypeEnum.Global).Select(x => x.Id).ToListAsync();
|
||||
|
||||
//增加标准
|
||||
var globalTaskInfo = await _visitTaskRepository.Where(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && globalModuleIds.Contains(x.SouceReadModuleId ?? default(Guid)) && x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate).GroupBy(x => new { x.SouceReadModuleId }).Select(x =>
|
||||
var globalTaskInfo = await _visitTaskRepository.Where(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && globalModuleIds.Contains(x.SouceReadModuleId ?? default(Guid))
|
||||
|
||||
&& x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate).GroupBy(x => new { x.SouceReadModuleId }).Select(x =>
|
||||
new {
|
||||
SouceReadModuleId = x.Key.SouceReadModuleId,
|
||||
Count = x.ToList().Count,
|
||||
|
@ -288,7 +292,9 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
List<Guid> readModuleIds = await _readModuleRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Select(x => x.Id).ToListAsync();
|
||||
|
||||
if (await _visitTaskRepository.AnyAsync(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && readModuleIds.Contains(x.SouceReadModuleId ?? default(Guid)) && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect))
|
||||
if (await _visitTaskRepository.AnyAsync(x => x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId && readModuleIds.Contains(x.SouceReadModuleId ?? default(Guid))
|
||||
&& x.TrialReadingCriterionId == readingPeriodSet.TrialReadingCriterionId
|
||||
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect))
|
||||
{
|
||||
throw new BusinessValidationFailedException("当前标准阅片已生成任务并且阅片完成,撤销失败。");
|
||||
}
|
||||
|
|
|
@ -342,7 +342,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == visitTaskId).ToListAsync();
|
||||
|
||||
var baseLinetaskId = await _visitTaskRepository.Where(x => x.SourceSubjectVisitId == baseLineVisitId && x.TaskState == TaskState.Effect && x.ArmEnum == visitTask.ArmEnum).Select(x => x.Id).FirstOrDefaultAsync();
|
||||
var baseLinetaskId = await _visitTaskRepository.Where(x => x.SourceSubjectVisitId == baseLineVisitId && x.TaskState == TaskState.Effect
|
||||
&& x.TrialReadingCriterionId == visitTask.TrialReadingCriterionId
|
||||
&& x.ArmEnum == visitTask.ArmEnum).Select(x => x.Id).FirstOrDefaultAsync();
|
||||
var criterionId = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == visitTask.TrialId && x.IsConfirm).Select(x => x.Id).FirstOrDefaultAsync();
|
||||
List<QuestionInfo> questionInfos = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).Select(x => new QuestionInfo()
|
||||
{
|
||||
|
@ -401,6 +403,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
TrialId = visitTask.TrialId,
|
||||
IsBaseLine = subjectVisit!.IsBaseLine,
|
||||
DoctorUserId = visitTask.DoctorUserId,
|
||||
TrialReadingCriterionId= visitTask.TrialReadingCriterionId,
|
||||
BaseLineTaskId = baseLinetaskId,
|
||||
ArmEnum = visitTask.ArmEnum,
|
||||
VisitName = subjectVisit.VisitName,
|
||||
|
@ -432,7 +435,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
if (!(await _readingTableQuestionAnswerRepository.AnyAsync(x => x.VisitTaskId == visitTaskId)))
|
||||
{
|
||||
|
||||
var LastVisitTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit && x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect && x.ArmEnum == taskinfo.ArmEnum
|
||||
var LastVisitTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||
x.TrialReadingCriterionId == taskinfo.TrialReadingCriterionId &&
|
||||
x.SubjectId == taskinfo.SubjectId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum < taskinfo.VisitTaskNum && x.TaskState == TaskState.Effect && x.ArmEnum == taskinfo.ArmEnum
|
||||
).OrderByDescending(x => x.VisitTaskNum).Select(x => x.Id).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
|
@ -921,6 +926,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
// 找到所有访视任务的Id
|
||||
|
||||
var visitTaskIds = await _visitTaskRepository.Where(x => !x.IsAnalysisCreate && x.ReadingCategory == ReadingCategory.Visit &&
|
||||
x.TrialReadingCriterionId == inDto.calculateDto.TrialReadingCriterionId &&
|
||||
x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.DoctorUserId == inDto.calculateDto.DoctorUserId).Select(x => x.Id).ToListAsync();
|
||||
|
||||
var answer = (await GetLowSODVisit(inDto.calculateDto)).OrderBy(x => x.SOD).Select(x => x.BlindName).FirstOrDefault();
|
||||
|
@ -968,7 +974,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
// 先找到基线的任务
|
||||
var baseLineTaskId = await _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.ReadingCategory == ReadingCategory.Visit
|
||||
&& x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect && !x.IsAnalysisCreate && x.DoctorUserId == inDto.DoctorUserId)
|
||||
&& x.TrialReadingCriterionId == inDto.TrialReadingCriterionId &&
|
||||
x.SourceSubjectVisit.IsBaseLine && x.TaskState == TaskState.Effect && !x.IsAnalysisCreate && x.DoctorUserId == inDto.DoctorUserId)
|
||||
.Select(x => x.Id).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
|
@ -1058,7 +1065,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
// 找到访视任务Id
|
||||
|
||||
var LastVisitTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit && x.TaskState == TaskState.Effect && !x.IsAnalysisCreate && x.SourceSubjectVisitId == lastVisitId && x.DoctorUserId == inDto.DoctorUserId).Select(x => x.Id).FirstOrDefaultAsync();
|
||||
var LastVisitTaskId = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
|
||||
x.TrialReadingCriterionId == inDto.TrialReadingCriterionId &&
|
||||
x.TaskState == TaskState.Effect && !x.IsAnalysisCreate && x.SourceSubjectVisitId == lastVisitId && x.DoctorUserId == inDto.DoctorUserId).Select(x => x.Id).FirstOrDefaultAsync();
|
||||
|
||||
return LastVisitTaskId;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue