From d2571d5f799baad71b89eddf8029e590b9321fd5 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Fri, 18 Apr 2025 11:41:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Document/AuditDocumentService.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs index 08b2cd225..78764963b 100644 --- a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs @@ -533,14 +533,32 @@ public class AuditDocumentService(IRepository _auditDocumentRepos List allid = new List(); findChild(allid, inDto.Ids, data); - - await _auditDocumentRepository.UpdatePartialFromQueryAsync(t => allid.Contains(t.Id), x => new AuditDocument() { + if (inDto.IsAuthorization) + { + findParent(allid, inDto.Ids, data); + } + allid= allid.Distinct().ToList(); + await _auditDocumentRepository.UpdatePartialFromQueryAsync(t => allid.Contains(t.Id), x => new AuditDocument() { IsAuthorization = inDto.IsAuthorization }); await _auditDocumentRepository.SaveChangesAsync(); return ResponseOutput.Ok(); + void findParent(List allId, List current, List data) + { + allId.AddRange(current); + var parent = data.Where(x => current.Contains(x.Id)).Select(x => x.Id).ToList(); + + if (parent.Count() > 0) + { + + + findChild(allId, parent, data); + + } + } + void findChild(List allId,List current, List data) { allId.AddRange(current);