feat(REQ-2106): 按照项目部投放素材日志打印调整

This commit is contained in:
chenwenjian 2024-05-15 16:28:33 +08:00
parent bf1d8b897e
commit a22918fdd3
3 changed files with 14 additions and 6 deletions

View File

@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -20,21 +21,21 @@ public class JoinedWorkspaceOuJob {
/** /**
* 加入的项目部及在该项目部下担任的所有岗位 * 加入的项目部及在该项目部下担任的所有岗位
*/ */
private Map<Long, List<String>> workspaceJobMap; private Map<Long, List<String>> workspaceJobMap = Collections.emptyMap();
/** /**
* 加入的单位及在该单位下担任的所有岗位 * 加入的单位及在该单位下担任的所有岗位
*/ */
private Map<Long, List<String>> ouJobMap; private Map<Long, List<String>> ouJobMap = Collections.emptyMap();
/** /**
* 加入的单位及在该单位加入的项目部 * 加入的单位及在该单位加入的项目部
*/ */
private Map<Long, List<Long>> ouWorkspaceMap; private Map<Long, List<Long>> ouWorkspaceMap = Collections.emptyMap();
/** /**
* 加入的项目部及在该项目部加入的单位 * 加入的项目部及在该项目部加入的单位
*/ */
private Map<Long, List<Long>> workspaceOuMap; private Map<Long, List<Long>> workspaceOuMap = Collections.emptyMap();
} }

View File

@ -67,6 +67,10 @@ public enum MaterialTargetUserTypeEnum {
// 若配置了具体项目部 // 若配置了具体项目部
if (Objects.isNull(loginOuid) || loginOuid == 0L) { if (Objects.isNull(loginOuid) || loginOuid == 0L) {
// 未加入任何项目部
if (CollectionUtils.isEmpty(workspaceJobMap)){
return false;
}
// 加入的全部项目部与配置的项目部有交集 // 加入的全部项目部与配置的项目部有交集
if (workspaceIds.stream().anyMatch(workspaceJobMap::containsKey)) { if (workspaceIds.stream().anyMatch(workspaceJobMap::containsKey)) {
if (CollectionUtils.isEmpty(jobCodes)) { if (CollectionUtils.isEmpty(jobCodes)) {
@ -128,6 +132,9 @@ public enum MaterialTargetUserTypeEnum {
// 若配置了具体单位 // 若配置了具体单位
if (Objects.isNull(loginOuid) || loginOuid == 0L) { if (Objects.isNull(loginOuid) || loginOuid == 0L) {
if (CollectionUtils.isEmpty(ouJobMap)){
return false;
}
// 若登录单位为空工人APP登录检查用户加入的单位是否与配置单位有交集 // 若登录单位为空工人APP登录检查用户加入的单位是否与配置单位有交集
if (ouIds.stream().anyMatch(ouJobMap::containsKey)) { if (ouIds.stream().anyMatch(ouJobMap::containsKey)) {
if (CollectionUtils.isEmpty(jobCodes)) { if (CollectionUtils.isEmpty(jobCodes)) {

View File

@ -386,13 +386,13 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialDao, Material> impl
*/ */
private JoinedWorkspaceOuJob getPersonJoinedWorkspaceOuJob(Long personId) { private JoinedWorkspaceOuJob getPersonJoinedWorkspaceOuJob(Long personId) {
if (Objects.isNull(personId)) { if (Objects.isNull(personId)) {
return null; return new JoinedWorkspaceOuJob();
} }
// 获取用户参与的组织架构 // 获取用户参与的组织架构
List<OrganizationalNodeUserVO> nodeUserList = organizationalNodeUserGateway.list(OrganizationalNodeUserSearchReq.builder().personId(personId).build()); List<OrganizationalNodeUserVO> nodeUserList = organizationalNodeUserGateway.list(OrganizationalNodeUserSearchReq.builder().personId(personId).build());
if (CollectionUtils.isEmpty(nodeUserList)) { if (CollectionUtils.isEmpty(nodeUserList)) {
return null; return new JoinedWorkspaceOuJob();
} }
// Map<topNodeId, List<jobId> // Map<topNodeId, List<jobId>