修改一版

Uat_Study
he 2022-06-22 13:36:37 +08:00
parent ff0f3ba39d
commit b0d7be5b66
3 changed files with 71 additions and 13 deletions

View File

@ -94,7 +94,7 @@
</member>
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.GetIRUnReadSubjectTaskList(IRaCIS.Core.Application.ViewModel.IRUnReadSubjectQuery)">
<summary>
IR 待阅片任务列表Subject 维度统计)
IR 待阅片任务列表
</summary>
<returns></returns>
</member>
@ -1958,6 +1958,31 @@
<member name="T:IRaCIS.Core.Application.ViewModel.VisitTaskView">
<summary> VisitTaskView 列表视图模型 </summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.IRUnReadOutDto.UnReadTaskCount">
<summary>
未完成阅片量
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.IRUnReadOutDto.FinishTaskCount">
<summary>
完成阅片量
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.IRUnReadOutDto.UnReadJudgeTaskCount">
<summary>
未完成裁判任务数量
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.IRUnReadOutDto.FinishJudgeTaskCount">
<summary>
完成裁判任务数量
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.IRUnReadOutDto.SuggesteFinishedTime">
<summary>
建议完成时间
</summary>
</member>
<member name="T:IRaCIS.Core.Application.ViewModel.CommonDocumentView">
<summary> CommonDocumentView 列表视图模型 </summary>
</member>

View File

@ -202,6 +202,34 @@ namespace IRaCIS.Core.Application.ViewModel
}
public class IRUnReadOutDto
{
/// <summary>
/// 未完成阅片量
/// </summary>
public int UnReadTaskCount { get; set; }
/// <summary>
/// 完成阅片量
/// </summary>
public int FinishTaskCount { get; set; }
/// <summary>
/// 未完成裁判任务数量
/// </summary>
public int UnReadJudgeTaskCount { get; set; }
/// <summary>
/// 完成裁判任务数量
/// </summary>
public int FinishJudgeTaskCount { get; set; }
/// <summary>
/// 建议完成时间
/// </summary>
public DateTime? SuggesteFinishedTime { get; set; }
}
public class SubjectAssignQuery : PageInput
{
[NotDefault]

View File

@ -232,24 +232,29 @@ namespace IRaCIS.Core.Application.Service
var result= await subjectQuery.ToPagedListAsync(iRUnReadSubjectQuery.PageIndex, iRUnReadSubjectQuery.PageSize, String.IsNullOrEmpty(iRUnReadSubjectQuery.SortField) ? nameof(IRUnReadSubjectView.SubjectId) : iRUnReadSubjectQuery.SortField, iRUnReadSubjectQuery.Asc);
return (result, new {
IsReadingTaskViewInOrder=isReadingTaskViewInOrder,
RandomReadInfo = new IRUnReadOutDto(),
IsReadingTaskViewInOrder =isReadingTaskViewInOrder,
});
}
else
{
var taskQuery = _trialRepository.Where(x => x.Id == trialId )
.Select(s => new IRUnReadSubjectView()
{
SubjectId = null,
SubjectCode = String.Empty,
UnReadTaskCount = s.VisitTaskList.Count(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.DoctorUserId == _userInfo.Id),
UnReadTaskList = s.VisitTaskList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.DoctorUserId == _userInfo.Id).Select(u => new IRUnreadTaskView() { Id = u.Id, IsUrgent = u.IsUrgent, SuggesteFinishedTime = u.SuggesteFinishedTime }).ToList(),
})
.Where(t => t.UnReadTaskCount > 0);
var result =await taskQuery.ToPagedListAsync(iRUnReadSubjectQuery.PageIndex, iRUnReadSubjectQuery.PageSize, String.IsNullOrEmpty(iRUnReadSubjectQuery.SortField) ? nameof(IRUnReadSubjectView.SubjectCode) : iRUnReadSubjectQuery.SortField, iRUnReadSubjectQuery.Asc);
return (result, new
var taskQuery = _visitTaskRepository.Where(x => x.TrialId == iRUnReadSubjectQuery.TrialId&&x.DoctorUserId == _userInfo.Id);
IRUnReadOutDto iRUnReadOut = new IRUnReadOutDto()
{
FinishJudgeTaskCount = await taskQuery.Where(x => x.ReadingCategory == ReadingCategory.Judge && x.ReadingTaskState == ReadingTaskState.HaveSigned).CountAsync(),
FinishTaskCount = await taskQuery.Where(x => x.ReadingCategory != ReadingCategory.Judge && x.ReadingTaskState == ReadingTaskState.HaveSigned).CountAsync(),
SuggesteFinishedTime = await taskQuery.Where(x => x.ReadingTaskState != ReadingTaskState.HaveSigned).MaxAsync(x => x.SuggesteFinishedTime),
UnReadJudgeTaskCount = await taskQuery.Where(x => x.ReadingCategory == ReadingCategory.Judge && x.ReadingTaskState != ReadingTaskState.HaveSigned).CountAsync(),
UnReadTaskCount = await taskQuery.Where(x => x.ReadingCategory != ReadingCategory.Judge && x.ReadingTaskState != ReadingTaskState.HaveSigned).CountAsync(),
};
return (new PageOutput<IRUnReadSubjectView>(), new
{
IsReadingTaskViewInOrder = isReadingTaskViewInOrder,
RandomReadInfo= iRUnReadOut,
});
}