feat: (REQ-3300) 提供列表页-personId/ouId/workspaceId获取角色

This commit is contained in:
xudawei 2025-02-11 16:16:56 +08:00
parent 463abb9e8d
commit 2e7f0ebd68

View File

@ -1,21 +1,26 @@
package cn.axzo.nanopart.visa.server.service;
import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest;
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
import cn.axzo.nanopart.visa.server.domain.ChangeRecordConfirm;
import cn.axzo.nanopart.visa.server.dto.VisaAddLogContext;
import cn.axzo.nanopart.visa.server.dto.VisaConfirmDto;
import cn.axzo.nanopart.visa.server.dto.VisaLogParam;
import cn.axzo.nanopart.visa.server.rpc.ApolloConstructionAreaGateway;
import cn.axzo.nanopart.visa.server.rpc.DrawingMajorGateway;
import cn.axzo.nanopart.visa.server.utils.Constants;
import cn.axzo.thor.client.model.DrawingMajorResp;
import com.alibaba.fastjson.JSONArray;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@ -45,6 +50,9 @@ public class VisaHelper {
@Resource
private ApolloConstructionAreaGateway apolloConstructionAreaGateway;
@Resource
private ChangeRecordConfirmService changeRecordConfirmService;
/**
* 状态更新与添加日志此时新增记录时状态没有维护
*/
@ -144,4 +152,24 @@ public class VisaHelper {
}
}
/**
* 查询单据与当前人的角色:[发起人确认人其他用户]
*/
public Map<Long,Set<VisaConfirmBizTypeEnum>> fetchConfirmBizTypes(Collection<Long> visaIds, Long personId, Long ouId, Long workspaceId) {
List<ChangeRecordConfirm> confirmList = changeRecordConfirmService.findByCondition(VisaConfirmDto.builder()
.visaIds(visaIds)
.personId(personId)
.ouId(ouId)
.workspaceId(workspaceId).build());
if (CollectionUtils.isEmpty(confirmList)) {
return visaIds.stream().collect(Collectors.toMap(visaId -> visaId, visaId -> Sets.newHashSet(VisaConfirmBizTypeEnum.OTHER)));
}
Map<Long, Set<VisaConfirmBizTypeEnum>> visaBizTypeMap = confirmList.stream().collect(Collectors.groupingBy(ChangeRecordConfirm::getVisaId
, Collectors.mapping(ChangeRecordConfirm::getBizType, Collectors.toSet())));
visaIds.stream().forEach(item -> {
visaBizTypeMap.put(item, visaBizTypeMap.getOrDefault(item, Sets.newHashSet(VisaConfirmBizTypeEnum.OTHER)));
});
return visaBizTypeMap;
}
}