中心人员添加
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-01-07 15:26:30 +08:00
parent e966779cc8
commit bbb3a41293
2 changed files with 37 additions and 1 deletions

View File

@ -683,8 +683,10 @@ namespace IRaCIS.Core.Application.Contracts
private async Task UnlockSyncSiteUserAsync(Guid trialId, Guid siteId, Guid trialSiteSurveyId, List<TrialSiteUserSurvey> userList)
{
//获取调研表用户的数据
var existList = await _trialSiteUserSurveyRepository.Where(t => t.IsHistoryUser && t.TrialSiteSurvey.TrialId == trialId && t.TrialSiteSurvey.TrialSiteId == siteId, true).ToListAsync();
//遍历中心用户最新的状态
foreach (var item in userList)
{
var find = existList.FirstOrDefault(t => t.SystemUserId == item.SystemUserId);
@ -692,11 +694,13 @@ namespace IRaCIS.Core.Application.Contracts
//不存在就加入
if (find == null)
{
//中心用户不在调研表里面,那么就添加到历史人员里面
item.TrialSiteSurveyId = trialSiteSurveyId;
await _trialSiteUserSurveyRepository.AddAsync(item);
}
else
{
//中心用户在调研表里面,那么就更新调研表用户的状态
find.IsHistoryUserOriginDeleted = item.IsHistoryUserOriginDeleted;
}
}
@ -864,6 +868,9 @@ namespace IRaCIS.Core.Application.Contracts
var existSysUser = await _identityUserRepository.Where(t => t.EMail == userEmail, true).Include(t => t.UserRoleList).FirstOrDefaultAsync();
#region 人员生成
if (existSysUser != null)
{
@ -941,11 +948,14 @@ namespace IRaCIS.Core.Application.Contracts
}
#endregion
await _identityUserRepository.SaveChangesAsync();
var identityUserId = existSysUser.Id;
#region 项目加入
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true, true).Include(t => t.TrialUserRoleList).ThenInclude(t => t.UserRole).FirstOrDefaultAsync();
@ -1011,6 +1021,29 @@ namespace IRaCIS.Core.Application.Contracts
}
}
#endregion
#region 中心加入
foreach (var userTypeId in userTypeIdList)
{
var findUserRole = existSysUser.UserRoleList.Where(t => t.UserTypeId == userTypeId).FirstOrDefault();
var findTrialSiteUserRole = await _trialSiteUserRoleRepository.Where(t => t.TrialId == trialId && t.TrialSiteId == trialSiteId && t.UserId == findUserRole.Id, true, true).FirstOrDefaultAsync();
if (findTrialSiteUserRole != null)
{
findTrialSiteUserRole.IsDeleted = false;
findTrialSiteUserRole.DeletedTime = null;
}
else
{
await _trialSiteUserRoleRepository.AddAsync(new TrialSiteUserRole() { TrialId = trialId, TrialSiteId = trialSiteId, UserId = findUserRole.Id });
}
}
#endregion
if (isNeedSendEmail)
{

View File

@ -42,10 +42,13 @@ public class TrialSiteUserSurvey : BaseFullAuditEntity
/// </summary>
public bool IsHistoryUser { get; set; }
/// <summary>
/// 调研设置用户退出
/// </summary>
public bool? IsHistoryUserDeleted { get; set; }
/// <summary>
/// 中心人员删除
/// 中心人员设置退出
/// </summary>
public bool? IsHistoryUserOriginDeleted { get; set; }
}