From 463d27f6b0b19af9df9a9269fbb463871141693d Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 13 Apr 2022 11:48:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=20=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BA=BAPm=E5=92=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=9A=84=E5=A4=96=E9=83=A8=E4=BA=BA=E5=91=98=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=98=BE=E7=A4=BA=E5=8A=A0=E5=85=A5=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E3=80=82=20=E4=BF=AE=E6=94=B9=20=20=E9=9D=A2=E6=9D=BF=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=20=E8=BF=87=E6=BB=A4=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrialSiteUser/DTO/UserTrialViewModel.cs | 8 ++++++++ .../Service/TrialSiteUser/PersonalWorkstation.cs | 14 +++++++++----- .../TrialSiteUser/TrialExternalUserService.cs | 4 ++-- .../TrialSiteUser/TrialMaintenanceService.cs | 2 ++ .../Service/TrialSiteUser/TrialService.cs | 2 +- .../Service/TrialSiteUser/TrialSiteService.cs | 8 +++++++- 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs index 26a0f9793..c10b1f7ca 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs @@ -45,6 +45,8 @@ namespace IRaCIS.Application.Contracts public class TrialMaintenanceDTO : UserTrialCommand { + [JsonIgnore] + public int No { get; set; } //For MiniExcel ExcelFormat public string State => IsDeleted ? "退出" : "加入"; @@ -110,6 +112,9 @@ namespace IRaCIS.Application.Contracts } public class SiteUserExportDTO : UserTrialDTO { + [JsonIgnore] + public int No { get; set; } + public string TrialSiteCode { get; set; } = String.Empty; public string TrialSiteAliasName { get; set; } = String.Empty; } @@ -124,6 +129,9 @@ namespace IRaCIS.Application.Contracts public class TrialSiteUserSummaryDto: TrialSiteUserSurveyView { + [JsonIgnore] + public int No { get; set; } + public string TrialSiteCode { get; set; } = String.Empty; public string TrialSiteAliasName { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index 551053974..46608877b 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -72,12 +72,12 @@ namespace IRaCIS.Core.Application .SelectMany(t => t.SystemDocConfirmedUserList) .CountAsync(t => t.ConfirmUserId == _userInfo.Id), - TotalApprovalRequiredCount= _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin - ? 0: + TotalApprovalRequiredCount= _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() - + : _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM|| _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM + ? _trialRepository.Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id)).SelectMany(t => t.TrialSiteSurveyList).Where(t => t.State == TrialSiteSurveyEnum.CRCSubmitted).Count() + :0 }; } @@ -92,7 +92,11 @@ namespace IRaCIS.Core.Application public async Task> GetSiteSurveyApprovalList(TrialSiteSurveyStatQuery query) { - return await _trialRepository.ProjectTo(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id }) + return await _trialRepository + .Where(t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id)) + .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM,c=> c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.SPMApproved).Count()>0) + .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM, c => c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.SPMApproved).Count() > 0) + .ProjectTo(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id }) .OrderByDescending(t=>t.ApprovalRequiredCount).ToPagedListAsync(query.PageIndex, query.PageSize, query.SortField, query.Asc); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs index 6443a6040..196f4417d 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs @@ -316,7 +316,7 @@ namespace IRaCIS.Core.Application.Service if (!await _trialUserRepository.AnyAsync(t => t.TrialId == trialId && t.UserId == userId)) { - await _trialUserRepository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId }); + await _trialUserRepository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId, JoinTime = DateTime.Now }); } @@ -482,7 +482,7 @@ namespace IRaCIS.Core.Application.Service if (!await _trialUserRepository.AnyAsync(t => t.TrialId == trialId && t.UserId == userId)) { - await _trialUserRepository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId }); + await _trialUserRepository.AddAsync(new TrialUser() { TrialId = trialId, UserId = userId,JoinTime = DateTime.Now }); await _trialSiteUserRepository.AddAsync(new TrialSiteUser() { TrialId = trialId, SiteId = siteId, UserId = userId }); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 47341e74e..ca1d36f79 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -47,6 +47,8 @@ namespace IRaCIS.Application.Services t => (t.User.LastName + " / " + t.User.FirstName).Contains(param.UserRealName)) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var no = 1; + exportInfo.TrialUserList.ForEach(t => t.No = no++); return await ExcelExportHelper.DataExportAsync(StaticData.TrialUserList_Export, exportInfo, exportInfo.TrialCode, _commonDocumentRepository, _hostEnvironment); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 2689de605..80add9565 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -173,7 +173,7 @@ namespace IRaCIS.Application.Services //如果是PM, 则需要将该人员添加到 运维人员表 //添加运维人员PM - await _repository.AddAsync(new TrialUser() { TrialId = trial.Id, UserId = _userInfo.Id }); + await _repository.AddAsync(new TrialUser() { TrialId = trial.Id, UserId = _userInfo.Id ,JoinTime = DateTime.Now}); // 添加扩展信息表记录 await _repository.AddAsync(new TrialPaymentPrice() { TrialId = trial.Id }); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs index 14533b3d3..4d04c170b 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteService.cs @@ -58,6 +58,9 @@ namespace IRaCIS.Core.Application.Services .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var no = 1; + exportInfo.TrialSiteUserList.ForEach(t => t.No = no++); + return await ExcelExportHelper.DataExportAsync(StaticData.TrialSiteUserList_Export, exportInfo, exportInfo.TrialCode, _commonDocumentRepository, _hostEnvironment); } @@ -102,10 +105,13 @@ namespace IRaCIS.Core.Application.Services data.TrialSiteUserList = await query.ToListAsync(); + + var exportInfo = data; //处理翻译 - + var no = 1; + exportInfo.TrialSiteUserList.ForEach(t => t.No = no++); return await ExcelExportHelper.DataExportAsync(StaticData.TrialSiteUserSummary_Export, exportInfo, exportInfo.TrialCode, _commonDocumentRepository, _hostEnvironment);