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;