|
@@ -1,20 +1,20 @@
|
|
|
package com.jzg.organization.service.impl;
|
|
package com.jzg.organization.service.impl;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+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.jzg.commons.core.base.BaseController;
|
|
import com.jzg.commons.core.base.BaseController;
|
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
|
|
|
+import com.jzg.commons.entity.dto.SysUserJzgInfoDto;
|
|
|
import com.jzg.commons.entity.po.*;
|
|
import com.jzg.commons.entity.po.*;
|
|
|
import com.jzg.commons.entity.dto.SysDeptParam;
|
|
import com.jzg.commons.entity.dto.SysDeptParam;
|
|
|
-import com.jzg.commons.entity.vo.ChangeDeptVo;
|
|
|
|
|
-import com.jzg.commons.entity.vo.DeptLeaderVo;
|
|
|
|
|
-import com.jzg.commons.entity.vo.SysUserVo;
|
|
|
|
|
|
|
+import com.jzg.commons.entity.vo.*;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
import com.jzg.commons.util.AssertionUtils;
|
|
import com.jzg.commons.util.AssertionUtils;
|
|
|
import com.jzg.commons.util.StringUtils;
|
|
import com.jzg.commons.util.StringUtils;
|
|
|
import com.jzg.commons.util.idgen.IdGenerate;
|
|
import com.jzg.commons.util.idgen.IdGenerate;
|
|
|
-import com.jzg.commons.entity.vo.SysDeptVo;
|
|
|
|
|
import com.jzg.organization.mapper.SysDeptMapper;
|
|
import com.jzg.organization.mapper.SysDeptMapper;
|
|
|
import com.jzg.organization.service.*;
|
|
import com.jzg.organization.service.*;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -147,7 +147,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional
|
|
@Transactional
|
|
|
- public HttpResult deleteDept(SysDeptVo sysDeptVo) {
|
|
|
|
|
|
|
+ public HttpResult<String> deleteDept(SysDeptVo sysDeptVo) {
|
|
|
SysDept sysDept = getById(sysDeptVo.getId());
|
|
SysDept sysDept = getById(sysDeptVo.getId());
|
|
|
if (sysDept == null) {
|
|
if (sysDept == null) {
|
|
|
throw new SystemException("机构不存在");
|
|
throw new SystemException("机构不存在");
|
|
@@ -159,7 +159,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
SysUserVo vo = new SysUserVo();
|
|
SysUserVo vo = new SysUserVo();
|
|
|
vo.setDeptId(sysDept.getId());
|
|
vo.setDeptId(sysDept.getId());
|
|
|
List<SysUserVo> userInfo = userService.getUserInfo(vo);
|
|
List<SysUserVo> userInfo = userService.getUserInfo(vo);
|
|
|
- if (userInfo.stream().count() > 0) {
|
|
|
|
|
|
|
+ if ((long) userInfo.size() > 0) {
|
|
|
throw new SystemException(sysDept.getName() + "机构下还有其他用户请将这些用户删除后,再进行删除");
|
|
throw new SystemException(sysDept.getName() + "机构下还有其他用户请将这些用户删除后,再进行删除");
|
|
|
}
|
|
}
|
|
|
sysDeptMapper.deleteById(sysDeptVo.getId());
|
|
sysDeptMapper.deleteById(sysDeptVo.getId());
|
|
@@ -168,7 +168,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional
|
|
@Transactional
|
|
|
- public HttpResult batchDeleteDept(SysDeptVo sysDeptVo) {
|
|
|
|
|
|
|
+ public HttpResult<String> batchDeleteDept(SysDeptVo sysDeptVo) {
|
|
|
sysDeptVo.getDeptIds().forEach(id->{
|
|
sysDeptVo.getDeptIds().forEach(id->{
|
|
|
SysDeptVo vo = new SysDeptVo();
|
|
SysDeptVo vo = new SysDeptVo();
|
|
|
vo.setId(id);
|
|
vo.setId(id);
|
|
@@ -179,6 +179,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<SysDeptVo> getDeptTree(String deptId, SysDeptParam param) {
|
|
public List<SysDeptVo> getDeptTree(String deptId, SysDeptParam param) {
|
|
|
|
|
+ log.info("查询部门信息:deptTid=[{}],param=[{}]",deptId, JSONUtil.toJsonStr(param));
|
|
|
deptId = Objects.toString(deptId, "");
|
|
deptId = Objects.toString(deptId, "");
|
|
|
|
|
|
|
|
String userSystemCode = Optional.ofNullable(param.getSysCode())
|
|
String userSystemCode = Optional.ofNullable(param.getSysCode())
|
|
@@ -189,9 +190,15 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
SysSystem bySysCode = sysSystemService.getBySysCode(userSystemCode);
|
|
SysSystem bySysCode = sysSystemService.getBySysCode(userSystemCode);
|
|
|
SysDept sysDept = getById(deptId);
|
|
SysDept sysDept = getById(deptId);
|
|
|
|
|
|
|
|
|
|
+ List<String> deptTids = this.obatinDeptTids(param.getUserInfo());
|
|
|
List<SysDeptVo> voDept = baseMapper.selectDeptVoList(deptId, userSystemCode, param.getName())
|
|
List<SysDeptVo> voDept = baseMapper.selectDeptVoList(deptId, userSystemCode, param.getName())
|
|
|
.stream()
|
|
.stream()
|
|
|
- .map(item -> {
|
|
|
|
|
|
|
+ .filter(action->{
|
|
|
|
|
+ if(CollUtil.isEmpty(deptTids)){
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return deptTids.contains(action.getId());
|
|
|
|
|
+ }).map(item -> {
|
|
|
SysDeptVo sysDeptVo = new SysDeptVo(item);
|
|
SysDeptVo sysDeptVo = new SysDeptVo(item);
|
|
|
|
|
|
|
|
// 获取区域信息
|
|
// 获取区域信息
|
|
@@ -212,7 +219,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
|
|
|
|
|
return sysDeptVo;
|
|
return sysDeptVo;
|
|
|
})
|
|
})
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ .toList();
|
|
|
|
|
|
|
|
// 按父ID分组
|
|
// 按父ID分组
|
|
|
Map<String, List<SysDeptVo>> deptMap = voDept.stream()
|
|
Map<String, List<SysDeptVo>> deptMap = voDept.stream()
|
|
@@ -231,6 +238,28 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
return sysDeptVos;
|
|
return sysDeptVos;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 根据用户信息查询用户关联的机构的序号
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author lipf
|
|
|
|
|
+ * @date 2026/5/6 15:48
|
|
|
|
|
+ */
|
|
|
|
|
+ private List<String> obatinDeptTids(String userInfo) {
|
|
|
|
|
+ List<String> deptTids = new ArrayList<>();
|
|
|
|
|
+ if(StringUtils.isNotEmpty(userInfo)){
|
|
|
|
|
+ Page page = new Page();
|
|
|
|
|
+ SysUserInfoListVo sysUserInfoListVo = new SysUserInfoListVo();
|
|
|
|
|
+ sysUserInfoListVo.setIsMember("1");
|
|
|
|
|
+ sysUserInfoListVo.setSalesman(userInfo);
|
|
|
|
|
+ Page<SysUserJzgInfoDto> userInfoList = userService.getUserInfoList(page, sysUserInfoListVo);
|
|
|
|
|
+ List<SysUserJzgInfoDto> records = userInfoList.getRecords();
|
|
|
|
|
+ if(CollUtil.isNotEmpty(records)){
|
|
|
|
|
+ deptTids = records.stream().map(SysUserJzgInfoDto::getDeptId).toList();
|
|
|
|
|
+ log.info("查询出的用户信息所在部门:[{}]", JSONUtil.toJsonStr(deptTids));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return deptTids;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -241,9 +270,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
if(Objects.isNull(user)){
|
|
if(Objects.isNull(user)){
|
|
|
throw new SystemException("用户不存在");
|
|
throw new SystemException("用户不存在");
|
|
|
}
|
|
}
|
|
|
- depts.forEach(item->{
|
|
|
|
|
- item.setLeaderId(deptLeaderVo.getLeaderId());
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ depts.forEach(item-> item.setLeaderId(deptLeaderVo.getLeaderId()));
|
|
|
return this.updateBatchById(depts);
|
|
return this.updateBatchById(depts);
|
|
|
}
|
|
}
|
|
|
|
|
|