修改稽查记录设置授权
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
hang 2025-09-28 15:22:52 +08:00
parent 5c90b66fc9
commit fb20b1f1b2
1 changed files with 15 additions and 3 deletions

View File

@ -133,7 +133,7 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
return ResponseOutput.NotOk(_localizer["AuditDocument_RepeatAuditRecord"]);
}
var find = _auditRecordRepository.Where(t => t.Id == addOrEditAuditRecord.Id, true).Include(t=>t.AuditRecordIdentityUserList).FirstOrDefault();
var find = _auditRecordRepository.Where(t => t.Id == addOrEditAuditRecord.Id, true).Include(t => t.AuditRecordIdentityUserList).FirstOrDefault();
_mapper.Map(addOrEditAuditRecord, find);
find.UpdateTime = DateTime.Now;
@ -175,10 +175,22 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
public async Task<IResponseOutput> SetAuditRecordPermission(SetAuditRecordPermissionCommand inCommand)
{
var find = _auditRecordPermissionRepository.FirstOrDefaultAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == inCommand.AuditDocumentId);
var find = await _auditRecordPermissionRepository.FirstOrDefaultAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == inCommand.AuditDocumentId);
if (find == null && inCommand.IsAuthorization)
{
await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = inCommand.AuditDocumentId }, true);
//闭包表中找到 设置Id为祖先的所有 后代 包括自己
var matchIdList = await _auditDocumentClosureRepository.Where(t => inCommand.AuditDocumentId == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
foreach (var item in matchIdList)
{
await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = item });
}
await _auditRecordPermissionRepository.SaveChangesAsync();
}
else
{