feat: (REQ-3300) 提供列表页-personId/ouId/workspaceId获取角色
This commit is contained in:
parent
463abb9e8d
commit
2e7f0ebd68
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user