From 6e0dc64981b25691a55d1e5ea1852d23950110ac Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 26 Dec 2024 11:00:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=98=A0?= =?UTF-8?q?=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 4 +- .../Allocation/TaskAllocationRuleService.cs | 12 ++-- .../Allocation/TaskConsistentRuleService.cs | 12 ++-- .../Service/Allocation/_MapConfig.cs | 36 ++++++------ .../Service/Common/MailService.cs | 2 +- .../Service/Document/_MapConfig.cs | 8 +-- .../Service/Management/_MapConfig.cs | 1 - .../Service/QC/_MapConfig.cs | 12 ++-- .../SiteSurvey/TrialSiteSurveyService.cs | 4 +- .../SiteSurvey/TrialSiteUserSurveyService.cs | 7 ++- .../Service/SiteSurvey/_MapConfig.cs | 12 ++-- .../Service/Stat/StatisticsService.cs | 5 +- .../TrialSiteUser/TrialExternalUserService.cs | 2 +- .../TrialSiteUser/TrialMaintenanceService.cs | 4 +- IRaCIS.Core.Application/TestService.cs | 11 ++++ .../BeforeSaveTrigger/AddlTrialUserTrigger.cs | 55 ------------------- IRaCIS.Core.Domain/Management/User.cs | 20 ++++--- 17 files changed, 83 insertions(+), 124 deletions(-) delete mode 100644 IRaCIS.Core.Application/Triggers/BeforeSaveTrigger/AddlTrialUserTrigger.cs diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index b818934c9..1cab85629 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -12715,7 +12715,7 @@ Dashboard统计、全局工作量统计、入组两个维度统计(按照项目、按照人) - + Dashboard统计、全局工作量统计、入组两个维度统计(按照项目、按照人) @@ -15539,7 +15539,7 @@ TrialSiteUserSurveyService - + TrialSiteUserSurveyService diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs index 30c514c33..06d71d365 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskAllocationRuleService.cs @@ -130,9 +130,9 @@ namespace IRaCIS.Core.Application.Service TrialId = enroll.TrialId, //ReadingType = enroll.Trial.ReadingType, DoctorUserId = user.Id, - FullName = user.FullName, - UserCode = user.UserCode, - UserName = user.UserName, + FullName = user.IdentityUser.FullName, + UserCode = user.IdentityUser.UserCode, + UserName = user.IdentityUser.UserName, UserTypeEnum = user.UserTypeRole.UserTypeEnum, ReadingCategoryList = enroll.EnrollReadingCategoryList.Select(t => t.ReadingCategory).ToList() @@ -156,9 +156,9 @@ namespace IRaCIS.Core.Application.Service { TrialId = allocationRule.TrialId, DoctorUserId = user.Id, - FullName = user.FullName, - UserCode = user.UserCode, - UserName = user.UserName, + FullName = user.IdentityUser.FullName, + UserCode = user.IdentityUser.UserCode, + UserName = user.IdentityUser.UserName, UserTypeEnum = user.UserTypeRole.UserTypeEnum, ReadingCategoryList = selectQuery.TrialReadingCriterionId == null ? diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs index 441bce672..6f601b8bd 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskConsistentRuleService.cs @@ -707,9 +707,9 @@ namespace IRaCIS.Core.Application.Service DoctorUserList = t.SubjectDoctorList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsConfirmed && t.ArmEnum <= Arm.DoubleReadingArm2).Select(t => new UserSimpleInfo() { UserId = t.Id, - FullName = t.DoctorUser.FullName, - UserCode = t.DoctorUser.UserCode, - UserName = t.DoctorUser.UserName + FullName = t.DoctorUser.IdentityUser.FullName, + UserCode = t.DoctorUser.IdentityUser.UserCode, + UserName = t.DoctorUser.IdentityUser.UserName }).ToList(), ValidVisitCount = t.SubjectVisitTaskList.AsQueryable().Where(visitTaskFilter).GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2).Count(), @@ -830,9 +830,9 @@ namespace IRaCIS.Core.Application.Service AnalysisDoctorUser = new UserSimpleInfo() { UserId = user.Id, - UserCode = user.UserCode, - FullName = user.FullName, - UserName = user.UserName + UserCode = user.IdentityUser.UserCode, + FullName = user.IdentityUser.FullName, + UserName = user.IdentityUser.UserName } }; diff --git a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs index 5cd03a8ba..889f4a29b 100644 --- a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs @@ -17,9 +17,9 @@ namespace IRaCIS.Core.Application.Service CreateMap() - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)); List subjectIdList = new List(); @@ -27,9 +27,9 @@ namespace IRaCIS.Core.Application.Service CreateMap() - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) //.ForMember(o => o.ArmList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct())) .ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count())) @@ -127,9 +127,9 @@ namespace IRaCIS.Core.Application.Service .ForMember(o => o.SubjectCode, t => t.MapFrom(u => /*u.IsAnalysisCreate == true ? u.BlindSubjectCode :*/ u.Subject.Code)) .ForMember(o => o.MedicalNo, t => t.MapFrom(u => u.Subject.MedicalNo)) - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) //.ForMember(o => o.IsClinicalDataSigned, t => t.MapFrom(u => u.Subject.ClinicalDataList.Any(c => c.IsSign && (c.ReadingId == u.SouceReadModuleId || c.ReadingId == u.SourceSubjectVisitId)))) ; @@ -176,9 +176,9 @@ namespace IRaCIS.Core.Application.Service CreateMap() - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.JudgeTaskCode, t => t.MapFrom(u => u.TaskCode)) .ForMember(o => o.DoctorUserId, t => t.MapFrom(u => u.DoctorUser.Id)); @@ -195,9 +195,9 @@ namespace IRaCIS.Core.Application.Service CreateMap() //.ForMember(o => o.AssignTime, t => t.MapFrom(u => u.AssignTime)) - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)); @@ -253,9 +253,9 @@ namespace IRaCIS.Core.Application.Service CreateMap() .ForMember(o => o.UserId, t => t.MapFrom(u => u.Id)) - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.FullName)); + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.IdentityUser.FullName)); //.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.UserTypeRole.UserTypeShortName)); diff --git a/IRaCIS.Core.Application/Service/Common/MailService.cs b/IRaCIS.Core.Application/Service/Common/MailService.cs index c3a904c11..c8a639fb4 100644 --- a/IRaCIS.Core.Application/Service/Common/MailService.cs +++ b/IRaCIS.Core.Application/Service/Common/MailService.cs @@ -582,7 +582,7 @@ namespace IRaCIS.Core.Application.Service } - saveItem.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; + saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser)); diff --git a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs index efdd3ef8a..0b2dc5081 100644 --- a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs @@ -79,10 +79,10 @@ namespace IRaCIS.Core.Application.Service CreateMap(); CreateMap() - .ForMember(d => d.Phone, c => c.MapFrom(t => t.UserRole.Phone)) - .ForMember(d => d.Email, c => c.MapFrom(t => t.UserRole.EMail)) - .ForMember(d => d.RealName, c => c.MapFrom(t => t.UserRole.FullName)) - .ForMember(d => d.UserName, c => c.MapFrom(t => t.UserRole.UserName)); + .ForMember(d => d.Phone, c => c.MapFrom(t => t.UserRole.IdentityUser.Phone)) + .ForMember(d => d.Email, c => c.MapFrom(t => t.UserRole.IdentityUser.EMail)) + .ForMember(d => d.RealName, c => c.MapFrom(t => t.UserRole.IdentityUser.FullName)) + .ForMember(d => d.UserName, c => c.MapFrom(t => t.UserRole.IdentityUser.UserName)); CreateMap(); diff --git a/IRaCIS.Core.Application/Service/Management/_MapConfig.cs b/IRaCIS.Core.Application/Service/Management/_MapConfig.cs index 85c175636..08ffd85b1 100644 --- a/IRaCIS.Core.Application/Service/Management/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Management/_MapConfig.cs @@ -16,7 +16,6 @@ namespace IRaCIS.Core.Application.Service CreateMap().IncludeMembers(t => t.Menu); - CreateMap().ForMember(d => d.UserCode, x => x.Ignore()); CreateMap() .ForMember(d => d.UserCode, x => x.Ignore()) diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index 6405e50c6..54cc95648 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -145,9 +145,9 @@ namespace IRaCIS.Core.Application.Service .ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName)) .ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode)) .ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code)) - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) .ForMember(o => o.SubjectStatus, t => t.MapFrom(u => u.Subject.Status)); @@ -161,9 +161,9 @@ namespace IRaCIS.Core.Application.Service .ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName)) .ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode)) .ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code)) - .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) - .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) - .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) + .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode)) + .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName)) + .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) .ForMember(o => o.SubjectStatus, t => t.MapFrom(u => u.Subject.Status)); diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs index fd06ada9f..558d14198 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs @@ -871,7 +871,7 @@ namespace IRaCIS.Core.Application.Contracts // 中心调研生成账号 都是外部的 saveItem.IsZhiZhun = false; - saveItem.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; + saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(UserRole)); @@ -1107,7 +1107,7 @@ namespace IRaCIS.Core.Application.Contracts // 中心调研生成账号 都是外部的 saveItem.IsZhiZhun = false; - saveItem.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; + saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser)); diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs index 5a7511442..1e88c1db8 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteUserSurveyService.cs @@ -17,6 +17,7 @@ namespace IRaCIS.Core.Application.Contracts public class TrialSiteUserSurveyService(IRepository _trialSiteUserSurveyRepository, IRepository _trialRepository, IRepository _userRoleRepository, + IRepository _identityUserRepository, IRepository _trialSiteSurveyRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialSiteUserSurveyService { @@ -56,7 +57,7 @@ namespace IRaCIS.Core.Application.Contracts var item = addOrEditTrialSiteUserSurvey; //找下系统中是否存在该用户类型的 并且邮箱 或者手机的账户 - var sysUserInfo = await _userRoleRepository.Where(t => t.UserTypeId == item.UserTypeId && t.EMail == item.Email).Include(t => t.UserTypeRole).FirstOrDefaultAsync(); + var sysUserInfo = await _identityUserRepository.Where(t => t.EMail == item.Email,true).Include(t => t.UserRoleList).FirstOrDefaultAsync(); if (sysUserInfo != null) { @@ -97,7 +98,7 @@ namespace IRaCIS.Core.Application.Contracts if (addOrEditTrialSiteUserSurvey.UserTypeId != null) { - var existSysUser = await _userRoleRepository.Where(t => t.EMail == addOrEditTrialSiteUserSurvey.Email && t.UserTypeId == addOrEditTrialSiteUserSurvey.UserTypeId).Include(d => d.UserTypeRole).FirstOrDefaultAsync(); + var existSysUser = await _identityUserRepository.Where(t => t.EMail == addOrEditTrialSiteUserSurvey.Email).FirstOrDefaultAsync(); if (existSysUser != null) @@ -109,7 +110,7 @@ namespace IRaCIS.Core.Application.Contracts var optEntity = await _trialSiteUserSurveyRepository.InsertOrUpdateAsync(addOrEditTrialSiteUserSurvey, true, verifyExp1); //$"该用户在系统中账户名为:{existSysUser.LastName + " / " + existSysUser.FirstName} ,与填写信息存在不一致项, 现将界面信息修改为与系统一致,可进行保存" - return ResponseOutput.NotOk(_localizer["TrialSiteUser_InconsistentInfo", existSysUser.UserTypeRole.UserTypeShortName, existSysUser.EMail, existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone], + return ResponseOutput.NotOk(_localizer["TrialSiteUser_InconsistentInfo", existSysUser.EMail, existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone], new { Id = optEntity.Id, existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone }, ApiResponseCodeEnum.NeedTips); } diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/_MapConfig.cs b/IRaCIS.Core.Application/Service/SiteSurvey/_MapConfig.cs index eb9dcbf1f..455e7d5fc 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/_MapConfig.cs @@ -22,18 +22,18 @@ namespace IRaCIS.Core.Application.AutoMapper CreateMap() .ForMember(d => d.Id, u => u.Ignore()) - .ForMember(d => d.Phone, u => u.MapFrom(c => c.UserRole.Phone)) - .ForMember(d => d.Email, u => u.MapFrom(c => c.UserRole.EMail)) - .ForMember(d => d.OrganizationName, u => u.MapFrom(c => c.UserRole.OrganizationName)) + .ForMember(d => d.Phone, u => u.MapFrom(c => c.UserRole.IdentityUser.Phone)) + .ForMember(d => d.Email, u => u.MapFrom(c => c.UserRole.IdentityUser.EMail)) + .ForMember(d => d.OrganizationName, u => u.MapFrom(c => c.UserRole.IdentityUser.OrganizationName)) .ForMember(d => d.UserTypeId, u => u.MapFrom(c => c.UserRole.UserTypeId)) .ForMember(d => d.IsHistoryUser, u => u.MapFrom(c => true)) .ForMember(d => d.IsHistoryUserOriginDeleted, u => u.MapFrom(c => c.IsDeleted)) .ForMember(d => d.IsHistoryUserDeleted, u => u.MapFrom(c => c.IsDeleted)) - .ForMember(d => d.FirstName, u => u.MapFrom(c => c.UserRole.FirstName)) - .ForMember(d => d.LastName, u => u.MapFrom(c => c.UserRole.LastName)) + .ForMember(d => d.FirstName, u => u.MapFrom(c => c.UserRole.IdentityUser.FirstName)) + .ForMember(d => d.LastName, u => u.MapFrom(c => c.UserRole.IdentityUser.LastName)) .ForMember(d => d.IsGenerateAccount, u => u.MapFrom(c => true)) .ForMember(d => d.IsGenerateSuccess, u => u.MapFrom(c => true)) - .ForMember(d => d.SystemUserId, u => u.MapFrom(c => c.UserId)) + .ForMember(d => d.SystemUserId, u => u.MapFrom(c => c.UserRole.IdentityUser.Id)) .ForMember(d => d.IsJoin, u => u.MapFrom(c => !c.IsDeleted)) .ForMember(d => d.CreateUserRole, u => u.Ignore()); diff --git a/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs b/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs index 22eccf419..df344d1c9 100644 --- a/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs +++ b/IRaCIS.Core.Application/Service/Stat/StatisticsService.cs @@ -19,6 +19,7 @@ namespace IRaCIS.Core.Application.Service IRepository _hospitalRepository, IRepository _enrollDetailRepository, IRepository _userRoleRepository, + IRepository _identityUserRepository, IRepository _userTrialRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IStatisticsService { @@ -370,7 +371,7 @@ namespace IRaCIS.Core.Application.Service public PageOutput GetParticipateTrialStat(ParticipateQueryDto param) { - Expression> userLambda = x => true; + Expression> userLambda = x => true; Expression> userTrialLambda = x => true; if (!string.IsNullOrEmpty(param.UserInfo)) { @@ -406,7 +407,7 @@ namespace IRaCIS.Core.Application.Service }); var userQuery = from trialStat in trialStatQuery - join user in _userRoleRepository.Where(userLambda) on trialStat.UserId equals user.Id + join user in _identityUserRepository.Where(userLambda) on trialStat.UserId equals user.Id select new UserParticipateTrialStat { Email = user.EMail, diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs index be1375300..a5f4c409b 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialExternalUserService.cs @@ -129,7 +129,7 @@ namespace IRaCIS.Core.Application.Service // 外部人员生成账号 都是外部的 generateUser.IsZhiZhun = false; - generateUser.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; + generateUser.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; generateUser.UserCode = AppSettings.GetCodeStr(generateUser.Code, nameof(UserRole)); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 1c8f654a7..f16fa9675 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -132,10 +132,10 @@ namespace IRaCIS.Core.Application.Service var query = _userRoleRepository.Where(t => t.UserTypeEnum != UserTypeEnum.SuperAdmin) //正式或者培训的项目 不能允许测试用户(必须正式用户) 同时必须是内部的用户 - .WhereIf(trialType == TrialType.OfficialTrial || trialType == TrialType.Training, t => t.IsTestUser == false && t.IdentityUser.IsZhiZhun) + .WhereIf(trialType == TrialType.OfficialTrial || trialType == TrialType.Training, t => t.IdentityUser.IsTestUser == false && t.IdentityUser.IsZhiZhun) //测试项目 可以加入 测试用户 或者内部正式用户 - .WhereIf(trialType == TrialType.NoneOfficial, t => t.IsTestUser == true || (t.IsTestUser == false && t.IdentityUser.IsZhiZhun)) + .WhereIf(trialType == TrialType.NoneOfficial, t => t.IdentityUser.IsTestUser == true || (t.IdentityUser.IsTestUser == false && t.IdentityUser.IsZhiZhun)) .Where(t => userTypeEnums.Contains(t.UserTypeEnum)) .WhereIf(inQuery.UserTypeEnum != null, t => t.UserTypeEnum == inQuery.UserTypeEnum) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.UserRealName), t => t.IdentityUser.FullName.Contains(inQuery.UserRealName)) diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 8cb13ca0f..921fdf3a0 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -1,4 +1,5 @@ using Aliyun.OSS; +using DocumentFormat.OpenXml.Spreadsheet; using IRaCIS.Application.Contracts; using IRaCIS.Core.Application.BusinessFilter; using IRaCIS.Core.Application.Contracts; @@ -184,6 +185,16 @@ namespace IRaCIS.Core.Application.Service await _identityUserRepository.SaveChangesAsync(); } + // UPDATE[User] + //SET + // UserName = IdentityUser.UserName, + // FirstName = IdentityUser.FirstName, + //LastName = IdentityUser.LastName, + // EMail = IdentityUser.EMail + //FROM[User] + //INNER JOIN IdentityUser + //ON[User].IdentityUserId = IdentityUser.Id + return ResponseOutput.Ok(); diff --git a/IRaCIS.Core.Application/Triggers/BeforeSaveTrigger/AddlTrialUserTrigger.cs b/IRaCIS.Core.Application/Triggers/BeforeSaveTrigger/AddlTrialUserTrigger.cs deleted file mode 100644 index 74d1b7022..000000000 --- a/IRaCIS.Core.Application/Triggers/BeforeSaveTrigger/AddlTrialUserTrigger.cs +++ /dev/null @@ -1,55 +0,0 @@ -using EntityFrameworkCore.Triggered; -using IRaCIS.Core.Domain.Share; -using IRaCIS.Core.Infrastructure; -using Microsoft.Extensions.Localization; - -namespace IRaCIS.Core.Application.Triggers -{ - - // 统一处理 外部用户、中心调研(先添加 再发送邮件)、参与医生加入到项目 ----废弃 - public class AddlTrialUserTrigger( - IStringLocalizer _localizer, - IRepository _trialRepository, - IRepository _userRoleRepository) : IBeforeSaveTrigger - - { - - public async Task BeforeSave(ITriggerContext context, CancellationToken cancellationToken) - { - var trialUser = context.Entity; - - if (context.ChangeType == ChangeType.Added) - { - //批量添加的时候,使用Find 不会多次查询,优先从跟踪的内存中查找 - var trialInfo = await _trialRepository.FindAsync(trialUser.TrialId); - - // 必须包在同一个事务,有的时候是数据库还没用户,不能直接查询数据库 - var user = await _userRoleRepository.FindAsync(trialUser.UserId); - - if (trialInfo.TrialType == Domain.Share.TrialType.OfficialTrial || trialInfo.TrialType == Domain.Share.TrialType.Training) - { - - if (user.IsTestUser) - { - //---正式类型 、培训类型的项目 不允许加入测试用户 - throw new BusinessValidationFailedException(_localizer["AddlTrialUser_NoTestUser"]); - - } - } - - if (trialInfo.TrialType == TrialType.NoneOfficial) - { - - if (user.IsTestUser == false) - { - //---测试项目 不允许加入正式用户 - throw new BusinessValidationFailedException(_localizer["AddlTrialUser_NoFormalUser"]); - - } - } - } - } - } - - -} diff --git a/IRaCIS.Core.Domain/Management/User.cs b/IRaCIS.Core.Domain/Management/User.cs index 6a26dbb5e..526d7846e 100644 --- a/IRaCIS.Core.Domain/Management/User.cs +++ b/IRaCIS.Core.Domain/Management/User.cs @@ -38,35 +38,37 @@ public class UserRole : BaseFullAuditEntity public string LastName { get; set; } + + [Comment("Զлһ")] + public bool AutoCutNextTask { get; set; } + #region ɾûϢ public int Code { get; set; } public string UserCode { get; set; } - [StringLength(1000)] - public string EmailToken { get; set; } public string Password { get; set; } - public bool PasswordChanged { get; set; } public string Phone { get; set; } + public string OrganizationName { get; set; } + [StringLength(1000)] + public string EmailToken { get; set; } + + + public bool PasswordChanged { get; set; } public int? Sex { get; set; } public UserStateEnum Status { get; set; } = UserStateEnum.Enable; - public string OrganizationName { get; set; } - - public string PositionName { get; set; } - [Comment("Զлһ")] - public bool AutoCutNextTask { get; set; } public string DepartmentName { get; set; } @@ -148,7 +150,7 @@ public class IdentityUser: BaseFullAuditEntity public string PositionName { get; set; } - [Comment("Զлһ")] + [Comment("ֶηϳûɫ棬ɾ")] public bool AutoCutNextTask { get; set; } public string DepartmentName { get; set; }