修改一版

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> /// <returns></returns>
public async Task<List<GetSubjectReadVisitsOutDto>> GetSubjectReadVisitList(GetSubjectReadVisitsInDto inDto) 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 visitQuery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.LatestScanDate != null);
var finalVisitNum = await visitQuery.Where(x => x.IsFinalVisit).Select(x => x.VisitNum).FirstOrDefaultAsync(); 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 readModulequery = _readModuleRepository.AsQueryable();
var resultlist= await visitQuery.WhereIf(finalVisitNum != null&& finalVisitNum!=0, x => x.VisitNum < finalVisitNum) 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) .Where(x => readModulequery.Where(y => y.SubjectVisitId == x.Id && y.ReadingSetType == inDto.ReadingSetType).Count() == 0).OrderBy(x => finalVisitNum)
.Select(x => new GetSubjectReadVisitsOutDto() .Select(x => new GetSubjectReadVisitsOutDto()
{ {
@ -421,7 +425,8 @@ namespace IRaCIS.Application.Services
SubjectVisitId = visit.Id, SubjectVisitId = visit.Id,
ReadingSetType= dto.ReadingSetType, ReadingSetType= dto.ReadingSetType,
TrialId= dto.TrialId, TrialId= dto.TrialId,
Status = ReadingCommon.GetVisitSubmitStateEnum(visit), VisitNum= visit.VisitNum,
Status = ReadModuleEnum.TaskAllocation,
}); });
var res = await _readModuleRepository.SaveChangesAsync(); var res = await _readModuleRepository.SaveChangesAsync();
@ -432,6 +437,7 @@ namespace IRaCIS.Application.Services
return ResponseOutput.NotOk("No qualified visit was found "); return ResponseOutput.NotOk("No qualified visit was found ");
} }
} }

View File

@ -288,8 +288,12 @@ namespace IRaCIS.Application.Services
[HttpPost] [HttpPost]
public async Task<List<GetReadingVisitListOutDto>> GetReadingVisitList(GetReadingVisitListInDto inDto) 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(); 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;
List<GetReadingVisitListOutDto> result = await _visitStageRepository.Where(x => x.TrialId == inDto.TrialId && !visitStageIdList.Contains(x.Id)).Select(x => new GetReadingVisitListOutDto()
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, VisitName = x.VisitName,
@ -312,7 +316,7 @@ namespace IRaCIS.Application.Services
{ {
var readingPeriodSet =await _readingPeriodSetRepository.Where(x => x.Id == indto.Id).FirstOrDefaultAsync(); var readingPeriodSet =await _readingPeriodSetRepository.Where(x => x.Id == indto.Id).FirstOrDefaultAsync();
var plans = _readingPeriodPlanRepository.Where(x => x.ReadingPeriodSetId == indto.Id).Include(x=>x.SubjectVisit) 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 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(); 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, ReadingPeriodSetId= item.ReadingPeriodSet.Id,
Status = ReadModuleEnum.TaskAllocation, Status = ReadModuleEnum.TaskAllocation,
TrialId = readingPeriodSet.TrialId, TrialId = readingPeriodSet.TrialId,
VisitNum= item.SubjectVisit.VisitNum,
}); });
}; };

View File

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

View File

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