面板加统计数字
parent
7403a853f7
commit
904f9be48c
|
@ -40,6 +40,9 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
//现在需要签署的总数(项目待签署 +系统待签署)
|
||||
public int? TotalNeedSignDocCount => TotalNeedSignTrialDocCount + TotalNeedSignSystemDocCount;
|
||||
|
||||
|
||||
public int? TotalApprovalRequiredCount { get; set; }
|
||||
}
|
||||
|
||||
public class TrialSiteSurveyStatQuery : PageInput
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace IRaCIS.Core.Application
|
|||
TotalNeedSignTrialDocCount = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
||||
? 0
|
||||
: await _trialDocumentRepository.AsQueryable(true)
|
||||
|
||||
.Where(t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
.Where(t => t.IsDeleted == false || (t.IsDeleted == true && t.TrialDocConfirmedUserList.Any(t => t.ConfirmUserId == _userInfo.Id)))
|
||||
|
||||
.SelectMany(t => t.NeedConfirmedUserTypeList)
|
||||
|
@ -52,6 +52,7 @@ namespace IRaCIS.Core.Application
|
|||
HaveSignedTrialDocCount = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
||||
? 0
|
||||
: await _trialDocumentRepository
|
||||
.Where( t => t.Trial.TrialUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
.Where(t => t.NeedConfirmedUserTypeList.Any(t => t.NeedConfirmUserTypeId == _userInfo.UserTypeId))
|
||||
.SelectMany(t => t.TrialDocConfirmedUserList)
|
||||
.CountAsync(t => t.ConfirmUserId == _userInfo.Id),
|
||||
|
@ -71,6 +72,12 @@ namespace IRaCIS.Core.Application
|
|||
.SelectMany(t => t.SystemDocConfirmedUserList)
|
||||
.CountAsync(t => t.ConfirmUserId == _userInfo.Id),
|
||||
|
||||
TotalApprovalRequiredCount= _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin
|
||||
? 0:
|
||||
_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM ?
|
||||
_trialRepository.Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id)).SelectMany(t=>t.TrialSiteSurveyList).Where(t => t.State == TrialSiteSurveyEnum.SPMApproved).Count()
|
||||
: _trialRepository.Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id)).SelectMany(t => t.TrialSiteSurveyList).Where(t => t.State == TrialSiteSurveyEnum.CRCSubmitted).Count()
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -233,7 +233,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<Trial, TrialSiteSurveyStat>()
|
||||
.ForMember(t=>t.ApprovalRequiredCount,u=>
|
||||
u.MapFrom( c => userTypeEnumInt == (int)UserTypeEnum.SuperAdmin|| userTypeEnumInt == (int)UserTypeEnum.APM ?
|
||||
u.MapFrom( c => userTypeEnumInt == (int)UserTypeEnum.ProjectManager|| userTypeEnumInt == (int)UserTypeEnum.APM ?
|
||||
c.TrialSiteSurveyList.Where(t=> t.State==TrialSiteSurveyEnum.SPMApproved).Count()
|
||||
: c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.CRCSubmitted).Count())
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue