修改一版
parent
5ffada4e03
commit
bd9a0c494d
|
@ -337,7 +337,14 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO
|
||||||
public class GetDataInspectionOutDto : DataInspection
|
public class GetDataInspectionOutDto : DataInspection
|
||||||
{
|
{
|
||||||
public string ExperimentName { get; set; } = string.Empty;
|
public string ExperimentName { get; set; } = string.Empty;
|
||||||
|
public string SubjectCode { get; set; } = string.Empty;
|
||||||
|
public string TrialName { get; set; } = string.Empty;
|
||||||
|
public string SiteCode { get; set; } = string.Empty;
|
||||||
|
public string ResearchProgramNo { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string SubjectVisitName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string RoleName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
public string FirstName { get; set; } = string.Empty;
|
public string FirstName { get; set; } = string.Empty;
|
||||||
|
|
|
@ -97,8 +97,8 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
ParentId = data.ParentId,
|
ParentId = data.ParentId,
|
||||||
ChildrenType = data.ChildrenType,
|
ChildrenType = data.ChildrenType,
|
||||||
JsonDetail = data.JsonDetail,
|
JsonDetail = data.JsonDetail,
|
||||||
SiteName = data.SiteName,
|
//SiteName = data.SiteName,
|
||||||
ExperimentName = data.TrialName,
|
//ExperimentName = data.TrialName,
|
||||||
FirstName = leftsubject.FirstName,
|
FirstName = leftsubject.FirstName,
|
||||||
LastName = leftsubject.LastName,
|
LastName = leftsubject.LastName,
|
||||||
Id = data.Id,
|
Id = data.Id,
|
||||||
|
@ -124,7 +124,7 @@ namespace IRaCIS.Core.Application.Service.Inspection
|
||||||
ParentIdentification = leftparent.Identification,
|
ParentIdentification = leftparent.Identification,
|
||||||
OptType = leftOptType.Id,
|
OptType = leftOptType.Id,
|
||||||
VisitNum=leftsubjectVisit.VisitNum,
|
VisitNum=leftsubjectVisit.VisitNum,
|
||||||
IsFrontAdd=data.IsFrontAdd,
|
//IsFrontAdd=data.IsFrontAdd,
|
||||||
BatchId=data.BatchId,
|
BatchId=data.BatchId,
|
||||||
OptTypeName = leftOptType.Value,
|
OptTypeName = leftOptType.Value,
|
||||||
};
|
};
|
||||||
|
|
|
@ -330,6 +330,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//public class GetReadModuleDtoOut
|
||||||
|
|
||||||
public class GetReadModuleDtoOut
|
public class GetReadModuleDtoOut
|
||||||
{
|
{
|
||||||
|
@ -337,12 +338,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public string TrialSiteCode { get; set; }
|
public string TrialSiteCode { get; set; }
|
||||||
|
|
||||||
|
public string SiteCode { get; set; }
|
||||||
|
|
||||||
public Guid SiteId { get; set; }
|
public Guid SiteId { get; set; }
|
||||||
|
|
||||||
public Guid SubjectId { get; set; }
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
public List<GetReadModuleOutDto> Data { get; set; }
|
public List<GetReadModuleOutDto> Data { get; set; }
|
||||||
|
|
||||||
|
public List<GetReadModuleOutDto> ReadModuleData { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ namespace IRaCIS.Application.Services
|
||||||
private readonly IRepository<Subject> _subjectRepository;
|
private readonly IRepository<Subject> _subjectRepository;
|
||||||
private readonly IRepository<VisitStage> _visitstageRepository;
|
private readonly IRepository<VisitStage> _visitstageRepository;
|
||||||
private readonly IRepository<User> _userRepository;
|
private readonly IRepository<User> _userRepository;
|
||||||
|
private readonly IRepository<ReadModuleView> _readModuleViewRepository;
|
||||||
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
|
||||||
private readonly IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository;
|
private readonly IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository;
|
||||||
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
|
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
|
||||||
|
@ -36,6 +37,7 @@ namespace IRaCIS.Application.Services
|
||||||
IRepository<Subject> subjectRepository,
|
IRepository<Subject> subjectRepository,
|
||||||
IRepository<VisitStage> visitstageRepository,
|
IRepository<VisitStage> visitstageRepository,
|
||||||
IRepository<User> UserRepository,
|
IRepository<User> UserRepository,
|
||||||
|
IRepository<ReadModuleView> readModuleViewRepository,
|
||||||
IRepository<DicomInstance> dicomInstanceRepository,
|
IRepository<DicomInstance> dicomInstanceRepository,
|
||||||
IRepository<NoneDicomStudyFile> noneDicomStudyFileRepository,
|
IRepository<NoneDicomStudyFile> noneDicomStudyFileRepository,
|
||||||
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
|
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
|
||||||
|
@ -46,6 +48,7 @@ namespace IRaCIS.Application.Services
|
||||||
this._subjectRepository = subjectRepository;
|
this._subjectRepository = subjectRepository;
|
||||||
this._visitstageRepository = visitstageRepository;
|
this._visitstageRepository = visitstageRepository;
|
||||||
this._userRepository = UserRepository;
|
this._userRepository = UserRepository;
|
||||||
|
this._readModuleViewRepository = readModuleViewRepository;
|
||||||
this._dicomInstanceRepository = dicomInstanceRepository;
|
this._dicomInstanceRepository = dicomInstanceRepository;
|
||||||
this._noneDicomStudyFileRepository = noneDicomStudyFileRepository;
|
this._noneDicomStudyFileRepository = noneDicomStudyFileRepository;
|
||||||
this._readingPeriodSetRepository = readingPeriodSetRepository;
|
this._readingPeriodSetRepository = readingPeriodSetRepository;
|
||||||
|
@ -59,115 +62,209 @@ namespace IRaCIS.Application.Services
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<(PageOutput<GetReadModuleDtoOut>,object)> GetReadModuleList(GetReadModuleDto dto)
|
public async Task<(PageOutput<GetReadModuleDtoOut>,object)> GetReadModuleList(GetReadModuleDto dto)
|
||||||
{
|
{
|
||||||
var subjectQuery = _subjectRepository.WhereIf(dto.TrialId!=null, x => x.TrialId == dto.TrialId)
|
|
||||||
|
var subjectQuery = _readModuleViewRepository.WhereIf(dto.TrialId != null, x => x.TrialId == dto.TrialId)
|
||||||
.WhereIf(dto.SubjectId != null, x => x.Id == dto.SubjectId)
|
.WhereIf(dto.SubjectId != null, x => x.Id == dto.SubjectId)
|
||||||
.Include(x => x.SubjectVisitList).Include(x => x.Site).Include(x => x.TrialSite)
|
.WhereIf(dto.TrialSiteCode != null, x => x.TrialSiteCode == dto.TrialSiteCode)
|
||||||
//.WhereIf(dto.TrialSiteCode != null, x => x.TrialSite.TrialSiteCode == dto.TrialSiteCode)
|
.WhereIf(dto.SubjectCode != null, x => x.SubjectCode == dto.SubjectCode)
|
||||||
// .WhereIf(dto.SubjectCode != null, x => x.Code == dto.SubjectCode)
|
.WhereIf(dto.ModuleType != null, x => x.ModuleType == dto.ModuleType)
|
||||||
|
.WhereIf(dto.Status != null, x => x.Status == dto.Status)
|
||||||
|
.WhereIf(dto.Name != null, x => x.Name.Contains(x.Name)).OrderBy(x=>x.SiteCode);
|
||||||
|
|
||||||
.Select(x => new GetReadModuleDtoOut
|
var subjectIds =await subjectQuery.Select(x => x.SubjectId).Distinct().Skip((dto.PageIndex - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
|
||||||
|
List<ReadModuleView> ReadModuleViewList =await subjectQuery.Where(x => subjectIds.Contains(x.SubjectId)).ToListAsync();
|
||||||
|
List<GetReadModuleDtoOut> getReadList = ReadModuleViewList.GroupBy(x => new { x.SubjectId, x.SiteId, x.TrialSiteCode, x.SubjectCode })
|
||||||
|
.Select(x => new GetReadModuleDtoOut()
|
||||||
{
|
{
|
||||||
|
TrialSiteCode = x.Key.TrialSiteCode,
|
||||||
TrialSiteCode = x.TrialSite.TrialSiteCode,
|
SiteId = x.Key.SiteId,
|
||||||
SiteId = x.SiteId,
|
SubjectCode = x.Key.SubjectCode,
|
||||||
SubjectCode = x.Code,
|
SubjectId = x.Key.SubjectId,
|
||||||
SubjectId = x.Id,
|
Data = x.Select(y => new GetReadModuleOutDto()
|
||||||
Data=x.SubjectVisitList.OrderByDescending(y=>y.VisitNum).Select(y=>new GetReadModuleOutDto()
|
|
||||||
{
|
|
||||||
Id = y.Id, //id
|
|
||||||
Name=y.VisitName,
|
|
||||||
ModuleType = y.InPlan ? ModuleTypeEnum.InPlanSubjectVisit : ModuleTypeEnum.OutPlanSubjectVisit, // 模块类型
|
|
||||||
IsUrgent = x.IsUrgent, // 是否加急
|
|
||||||
SubjectVisitId = y.Id, // 访视ID
|
|
||||||
SubjectVisitName=y.VisitName, // 访视名称
|
|
||||||
Status= ReadingCommon.GetVisitSubmitStateEnum(y), // 状态
|
|
||||||
CreateTime = y.CreateTime, // 创建时间
|
|
||||||
SubjectCode = y.Subject.Code, // 受试者code
|
|
||||||
TrialSiteCode = x.TrialSite.TrialSiteCode, // 中心Code
|
|
||||||
VisitNum=y.VisitNum,
|
|
||||||
|
|
||||||
IsFinalVisit=y.IsFinalVisit, // 是否为末次评估
|
|
||||||
OutPlanPreviousVisitId = y.OutPlanPreviousVisitId, // 上一访视
|
|
||||||
OutPlanPreviousVisitName = y.OutPlanPreviousVisit.VisitName, // 上一访视名称
|
|
||||||
SiteId = x.Site.Id, // 中心ID
|
|
||||||
IsVisit=true, // 是否为访视
|
|
||||||
PDState = y.PDState, // PD 进展
|
|
||||||
IsEnrollmentConfirm=y.IsEnrollmentConfirm, // 入组
|
|
||||||
SubjectId = x.Id,
|
|
||||||
}).ToList()
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var pageList = await subjectQuery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null|| dto.SortField==string.Empty ? "SiteCode" : dto.SortField,
|
|
||||||
dto.Asc);
|
|
||||||
|
|
||||||
|
|
||||||
pageList.CurrentPageData.ForEach(x =>
|
|
||||||
{
|
|
||||||
var outplan = x.Data.FirstOrDefault(x => x.IsFinalVisit);
|
|
||||||
if (outplan != null)
|
|
||||||
{
|
|
||||||
x.Data = x.Data.Where(y => y.VisitNum >= outplan.VisitNum).ToList();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var subjectIds = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
|
|
||||||
|
|
||||||
var readModules =await _readModuleRepository.Where(x => subjectIds.Contains(x.SubjectId)).Include(x=>x.SubjectVisit)
|
|
||||||
.Include(x => x.ReadModuleModel).ToListAsync();
|
|
||||||
|
|
||||||
pageList.CurrentPageData.ForEach(x => {
|
|
||||||
x.Data.AddRange(readModules.Where(y => y.SubjectId == x.SubjectId).Select(
|
|
||||||
y => new GetReadModuleOutDto()
|
|
||||||
{
|
{
|
||||||
CreateTime = y.CreateTime,
|
CreateTime = y.CreateTime,
|
||||||
|
CutOffVisitId = y.CutOffVisitId,
|
||||||
|
SiteCode = y.SiteCode,
|
||||||
|
SubjectId = y.SubjectId,
|
||||||
|
CutOffVisitName = y.CutOffVisitName,
|
||||||
|
SiteId = y.SiteId,
|
||||||
|
Status = y.Status,
|
||||||
|
SubjectCode = y.SubjectCode,
|
||||||
Id = y.Id,
|
Id = y.Id,
|
||||||
Name=y.ModuleName,
|
IsEnrollmentConfirm = y.IsEnrollmentConfirm,
|
||||||
SubjectId=x.SubjectId,
|
IsFinalVisit = y.IsFinalVisit,
|
||||||
ModuleType=y.ModuleType,
|
SubjectVisitId = y.SubjectVisitId,
|
||||||
Status= ReadingCommon.GetVisitSubmitStateEnum(y.SubjectVisit),
|
SubjectVisitName = y.SubjectVisitName,
|
||||||
SubjectCode= x.SubjectCode,
|
PDState = y.PDState,
|
||||||
TrialSiteCode = x.TrialSiteCode,
|
TrialSiteCode = y.TrialSiteCode,
|
||||||
SubjectVisitId= y.SubjectVisitId,
|
IsUrgent = y.IsUrgent,
|
||||||
SubjectVisitName=y.SubjectVisit?.VisitName, // 截止访视名称
|
IsVisit = y.IsVisit,
|
||||||
CutOffVisitId = y.SubjectVisitId, // 截止访视
|
ModuleType = y.ModuleType,
|
||||||
CutOffVisitName = y.SubjectVisit?.VisitName, // 截止访视名称
|
Name = y.Name,
|
||||||
ReadModuleId=y.ReadModuleId,
|
OutPlanPreviousVisitId = y.OutPlanPreviousVisitId,
|
||||||
ReadModuleName=y.ReadModuleModel?.ModuleName,
|
OutPlanPreviousVisitName = y.CutOffVisitName,
|
||||||
IsUrgent = y.IsUrgent
|
ReadModuleId = y.CutOffVisitId,
|
||||||
|
ReadModuleName = y.ReadModuleName,
|
||||||
|
VisitNum = y.VisitNum
|
||||||
|
}).ToList()
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
}));
|
|
||||||
|
|
||||||
x.Data= x.Data.OrderBy(y => y.ModuleType).ThenBy(x=>x.VisitNum).ToList();
|
PageOutput<GetReadModuleDtoOut> pageOutput = new PageOutput<GetReadModuleDtoOut>()
|
||||||
|
{
|
||||||
|
|
||||||
|
PageSize = dto.PageSize,
|
||||||
|
CurrentPageData = getReadList,
|
||||||
|
PageIndex = dto.PageIndex,
|
||||||
|
TotalCount =await subjectQuery.Select(x => x.SubjectId).Distinct().CountAsync(),
|
||||||
|
};
|
||||||
|
|
||||||
|
return (pageOutput, new
|
||||||
|
{
|
||||||
|
MaxLength = pageOutput.CurrentPageData.ToList().Max(x => x.Data.Count)
|
||||||
});
|
});
|
||||||
|
|
||||||
pageList.CurrentPageData.ForEach(x => {
|
#region 用导航属性写的 有问题
|
||||||
|
//var subjectQuery = _subjectRepository.WhereIf(dto.TrialId != null, x => x.TrialId == dto.TrialId)
|
||||||
|
// .WhereIf(dto.SubjectId != null, x => x.Id == dto.SubjectId)
|
||||||
|
// .Include(x => x.SubjectVisitList).Include(x => x.Site).Include(x => x.TrialSite)
|
||||||
|
// .WhereIf(dto.TrialSiteCode != null, x => x.TrialSite.TrialSiteCode == dto.TrialSiteCode)
|
||||||
|
// .WhereIf(dto.SubjectCode != null, x => x.Code == dto.SubjectCode)
|
||||||
|
|
||||||
if (dto.ModuleType != null)
|
// .Select(x => new GetReadModuleDtoOut
|
||||||
{
|
// {
|
||||||
x.Data = x.Data.Where(y => y.ModuleType == dto.ModuleType).ToList();
|
// TrialSiteCode = x.TrialSite.TrialSiteCode,
|
||||||
}
|
// SiteCode = x.TrialSite.TrialSiteCode,
|
||||||
if (dto.Status != null)
|
// SiteId = x.SiteId,
|
||||||
{
|
// SubjectCode = x.Code,
|
||||||
x.Data = x.Data.Where(y => y.Status == dto.Status).ToList();
|
// SubjectId = x.Id,
|
||||||
}
|
// Data = x.SubjectVisitList.OrderByDescending(y => y.VisitNum).Select(y => new GetReadModuleOutDto()
|
||||||
|
// {
|
||||||
|
// Id = y.Id, //id
|
||||||
|
// Name = y.VisitName,
|
||||||
|
// ModuleType = y.InPlan ? ModuleTypeEnum.InPlanSubjectVisit : ModuleTypeEnum.OutPlanSubjectVisit, // 模块类型
|
||||||
|
// IsUrgent = x.IsUrgent, // 是否加急
|
||||||
|
// SubjectVisitId = y.Id, // 访视ID
|
||||||
|
// SubjectVisitName = y.VisitName, // 访视名称
|
||||||
|
// Status = ReadingCommon.GetVisitSubmitStateEnum(y), // 状态
|
||||||
|
// CreateTime = y.CreateTime, // 创建时间
|
||||||
|
// SubjectCode = y.Subject.Code, // 受试者code
|
||||||
|
// TrialSiteCode = x.TrialSite.TrialSiteCode, // 中心Code
|
||||||
|
// VisitNum = y.VisitNum,
|
||||||
|
|
||||||
if (dto.Name != null)
|
// IsFinalVisit = y.IsFinalVisit, // 是否为末次评估
|
||||||
{
|
// OutPlanPreviousVisitId = y.OutPlanPreviousVisitId, // 上一访视
|
||||||
x.Data = x.Data.Where(y => y.Name.Contains(y.Name)).ToList();
|
// OutPlanPreviousVisitName = y.OutPlanPreviousVisit.VisitName, // 上一访视名称
|
||||||
}
|
// SiteId = x.Site.Id, // 中心ID
|
||||||
});
|
// IsVisit = true, // 是否为访视
|
||||||
|
// PDState = y.PDState, // PD 进展
|
||||||
|
// IsEnrollmentConfirm = y.IsEnrollmentConfirm, // 入组
|
||||||
|
// SubjectId = x.Id,
|
||||||
|
// }).ToList(),
|
||||||
|
|
||||||
|
// ReadModuleData = x.ReadModuleList.Select(
|
||||||
|
// z => new GetReadModuleOutDto()
|
||||||
|
// {
|
||||||
|
// CreateTime = z.CreateTime,
|
||||||
|
// Id = z.Id,
|
||||||
|
// Name = z.ModuleName,
|
||||||
|
// SubjectId = x.Id,
|
||||||
|
// ModuleType = z.ModuleType,
|
||||||
|
// Status = ReadingCommon.GetVisitSubmitStateEnum(z.SubjectVisit),
|
||||||
|
// SubjectCode = x.Code,
|
||||||
|
// TrialSiteCode = x.TrialSite.TrialSiteCode,
|
||||||
|
// SubjectVisitId = z.SubjectVisitId,
|
||||||
|
// SubjectVisitName = z.SubjectVisit.VisitName, // 截止访视名称
|
||||||
|
// CutOffVisitId = z.SubjectVisitId, // 截止访视
|
||||||
|
// CutOffVisitName = z.SubjectVisit.VisitName, // 截止访视名称
|
||||||
|
// ReadModuleId = z.ReadModuleId,
|
||||||
|
// ReadModuleName = z.ReadModuleModel.ModuleName,
|
||||||
|
// IsUrgent = z.IsUrgent
|
||||||
|
// }).ToList(),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (pageList, new
|
|
||||||
{
|
// });
|
||||||
MaxLength = pageList.CurrentPageData.ToList().Max(x => x.Data.Count)
|
|
||||||
});
|
|
||||||
|
|
||||||
|
//if (dto.ModuleType != null)
|
||||||
|
//{
|
||||||
|
// subjectQuery.
|
||||||
|
//}
|
||||||
|
//if (dto.Status != null)
|
||||||
|
//{
|
||||||
|
// x.Data = x.Data.Where(y => y.Status == dto.Status).ToList();
|
||||||
|
//}
|
||||||
|
|
||||||
|
//if (dto.Name != null)
|
||||||
|
//{
|
||||||
|
// x.Data = x.Data.Where(y => y.Name.Contains(y.Name)).ToList();
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//var pageList = await subjectQuery.ToPagedListAsync(dto.PageIndex, dto.PageSize, dto.SortField == null || dto.SortField == string.Empty ? "SiteCode" : dto.SortField,
|
||||||
|
// dto.Asc);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//pageList.CurrentPageData.ForEach(x =>
|
||||||
|
//{
|
||||||
|
// var outplan = x.Data.FirstOrDefault(x => x.IsFinalVisit);
|
||||||
|
// if (outplan != null)
|
||||||
|
// {
|
||||||
|
// x.Data = x.Data.Where(y => y.VisitNum >= outplan.VisitNum).ToList();
|
||||||
|
// }
|
||||||
|
//});
|
||||||
|
|
||||||
|
//var subjectIds = pageList.CurrentPageData.Select(x => x.SubjectId).ToList();
|
||||||
|
|
||||||
|
//var readModules = await _readModuleRepository.Where(x => subjectIds.Contains(x.SubjectId)).Include(x => x.SubjectVisit)
|
||||||
|
// .Include(x => x.ReadModuleModel).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,
|
||||||
|
//// Name=y.ModuleName,
|
||||||
|
//// SubjectId=x.SubjectId,
|
||||||
|
//// ModuleType=y.ModuleType,
|
||||||
|
//// Status= ReadingCommon.GetVisitSubmitStateEnum(y.SubjectVisit),
|
||||||
|
//// SubjectCode= x.SubjectCode,
|
||||||
|
//// TrialSiteCode = x.TrialSiteCode,
|
||||||
|
//// SubjectVisitId= y.SubjectVisitId,
|
||||||
|
//// SubjectVisitName=y.SubjectVisit?.VisitName, // 截止访视名称
|
||||||
|
//// CutOffVisitId = y.SubjectVisitId, // 截止访视
|
||||||
|
//// CutOffVisitName = y.SubjectVisit?.VisitName, // 截止访视名称
|
||||||
|
//// ReadModuleId=y.ReadModuleId,
|
||||||
|
//// ReadModuleName=y.ReadModuleModel?.ModuleName,
|
||||||
|
//// IsUrgent = y.IsUrgent
|
||||||
|
|
||||||
|
//// }));
|
||||||
|
|
||||||
|
//// x.Data= x.Data.OrderBy(y => y.ModuleType).ThenBy(x=>x.VisitNum).ToList();
|
||||||
|
////});
|
||||||
|
|
||||||
|
//pageList.CurrentPageData.ForEach(x => {
|
||||||
|
|
||||||
|
//});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//return (pageList, new
|
||||||
|
//{
|
||||||
|
// MaxLength = pageList.CurrentPageData.ToList().Max(x => x.Data.Count)
|
||||||
|
//});
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,14 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
[ForeignKey("ReadModuleId")]
|
[ForeignKey("ReadModuleId")]
|
||||||
public ReadModule ReadModuleModel { get; set; }
|
public ReadModule ReadModuleModel { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 受试者
|
||||||
|
/// </summary>
|
||||||
|
[ForeignKey("SubjectId")]
|
||||||
|
|
||||||
|
public Subject Subject { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 阅片期配置
|
/// 阅片期配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -0,0 +1,142 @@
|
||||||
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
using IRaCIS.Core.Domain.Share.Reading;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Domain.Models
|
||||||
|
{
|
||||||
|
public class ReadModuleView: Entity
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Id(阅片期Id 或者 访视ID)
|
||||||
|
/// </summary>
|
||||||
|
public new Guid Id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 项目ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 名称
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 受试者ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 模块类型
|
||||||
|
/// </summary>
|
||||||
|
public ModuleTypeEnum ModuleType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否加急
|
||||||
|
/// </summary>
|
||||||
|
public bool? IsUrgent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 访视ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid SubjectVisitId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 访视名称
|
||||||
|
/// </summary>
|
||||||
|
public string SubjectVisitName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止访视
|
||||||
|
/// </summary>
|
||||||
|
public Guid? CutOffVisitId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止访视名称
|
||||||
|
/// </summary>
|
||||||
|
public string? CutOffVisitName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 对应阅片期
|
||||||
|
/// </summary>
|
||||||
|
public Guid? ReadModuleId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 对应Name
|
||||||
|
/// </summary>
|
||||||
|
public string? ReadModuleName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态
|
||||||
|
/// </summary>
|
||||||
|
public ReadModuleEnum? Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 受试者Code
|
||||||
|
/// </summary>
|
||||||
|
public string SubjectCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 中心Id
|
||||||
|
/// </summary>
|
||||||
|
public string SiteCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 项目中心Id
|
||||||
|
/// </summary>
|
||||||
|
public string TrialSiteCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否为末次访视
|
||||||
|
/// </summary>
|
||||||
|
public bool IsFinalVisit { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 上一访视
|
||||||
|
/// </summary>
|
||||||
|
public Guid? OutPlanPreviousVisitId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 上一访视名称
|
||||||
|
/// </summary>
|
||||||
|
public string OutPlanPreviousVisitName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 中心ID
|
||||||
|
/// </summary>
|
||||||
|
public Guid SiteId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否为访视
|
||||||
|
/// </summary>
|
||||||
|
public bool IsVisit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 访视Num
|
||||||
|
/// </summary>
|
||||||
|
public decimal? VisitNum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否为PD进展
|
||||||
|
/// </summary>
|
||||||
|
public PDStateEnum PDState { get; set; } = PDStateEnum.None;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 入组确认评估
|
||||||
|
/// </summary>
|
||||||
|
public bool IsEnrollmentConfirm { get; set; } = false;
|
||||||
|
}
|
||||||
|
}
|
|
@ -108,12 +108,10 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// 项目名称
|
/// 项目名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TrialName { get; set; }
|
public string TrialName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 中心名称
|
/// 中心名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string SiteName { get; set; }
|
public string SiteName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 受试者名称
|
/// 受试者名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -129,6 +127,8 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string RoleName { get; set; }
|
public string RoleName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 中心Code
|
/// 中心Code
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -140,7 +140,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public string ResearchProgramNo { get; set; }
|
public string ResearchProgramNo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 对象名称
|
/// 对象类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? ObjectType { get; set; }
|
public Guid? ObjectType { get; set; }
|
||||||
|
|
||||||
|
@ -159,15 +159,8 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Guid? GeneralId { get; set; }
|
public Guid? GeneralId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 是否是前端添加
|
|
||||||
/// </summary>
|
|
||||||
public bool? IsFrontAdd { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 上一条json
|
|
||||||
/// </summary>
|
|
||||||
public string LastJsonDetail { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 批次Id
|
/// 批次Id
|
||||||
|
|
|
@ -82,6 +82,8 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public bool IsUrgent { get; set; }
|
public bool IsUrgent { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public List<ReadModule> ReadModuleList { get; set; }
|
||||||
public bool IsDeleted { get; set; }
|
public bool IsDeleted { get; set; }
|
||||||
public DateTime? DeletedTime { get; set; }
|
public DateTime? DeletedTime { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
||||||
}
|
}
|
||||||
else if (visit.AuditState != AuditStateEnum.QCPassed) // 审核未通过
|
else if (visit.AuditState != AuditStateEnum.QCPassed) // 审核未通过
|
||||||
{
|
{
|
||||||
return ReadModuleEnum.ImageUpload;
|
return ReadModuleEnum.ImageQuality;
|
||||||
}
|
}
|
||||||
else if (visit.ForwardState != ForwardStateEnum.Forwarded) // 未通过一致性核查
|
else if (visit.ForwardState != ForwardStateEnum.Forwarded) // 未通过一致性核查
|
||||||
{
|
{
|
||||||
|
|
|
@ -178,8 +178,8 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
|
|
||||||
public virtual DbSet<ReadingPeriodPlan> ReadingPeriodPlan { get; set; }
|
public virtual DbSet<ReadingPeriodPlan> ReadingPeriodPlan { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public virtual DbSet<ReadModule> ReadModule { get; set; }
|
public virtual DbSet<ReadModule> ReadModule { get; set; }
|
||||||
|
public virtual DbSet<ReadModuleView> ReadModuleView { get; set; }
|
||||||
|
|
||||||
public virtual DbSet<ClinicalData> ClinicalData { get; set; }
|
public virtual DbSet<ClinicalData> ClinicalData { get; set; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue