|
@@ -16,14 +16,18 @@
|
|
*/
|
|
*/
|
|
package org.springblade.manager.service.impl;
|
|
package org.springblade.manager.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
import com.mixsmart.utils.StringUtils;
|
|
import com.mixsmart.utils.StringUtils;
|
|
|
|
+import lombok.AllArgsConstructor;
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
|
+import org.springblade.core.log.exception.ServiceException;
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
import org.springblade.core.tool.node.ForestNodeMerger;
|
|
import org.springblade.core.tool.node.ForestNodeMerger;
|
|
import org.springblade.manager.entity.ArchiveTree;
|
|
import org.springblade.manager.entity.ArchiveTree;
|
|
import org.springblade.manager.entity.ArchiveTreeContract;
|
|
import org.springblade.manager.entity.ArchiveTreeContract;
|
|
|
|
+import org.springblade.manager.mapper.ArchiveTreeMapper;
|
|
import org.springblade.manager.vo.ArchiveTreeContractAutoRuleVO;
|
|
import org.springblade.manager.vo.ArchiveTreeContractAutoRuleVO;
|
|
import org.springblade.manager.vo.ArchiveTreeContractVO;
|
|
import org.springblade.manager.vo.ArchiveTreeContractVO;
|
|
import org.springblade.manager.mapper.ArchiveTreeContractMapper;
|
|
import org.springblade.manager.mapper.ArchiveTreeContractMapper;
|
|
@@ -31,6 +35,7 @@ import org.springblade.manager.service.IArchiveTreeContractService;
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
import org.springblade.manager.vo.ArchiveTreeContractVO2;
|
|
import org.springblade.manager.vo.ArchiveTreeContractVO2;
|
|
import org.springblade.manager.vo.ArchiveTreeVO;
|
|
import org.springblade.manager.vo.ArchiveTreeVO;
|
|
|
|
+import org.springblade.manager.wrapper.ArchiveTreeContractWrapper;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
|
@@ -43,19 +48,38 @@ import java.util.*;
|
|
* @since 2023-02-18
|
|
* @since 2023-02-18
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
|
|
+@AllArgsConstructor
|
|
public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeContractMapper, ArchiveTreeContract> implements IArchiveTreeContractService {
|
|
public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeContractMapper, ArchiveTreeContract> implements IArchiveTreeContractService {
|
|
|
|
|
|
|
|
+ private final ArchiveTreeContractMapper archiveTreeContractMapper;
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public IPage<ArchiveTreeContractVO> selectArchiveTreeContractPage(IPage<ArchiveTreeContractVO> page, ArchiveTreeContractVO archiveTreeContract) {
|
|
public IPage<ArchiveTreeContractVO> selectArchiveTreeContractPage(IPage<ArchiveTreeContractVO> page, ArchiveTreeContractVO archiveTreeContract) {
|
|
return page.setRecords(baseMapper.selectArchiveTreeContractPage(page, archiveTreeContract));
|
|
return page.setRecords(baseMapper.selectArchiveTreeContractPage(page, archiveTreeContract));
|
|
}
|
|
}
|
|
@Override
|
|
@Override
|
|
public boolean initTree(String tenantId, Long projectId, List<ArchiveTree> trees){
|
|
public boolean initTree(String tenantId, Long projectId, List<ArchiveTree> trees){
|
|
|
|
+ boolean bCreate = false;
|
|
|
|
+ QueryWrapper<ArchiveTreeContract> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.eq("parent_id", 0);
|
|
|
|
+ queryWrapper.eq("ancestors", 0);
|
|
|
|
+ queryWrapper.eq("tenant_id", tenantId);
|
|
|
|
+ queryWrapper.eq("project_id", projectId);
|
|
|
|
+
|
|
|
|
+ queryWrapper.eq("status", 1);
|
|
|
|
+ queryWrapper.eq("is_deleted", 0);
|
|
|
|
+ ArchiveTreeContract archiveTreeContract = archiveTreeContractMapper.selectOne(queryWrapper);
|
|
|
|
+ if (archiveTreeContract == null) {
|
|
|
|
+ bCreate = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
//清理旧的项目归档树,待补充
|
|
//清理旧的项目归档树,待补充
|
|
clearProjectTree(tenantId,projectId);
|
|
clearProjectTree(tenantId,projectId);
|
|
|
|
+ //判断是否
|
|
|
|
|
|
- //建立父子关系,祖先关系
|
|
|
|
|
|
+ //系统模板的
|
|
List<ArchiveTreeContract> archiveTreeContracts = new ArrayList<>();
|
|
List<ArchiveTreeContract> archiveTreeContracts = new ArrayList<>();
|
|
Map<Long,Long> oldNewMap = new LinkedHashMap<>();
|
|
Map<Long,Long> oldNewMap = new LinkedHashMap<>();
|
|
|
|
|
|
@@ -99,9 +123,17 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
archiveTreeContracts.add(archiveTree);
|
|
archiveTreeContracts.add(archiveTree);
|
|
}
|
|
}
|
|
|
|
|
|
- //扩展动态节点
|
|
|
|
|
|
+ //todo 生成动态节点
|
|
|
|
+ List<ArchiveTreeContractVO2> archiveTreeContractVO2List = this.tree2(tenantId,1,null,projectId);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //todo 处理文件提名
|
|
|
|
+
|
|
|
|
+ //todo 立卷规则
|
|
|
|
+
|
|
|
|
+ //todo 生成动态节点的同名案卷
|
|
|
|
+
|
|
|
|
|
|
- //处理丽娟规则
|
|
|
|
|
|
|
|
this.saveBatch(archiveTreeContracts);
|
|
this.saveBatch(archiveTreeContracts);
|
|
return true;
|
|
return true;
|