Uat_Study
hang 2022-09-30 14:04:28 +08:00
parent 2f7ba345d9
commit 63a49e4799
6 changed files with 20 additions and 7 deletions

View File

@ -324,7 +324,7 @@
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.GetOrderReadingIQueryable(System.Guid)">
<member name="M:IRaCIS.Core.Application.Service.Allocation.VisitTaskService.GetOrderReadingIQueryable(System.Guid,System.Nullable{System.Guid})">
<summary>
获取有序阅片IQuery对象
</summary>

View File

@ -206,6 +206,8 @@ namespace IRaCIS.Core.Application.ViewModel
public Guid? VisistId { get; set; }
public DateTime? SuggesteFinishedTime { get; set; }
public Guid TrialReadingCriterionId { get; set; }
}
@ -281,6 +283,9 @@ namespace IRaCIS.Core.Application.ViewModel
public string SubjectCode { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
}
public class IRUnReadOutDto
@ -309,6 +314,7 @@ namespace IRaCIS.Core.Application.ViewModel
/// 建议完成时间
/// </summary>
public DateTime? SuggesteFinishedTime { get; set; }
}
public class SubjectAssignQuery : PageInput

View File

@ -16,6 +16,6 @@ namespace IRaCIS.Core.Application.Service
Task<IResponseOutput> ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService);
(int, IOrderedQueryable<IRUnReadSubjectView>) GetOrderReadingIQueryable(Guid trialId);
(int, IOrderedQueryable<IRUnReadSubjectView>) GetOrderReadingIQueryable(Guid trialId, Guid? trialReadingCriterionId);
}
}

View File

@ -1029,6 +1029,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
var trialId = iRUnReadSubjectQuery.TrialId;
var trialReadingCriterionId = iRUnReadSubjectQuery.TrialReadingCriterionId;
#region 按照任务的维度统计分组
//var query = _visitTaskRepository.Where(t => t.TrialId == trialId)
@ -1065,7 +1067,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
// .Where(t => t.UnReadTaskCount > 0);
var visitTaskQuery = GetOrderReadingIQueryable(trialId);
var visitTaskQuery = GetOrderReadingIQueryable(trialId, trialReadingCriterionId);
var totalCount = visitTaskQuery.Item1;
var currentPageData = await visitTaskQuery.Item2.Skip((iRUnReadSubjectQuery.PageIndex - 1) * iRUnReadSubjectQuery.PageSize)
@ -1091,7 +1093,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
else
{
var taskQuery = _visitTaskRepository.Where(x => x.TrialId == iRUnReadSubjectQuery.TrialId && x.DoctorUserId == _userInfo.Id && x.TaskState == TaskState.Effect)
var taskQuery = _visitTaskRepository.Where(x => x.TrialId == iRUnReadSubjectQuery.TrialId && x.DoctorUserId == _userInfo.Id && x.TaskState == TaskState.Effect && x.TrialReadingCriterionId==trialReadingCriterionId)
.Where(x => !x.Subject.IsDeleted);
IRUnReadOutDto iRUnReadOut = new IRUnReadOutDto()
@ -1125,9 +1127,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
/// </summary>
/// <param name="trialId"></param>
/// <returns></returns>
public (int, IOrderedQueryable<IRUnReadSubjectView>) GetOrderReadingIQueryable(Guid trialId)
public (int, IOrderedQueryable<IRUnReadSubjectView>) GetOrderReadingIQueryable(Guid trialId,Guid? trialReadingCriterionId)
{
var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id)
var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id )
.WhereIf(trialReadingCriterionId!=null,t=>t.TrialReadingCriterionId==trialReadingCriterionId)
.Where(x => !x.Subject.IsDeleted)
.Where(t => (t.ReadingTaskState != ReadingTaskState.HaveSigned || t.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed || t.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed) && t.TaskState == TaskState.Effect)
.GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode });
@ -1149,6 +1152,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
SuggesteFinishedTime = u.SuggesteFinishedTime,
ReadingCategory = u.ReadingCategory,
IsAnalysisCreate = u.IsAnalysisCreate,
TrialReadingCriterionId=u.TrialReadingCriterionId,
}).ToList(),
}).Where(x => x.UnReadTaskCount > 0).OrderBy(x => x.SubjectId);

View File

@ -753,6 +753,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public Guid? VisistTaskId { get; set; }
}

View File

@ -1273,7 +1273,7 @@ namespace IRaCIS.Application.Services
//}).OrderBy(x => x.VisitNum).ThenBy(x => x.ReadingCategory);
#endregion
var subjectTaskList = await _visitTaskService.GetOrderReadingIQueryable(inDto.TrialId).Item2.ToListAsync();
var subjectTaskList = await _visitTaskService.GetOrderReadingIQueryable(inDto.TrialId, inDto.TrialReadingCriterionId).Item2.ToListAsync();
var index = 0;
subjectTaskList.ForEach(x =>