diff --git a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs index da6fee876..266f49ba6 100644 --- a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs @@ -335,13 +335,10 @@ public class AuditDocumentService(IRepository _auditDocumentRepos var file = data.Where(x => x.Id == id).FirstOrDefault(); if (file.AuditDocumentTypeEnum == AuditDocumentType.Folder) { - - if (finChild(new List { id }, inDto.ParentId, data)) { throw new BusinessValidationFailedException(_localizer["AuditDocument_CanNotMove"]); } - } } @@ -367,10 +364,6 @@ public class AuditDocumentService(IRepository _auditDocumentRepos foreach (var id in inDto.Ids) { - - - - await _auditDocumentRepository.UpdatePartialFromQueryAsync(id, x => new AuditDocument() { ParentId = inDto.ParentId @@ -382,13 +375,56 @@ public class AuditDocumentService(IRepository _auditDocumentRepos return ResponseOutput.Ok(); } + /// + /// 复制文件或者文件夹 + /// + /// + /// + [HttpPost] + public async Task CopyFileOrFolder(MovieFileOrFolderInDto inDto) + { - /// - /// 获取历史版本 - /// - /// - /// - [HttpPost] + foreach (var item in inDto.Ids) + { + var data = (await GetAuditDocumentData(new GetAuditDocumentDataInDto() + { + Id =item, + PageIndex=1, + PageSize= 1000 + })).CurrentPageData; + + List auditDocumentAddOrEdits = _mapper.Map>(inDto); + auditDocumentAddOrEdits.ForEach(x => x.IsUpdate = false); + await addData(auditDocumentAddOrEdits); + } + + async Task addData(List data) + { + foreach (var item in data) + { + var result = await AddOrUpdateAuditDocument(item); + + item.Children.ForEach(x => { + x.ParentId = result.Id; + x.IsUpdate = false; + + }); + + if (item.Children.Count() > 0) + { + await addData(item.Children); + } + } + } + return ResponseOutput.Ok(); + } + + /// + /// 获取历史版本 + /// + /// + /// + [HttpPost] public async Task> GetHistoricalVersion(GetHistoricalVersionInDto inDto) { diff --git a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs index bdb49c496..d68f6a68a 100644 --- a/IRaCIS.Core.Application/Service/Document/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Document/_MapConfig.cs @@ -14,6 +14,7 @@ namespace IRaCIS.Core.Application.Service var userId = Guid.Empty; var isEn_Us = false; + CreateMap(); CreateMap(); CreateMap(); CreateMap();