|
@@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptCsm;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.entity.*;
|
|
import com.qunzhixinxi.hnqz.admin.entity.*;
|
|
@@ -46,12 +47,11 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
-import java.util.Collection;
|
|
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
-import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -64,7 +64,6 @@ import java.util.stream.Collectors;
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent> implements WmDaAgentService {
|
|
public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent> implements WmDaAgentService {
|
|
private final SysDeptService sysDeptService;
|
|
private final SysDeptService sysDeptService;
|
|
- private final SysUserService sysUserService;
|
|
|
|
private final SysUserMapper sysUserMapper;
|
|
private final SysUserMapper sysUserMapper;
|
|
private final WmDaAgentMapper wmDaAgentMapper;
|
|
private final WmDaAgentMapper wmDaAgentMapper;
|
|
private final WmDaDrugEntMapper wmDaDrugEntMapper;
|
|
private final WmDaDrugEntMapper wmDaDrugEntMapper;
|
|
@@ -79,6 +78,8 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
|
|
private final SysDeptSubMapper sysDeptSubMapper;
|
|
private final SysDeptSubMapper sysDeptSubMapper;
|
|
private final WmTaskSubmissionRuleService taskSubmissionRuleService;
|
|
private final WmTaskSubmissionRuleService taskSubmissionRuleService;
|
|
private final WmTaskSubmissionPercentRuleService taskSubmissionPercentRuleService;
|
|
private final WmTaskSubmissionPercentRuleService taskSubmissionPercentRuleService;
|
|
|
|
+ private final SysCsmUserRelationService sysCsmUserRelationService;
|
|
|
|
+ private final SysDeptCsmMapper sysDeptCsmMapper;
|
|
private final RedisTemplate redisTemplate;
|
|
private final RedisTemplate redisTemplate;
|
|
|
|
|
|
public String getDeptBuildName(String deptId) {
|
|
public String getDeptBuildName(String deptId) {
|
|
@@ -755,9 +756,32 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
|
|
}
|
|
}
|
|
return wmDeptList;
|
|
return wmDeptList;
|
|
} else {
|
|
} else {
|
|
- SysDeptRelation sysDeptRelation = new SysDeptRelation();
|
|
|
|
- sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
|
|
|
|
- List<SysDeptRelation> sysDeptRelationList = sysDeptRelationMapper.selectDeptRelationsList(sysDeptRelation);
|
|
|
|
|
|
+
|
|
|
|
+ final List<SysDeptRelation> sysDeptRelationList = new ArrayList<>();
|
|
|
|
+ if (SecurityUtils.getRoles().contains(19)) {
|
|
|
|
+ // CSM只能查看自己维护的企业下的数据, 以及下属维护的企业下的数据
|
|
|
|
+ Integer userId = SecurityUtils.getUser().getId();
|
|
|
|
+ // 递归查询下属关联的userId
|
|
|
|
+ Set<Integer> allUserIds = sysCsmUserRelationService.recurseCsmLowerUserId(Collections.singleton(userId), new AtomicInteger(10));
|
|
|
|
+ // 查询企业id
|
|
|
|
+ List<SysDeptCsm> deptCsms = sysDeptCsmMapper.selectList(Wrappers.<SysDeptCsm>lambdaQuery()
|
|
|
|
+ .in(SysDeptCsm::getUserId, allUserIds));
|
|
|
|
+ if (CollUtil.isEmpty(deptCsms)) {
|
|
|
|
+ return Collections.emptyList();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ deptCsms.forEach(deptCsm -> {
|
|
|
|
+ SysDeptRelation sysDeptRelation = new SysDeptRelation();
|
|
|
|
+ sysDeptRelation.setAncestor(deptCsm.getDeptId());
|
|
|
|
+ List<SysDeptRelation> relations = sysDeptRelationMapper.selectDeptRelationsList(sysDeptRelation);
|
|
|
|
+ sysDeptRelationList.addAll(relations);
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ SysDeptRelation sysDeptRelation = new SysDeptRelation();
|
|
|
|
+ sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
|
|
|
|
+ sysDeptRelationList.addAll(sysDeptRelationMapper.selectDeptRelationsList(sysDeptRelation));
|
|
|
|
+ }
|
|
|
|
+
|
|
List<WmDaAgent> wmDaAgentList = new ArrayList<>();
|
|
List<WmDaAgent> wmDaAgentList = new ArrayList<>();
|
|
List<WmDaDrugEnt> wmDaDrugEntList = new ArrayList<>();
|
|
List<WmDaDrugEnt> wmDaDrugEntList = new ArrayList<>();
|
|
List<SysDept> sysDeptList = new ArrayList<>();
|
|
List<SysDept> sysDeptList = new ArrayList<>();
|