|
|
@@ -1,18 +1,22 @@
|
|
|
package com.jzg.organization.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.jzg.commons.core.base.BaseController;
|
|
|
import com.jzg.commons.core.page.HttpResult;
|
|
|
+import com.jzg.commons.entity.po.SysDept;
|
|
|
+import com.jzg.commons.entity.po.SysSystem;
|
|
|
+import com.jzg.commons.entity.vo.SysUserVo;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
import com.jzg.commons.util.idgen.IdGenerate;
|
|
|
-import com.jzg.organization.entity.po.SysDept;
|
|
|
-import com.jzg.organization.entity.po.SysSystem;
|
|
|
-import com.jzg.organization.entity.vo.SysDeptVo;
|
|
|
-import com.jzg.organization.entity.vo.SysUserVo;
|
|
|
+import com.jzg.commons.entity.vo.SysDeptVo;
|
|
|
+import com.jzg.commons.entity.po.SysDept;
|
|
|
+import com.jzg.commons.entity.po.SysSystem;
|
|
|
+import com.jzg.commons.entity.vo.SysDeptVo;
|
|
|
+import com.jzg.commons.entity.vo.SysUserVo;
|
|
|
import com.jzg.organization.mapper.SysDeptMapper;
|
|
|
import com.jzg.organization.service.SysDeptService;
|
|
|
-import com.jzg.commons.util.AssertionUtils;
|
|
|
import com.jzg.organization.service.SysSystemService;
|
|
|
import com.jzg.organization.service.SysUserService;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -41,9 +45,19 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public SysDeptVo addDept(SysDeptVo sysDeptVo) {
|
|
|
+ public boolean addDept(SysDeptVo sysDeptVo) {
|
|
|
SysDept sysDept = new SysDept();
|
|
|
BeanUtils.copyProperties(sysDeptVo, sysDept);
|
|
|
+ //处理展业信息
|
|
|
+ String exhibitionScope = "";
|
|
|
+ for(int i=0;i<sysDeptVo.getExhibitionScope().size();i++){
|
|
|
+ exhibitionScope += sysDeptVo.getExhibitionScope().get(i) + ",";
|
|
|
+ }
|
|
|
+ if(exhibitionScope.length() > 0)
|
|
|
+ {
|
|
|
+ exhibitionScope = exhibitionScope.substring(0,exhibitionScope.length()-1);
|
|
|
+ }
|
|
|
+ sysDept.setExhibitionScope(exhibitionScope);
|
|
|
sysDept.setId(IdGenerate.nextId());
|
|
|
//获取父级id
|
|
|
String parentId = sysDept.getParentId();
|
|
|
@@ -58,31 +72,37 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
sysDept.setRoute(sysDept.getId());
|
|
|
}
|
|
|
|
|
|
- boolean b = this.save(sysDept);
|
|
|
- AssertionUtils.isSucceed(b, "删除失败");
|
|
|
- sysDeptVo.setId(sysDept.getId());
|
|
|
- return sysDeptVo;
|
|
|
+ return this.save(sysDept);
|
|
|
+ }
|
|
|
+
|
|
|
+ public SysDept getSysDept(SysDeptVo sysDeptVo){
|
|
|
+ SysDept sysDept = new SysDept();
|
|
|
+ sysDept.setId(sysDeptVo.getId());
|
|
|
+ sysDept.setName(sysDeptVo.getName());
|
|
|
+ sysDept.setParentId(sysDeptVo.getParentId());
|
|
|
+ sysDept.setOrderNum(sysDeptVo.getOrderNum());
|
|
|
+ sysDept.setComType(sysDeptVo.getComType());
|
|
|
+ sysDept.setRoute(sysDeptVo.getRoute());
|
|
|
+ sysDept.setAddress(sysDeptVo.getAddress());
|
|
|
+ sysDept.setLeaderId(sysDeptVo.getLeaderId());
|
|
|
+ sysDept.setProvince(sysDeptVo.getProvince());
|
|
|
+ sysDept.setCity(sysDeptVo.getCity());
|
|
|
+ sysDept.setArea(sysDeptVo.getArea());
|
|
|
+ String exhibitionScope = "";
|
|
|
+ for(int i=0;i<sysDeptVo.getExhibitionScope().size();i++){
|
|
|
+ exhibitionScope += sysDeptVo.getExhibitionScope().get(i) + ",";
|
|
|
+ }
|
|
|
+ exhibitionScope = exhibitionScope.substring(0,exhibitionScope.length()-1);
|
|
|
+ sysDept.setExhibitionScope(exhibitionScope);
|
|
|
+ return sysDept;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult updateDept(SysDept sysDeptVo) {
|
|
|
- // 查询修改的序号是否存在
|
|
|
- LambdaQueryWrapper<SysDept> qw = new LambdaQueryWrapper<>();
|
|
|
- qw.eq(SysDept::getParentId, sysDeptVo.getParentId()); // 父级部门ID相同
|
|
|
- String route = "";
|
|
|
- boolean exists = sysDeptMapper.exists(qw);
|
|
|
- //不存在则直接修改
|
|
|
- if (!exists) {
|
|
|
- sysDeptMapper.updateById(sysDeptVo);
|
|
|
- return HttpResult.ok();
|
|
|
- }else{
|
|
|
- //则修改路径
|
|
|
- SysDept parentDept = sysDeptMapper.selectById(sysDeptVo.getParentId());
|
|
|
- route = parentDept.getRoute() + "-" + sysDeptVo.getId();
|
|
|
- sysDeptVo.setRoute(parentDept.getRoute() + "-" + sysDeptVo.getId());
|
|
|
- }
|
|
|
- return HttpResult.ok();
|
|
|
+ public boolean updateDept(SysDeptVo sysDeptVo) {
|
|
|
+ sysDeptMapper.updateById(getSysDept(sysDeptVo));
|
|
|
+ return true;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -134,30 +154,51 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SysDept> getDeptTree(String deptId) {
|
|
|
+ public List<SysDeptVo> getDeptTree(String deptId) {
|
|
|
String userSystemCode = baseController.getUserSystemCode();
|
|
|
SysSystem bySysCode = sysSystemService.getBySysCode(userSystemCode);
|
|
|
- List<SysDept> sysDepts = new ArrayList<>();
|
|
|
+ List<SysDeptVo> sysDepts = new ArrayList<>();
|
|
|
SysDept sysDept = getById(deptId);
|
|
|
+ SysDeptVo sysDeptVo = new SysDeptVo(sysDept);
|
|
|
LambdaQueryWrapper<SysDept> lqw = new LambdaQueryWrapper<>();
|
|
|
if(!deptId.equals("")) {
|
|
|
lqw.likeRight(SysDept::getRoute, deptId);
|
|
|
}
|
|
|
List<SysDept> sysDeptList = list(lqw);
|
|
|
- Map<String, List<SysDept>> map = sysDeptList.stream().collect(Collectors.groupingBy(SysDept::getParentId));
|
|
|
- sysDeptList.forEach(i -> i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>())));
|
|
|
+ List<SysDeptVo> voDept = new ArrayList<>();
|
|
|
+ sysDeptList.forEach(item->{
|
|
|
+ SysDeptVo sysDeptv = new SysDeptVo(item);
|
|
|
+ voDept.add(sysDeptv);
|
|
|
+ });
|
|
|
+ Map<String, List<SysDeptVo>> map = voDept.stream().collect(Collectors.groupingBy(SysDeptVo::getParentId));
|
|
|
+ voDept.forEach(i -> i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>())));
|
|
|
if(!Objects.isNull(sysDept)) {
|
|
|
- sysDepts = map.get(sysDept.getParentId());
|
|
|
+ sysDepts = map.get(sysDeptVo.getParentId());
|
|
|
}else{
|
|
|
sysDepts = map.get("0");
|
|
|
}
|
|
|
- List<SysDept> newResultDept = new ArrayList<>();
|
|
|
- SysDept baseDept = new SysDept();
|
|
|
+ List<SysDeptVo> newResultDept = new ArrayList<>();
|
|
|
+ SysDeptVo baseDept = new SysDeptVo(sysDept);
|
|
|
baseDept.setId("0");
|
|
|
baseDept.setName(bySysCode.getSysName());
|
|
|
- baseDept.setChildren(sysDepts);
|
|
|
+ baseDept.setChildren(voDept);
|
|
|
newResultDept.add(baseDept);
|
|
|
return newResultDept;
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public List<SysDept> tree(String systemCode) {
|
|
|
+// LambdaQueryWrapper<SysDept> lqw = buildQueryWrapper(systemCode);
|
|
|
+// List<SysDept> depts = sysDeptMapper.selectDeptList(lqw);
|
|
|
+// List<SysDept> treeData = TreeTool.listToTree(BeanUtil.copyToList(depts, SysDept.class),0L,SysDept.class);
|
|
|
+// return treeData;
|
|
|
+// }
|
|
|
+
|
|
|
+ private LambdaQueryWrapper<SysDept> buildQueryWrapper(String systemCode) {
|
|
|
+ LambdaQueryWrapper<SysDept> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(SysDept::getSystemCode, systemCode);
|
|
|
+ lqw.orderByAsc(SysDept::getParentId);
|
|
|
+ lqw.orderByAsc(SysDept::getOrderNum);
|
|
|
+ return lqw;
|
|
|
+ }
|
|
|
}
|