feat: (REQ-3300) 数据权限添加

This commit is contained in:
xudawei 2025-02-24 17:06:09 +08:00
parent db00b283de
commit 0d15dc3ec7
2 changed files with 36 additions and 23 deletions

View File

@ -110,6 +110,11 @@ public class VisaChangePageSearchReq {
*/
private Collection<Long> visaIds;
/**
* 变更签证Id集合-权限
*/
private Collection<Long> permissionVisaIds;
/**
* 是否需要主单据即是否被其他单据关联信息
*/

View File

@ -118,6 +118,8 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.groovy.util.Maps;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
@ -176,6 +178,7 @@ import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCES
*/
@Slf4j
@Service
@RefreshScope
public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, ChangeRecord> implements ChangeRecordService {
@Resource
@ -246,6 +249,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
private ApolloTaskOrderApiGateway taskOrderApiGateway;
@Resource
private DrawingAnnotationApiGateway drawingAnnotationApiGateway;
@Value("${permission.data.flag:true}")
private boolean permissionDataFlag;
/**
* 状态变更
@ -1023,15 +1028,18 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
/*筛查条件校验与修正*/
validAndAmendSearchCondition(req);
// Set<Long> permissionVisaIdSet = this.fetchPermissionVisaIdSet(req);
// if (CollectionUtils.isEmpty(permissionVisaIdSet)) {
// return PageData.<VisaChangePageSearchResp>builder()
// .page(Math.toIntExact(req.getPage()))
// .pageSize(Math.toIntExact(req.getPageSize()))
// .totalCount(0L)
// .list(Lists.newArrayList())
// .build();
// }
if (permissionDataFlag) {
Set<Long> permissionVisaIdSet = this.fetchPermissionVisaIdSet(req);
if (CollectionUtils.isEmpty(permissionVisaIdSet)) {
return PageData.<VisaChangePageSearchResp>builder()
.page(Math.toIntExact(req.getPage()))
.pageSize(Math.toIntExact(req.getPageSize()))
.totalCount(0L)
.list(Lists.newArrayList())
.build();
}
}
/*数据查询*/
Page<ChangeRecord> page = getFilter(req).page(new Page<>(req.getPage(), req.getPageSize()));
return PageData.<VisaChangePageSearchResp>builder()
@ -1051,13 +1059,13 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
.currentWorkspaceId(req.getCurrentWorkspaceId())
.currentOuId(req.getCurrentOuId())
.build();
// Set<Long> permissionVisaIdSet = this.fetchPermissionVisaIdSet(filter);
List<ChangeRecord> changeRecordList = Lists.newArrayList();
// if (CollectionUtils.isNotEmpty(permissionVisaIdSet)) {
// /*获取数据*/
// changeRecordList = getFilter(filter,permissionVisaIdSet).list();
// }
changeRecordList = getFilter(filter).list();
if (permissionDataFlag) {
Set<Long> permissionVisaIdSet = this.fetchPermissionVisaIdSet(filter);
if (CollectionUtils.isEmpty(permissionVisaIdSet)) {
return Lists.newArrayList();
}
}
List<ChangeRecord> changeRecordList = getFilter(filter).list();
if (CollectionUtils.isEmpty(changeRecordList)) {
return Collections.emptyList();
}
@ -1097,15 +1105,13 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
filter.setCurrentOuId(req.getOuId());
filter.setCurrentWorkspaceId(req.getWorkspaceId());
// Set<Long> permissionVisaIdSet = this.fetchPermissionVisaIdSet(filter);
List<ChangeRecord> changeRecordList = Lists.newArrayList();
// if (CollectionUtils.isNotEmpty(permissionVisaIdSet)) {
// /*获取数据*/
// changeRecordList = getFilter(filter,permissionVisaIdSet).list();
// }
if (permissionDataFlag) {
Set<Long> permissionVisaIdSet = this.fetchPermissionVisaIdSet(filter);
AssertUtil.notEmpty(permissionVisaIdSet, "没有数据需要导出");
}
/*获取数据*/
changeRecordList = getFilter(filter).list();
List<ChangeRecord> changeRecordList = getFilter(filter).list();
AssertUtil.notEmpty(changeRecordList, "没有数据需要导出");
/*数据转换*/
@ -1174,6 +1180,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
private LambdaQueryChainWrapper<ChangeRecord> getFilter(VisaChangePageSearchReq filter) {
LambdaQueryChainWrapper<ChangeRecord> queryChainWrapper = lambdaQuery()
.in(CollectionUtils.isNotEmpty(filter.getPermissionVisaIds()), ChangeRecord::getId, filter.getPermissionVisaIds())
.eq(Objects.nonNull(filter.getVisaId()), ChangeRecord::getId, filter.getVisaId())
.eq(NumberUtil.isPositiveNumber(filter.getWorkspaceId()), ChangeRecord::getRelationWorkspaceId, filter.getWorkspaceId())
.eq(Objects.nonNull(filter.getType()), ChangeRecord::getType, filter.getType())
@ -1237,6 +1244,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
if (CollectionUtils.isEmpty(permissionIdSet)) {
return Sets.newHashSet();
}
filter.setPermissionVisaIds(permissionIdSet);
return permissionIdSet;
}