diff --git a/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs b/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs index 332bee612..40d5661bb 100644 --- a/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs +++ b/IRaCIS.Core.Application/MassTransit/Recurring/TrialDocumentConsumer.cs @@ -54,9 +54,16 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US; var trialDocQuery = from trialDoc in _trialDocumentRepository.AsQueryable(true) - join trialUser in _trialIdentityUserRepository.AsQueryable() on trialDoc.TrialId equals trialUser.TrialId + + join trialIdentityUser in _trialIdentityUserRepository.AsQueryable() on trialDoc.TrialId equals trialIdentityUser.TrialId + from identityUser in _identityUserRepository.AsQueryable(false) + .Where(t => t.Status == UserStateEnum.Enable && + t.Id == trialIdentityUser.IdentityUserId && + t.UserRoleList.Where(t => t.IsUserRoleDisabled == false) + .Any(t => trialDoc.NeedConfirmedUserTypeList.AsQueryable().Any(c => c.NeedConfirmUserTypeId == t.UserTypeId))) + join confirm in _trialDocConfirmedUserRepository.Where() on - new { trialUser.IdentityUserId, TrialDocumentId = trialDoc.Id } equals new { IdentityUserId = confirm.ConfirmUserId, confirm.TrialDocumentId } into cc + new { trialIdentityUser.IdentityUserId, TrialDocumentId = trialDoc.Id } equals new { IdentityUserId = confirm.ConfirmUserId, confirm.TrialDocumentId } into cc from confirm in cc.DefaultIfEmpty() select new TrialSignDocView() @@ -77,16 +84,16 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring UpdateTime = trialDoc.UpdateTime, SignViewMinimumMinutes = trialDoc.SignViewMinimumMinutes, //IsConfirmed = confirm.ConfirmTime != null, - ConfirmUserId = confirm.ConfirmUserId, + ConfirmUserId = identityUser.Id, ConfirmTime = confirm.ConfirmTime, - RealName = trialUser.IdentityUser.FullName, - UserName = trialUser.IdentityUser.UserName, - UserCreateTime= trialUser.CreateTime, - IdentityUserTypeList = trialUser.TrialUserRoleList.Select(t => t.UserRole.UserTypeRole.UserTypeShortName).ToList(), + RealName = trialIdentityUser.IdentityUser.FullName, + UserName = trialIdentityUser.IdentityUser.UserName, + UserCreateTime= trialIdentityUser.CreateTime, + IdentityUserTypeList = trialIdentityUser.TrialUserRoleList.Select(t => t.UserRole.UserTypeRole.UserTypeShortName).ToList(), DocNeedSignUserTypeList = trialDoc.NeedConfirmedUserTypeList.Select(t => t.UserTypeRole.UserTypeShortName).ToList(), }; - var datalist = await trialDocQuery.IgnoreQueryFilters().Where(t => t.IsDeleted == false && t.ConfirmTime == null) + var datalist = await trialDocQuery.IgnoreQueryFilters().Where(t => t.IsDeleted == false && t.ConfirmTime == null&&t.ConfirmTime==null) .ToListAsync(); datalist = datalist.Where(x => x.SuggestFinishTime != null && x.SuggestFinishTime.Value.Date == DateTime.Now.Date) .ToList(); @@ -269,7 +276,7 @@ namespace IRaCIS.Core.Application.MassTransit.Recurring var scenario = EmailBusinessScenario.TrialTraining_EffectiveNotification; - var emailConfig = _emailNoticeConfigrepository.Where(t => t.BusinessScenarioEnum == scenario && t.IsAutoSend && t.IsEnable).FirstOrDefault(); + var emailConfig = _emailNoticeConfigrepository.Where(t => t.BusinessScenarioEnum == scenario && t.IsEnable).FirstOrDefault(); if (emailConfig != null) { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs index 9df0f6faa..d8883cdc0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadingPeriodSetService.cs @@ -456,13 +456,13 @@ namespace IRaCIS.Core.Application.Service List result = await _visitStageRepository.Where(x => x.TrialId == inDto.TrialId) .WhereIf(inDto.ReadingSetType == ReadingSetType.TumorReading, x => globalVisitNum.Contains(x.VisitNum)) - .Where(x => x.VisitNum > 0)// 不能是基线 + //.Where(x => x.VisitNum > 0)// 不能是基线 .Where(x => x.VisitNum == thisVisitNum || x.VisitNum >= maxVisitNum).Select(x => new GetReadingVisitListOutDto() { VisitName = x.VisitName, VisitNum = x.VisitNum, VisitStageId = x.Id, - }).ToListAsync(); + }).OrderBy(x=>x.VisitNum).ToListAsync(); return result; }