|
|
@@ -148,14 +148,33 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
}
|
|
|
|
|
|
private List<String> queryList(List<String> collect, List<String> ids) {
|
|
|
- if (collect.size() > 0) {
|
|
|
+// if (collect.size() > 0) {
|
|
|
+// for (String id : collect) {
|
|
|
+// List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
+// .eq(SysUser::getLeaderId, id).ne(SysUser::getStatus, 0));
|
|
|
+// if (sysUsers.size() > 0) {
|
|
|
+// List<String> list = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
|
|
|
+// ids.addAll(list);
|
|
|
+// queryList(list, ids);
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+ int size = collect.size();
|
|
|
+ if (size > 0) {
|
|
|
+ List<String> strings = new ArrayList<>();
|
|
|
for (String id : collect) {
|
|
|
List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
.eq(SysUser::getLeaderId, id).ne(SysUser::getStatus, 0));
|
|
|
+// List<SysUser> sysUsers = sysUserMapper.querySourceId(id);
|
|
|
if (sysUsers.size() > 0) {
|
|
|
List<String> list = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
|
|
|
+ strings.addAll(list);
|
|
|
ids.addAll(list);
|
|
|
- queryList(list, ids);
|
|
|
+ if (collect.indexOf(id) + 1 == size) {
|
|
|
+ queryList(strings, ids);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
}
|
|
|
@@ -272,16 +291,15 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
insOrdersPage = page(page, wrapper);
|
|
|
|
|
|
} else if (addressInfoDto.getType() == 2) {
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
List<SysUser> sysUsers = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>()
|
|
|
.eq(SysUser::getLeaderId, addressInfoDto.getQueryId()).ne(SysUser::getStatus, 0));
|
|
|
List<String> collect = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
|
|
|
- List<String> ids = new ArrayList<>();
|
|
|
+ if (collect.size() == 0) return new BasePageResult<>(addressInfoDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
|
|
|
+ insOrdersPage.getRecords());
|
|
|
+
|
|
|
List<String> idList = queryList(collect, ids);
|
|
|
collect.addAll(idList);
|
|
|
- if (collect.size() == 0) {
|
|
|
- return new BasePageResult<>(addressInfoDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
|
|
|
- insOrdersPage.getRecords());
|
|
|
- }
|
|
|
|
|
|
LambdaQueryWrapper<SysPcAddress> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(StringUtils.isNotEmpty(addressInfoDto.getLng()), SysPcAddress::getLongitude, addressInfoDto.getLng());
|
|
|
@@ -526,9 +544,18 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
//获取领导字段不为空的人的ID
|
|
|
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.isNotNull("leader_id");
|
|
|
-
|
|
|
+ List<SysUser> userList = null;
|
|
|
List<SysUser> users = sysUserMapper.selectList(queryWrapper);
|
|
|
- List<SysUser> userList = users.stream().filter(SysUser -> !SysUser.getId().contains("M")).collect(Collectors.toList());
|
|
|
+ if (users.size()>0) {
|
|
|
+ //排除前线员工
|
|
|
+ userList = users.stream().filter(SysUser -> !SysUser.getId().contains("M")).collect(Collectors.toList());
|
|
|
+ //填充所属机构名称
|
|
|
+ for (SysUser user : userList) {
|
|
|
+ String deptName = getDeptName(user.getDeptId());
|
|
|
+ user.setDeptName(deptName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (users == null || users.size() == 0) {
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
@@ -545,6 +572,8 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
return topUsers;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private void buildUserTree(List<SysUser> topUsers, List<SysUser> users) {
|
|
|
for (SysUser user : topUsers) {
|
|
|
List<SysUser> children = new ArrayList<>();
|
|
|
@@ -559,6 +588,84 @@ public class SysPcAddressServiceImpl extends ServiceImpl<SysPcAddressMapper, Sys
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private String getDeptName(String deptId) {
|
|
|
+ StringBuilder stringBuilder = new StringBuilder();
|
|
|
+ SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
|
|
|
+ .eq(SysDept::getId, deptId).eq(SysDept::getDelFlag, 0));
|
|
|
+ if (StringUtils.isEmpty(sysDept.getComlevel())) {
|
|
|
+ SysDept sysDept5 = sysDeptMapper.selectById(sysDept.getParentId());
|
|
|
+ if (sysDept5 == null) {
|
|
|
+ stringBuilder.append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ SysDept sysDept4 = sysDeptMapper.selectById(sysDept5.getParentId());
|
|
|
+ if (sysDept4 == null) {
|
|
|
+ stringBuilder.append(sysDept5.getName()).append("-").append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ SysDept sysDept3 = sysDeptMapper.selectById(sysDept4.getParentId());
|
|
|
+ if (sysDept3 == null) {
|
|
|
+ stringBuilder.append(sysDept4.getName())
|
|
|
+ .append("-").append(sysDept5.getName()).append("-").append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
|
|
|
+ if (sysDept2 == null) {
|
|
|
+ stringBuilder.append(sysDept3.getName()).append("-").append(sysDept4.getName())
|
|
|
+ .append("-").append(sysDept5.getName()).append("-").append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName())
|
|
|
+ .append("-").append(sysDept4.getName()).append("-").append(sysDept5.getName()).append("-").append(sysDept.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if (sysDept.getComlevel().equals("5")) {
|
|
|
+ SysDept sysDept4 = sysDeptMapper.selectById(sysDept.getParentId());
|
|
|
+ if (sysDept4 == null) {
|
|
|
+ stringBuilder.append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ SysDept sysDept3 = sysDeptMapper.selectById(sysDept4.getParentId());
|
|
|
+ if (sysDept3 == null) {
|
|
|
+ stringBuilder.append(sysDept4.getName()).append("-").append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
|
|
|
+ if (sysDept2 == null) {
|
|
|
+ stringBuilder.append(sysDept3.getName()).append("-").append(sysDept4.getName()).append("-").append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName()).append("-").append(sysDept4.getName()).append("-").append(sysDept.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if (sysDept.getComlevel().equals("4")) {
|
|
|
+ SysDept sysDept3 = sysDeptMapper.selectById(sysDept.getParentId());
|
|
|
+ if (sysDept3 == null) {
|
|
|
+ stringBuilder.append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ SysDept sysDept2 = sysDeptMapper.selectById(sysDept3.getParentId());
|
|
|
+ if (sysDept2 == null) {
|
|
|
+ stringBuilder.append(sysDept3.getName()).append("-").append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ stringBuilder.append(sysDept2.getName()).append("-").append(sysDept3.getName()).append("-").append(sysDept.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if (sysDept.getComlevel().equals("3")) {
|
|
|
+ SysDept sysDept2 = sysDeptMapper.selectById(sysDept.getParentId());
|
|
|
+ if (sysDept2 == null) {
|
|
|
+ stringBuilder.append(sysDept.getName());
|
|
|
+ }else {
|
|
|
+ stringBuilder.append(sysDept2.getName()).append("-").append(sysDept.getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ }else if (sysDept.getComlevel().equals("2")) {
|
|
|
+ stringBuilder.append(sysDept.getName());
|
|
|
+ }
|
|
|
+ String s = stringBuilder.toString();
|
|
|
+ if (s.contains("总部-")) {
|
|
|
+ stringBuilder.replace(0,3,"");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return stringBuilder.toString();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|