From 904f9be48ca933ee564e97c0431ff5b2adf63893 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 13 Apr 2022 11:31:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E5=8A=A0=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=95=B0=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrialSiteUser/DTO/PersonalWorkstationViewModel.cs | 3 +++ .../Service/TrialSiteUser/PersonalWorkstation.cs | 9 ++++++++- .../Service/TrialSiteUser/_MapConfig.cs | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs index 7207adc24..da35e0357 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs @@ -40,6 +40,9 @@ namespace IRaCIS.Core.Application.Contracts //现在需要签署的总数(项目待签署 +系统待签署) public int? TotalNeedSignDocCount => TotalNeedSignTrialDocCount + TotalNeedSignSystemDocCount; + + + public int? TotalApprovalRequiredCount { get; set; } } public class TrialSiteSurveyStatQuery : PageInput diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index d731e38c0..551053974 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -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() + }; } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs index ebfcf81ad..44c19771c 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs @@ -233,7 +233,7 @@ namespace IRaCIS.Core.Application.Service CreateMap() .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()) );