|
@@ -421,7 +421,24 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
@Override
|
|
|
public IPage<ArchivesAutoVO> pageByAuthenticate(ArchivesAutoVO vo) {
|
|
|
IPage<ArchivesAutoVO> page = new Page<>(vo.getCurrent(),vo.getSize());
|
|
|
- List<ArchivesAutoVO> list = baseMapper.pageByAuthenticate(page, vo);
|
|
|
+ //根据权限返回结果
|
|
|
+ ContractInfo contractInfo = contractClient.getContractById(vo.getContractId());
|
|
|
+ Integer contractType = contractInfo.getContractType();
|
|
|
+ //根据用户在当前合同段的权限,判断返回
|
|
|
+ BladeUser user = AuthUtil.getUser();
|
|
|
+ String name = baseMapper.getUserRoleName(vo.getProjectId(),vo.getContractId(),user.getUserId());
|
|
|
+ List<ArchivesAutoVO> list = new ArrayList<>();
|
|
|
+ if (name.contains("超级管理员") || contractType == 3) {
|
|
|
+ list = baseMapper.pageByAuthenticate(page, vo);
|
|
|
+ }else {
|
|
|
+ ArchiveTreeContract node = archiveTreeContractClient.getArchiveTreeContractById(vo.getNodeId());
|
|
|
+ if (node.getAncestors().split(",").length <= 2){
|
|
|
+ //查询当前合同
|
|
|
+ ArchiveTreeContract archiveTreeContract = archiveTreeContractClient.getArchiveTreeContractByNodeName(contractInfo.getContractName());
|
|
|
+ vo.setNodeId(archiveTreeContract.getId());
|
|
|
+ }
|
|
|
+ list = baseMapper.pageByAuthenticate(page, vo);
|
|
|
+ }
|
|
|
return page.setRecords(list);
|
|
|
}
|
|
|
|