修改一版

Test.EIImageViewer
he 2022-06-09 10:33:28 +08:00
parent 6aad84f298
commit 906c690fbc
4 changed files with 21 additions and 4 deletions

View File

@ -377,6 +377,9 @@ namespace IRaCIS.Application.Services
/// <returns></returns>
public async Task<List<GetSubjectReadVisitsOutDto>> GetSubjectReadVisitList(GetSubjectReadVisitsInDto inDto)
{
var maxReadVisitNum = await _readModuleRepository.Where(x => x.SubjectId == inDto.SubjectId && x.ModuleType != ModuleTypeEnum.Global).MaxAsync(x => x.VisitNum);
var visitQuery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.LatestScanDate != null);
var finalVisitNum = await visitQuery.Where(x => x.IsFinalVisit).Select(x => x.VisitNum).FirstOrDefaultAsync();
@ -384,6 +387,7 @@ namespace IRaCIS.Application.Services
var readModulequery = _readModuleRepository.AsQueryable();
var resultlist= await visitQuery.WhereIf(finalVisitNum != null&& finalVisitNum!=0, x => x.VisitNum < finalVisitNum)
.Where(x=>x.VisitNum>= maxReadVisitNum)
.Where(x => readModulequery.Where(y => y.SubjectVisitId == x.Id && y.ReadingSetType == inDto.ReadingSetType).Count() == 0).OrderBy(x => finalVisitNum)
.Select(x => new GetSubjectReadVisitsOutDto()
{
@ -421,7 +425,8 @@ namespace IRaCIS.Application.Services
SubjectVisitId = visit.Id,
ReadingSetType= dto.ReadingSetType,
TrialId= dto.TrialId,
Status = ReadingCommon.GetVisitSubmitStateEnum(visit),
VisitNum= visit.VisitNum,
Status = ReadModuleEnum.TaskAllocation,
});
var res = await _readModuleRepository.SaveChangesAsync();
@ -433,6 +438,7 @@ namespace IRaCIS.Application.Services
}
}
///// <summary>

View File

@ -288,8 +288,12 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<List<GetReadingVisitListOutDto>> GetReadingVisitList(GetReadingVisitListInDto inDto)
{
var visitStageIdList = await _readingPeriodSetRepository.Where(x => x.TrialId == inDto.TrialId && x.Id != inDto.ReadingPeriodSetId&&x.VisitStageId!=null&&x.ReadingSetType==inDto.ReadingSetType).Select(x => x.VisitStageId).ToListAsync();
List<GetReadingVisitListOutDto> result = await _visitStageRepository.Where(x => x.TrialId == inDto.TrialId && !visitStageIdList.Contains(x.Id)).Select(x => new GetReadingVisitListOutDto()
var maxVisitnum = await _readingPeriodSetRepository.Where(x => x.TrialId == inDto.TrialId && x.ReadingSetType == inDto.ReadingSetType&&(x.IsTakeEffect== ReadingPeriodStatus.TakeEffect||x.IsTakeEffect==ReadingPeriodStatus.Revocation)).MaxAsync(x => x.ExpirationVisitNum)??0;
var thisVisitnum = await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Select(x => x.ExpirationVisitNum).FirstOrDefaultAsync() ?? -1;
//var visitStageIdList = await _readingPeriodSetRepository.Where(x => x.TrialId == inDto.TrialId && x.Id != inDto.ReadingPeriodSetId&&x.VisitStageId!=null&&x.ReadingSetType==inDto.ReadingSetType).Select(x => x.VisitStageId).ToListAsync();
List <GetReadingVisitListOutDto> result = await _visitStageRepository.Where(x => x.TrialId == inDto.TrialId ).Where(x=>x.VisitNum== thisVisitnum|| x.VisitNum >= maxVisitnum).Select(x => new GetReadingVisitListOutDto()
{
VisitName = x.VisitName,
@ -312,7 +316,7 @@ namespace IRaCIS.Application.Services
{
var readingPeriodSet =await _readingPeriodSetRepository.Where(x => x.Id == indto.Id).FirstOrDefaultAsync();
var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit)
.Include(x => x.ReadingPeriodSet).ToList();
.Include(x => x.ReadingPeriodSet).Include(x=>x.SubjectVisit).ToList();
var needAddVisitIds = plans.Select(x => x.SubjectVisitId).ToList();
var repeatVisitNames = _readModuleRepository.Where(x => x.ReadingSetType == ReadingSetType.ImageReading && needAddVisitIds.Contains(x.SubjectVisitId)).Select(x =>x.Subject.Code+"的"+ x.SubjectVisit.VisitName).ToList();
@ -336,6 +340,7 @@ namespace IRaCIS.Application.Services
ReadingPeriodSetId= item.ReadingPeriodSet.Id,
Status = ReadModuleEnum.TaskAllocation,
TrialId = readingPeriodSet.TrialId,
VisitNum= item.SubjectVisit.VisitNum,
});
};

View File

@ -163,6 +163,7 @@ namespace IRaCIS.Core.Application.Services
ReadingSetType = ReadingSetType.ImageReading,
ModuleType = ModuleTypeEnum.Global,
TrialId= dbBeforeEntity.TrialId,
VisitNum= dbBeforeEntity.VisitNum,
});
}
}

View File

@ -75,6 +75,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
///
/// </summary>
public decimal VisitNum { get; set; }
/// <summary>
/// 对应
/// </summary>