diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 3f9956fd4..60e6d8733 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -13239,35 +13239,6 @@ - - - 项目退出历史数据维护 - - - - - - - - 用户多账号,初次维护数据 - - - - - - 项目用户 维护数据 - - - - - - - 外部人员 中心调研人员维护 - - - - - 维护临床数据 --一定要在同步表前同步数据才行 diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index c4384409e..c63767806 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -154,212 +154,10 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Ok(); } - /// - /// 项目退出历史数据维护 - /// - /// - /// - /// - [AllowAnonymous] - public async Task OldTrialDeleteUser([FromServices] IRepository _trialIdentityUserRepository, [FromServices] IRepository _trialUserRoleReposiotry) - { - _userInfo.IsNotNeedInspection = true; - - - if (_trialUserRoleReposiotry.Any(t => t.TrialUserId == Guid.Empty)) - { - var list = _trialUserRoleReposiotry.Where(t => t.IsDeleted == true && t.TrialUserId == Guid.Empty, false, true).Select(t => new { t.TrialId, t.UserRole.IdentityUserId, t.UserId, t.JoinTime, t.RemoveTime, t.DeletedTime, t.DeleteUserId, t.CreateUserId }).ToList(); - - - foreach (var item in list.GroupBy(t => new { t.IdentityUserId, t.TrialId })) - { - - var id = NewId.NextSequentialGuid(); - - var userRoleList = item.ToList(); - - var userIdList = item.Select(t => t.UserId).ToList(); - - var first = userRoleList.OrderByDescending(t => t.RemoveTime).FirstOrDefault(); - - - //判断在项目中是否存在 - - var find = _trialIdentityUserRepository.Where(t => t.IdentityUserId == first.IdentityUserId && t.TrialId == first.TrialId).FirstOrDefault(); - - if (find == null) - { - await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser() - { - Id = id, - IdentityUserId = item.Key.IdentityUserId, - TrialId = item.Key.TrialId, - RemoveTime = first.RemoveTime, - IsDeleted = true, - DeletedTime = first.DeletedTime, - DeleteUserId = first.DeleteUserId, - - }); - - - await _trialUserRoleReposiotry.BatchUpdateNoTrackingAsync(t => t.TrialId == item.Key.TrialId && userIdList.Contains(t.UserId), u => new TrialUserRole() { TrialUserId = id, UpdateTime = (DateTime)first.DeletedTime }); - } - else - { - await _trialUserRoleReposiotry.BatchUpdateNoTrackingAsync(t => t.TrialId == item.Key.TrialId && userIdList.Contains(t.UserId), u => new TrialUserRole() { TrialUserId = find.Id, UpdateTime = (DateTime)first.DeletedTime }); - } - } - await _trialIdentityUserRepository.SaveChangesAsync(); - } - - - - return ResponseOutput.Ok(); - } - - /// - /// 用户多账号,初次维护数据 - /// - /// - [AllowAnonymous] - public async Task UserMutiAccount([FromServices] IRepository _identityUserRepository, [FromServices] IRepository _userPasswordLogRepository) - { - - if ((await _identityUserRepository.FirstOrDefaultAsync()) == null) - { - var userList = _userRoleRepository.Where().ToList(); - - foreach (var item in userList.GroupBy(t => t.EMail.Trim().ToLower())) - { - var emailUserIdList = item.Select(t => t.Id).ToList(); - - var identityUserId = NewId.NextSequentialGuid(); - - var selectUser = item.OrderBy(t => t.CreateTime).FirstOrDefault(); - - var identityUser = _mapper.Map(selectUser); - - if (identityUser.IsFirstAdd) - { - identityUser.UserName = ""; - } - - identityUser.Id = identityUserId; - - await _identityUserRepository.AddAsync(identityUser); - - await _userRoleRepository.BatchUpdateNoTrackingAsync(t => emailUserIdList.Contains(t.Id), u => new UserRole() { IdentityUserId = identityUserId }); - - if (emailUserIdList.Count == 1) - { - var userRoleId = emailUserIdList.First(); - - await _userPasswordLogRepository.BatchUpdateNoTrackingAsync(t => t.UserId == userRoleId, u => new UserPassWordLog() { IdentityUserId = identityUserId }); - } - } - - 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(); - } - - /// - /// 项目用户 维护数据 - /// - /// - /// - [AllowAnonymous] - public async Task UserTrialUser([FromServices] IRepository _trialIdentityUserRepository, [FromServices] IRepository _trialUserRoleReposiotry) - { - _userInfo.IsNotNeedInspection = true; - - - if ((await _trialIdentityUserRepository.FirstOrDefaultAsync()) == null) - { - var list = _trialUserRoleReposiotry.Where().Select(t => new { t.TrialId, t.UserRole.IdentityUserId, t.UserId, t.JoinTime, t.RemoveTime }).ToList(); - - - foreach (var item in list.GroupBy(t => new { t.IdentityUserId, t.TrialId })) - { - - var id = NewId.NextSequentialGuid(); - - var userRoleList = item.ToList(); - - var userIdList = item.Select(t => t.UserId).ToList(); - - var first = userRoleList.First(); - - var haveJoin = userRoleList.Any(t => t.JoinTime != null); - - if (haveJoin) - { - await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser() { Id = id, IdentityUserId = item.Key.IdentityUserId, TrialId = item.Key.TrialId, JoinTime = userRoleList.Min(t => t.JoinTime) }); - - } - else - { - await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser() { Id = id, IdentityUserId = item.Key.IdentityUserId, TrialId = item.Key.TrialId, RemoveTime = userRoleList.Max(t => t.RemoveTime) }); - } - - await _trialUserRoleReposiotry.BatchUpdateNoTrackingAsync(t => t.TrialId == item.Key.TrialId && userIdList.Contains(t.UserId), u => new TrialUserRole() { TrialUserId = id }); - - } - - await _trialIdentityUserRepository.SaveChangesAsync(); - } - - - - return ResponseOutput.Ok(); - } - - /// - /// 外部人员 中心调研人员维护 - /// - /// - /// - /// - [AllowAnonymous] - [UnitOfWork] - public async Task ExternalTrialUser( - [FromServices] IRepository _trialSiteUserSurveyRepository, - [FromServices] IRepository _trialExternalUserReposiotry, - [FromServices] IRepository _userRoleRepository) - { - var list = _userRoleRepository.Select(t => new { t.Id, t.IdentityUserId }).ToList(); - - foreach (var item in list.GroupBy(t => t.IdentityUserId)) - { - var userRoleIdList = item.Select(t => t.Id).ToList(); - - var identityUserId = item.Key; - - await _trialSiteUserSurveyRepository.BatchUpdateNoTrackingAsync(t => userRoleIdList.Contains(t.SystemUserId.Value), u => new TrialSiteUserSurvey() { SystemUserId = identityUserId }); - - await _trialExternalUserReposiotry.BatchUpdateNoTrackingAsync(t => userRoleIdList.Contains(t.SystemUserId), u => new TrialExternalUser() { SystemUserId = identityUserId }); - - } - - return ResponseOutput.Ok(); - } [LowerCamelCaseJson] diff --git a/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs b/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs index ac7494a57..17d16af3b 100644 --- a/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs +++ b/IRaCIS.Core.Domain/Document/SystemDocConfirmedUser.cs @@ -1,30 +1,5 @@ namespace IRaCIS.Core.Domain.Models; -[Comment("后台 - 系统文档签署记录")] -[Table("SystemDocConfirmedUser")] -public class SystemDocConfirmedUser : BaseAddDeleteAuditEntity - -{ - #region 导航属性 - [JsonIgnore] - public SystemDocument SystemDocument { get; set; } - - [JsonIgnore] - [ForeignKey("ConfirmUserId")] - public UserRole ConfirmUser { get; set; } - #endregion - public Guid SystemDocumentId { get; set; } - - public DateTime? ConfirmTime { get; set; } - public Guid ConfirmUserId { get; set; } - - public DateTime? SignFirstViewTime { get; set; } - - [StringLength(1000)] - public string SignText { get; set; } = string.Empty; -} - - [Comment("后台 - 系统文档签署记录")] diff --git a/IRaCIS.Core.Domain/Document/TrialDocConfirmedUser.cs b/IRaCIS.Core.Domain/Document/TrialDocConfirmedUser.cs index e2ef07614..c02e0cbe0 100644 --- a/IRaCIS.Core.Domain/Document/TrialDocConfirmedUser.cs +++ b/IRaCIS.Core.Domain/Document/TrialDocConfirmedUser.cs @@ -1,26 +1,5 @@ namespace IRaCIS.Core.Domain.Models; -[Comment("项目 - 项目文档签署记录")] -[Table("TrialDocConfirmedUser")] -public class TrialDocConfirmedUser : BaseAddDeleteAuditEntity -{ - #region 导航属性 - - [JsonIgnore] - [ForeignKey("ConfirmUserId")] - public UserRole User { get; set; } - [JsonIgnore] - public TrialDocument TrialDocument { get; set; } - #endregion - public Guid TrialDocumentId { get; set; } - public DateTime? ConfirmTime { get; set; } - public Guid ConfirmUserId { get; set; } - public DateTime? SignFirstViewTime { get; set; } - - [StringLength(1000)] - public string SignText { get; set; } = string.Empty; -} - public class TrialDocConfirmedIdentityUser : BaseAddDeleteAuditEntity { diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs index 992e821af..4722043ba 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs @@ -27,11 +27,6 @@ public class TrialUserRole : BaseFullDeleteAuditEntity public Guid TrialUserId { get; set; } - #region 下个版本删除 - public DateTime? RemoveTime { get; set; } - - public DateTime? JoinTime { get; set; } - #endregion } diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index d8618ad05..6f26173c5 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -852,11 +852,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common // 系统文件签署 父层级未记录稽查(系统文档初始数据) - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemDocConfirmedUser))) + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(SystemDocConfirmedIdentityUser))) { var type = GetEntityAuditOpt(item); - var entity = item.Entity as SystemDocConfirmedUser; + var entity = item.Entity as SystemDocConfirmedIdentityUser; var extraIdentification = string.Empty; @@ -875,7 +875,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var systemDocument = await _dbContext.SystemDocument.Where(x => x.Id == entity.SystemDocumentId).FirstOrDefaultAsync(); - await InsertInspection(entity, type, x => new InspectionConvertDTO() + await InsertInspection(entity, type, x => new InspectionConvertDTO() { GeneralId = x.Id, ExtraIndentification = extraIdentification, @@ -3850,10 +3850,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common var entityTypeName = entityObj.GetType().Name; //文档签署这块,不区分系统和项目的 需要处理为同一个标识 - if (typeof(T) == typeof(TrialDocConfirmedUser) || typeof(T) == typeof(SystemDocConfirmedUser)) - { - entityTypeName = "New/" + "UserSigned"; - } + //if (typeof(T) == typeof(TrialDocConfirmedUser) || typeof(T) == typeof(SystemDocConfirmedUser)) + //{ + // entityTypeName = "New/" + "UserSigned"; + //} //默认规则 if (IsDistinctionInterface) diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 9f9142c6a..78b3ff67a 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -639,8 +639,6 @@ public class IRaCISDBContext : DbContext public virtual DbSet TrialDocConfirmedIdentityUser { get; set; } - //public virtual DbSet TrialDocConfirmedUser { get; set; } - //public virtual DbSet SystemDocConfirmedUser { get; set; } }