阅片期替代
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5afe0be277
commit
bd4e4e0072
|
@ -108,7 +108,7 @@ namespace IRaCIS.Application.Services
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<GetReadModuleDtoOut>>> GetReadModuleList_new(GetReadModuleDto inQuery)
|
public async Task<IResponseOutput<PageOutput<GetReadModuleDtoOut>>> GetReadModuleList(GetReadModuleDto inQuery)
|
||||||
{
|
{
|
||||||
|
|
||||||
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId).Select(x => new
|
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId).Select(x => new
|
||||||
|
@ -572,7 +572,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var readMouduleQuery = _readModuleRepository.Where(t => t.TrialId == inQuery.TrialId)
|
var readMouduleQuery = _readModuleRepository.Where(t => t.TrialId == inQuery.TrialId && t.TrialReadingCriterionId==inQuery.TrialReadingCriterionId)
|
||||||
.Select(rm => new ReadModuleView()
|
.Select(rm => new ReadModuleView()
|
||||||
{
|
{
|
||||||
Id = rm.Id,
|
Id = rm.Id,
|
||||||
|
@ -594,7 +594,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
TrialId = rm.TrialId,
|
TrialId = rm.TrialId,
|
||||||
VisitNum = rm.SubjectVisit.VisitNum,
|
VisitNum = rm.SubjectVisit.VisitNum,
|
||||||
TrialReadingCriterionId = inQuery.TrialReadingCriterionId,
|
TrialReadingCriterionId = rm.TrialReadingCriterionId,
|
||||||
|
|
||||||
OutPlanPreviousVisitId = null,
|
OutPlanPreviousVisitId = null,
|
||||||
|
|
||||||
|
@ -611,8 +611,9 @@ namespace IRaCIS.Application.Services
|
||||||
ReadModuleId = rm.Id,
|
ReadModuleId = rm.Id,
|
||||||
ReadModuleName = rm.ModuleName,
|
ReadModuleName = rm.ModuleName,
|
||||||
|
|
||||||
//是否是截止访视?
|
//阅片期切换访视 限制(1、阅片期访视已完成了任务不能,如果本身是肿瘤学不能,或者本身是全局后续有肿瘤学)
|
||||||
IsCanChangeCutOffVisit = false,
|
IsCanChangeCutOffVisit = !(rm.ModuleTaskList.Any(t => t.TaskState == TaskState.Effect) && rm.ReadingSetType == ReadingSetType.TumorReading &&
|
||||||
|
rm.SubjectVisit.ReadModuleList.Any(t => t.ReadingSetType == ReadingSetType.TumorReading)),
|
||||||
|
|
||||||
|
|
||||||
///阅片状态 0 1 2 保持访视的,任务全做完了就是5 没完成就是4 否则就是3
|
///阅片状态 0 1 2 保持访视的,任务全做完了就是5 没完成就是4 否则就是3
|
||||||
|
@ -631,11 +632,11 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
////需要签名数量计算 基线包含subject+访视级别的
|
////需要签名数量计算 基线包含subject+访视级别的
|
||||||
NeedSignClinicalDataCount = rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet))
|
NeedSignClinicalDataCount = rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet))
|
||||||
.Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.PM && (t.ClinicalDataLevel == ClinicalLevel.SubjectVisit || t.ClinicalDataLevel == ClinicalLevel.ImageRead || t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Count()
|
.Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.PM && (rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Count()
|
||||||
+
|
+
|
||||||
(rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet))
|
(rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet))
|
||||||
.Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.CRC &&
|
.Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.CRC &&
|
||||||
(t.ClinicalDataLevel == ClinicalLevel.SubjectVisit || t.ClinicalDataLevel == ClinicalLevel.ImageRead || t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Any() ? 1 : 0)
|
(rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Any() ? 1 : 0)
|
||||||
,
|
,
|
||||||
|
|
||||||
//签名的数量
|
//签名的数量
|
||||||
|
@ -669,9 +670,9 @@ namespace IRaCIS.Application.Services
|
||||||
var subjectIds = await subjectIdQuery.Skip((inQuery.PageIndex - 1) * inQuery.PageSize).Take(inQuery.PageSize).ToListAsync();
|
var subjectIds = await subjectIdQuery.Skip((inQuery.PageIndex - 1) * inQuery.PageSize).Take(inQuery.PageSize).ToListAsync();
|
||||||
var subjectCount = subjectIdQuery.Count();
|
var subjectCount = subjectIdQuery.Count();
|
||||||
|
|
||||||
var viewList = await query.Where(x => subjectIds.Contains(x.SubjectId)).ToListAsync();
|
var viewList = await query.Where(x => subjectIds.Contains(x.SubjectId)).SortToListAsync(inQuery);
|
||||||
|
|
||||||
var list= viewList.GroupBy(x => new { x.SubjectId, x.TrialSiteId, x.TrialSiteCode, x.SubjectCode })
|
var list = viewList.GroupBy(x => new { x.SubjectId, x.TrialSiteId, x.TrialSiteCode, x.SubjectCode })
|
||||||
.Select(x => new GetReadModuleDtoOut()
|
.Select(x => new GetReadModuleDtoOut()
|
||||||
{
|
{
|
||||||
TrialSiteCode = x.Key.TrialSiteCode,
|
TrialSiteCode = x.Key.TrialSiteCode,
|
||||||
|
@ -709,88 +710,88 @@ namespace IRaCIS.Application.Services
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 获取读片模块 //加了标准参数
|
///// 获取读片模块 //加了标准参数
|
||||||
/// </summary>
|
///// </summary>
|
||||||
[HttpPost]
|
//[HttpPost]
|
||||||
public async Task<IResponseOutput<PageOutput<GetReadModuleDtoOut>>> GetReadModuleList(GetReadModuleDto dto)
|
//public async Task<IResponseOutput<PageOutput<GetReadModuleDtoOut>>> GetReadModuleList(GetReadModuleDto dto)
|
||||||
{
|
//{
|
||||||
|
|
||||||
#region MyRegion
|
// #region MyRegion
|
||||||
|
|
||||||
if (dto.SortField.IsNullOrEmpty())
|
// if (dto.SortField.IsNullOrEmpty())
|
||||||
{
|
// {
|
||||||
dto.SortField = nameof(ReadModuleView.SubjectCode);
|
// dto.SortField = nameof(ReadModuleView.SubjectCode);
|
||||||
dto.Asc = true;
|
// dto.Asc = true;
|
||||||
}
|
// }
|
||||||
|
|
||||||
dto.SortField = dto.Asc ? dto.SortField : dto.SortField + " desc";
|
// dto.SortField = dto.Asc ? dto.SortField : dto.SortField + " desc";
|
||||||
var subjectQuery = _readModuleViewRepository.Where(x => x.TrialReadingCriterionId == dto.TrialReadingCriterionId)
|
// var subjectQuery = _readModuleViewRepository.Where(x => x.TrialReadingCriterionId == dto.TrialReadingCriterionId)
|
||||||
.WhereIf(dto.TrialId != null, x => x.TrialId == dto.TrialId)
|
// .WhereIf(dto.TrialId != null, x => x.TrialId == dto.TrialId)
|
||||||
.WhereIf(dto.SubjectId != null, x => x.SubjectId == dto.SubjectId)
|
// .WhereIf(dto.SubjectId != null, x => x.SubjectId == dto.SubjectId)
|
||||||
.WhereIf(dto.TrialSiteCode != null && dto.TrialSiteCode != string.Empty, x => x.TrialSiteCode.Contains(dto.TrialSiteCode))
|
// .WhereIf(dto.TrialSiteCode != null && dto.TrialSiteCode != string.Empty, x => x.TrialSiteCode.Contains(dto.TrialSiteCode))
|
||||||
.WhereIf(dto.SubjectCode != null && dto.SubjectCode != string.Empty, x => x.SubjectCode.Contains(dto.SubjectCode))
|
// .WhereIf(dto.SubjectCode != null && dto.SubjectCode != string.Empty, x => x.SubjectCode.Contains(dto.SubjectCode))
|
||||||
.WhereIf(dto.ModuleType != null, x => x.ModuleType == dto.ModuleType)
|
// .WhereIf(dto.ModuleType != null, x => x.ModuleType == dto.ModuleType)
|
||||||
.WhereIf(dto.CompleteClinicalData == CompleteClinicalDataEnum.NA, x => x.NeedSignClinicalDataCount == 0)
|
// .WhereIf(dto.CompleteClinicalData == CompleteClinicalDataEnum.NA, x => x.NeedSignClinicalDataCount == 0)
|
||||||
.WhereIf(dto.CompleteClinicalData == CompleteClinicalDataEnum.NotComplete, x => x.NeedSignClinicalDataCount != x.SignClinicalDataCount)
|
// .WhereIf(dto.CompleteClinicalData == CompleteClinicalDataEnum.NotComplete, x => x.NeedSignClinicalDataCount != x.SignClinicalDataCount)
|
||||||
.WhereIf(dto.CompleteClinicalData == CompleteClinicalDataEnum.Complete, x => x.NeedSignClinicalDataCount != 0 && x.NeedSignClinicalDataCount == x.SignClinicalDataCount)
|
// .WhereIf(dto.CompleteClinicalData == CompleteClinicalDataEnum.Complete, x => x.NeedSignClinicalDataCount != 0 && x.NeedSignClinicalDataCount == x.SignClinicalDataCount)
|
||||||
.WhereIf(dto.ReadingStatus != null, x => x.ReadingStatus == dto.ReadingStatus);
|
// .WhereIf(dto.ReadingStatus != null, x => x.ReadingStatus == dto.ReadingStatus);
|
||||||
//.WhereIf(dto.Name != null, x => x.Name.Contains(dto.Name!)).OrderBy(x => x.SiteCode);
|
// //.WhereIf(dto.Name != null, x => x.Name.Contains(dto.Name!)).OrderBy(x => x.SiteCode);
|
||||||
|
|
||||||
var subjectIds = await subjectQuery.OrderBy(dto.SortField).Select(x => x.SubjectId).Distinct().Skip((dto.PageIndex - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
|
// var subjectIds = await subjectQuery.OrderBy(dto.SortField).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)).OrderBy(dto.SortField).ToListAsync();
|
// List<ReadModuleView> ReadModuleViewList = await subjectQuery.Where(x => subjectIds.Contains(x.SubjectId)).OrderBy(dto.SortField).ToListAsync();
|
||||||
List<GetReadModuleDtoOut> getReadList = ReadModuleViewList.GroupBy(x => new { x.SubjectId, x.TrialSiteId, x.TrialSiteCode, x.SubjectCode })
|
// List<GetReadModuleDtoOut> getReadList = ReadModuleViewList.GroupBy(x => new { x.SubjectId, x.TrialSiteId, x.TrialSiteCode, x.SubjectCode })
|
||||||
.Select(x => new GetReadModuleDtoOut()
|
// .Select(x => new GetReadModuleDtoOut()
|
||||||
{
|
// {
|
||||||
TrialSiteCode = x.Key.TrialSiteCode,
|
// TrialSiteCode = x.Key.TrialSiteCode,
|
||||||
TrialSiteId = x.Key.TrialSiteId,
|
// TrialSiteId = x.Key.TrialSiteId,
|
||||||
SubjectCode = x.Key.SubjectCode,
|
// SubjectCode = x.Key.SubjectCode,
|
||||||
SubjectId = x.Key.SubjectId,
|
// SubjectId = x.Key.SubjectId,
|
||||||
Data = x.OrderBy(x => x.ModuleType).ThenBy(x => x.VisitNum).ToList(),
|
// Data = x.OrderBy(x => x.ModuleType).ThenBy(x => x.VisitNum).ToList(),
|
||||||
}).ToList();
|
// }).ToList();
|
||||||
PageOutput<GetReadModuleDtoOut> pageOutput = new PageOutput<GetReadModuleDtoOut>()
|
// PageOutput<GetReadModuleDtoOut> pageOutput = new PageOutput<GetReadModuleDtoOut>()
|
||||||
{
|
// {
|
||||||
PageSize = dto.PageSize,
|
// PageSize = dto.PageSize,
|
||||||
CurrentPageData = getReadList,
|
// CurrentPageData = getReadList,
|
||||||
PageIndex = dto.PageIndex,
|
// PageIndex = dto.PageIndex,
|
||||||
TotalCount = await subjectQuery.Select(x => x.SubjectId).Distinct().CountAsync(),
|
// TotalCount = await subjectQuery.Select(x => x.SubjectId).Distinct().CountAsync(),
|
||||||
};
|
// };
|
||||||
var maxcount = 0;
|
// var maxcount = 0;
|
||||||
pageOutput.CurrentPageData.ForEach(x =>
|
// pageOutput.CurrentPageData.ForEach(x =>
|
||||||
{
|
// {
|
||||||
maxcount = maxcount < x.Data.Count ? x.Data.Count : maxcount;
|
// maxcount = maxcount < x.Data.Count ? x.Data.Count : maxcount;
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == dto.TrialReadingCriterionId).Select(x => new
|
// var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == dto.TrialReadingCriterionId).Select(x => new
|
||||||
{
|
// {
|
||||||
x.IsReadingTaskViewInOrder,
|
// x.IsReadingTaskViewInOrder,
|
||||||
x.IsOncologyReading,
|
// x.IsOncologyReading,
|
||||||
x.IsGlobalReading,
|
// x.IsGlobalReading,
|
||||||
x.IsReadingPeriod,
|
// x.IsReadingPeriod,
|
||||||
x.ReadingInfoSignTime,
|
// x.ReadingInfoSignTime,
|
||||||
}).FirstNotNullAsync();
|
// }).FirstNotNullAsync();
|
||||||
|
|
||||||
return ResponseOutput.Ok(pageOutput, new
|
// return ResponseOutput.Ok(pageOutput, new
|
||||||
{
|
// {
|
||||||
MaxLength = maxcount,
|
// MaxLength = maxcount,
|
||||||
IsReadingTaskViewInOrder = criterionInfo.IsReadingTaskViewInOrder,
|
// IsReadingTaskViewInOrder = criterionInfo.IsReadingTaskViewInOrder,
|
||||||
IsClinicalReading = criterionInfo.IsOncologyReading,
|
// IsClinicalReading = criterionInfo.IsOncologyReading,
|
||||||
// OnlyExistsMedicalHistory = !(await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataSetName != "既往局部治疗史" && x.IsConfirm)),
|
// // OnlyExistsMedicalHistory = !(await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataSetName != "既往局部治疗史" && x.IsConfirm)),
|
||||||
IsExistsSubjectClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.Subject && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
// IsExistsSubjectClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.Subject && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
||||||
IsExistsVisitClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.SubjectVisit && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
// IsExistsVisitClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.SubjectVisit && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
||||||
IsExistsStudyClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.Study && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
// IsExistsStudyClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.Study && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
||||||
IsExistsReadingClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.ImageRead && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
// IsExistsReadingClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.ImageRead && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
||||||
IsExistsOncologyReadClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.OncologyRead && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
// IsExistsOncologyReadClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == dto.TrialId && x.ClinicalDataLevel == ClinicalLevel.OncologyRead && x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
||||||
IsGlobalReading = criterionInfo.IsGlobalReading,
|
// IsGlobalReading = criterionInfo.IsGlobalReading,
|
||||||
IsReadingPeriod = criterionInfo.IsReadingPeriod,
|
// IsReadingPeriod = criterionInfo.IsReadingPeriod,
|
||||||
ReadingInfoSignTime = criterionInfo.ReadingInfoSignTime,
|
// ReadingInfoSignTime = criterionInfo.ReadingInfoSignTime,
|
||||||
ExistClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
// ExistClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(x => x.IsConfirm && x.TrialClinicalDataSetCriteriaList.Any(y => y.TrialReadingCriterionId == dto.TrialReadingCriterionId)),
|
||||||
});
|
// });
|
||||||
|
|
||||||
#endregion
|
// #endregion
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public List<ReadModuleCriterionFrom> ReadModuleCriterionFromList { get; set; } = new List<ReadModuleCriterionFrom>();
|
public List<ReadModuleCriterionFrom> ReadModuleCriterionFromList { get; set; } = new List<ReadModuleCriterionFrom>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public List<VisitTask> ModuleTaskList { get; set; }
|
public List<VisitTask> ModuleTaskList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|
|
@ -53,6 +53,9 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public Trial Trial { get; set; }
|
public Trial Trial { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
public List<ReadModule> ReadModuleList { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("SubjectId")]
|
[ForeignKey("SubjectId")]
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
|
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
|
||||||
|
{
|
||||||
|
public class ReadModuleConfigration : IEntityTypeConfiguration<ReadModule>
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public void Configure(EntityTypeBuilder<ReadModule> builder)
|
||||||
|
{
|
||||||
|
|
||||||
|
builder.HasOne(t => t.SubjectVisit).WithMany(t => t.ReadModuleList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,12 +5,11 @@ namespace IRaCIS.Core.Infrastructure.Extention
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分页信息输入
|
/// 分页信息输入
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class PageInput
|
public class PageInput: SortInput
|
||||||
{
|
{
|
||||||
public int PageIndex { get; set; } = 1;
|
public int PageIndex { get; set; } = 1;
|
||||||
public int PageSize { set; get; } = 10;
|
public int PageSize { set; get; } = 10;
|
||||||
public bool Asc { get; set; } = true;
|
|
||||||
public string SortField { get; set; } = "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SortInput
|
public class SortInput
|
||||||
|
|
Loading…
Reference in New Issue