diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 4858ea708..98ab411b7 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -497,6 +497,46 @@
状态
+
+
+ Id
+
+
+
+
+ 受试者ID
+
+
+
+
+ 模块类型
+
+
+
+
+ 模块名称
+
+
+
+
+ 是否加急
+
+
+
+
+ 访视ID
+
+
+
+
+ 状态
+
+
+
+
+ 创建时间
+
+
当前页索引
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs
index d434af5c8..3bc46742c 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs
@@ -51,9 +51,49 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
}
- public class GetReadModuleOutDto : ReadModule
+ public class GetReadModuleOutDto
{
+ ///
+ /// Id
+ ///
+ public Guid? Id { get; set; }
+
+ ///
+ /// 受试者ID
+ ///
+ public Guid? SubjectId { get; set; }
+
+ ///
+ /// 模块类型
+ ///
+ public ModuleTypeEnum ModuleType { get; set; }
+
+ ///
+ /// 模块名称
+ ///
+ public string ModuleName { get; set; }
+
+ ///
+ /// 是否加急
+ ///
+ public bool? IsUrgent { get; set; }
+
+ ///
+ /// 访视ID
+ ///
+ public Guid? SubjectVisitId { get; set; }
+
+ ///
+ /// 状态
+ ///
+ public ReadModuleEnum? Status { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; }
+
public string SubjectCode { get; set; }
public string SiteCode { get; set; }
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs
index cfa939817..9e90e002b 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs
@@ -22,6 +22,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository _subjectRepository;
private readonly IRepository _readModuleRepository;
+
public ReadModuleService(IRepository subjectVisitRepository,
IRepository subjectRepository,
IRepository readModuleRepository
@@ -62,9 +63,26 @@ namespace IRaCIS.Application.Services
}).ToList()
});
+
var pageList = await subjectquery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null|| dto.SortField==string.Empty ? "SiteCode" : dto.SortField,
dto.Asc);
+ var subjectisd = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
+
+ var readModules =await _readModuleRepository.Where(x => subjectisd.Contains(x.SubjectId)).ToListAsync();
+
+ pageList.CurrentPageData.ForEach(x => {
+
+ x.Data.AddRange(readModules.Where(y => y.SubjectId == x.SubjectId).Select(
+ y => new GetReadModuleOutDto()
+ {
+ CreateTime = y.CreateTime,
+ Id = y.Id,
+ SubjectId=x.SubjectId,
+
+ }));
+ });
+
return (pageList, new
{
MaxLength = pageList.CurrentPageData.ToList().Max(x => x.Data.Count)
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs
index de96b8af3..f7b7185d2 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs
@@ -74,7 +74,7 @@ namespace IRaCIS.Application.Services
public async Task> GetReadingPeriodSetList(ReadingPeriodSetQuery query)
{
- var readquery =_readingPeriodSetRepository.AsQueryable()
+ var readquery =_readingPeriodSetRepository.AsQueryable().Include(x=>x.ReadingPeriodSites)
.WhereIf(query.TrialId!=null,x=>x.TrialId==query.TrialId)
.WhereIf(query.ReadingPeriodName != null, x => x.ReadingPeriodName.Contains(query.ReadingPeriodName))
.ProjectTo(_mapper.ConfigurationProvider);
diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs
index 37de27a1c..be719d14b 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs
@@ -66,6 +66,8 @@ namespace IRaCIS.Core.Domain.Models
/// 备注
///
public string Remark { get; set; }
+
+
public List ReadingPeriodSites { get; set; } = new List();
}