|
@@ -21,8 +21,12 @@ import org.springblade.business.vo.TaskVO;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.evisa.feign.EVisaClient;
|
|
|
+import org.springblade.manager.entity.ContractInfo;
|
|
|
import org.springblade.manager.feign.ArchiveTreeClient;
|
|
|
+import org.springblade.manager.feign.ContractClient;
|
|
|
import org.springblade.manager.vo.ArchiveTreeVO;
|
|
|
+import org.springblade.system.entity.Role;
|
|
|
+import org.springblade.system.feign.ISysClient;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
@@ -33,10 +37,7 @@ import org.springblade.business.service.IArchiveFileService;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 控制器
|
|
@@ -60,6 +61,10 @@ public class ArchiveFileController extends BladeController {
|
|
|
|
|
|
private final EVisaClient eVisaClient;
|
|
|
|
|
|
+ private final ContractClient contractClient;
|
|
|
+
|
|
|
+ private final ISysClient sysClient;
|
|
|
+
|
|
|
/**
|
|
|
* 批量认证(特殊签章 签个透明空白图片,主要目的是在验签的时候有验签信息 )
|
|
|
*/
|
|
@@ -226,8 +231,46 @@ public class ArchiveFileController extends BladeController {
|
|
|
@PostMapping("/tree")
|
|
|
@ApiOperationSupport(order = 2)
|
|
|
@ApiOperation(value = "获取归档划分树")
|
|
|
- public R<List<ArchiveTreeVO>> tree(){
|
|
|
- return this.archiveTreeClient.tree(1,2);
|
|
|
+ public R<List<ArchiveTreeVO>> tree(@RequestParam String contractId){
|
|
|
+ //查询合同段信息
|
|
|
+ ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(contractId));
|
|
|
+ String roleName;
|
|
|
+ switch (contractInfo.getContractType()){
|
|
|
+ case 2:
|
|
|
+ roleName = "监理";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ roleName = "业主";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ roleName = "施工";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ //获取归档树
|
|
|
+ List<ArchiveTreeVO> result = this.archiveTreeClient.tree(1,2).getData();
|
|
|
+
|
|
|
+ String finalRoleName = roleName;
|
|
|
+ result.forEach(archiveTreeVO -> {
|
|
|
+ if("0".equals(archiveTreeVO.getParentId().toString())){
|
|
|
+ //根节点,获取子级判断合同段权限
|
|
|
+ if(archiveTreeVO.getChildren() != null && archiveTreeVO.getChildren().size() > 0){
|
|
|
+ Iterator<ArchiveTreeVO> iterator = archiveTreeVO.getChildren().iterator();
|
|
|
+ while (iterator.hasNext()){
|
|
|
+ ArchiveTreeVO next = iterator.next();
|
|
|
+ if(StringUtils.isNotEmpty(next.getPostType())){
|
|
|
+ Role role = this.sysClient.getRole(Long.parseLong(next.getPostType())).getData();
|
|
|
+ if(role != null){
|
|
|
+ if(!role.getRoleName().contains(finalRoleName)){
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return R.data(result);
|
|
|
}
|
|
|
|
|
|
/**
|