|
@@ -18,8 +18,10 @@ import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.DeptLevelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.DeptLevelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptCsmMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptCsmMapper;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysCsmUserRelationService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptRelationService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptRelationService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
|
|
@@ -40,11 +42,13 @@ import java.time.LocalDateTime;
|
|
import java.time.LocalTime;
|
|
import java.time.LocalTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
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,6 +68,8 @@ public class SysDeptController {
|
|
|
|
|
|
private final SysDeptService sysDeptService;
|
|
private final SysDeptService sysDeptService;
|
|
|
|
|
|
|
|
+ private final SysDeptMapper sysDeptMapper;
|
|
|
|
+
|
|
private final WmDaDrugEntService wmDaDrugEntService;
|
|
private final WmDaDrugEntService wmDaDrugEntService;
|
|
|
|
|
|
private final WmDaAgentService wmDaAgentService;
|
|
private final WmDaAgentService wmDaAgentService;
|
|
@@ -76,6 +82,8 @@ public class SysDeptController {
|
|
|
|
|
|
private final SysDeptRelationMapper sysDeptRelationMapper;
|
|
private final SysDeptRelationMapper sysDeptRelationMapper;
|
|
|
|
|
|
|
|
+ private final SysCsmUserRelationService sysCsmUserRelationService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取登录用户企业的有效期
|
|
* 获取登录用户企业的有效期
|
|
*
|
|
*
|
|
@@ -528,8 +536,24 @@ public class SysDeptController {
|
|
queryWrapper.eq(SysDept::getLevel, level);
|
|
queryWrapper.eq(SysDept::getLevel, level);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ 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 R.ok(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Set<Integer> deptIds = deptCsms.stream().map(SysDeptCsm::getDeptId).collect(Collectors.toSet());
|
|
|
|
+ queryWrapper.in(SysDept::getDeptId, deptIds);
|
|
|
|
+ }
|
|
|
|
+
|
|
queryWrapper.ne(SysDept::getLevel, DeptLevelEnum.ADMIN.getVal());
|
|
queryWrapper.ne(SysDept::getLevel, DeptLevelEnum.ADMIN.getVal());
|
|
- sysDeptService.page(page, queryWrapper);
|
|
|
|
|
|
+ sysDeptMapper.pageAllDept(page, queryWrapper);
|
|
|
|
|
|
List<SysDept> records = page.getRecords();
|
|
List<SysDept> records = page.getRecords();
|
|
if (CollUtil.isEmpty(records)) {
|
|
if (CollUtil.isEmpty(records)) {
|
|
@@ -595,26 +619,33 @@ public class SysDeptController {
|
|
List<Integer> cmsUserIds = (List<Integer>) params.get("userIds");
|
|
List<Integer> cmsUserIds = (List<Integer>) params.get("userIds");
|
|
List<Integer> deptIds = (List<Integer>) params.get("deptIds");
|
|
List<Integer> deptIds = (List<Integer>) params.get("deptIds");
|
|
if (CollUtil.isEmpty(cmsUserIds) || CollUtil.isEmpty(deptIds)) {
|
|
if (CollUtil.isEmpty(cmsUserIds) || CollUtil.isEmpty(deptIds)) {
|
|
- return R.failed("userIds和deptIds必填");
|
|
|
|
|
|
+ return R.failed("deptIds必填");
|
|
}
|
|
}
|
|
|
|
|
|
- deptIds.forEach(deptId -> {
|
|
|
|
- cmsUserIds.forEach(userId -> {
|
|
|
|
- Integer count = sysDeptCsmMapper.selectCount(Wrappers.<SysDeptCsm>lambdaQuery()
|
|
|
|
- .eq(SysDeptCsm::getDeptId, deptId)
|
|
|
|
- .eq(SysDeptCsm::getUserId, userId));
|
|
|
|
- if (count <= 0) {
|
|
|
|
- SysUser user = sysUserMapper.selectById(userId);
|
|
|
|
- SysDeptCsm insert = new SysDeptCsm();
|
|
|
|
- insert.setDeptId(deptId);
|
|
|
|
- insert.setUserId(userId);
|
|
|
|
- insert.setCsmName(user.getRealname());
|
|
|
|
- insert.setQrCodeId(" ");
|
|
|
|
- insert.setCorpId(" ");
|
|
|
|
- sysDeptCsmMapper.insert(insert);
|
|
|
|
- }
|
|
|
|
|
|
+ if (CollUtil.isEmpty(cmsUserIds)) {
|
|
|
|
+ // 删除关联关系
|
|
|
|
+ sysDeptCsmMapper.delete(Wrappers.<SysDeptCsm>lambdaUpdate()
|
|
|
|
+ .in(SysDeptCsm::getDeptId, deptIds));
|
|
|
|
+ } else {
|
|
|
|
+ // 建立关联关系
|
|
|
|
+ deptIds.forEach(deptId -> {
|
|
|
|
+ cmsUserIds.forEach(userId -> {
|
|
|
|
+ Integer count = sysDeptCsmMapper.selectCount(Wrappers.<SysDeptCsm>lambdaQuery()
|
|
|
|
+ .eq(SysDeptCsm::getDeptId, deptId)
|
|
|
|
+ .eq(SysDeptCsm::getUserId, userId));
|
|
|
|
+ if (count <= 0) {
|
|
|
|
+ SysUser user = sysUserMapper.selectById(userId);
|
|
|
|
+ SysDeptCsm insert = new SysDeptCsm();
|
|
|
|
+ insert.setDeptId(deptId);
|
|
|
|
+ insert.setUserId(userId);
|
|
|
|
+ insert.setCsmName(user.getRealname());
|
|
|
|
+ insert.setQrCodeId(" ");
|
|
|
|
+ insert.setCorpId(" ");
|
|
|
|
+ sysDeptCsmMapper.insert(insert);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
});
|
|
});
|
|
- });
|
|
|
|
|
|
+ }
|
|
|
|
|
|
return R.ok(Boolean.TRUE);
|
|
return R.ok(Boolean.TRUE);
|
|
}
|
|
}
|