修改稽查记录选择
continuous-integration/drone/push Build is failing Details

Test_IRC_Net8
hang 2025-09-28 16:54:13 +08:00
parent bb8fb0a968
commit a90edaff51
4 changed files with 41 additions and 2 deletions

View File

@ -148,6 +148,14 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
}
public async Task<IResponseOutput> DeleteAuditRecordUser(DeleteAuditUserCommand inCommand)
{
await _auditRecordIdentityUserRepository.BatchDeleteNoTrackingAsync(t => t.AuditRecordId == inCommand.AuditRecordId && inCommand.IdentityUserIdList.Contains(t.IdentityUserId));
return ResponseOutput.Ok();
}
/// <summary>
/// 删除稽查记录
/// </summary>

View File

@ -52,6 +52,13 @@ public class AuditRecordAddOrEdit
public List<Guid> IdnetityUserIdList { get; set; }
}
public class DeleteAuditUserCommand
{
public Guid AuditRecordId { get; set; }
public List<Guid> IdentityUserIdList { get; set; }
}
public class AuditRecordQuery : PageInput
{
public string? CompanyName { get; set; }

View File

@ -315,6 +315,8 @@ namespace IRaCIS.Application.Contracts
public DateTime? EndLastChangePassWordTime { get; set; }
public UserCeateSource? UserCeateSource { get; set; }
public Guid? AuditRecordId { get; set; }
}
public class UserRoleInfoDTO
@ -354,6 +356,9 @@ namespace IRaCIS.Application.Contracts
#endregion
public int JoinedTrialCount { get; set; }
public bool IsAuditRecordUserSelect { get; set; }
}

View File

@ -495,7 +495,7 @@ namespace IRaCIS.Core.Application.Service
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<UserListDTO>> GetUserList(UserListQueryDTO inQuery)
public async Task<PageOutput<UserListDTO>> GetUserList(UserListQueryDTO inQuery, [FromServices] IRepository<AuditRecordIdentityUser> _auditRecordIdentityUserRepository)
{
var userQueryable = _identityUserRepository.Where(x => x.UserRoleList.Any(x => x.UserTypeEnum != UserTypeEnum.SuperAdmin))
@ -518,7 +518,26 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(inQuery.UserCeateSource != null, t => t.UserCeateSource == inQuery.UserCeateSource)
.ProjectTo<UserListDTO>(_mapper.ConfigurationProvider);
return await userQueryable.ToPagedListAsync(inQuery);
var pageList = await userQueryable.ToPagedListAsync(inQuery);
if (inQuery.AuditRecordId != null)
{
var selectIdList = _auditRecordIdentityUserRepository.Where(t => t.AuditRecordId == inQuery.AuditRecordId).Select(t => t.IdentityUserId).ToList();
foreach (var item in selectIdList)
{
var find = pageList.CurrentPageData.Where(t => t.Id == item).FirstOrDefault();
if (find != null)
{
find.IsAuditRecordUserSelect = true;
}
}
}
return pageList;
}