修改过滤
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
f14525ea95
commit
35d90d56dd
|
@ -6,6 +6,7 @@ using IRaCIS.Core.Application.Helper;
|
||||||
using IRaCIS.Core.Application.Service.ImageAndDoc.DTO;
|
using IRaCIS.Core.Application.Service.ImageAndDoc.DTO;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
|
using IRaCIS.Core.Infrastructure.Extention;
|
||||||
using MassTransit;
|
using MassTransit;
|
||||||
using MathNet.Numerics;
|
using MathNet.Numerics;
|
||||||
using Medallion.Threading;
|
using Medallion.Threading;
|
||||||
|
@ -62,11 +63,11 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
if (_visitTaskRepository.Any(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.TrialReadingCriterion.IsReadingTaskViewInOrder == ReadingOrder.SubjectRandom))
|
if (_visitTaskRepository.Any(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.TrialReadingCriterion.IsReadingTaskViewInOrder == ReadingOrder.SubjectRandom))
|
||||||
{
|
{
|
||||||
//找到 非一致性分析,未签名,状态正常的 并且任务名称是TimePoint的 任务
|
//找到 非一致性分析,未签名,状态正常的 并且任务名称是TimePoint的 任务
|
||||||
var needDealTaskList = await _visitTaskRepository.Where(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == false && t.DoctorUserId==_userInfo.Id
|
var needDealTaskList = await _visitTaskRepository.Where(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == false && t.DoctorUserId == _userInfo.Id
|
||||||
&& t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskBlindName == "Timepoint" && t.ReadingCategory == ReadingCategory.Visit
|
&& t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskBlindName == "Timepoint" && t.ReadingCategory == ReadingCategory.Visit
|
||||||
&& (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze), true).ToListAsync();
|
&& (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze), true).ToListAsync();
|
||||||
|
|
||||||
if (needDealTaskList.Count>0)
|
if (needDealTaskList.Count > 0)
|
||||||
{
|
{
|
||||||
//已完成的访视任务数量(包含重阅的)
|
//已完成的访视任务数量(包含重阅的)
|
||||||
var haveFinishedTaskCount = await _visitTaskRepository.CountAsync(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == false && t.DoctorUserId == _userInfo.Id
|
var haveFinishedTaskCount = await _visitTaskRepository.CountAsync(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.IsAnalysisCreate == false && t.DoctorUserId == _userInfo.Id
|
||||||
|
@ -80,7 +81,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
|
|
||||||
|
|
||||||
//随机赋值编号 比如要处理5个任务,实例化一个包含1-5的数组,每次随机取出一个
|
//随机赋值编号 比如要处理5个任务,实例化一个包含1-5的数组,每次随机取出一个
|
||||||
List<int> availableNumbers = Enumerable.Range(haveDealedTaskCount+ haveFinishedTaskCount + 1, needDealTaskList.Count).ToList();
|
List<int> availableNumbers = Enumerable.Range(haveDealedTaskCount + haveFinishedTaskCount + 1, needDealTaskList.Count).ToList();
|
||||||
Random rng = new Random();
|
Random rng = new Random();
|
||||||
foreach (var visitTask in needDealTaskList)
|
foreach (var visitTask in needDealTaskList)
|
||||||
{
|
{
|
||||||
|
@ -91,7 +92,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
availableNumbers.RemoveAt(randomIndex);
|
availableNumbers.RemoveAt(randomIndex);
|
||||||
}
|
}
|
||||||
await _visitTaskRepository.SaveChangesAsync();
|
await _visitTaskRepository.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
@ -102,11 +103,11 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
/// <param name="subjectId"></param>
|
/// <param name="subjectId"></param>
|
||||||
/// <param name="trialReadingCriterionId"></param>
|
/// <param name="trialReadingCriterionId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<IResponseOutput<List<SubjectImageUploadDTO>>> GetSubjectImageUploadList(Guid subjectId,Guid trialReadingCriterionId)
|
public async Task<IResponseOutput<List<SubjectImageUploadDTO>>> GetSubjectImageUploadList(Guid subjectId, Guid trialReadingCriterionId)
|
||||||
{
|
{
|
||||||
await SubejctRandomReadingTaskNameDeal(subjectId, trialReadingCriterionId);
|
await SubejctRandomReadingTaskNameDeal(subjectId, trialReadingCriterionId);
|
||||||
|
|
||||||
var query = _repository.Where<VisitTask>(t => t.SubjectId == subjectId &&t.TrialReadingCriterionId== trialReadingCriterionId && t.SourceSubjectVisitId != null && t.DoctorUserId == _userInfo.Id)
|
var query = _repository.Where<VisitTask>(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == trialReadingCriterionId && t.SourceSubjectVisitId != null && t.DoctorUserId == _userInfo.Id)
|
||||||
.Select(u => new SubjectImageUploadDTO()
|
.Select(u => new SubjectImageUploadDTO()
|
||||||
{
|
{
|
||||||
VisitTaskId = u.Id,
|
VisitTaskId = u.Id,
|
||||||
|
@ -128,7 +129,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
SourceSubjectVisitId = u.SourceSubjectVisitId,
|
SourceSubjectVisitId = u.SourceSubjectVisitId,
|
||||||
PackState = u.SourceSubjectVisit.PackState,
|
PackState = u.SourceSubjectVisit.PackState,
|
||||||
|
|
||||||
OrginalStudyList = u.SourceSubjectVisit.StudyList.Select(t => new StudyBasicInfo()
|
OrginalStudyList = u.SourceSubjectVisit.StudyList
|
||||||
|
.Where(t => u.TrialReadingCriterion.IsImageFilter ? u.TrialReadingCriterion.CriterionModalitys.Contains(t.ModalityForEdit) : true)
|
||||||
|
.Select(t => new StudyBasicInfo()
|
||||||
{
|
{
|
||||||
Id = t.Id,
|
Id = t.Id,
|
||||||
StudyInstanceUid = t.StudyInstanceUid,
|
StudyInstanceUid = t.StudyInstanceUid,
|
||||||
|
|
|
@ -339,8 +339,8 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth;
|
//series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth;
|
||||||
series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter;
|
//series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter;
|
||||||
|
|
||||||
return series;
|
return series;
|
||||||
}
|
}
|
||||||
|
@ -446,8 +446,8 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth;
|
//series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth;
|
||||||
series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter;
|
//series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue