|
|
@@ -48,6 +48,7 @@ import org.springblade.manager.vo.*;
|
|
|
import org.springblade.manager.mapper.ArchiveTreeContractMapper;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -752,26 +753,21 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
* @param id
|
|
|
* @return
|
|
|
*/
|
|
|
- public boolean deleteTree(Long id) {
|
|
|
+ public Boolean deleteTree(Long id) {
|
|
|
ArchiveTreeContract dstNode = this.getById(id);
|
|
|
if (dstNode == null ) {
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
List<ArchiveTreeContractVO2> dstTrees = this.tree2Root(AuthUtil.getTenantId(),null,null,dstNode.getProjectId(),null);
|
|
|
if (dstTrees == null || dstTrees.size() == 0) {
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
ArchiveTreeContractVO2 subTree = ForestNodeMergerEx.getSubTree(dstTrees.get(0),id);
|
|
|
-
|
|
|
List<Long> ids = ForestNodeMergerEx.getChildrenIds(subTree);
|
|
|
-
|
|
|
ids.add(id);
|
|
|
this.deleteLogic(ids);
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
* 更轻量的删除节点树,同时删除节点下的案卷和文件
|
|
|
* @param id
|
|
|
@@ -805,6 +801,12 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
return baseMapper.getArchiveTreeContractListByListOrderByTreeSort(nodeIds);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Async
|
|
|
+ public void deleteByAncestors(Long id, Long projectId) {
|
|
|
+ baseMapper.deleteByAncestors(id, projectId);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 批量更新
|