diff --git a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs index 06bff9c1a..e4d72d0da 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs @@ -716,6 +716,52 @@ namespace IRaCIS.Application.Contracts public CriterionFileType FileType { get; set; } } + + public class GetDoctorCriterionFileOutDto + { + public Guid Id { get; set; } + + /// + /// 文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string FilePath { get; set; } + + /// + /// 标准类型 + /// + public CriterionType CriterionType { get; set; } + + /// + /// 医生Id + /// + public Guid DoctorId { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 文件类型 + /// + public CriterionFileType FileType { get; set; } + + /// + /// CreateUserId + /// + public Guid CreateUserId { get; set; } + + /// + /// CreateTime + /// + public DateTime CreateTime { get; set; } + } + public class GetDoctorCriterionFileInDto { public Guid DoctorId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs index a50db9bd8..a46a7a4d2 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs @@ -507,6 +507,7 @@ namespace IRaCIS.Application.Services var result = await _doctorCriterionFileRepository.Where(x => x.DoctorId == inDto.DoctorId) .WhereIf(inDto.CriterionType != null, x => x.CriterionType == inDto.CriterionType) .WhereIf(inDto.FileType != null, x => x.FileType == inDto.FileType) + .ProjectTo(_mapper.ConfigurationProvider) .ToListAsync(); return result; } diff --git a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs index f776e43db..4d96e07c3 100644 --- a/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Doctor/_MapConfig.cs @@ -34,6 +34,7 @@ namespace IRaCIS.Core.Application.Service CreateMap().EqualityComparison((odto, o) => odto.Id == o.Id); CreateMap(); + CreateMap(); CreateMap(); CreateMap(); diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs index ad504f6bf..e04666048 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs @@ -270,6 +270,9 @@ namespace IRaCIS.Application.Contracts public List CriterionReadingCategoryList { get; set; } + //任务阅片状态 + public List ReadingTaskStateList { get; set; } + public List CriterionFileList { get; set; } @@ -278,7 +281,9 @@ namespace IRaCIS.Application.Contracts new CriterionReadingCategory() { EnrollId = EnrollId, - CriterionFileList= CriterionFileList.Where(x=>x.CriterionType==t.CriterionType).ToList(), + ToDoQuantity= ReadingTaskStateList.Where(x=>x!=ReadingTaskState.HaveSigned).Count(), + CompletionQuantity = ReadingTaskStateList.Where(x => x == ReadingTaskState.HaveSigned).Count(), + CriterionFileList = CriterionFileList.Where(x=>x.CriterionType==t.CriterionType).ToList(), TrialReadingCriterionId = t.TrialReadingCriterionId, ReadingCategorys = CriterionReadingCategoryList.Where(c => c.TrialReadingCriterionId == t.TrialReadingCriterionId).Select(t => t.ReadingCategory).OrderBy(c => c).ToList() }).ToList(); @@ -363,6 +368,13 @@ namespace IRaCIS.Application.Contracts public Guid EnrollId { get; set; } public Guid TrialReadingCriterionId { get; set; } + /// + /// 待办数量 + /// + public int ToDoQuantity { get; set; } + + public int CompletionQuantity { get; set; } + public List CriterionFileList { get; set; } diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs index 68c2cc03f..d1c319b4a 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs @@ -217,7 +217,7 @@ namespace IRaCIS.Application.Services Id=x.Id }).ToList(), CriterionReadingCategoryList =intoGroup.EnrollReadingCategoryList.Select(t=>new TrialCriterionReadingCategory() { EnrollId=t.EnrollId,ReadingCategory=t.ReadingCategory, TrialReadingCriterionId = t.TrialReadingCriterionId }).ToList(), - + ReadingTaskStateList=doctor.VisitTaskList.Where(x=>x.TaskState==TaskState.Effect&&x.TrialId== trialId).Select(x=>x.ReadingTaskState).ToList(), DoctorId = doctor.Id, Code = doctor.ReviewerCode, FirstName = doctor.FirstName, diff --git a/IRaCIS.Core.Domain/Dcotor/Doctor.cs b/IRaCIS.Core.Domain/Dcotor/Doctor.cs index feea39d49..e64f8a8c9 100644 --- a/IRaCIS.Core.Domain/Dcotor/Doctor.cs +++ b/IRaCIS.Core.Domain/Dcotor/Doctor.cs @@ -188,6 +188,10 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public List CriterionFileList { get; set; } + + [JsonIgnore] + public List VisitTaskList { get; set; } + public bool IsVirtual { get; set; } public string BlindName { get; set; } = string.Empty;