修改一版

This commit is contained in:
he
2022-10-17 15:32:10 +08:00
parent 035a3c12d7
commit d3b1373ecf
5 changed files with 39 additions and 9 deletions
@@ -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("当前标准阅片已生成任务并且阅片完成,撤销失败。");
}