Test.EIImageViewer
parent
1503ab9bce
commit
dfba8820d6
|
@ -234,7 +234,16 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
public bool IsUrgent => UnReadTaskList.Any(t => t.IsUrgent);
|
||||
|
||||
public int UnReadTaskCount { get; set; }
|
||||
public int UnReadTaskCount
|
||||
{
|
||||
get
|
||||
{
|
||||
|
||||
return this.UnReadTaskList.Count();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public bool ExistReadingApply { get; set; }
|
||||
|
||||
|
@ -282,7 +291,17 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
}
|
||||
|
||||
|
||||
public class GetOrderReadingIQueryableInDto
|
||||
{
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public string? SubjectCode { get; set; } = null;
|
||||
|
||||
public PageInput? Page { get; set; } = null;
|
||||
|
||||
}
|
||||
|
||||
public class VisitTaskQuery : PageInput
|
||||
{
|
||||
|
|
|
@ -16,6 +16,6 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
Task<IResponseOutput> ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService);
|
||||
|
||||
(int, IOrderedQueryable<IRUnReadSubjectView>) GetOrderReadingIQueryable(Guid trialId, Guid? trialReadingCriterionId,string? subjectCode = null);
|
||||
Task<(int, List<IRUnReadSubjectView>)> GetOrderReadingIQueryable(GetOrderReadingIQueryableInDto inDto);
|
||||
}
|
||||
}
|
|
@ -882,12 +882,23 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
// .Where(t => t.UnReadTaskCount > 0);
|
||||
|
||||
|
||||
var visitTaskQuery = GetOrderReadingIQueryable(trialId, trialReadingCriterionId, iRUnReadSubjectQuery.SubjectCode);
|
||||
var visitTaskListInfo =await GetOrderReadingIQueryable(new GetOrderReadingIQueryableInDto()
|
||||
{
|
||||
TrialId= trialId,
|
||||
TrialReadingCriterionId=trialReadingCriterionId,
|
||||
SubjectCode = iRUnReadSubjectQuery.SubjectCode,
|
||||
Page= new PageInput() {
|
||||
PageIndex= iRUnReadSubjectQuery.PageIndex,
|
||||
PageSize= iRUnReadSubjectQuery.PageSize,
|
||||
Asc = iRUnReadSubjectQuery.Asc,
|
||||
SortField= iRUnReadSubjectQuery.SortField,
|
||||
|
||||
var totalCount = visitTaskQuery.Item1;
|
||||
var currentPageData = await visitTaskQuery.Item2
|
||||
.Skip((iRUnReadSubjectQuery.PageIndex - 1) * iRUnReadSubjectQuery.PageSize)
|
||||
.Take(iRUnReadSubjectQuery.PageSize).ToListAsync();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var totalCount = visitTaskListInfo.Item1;
|
||||
var currentPageData = visitTaskListInfo.Item2;
|
||||
|
||||
var result = new PageOutput<IRUnReadSubjectView>()
|
||||
{
|
||||
|
@ -951,13 +962,14 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
/// <summary>
|
||||
/// 获取有序阅片IQuery对象
|
||||
/// </summary>
|
||||
/// <param name="trialId"></param>
|
||||
/// <param name="inDto"></param>
|
||||
|
||||
/// <returns></returns>
|
||||
public (int, IOrderedQueryable<IRUnReadSubjectView>) GetOrderReadingIQueryable(Guid trialId, Guid? trialReadingCriterionId,string? subjectCode =null)
|
||||
public async Task<(int, List<IRUnReadSubjectView>)> GetOrderReadingIQueryable(GetOrderReadingIQueryableInDto inDto)
|
||||
{
|
||||
var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id)
|
||||
.WhereIf(trialReadingCriterionId != null, t => t.TrialReadingCriterionId == trialReadingCriterionId)
|
||||
.WhereIf(!string.IsNullOrEmpty(subjectCode), t => t.Subject.Code.Contains(subjectCode) || t.BlindSubjectCode.Contains(subjectCode))
|
||||
var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.DoctorUserId == _userInfo.Id)
|
||||
.Where(t => t.TrialReadingCriterionId == inDto.TrialId)
|
||||
.WhereIf(!string.IsNullOrEmpty(inDto.SubjectCode), t => t.Subject.Code.Contains(inDto.SubjectCode) || t.BlindSubjectCode.Contains(inDto.SubjectCode))
|
||||
.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 });
|
||||
|
@ -966,34 +978,42 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
{
|
||||
SubjectId = x.Key.SubjectId,
|
||||
SubjectCode = x.Key.BlindSubjectCode == string.Empty ? x.Key.Code : x.Key.BlindSubjectCode,
|
||||
UnReadTaskCount = x.Where(y => y.ReadingTaskState != ReadingTaskState.HaveSigned).Count(),
|
||||
|
||||
ExistReadingApply = x.Any(y => y.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed),
|
||||
UnReadTaskList = x.Where(y => y.ReadingTaskState != ReadingTaskState.HaveSigned).OrderBy(x => x.VisitTaskNum)
|
||||
.Select(u => new IRUnreadTaskView()
|
||||
{
|
||||
Id = u.Id,
|
||||
IsUrgent = u.IsUrgent,
|
||||
|
||||
VisitNum = u.VisitTaskNum,
|
||||
TaskBlindName = u.TaskBlindName,
|
||||
VisistId = u.SourceSubjectVisitId,
|
||||
SuggesteFinishedTime = u.SuggesteFinishedTime,
|
||||
ReadingCategory = u.ReadingCategory,
|
||||
IsAnalysisCreate = u.IsAnalysisCreate,
|
||||
|
||||
TrialReadingCriterionId = u.TrialReadingCriterionId,
|
||||
|
||||
IsClinicalDataSigned= u.Subject.ClinicalDataList.Any(c => c.IsSign && (c.ReadingId == u.SouceReadModuleId || c.ReadingId == u.SourceSubjectVisitId))
|
||||
}).ToList(),
|
||||
}).Where(z=>z.IsClinicalDataSigned).ToList(),
|
||||
}).Where(x => x.UnReadTaskCount > 0).OrderBy(x => x.SubjectId);
|
||||
// 有序阅片需要找到最小需要
|
||||
|
||||
|
||||
var count = visitGroupQuery.Count();
|
||||
|
||||
var count = visitGroupQuery.Select(x => new
|
||||
var result = new List<IRUnReadSubjectView>();
|
||||
|
||||
if (inDto.Page != null)
|
||||
{
|
||||
UnReadTaskCount = x.Where(y => y.ReadingTaskState != ReadingTaskState.HaveSigned).Count(),
|
||||
}).Where(x => x.UnReadTaskCount > 0).Count();
|
||||
return (count, visitTaskQuery);
|
||||
result = await visitTaskQuery
|
||||
.Skip((inDto.Page.PageIndex - 1) * inDto.Page.PageSize)
|
||||
.Take(inDto.Page.PageSize).ToListAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
result= await visitTaskQuery.ToListAsync();
|
||||
}
|
||||
|
||||
return (count, result);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -884,7 +884,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public Guid TrialId { get; set; }
|
||||
|
||||
|
||||
public Guid? TrialReadingCriterionId { get; set; }
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public Guid? VisitTaskId { get; set; }
|
||||
}
|
||||
|
|
|
@ -1251,7 +1251,10 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
else if (inDto.SubjectId != null)
|
||||
{
|
||||
var subjectTaskList = await _visitTaskService.GetOrderReadingIQueryable(inDto.TrialId, trialReadingCriterionId).Item2.ToListAsync();
|
||||
var subjectTaskList = (await _visitTaskService.GetOrderReadingIQueryable(new GetOrderReadingIQueryableInDto() {
|
||||
TrialId= inDto.TrialId,
|
||||
TrialReadingCriterionId=inDto.TrialReadingCriterionId,
|
||||
})).Item2;
|
||||
|
||||
var index = 0;
|
||||
subjectTaskList.ForEach(x =>
|
||||
|
|
|
@ -251,7 +251,7 @@ namespace IRaCIS.Core.Domain.Models
|
|||
|
||||
try
|
||||
{
|
||||
return this.JudgeResultImagePath.Split(',').ToList();
|
||||
return this.JudgeResultImagePath.Trim().Split(',').ToList();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue