【修改】将SysDepartTreeModel添加到core下的vo包下,去除参数为SysDepart的构造方法。添加转换器:SysDepart->SysDepartTreeModel

This commit is contained in:
mazhichao
2021-03-25 13:57:44 +08:00
parent 4ce55edc5a
commit b52902fee7
12 changed files with 65 additions and 58 deletions
@@ -7,8 +7,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.system.vo.SysDepartTreeModel;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresRoles;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant;
@@ -21,7 +21,6 @@ import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.model.SysDepartTreeModel;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysUserDepartService;
import com.jero.modules.system.service.ISysUserService;
@@ -6,13 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.jero.common.aspect.annotation.Dict;
import com.jero.modules.system.model.SysDepartTreeModel;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
@@ -3,8 +3,6 @@ package com.jero.modules.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.model.SysDepartTreeModel;
import com.jero.modules.system.model.TreeModel;
import org.springframework.data.repository.query.Param;
import java.util.List;
@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.modules.system.entity.SysDepart;
/**
@@ -1,371 +0,0 @@
package com.jero.modules.system.model;
import com.jero.modules.system.entity.SysDepart;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 部门表 存储树结构数据的实体类
* <p>
*
* @Author Steve
* @Since 2019-01-22
*/
public class SysDepartTreeModel implements Serializable{
private static final long serialVersionUID = 1L;
/** 对应SysDepart中的id字段,前端数据树中的key*/
private String key;
/** 对应SysDepart中的id字段,前端数据树中的value*/
private String value;
/** 对应depart_name字段,前端数据树中的title*/
private String title;
private boolean isLeaf;
// 以下所有字段均与SysDepart相同
private String id;
private String parentId;
private String departName;
private String departNameEn;
private String departNameAbbr;
private Integer departOrder;
private String description;
private String orgCategory;
private String orgType;
private String orgCode;
private String mobile;
private String fax;
private String address;
private String memo;
private String status;
private String delFlag;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private List<SysDepartTreeModel> children = new ArrayList<>();
/**
* 将SysDepart对象转换成SysDepartTreeModel对象
* @param sysDepart
*/
public SysDepartTreeModel(SysDepart sysDepart) {
this.key = sysDepart.getId();
this.value = sysDepart.getId();
this.title = sysDepart.getDepartName();
this.id = sysDepart.getId();
this.parentId = sysDepart.getParentId();
this.departName = sysDepart.getDepartName();
this.departNameEn = sysDepart.getDepartNameEn();
this.departNameAbbr = sysDepart.getDepartNameAbbr();
this.departOrder = sysDepart.getDepartOrder();
this.description = sysDepart.getDescription();
this.orgCategory = sysDepart.getOrgCategory();
this.orgType = sysDepart.getOrgType();
this.orgCode = sysDepart.getOrgCode();
this.mobile = sysDepart.getMobile();
this.fax = sysDepart.getFax();
this.address = sysDepart.getAddress();
this.memo = sysDepart.getMemo();
this.status = sysDepart.getStatus();
this.delFlag = sysDepart.getDelFlag();
this.createBy = sysDepart.getCreateBy();
this.createTime = sysDepart.getCreateTime();
this.updateBy = sysDepart.getUpdateBy();
this.updateTime = sysDepart.getUpdateTime();
}
public boolean getIsLeaf() {
return isLeaf;
}
public void setIsLeaf(boolean isleaf) {
this.isLeaf = isleaf;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<SysDepartTreeModel> getChildren() {
return children;
}
public void setChildren(List<SysDepartTreeModel> children) {
if (children==null){
this.isLeaf=true;
}
this.children = children;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
public String getDepartName() {
return departName;
}
public void setDepartName(String departName) {
this.departName = departName;
}
public String getOrgCategory() {
return orgCategory;
}
public void setOrgCategory(String orgCategory) {
this.orgCategory = orgCategory;
}
public String getOrgType() {
return orgType;
}
public void setOrgType(String orgType) {
this.orgType = orgType;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
public String getDepartNameEn() {
return departNameEn;
}
public void setDepartNameEn(String departNameEn) {
this.departNameEn = departNameEn;
}
public String getDepartNameAbbr() {
return departNameAbbr;
}
public void setDepartNameAbbr(String departNameAbbr) {
this.departNameAbbr = departNameAbbr;
}
public Integer getDepartOrder() {
return departOrder;
}
public void setDepartOrder(Integer departOrder) {
this.departOrder = departOrder;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public SysDepartTreeModel() { }
/**
* 重写equals方法
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SysDepartTreeModel model = (SysDepartTreeModel) o;
return Objects.equals(id, model.id) &&
Objects.equals(parentId, model.parentId) &&
Objects.equals(departName, model.departName) &&
Objects.equals(departNameEn, model.departNameEn) &&
Objects.equals(departNameAbbr, model.departNameAbbr) &&
Objects.equals(departOrder, model.departOrder) &&
Objects.equals(description, model.description) &&
Objects.equals(orgCategory, model.orgCategory) &&
Objects.equals(orgType, model.orgType) &&
Objects.equals(orgCode, model.orgCode) &&
Objects.equals(mobile, model.mobile) &&
Objects.equals(fax, model.fax) &&
Objects.equals(address, model.address) &&
Objects.equals(memo, model.memo) &&
Objects.equals(status, model.status) &&
Objects.equals(delFlag, model.delFlag) &&
Objects.equals(createBy, model.createBy) &&
Objects.equals(createTime, model.createTime) &&
Objects.equals(updateBy, model.updateBy) &&
Objects.equals(updateTime, model.updateTime) &&
Objects.equals(children, model.children);
}
/**
* 重写hashCode方法
*/
@Override
public int hashCode() {
return Objects.hash(id, parentId, departName, departNameEn, departNameAbbr,
departOrder, description, orgCategory, orgType, orgCode, mobile, fax, address,
memo, status, delFlag, createBy, createTime, updateBy, updateTime,
children);
}
}
@@ -1,9 +1,9 @@
package com.jero.modules.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.model.SysDepartTreeModel;
import java.util.List;
/**
@@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.jero.modules.system.model.SysDepartTreeModel;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -1000,11 +999,11 @@ public class SysBaseApiImpl implements ISysBaseAPI {
* @return JSONObject
*/
@Override
public List<JSONObject> listParentDepartsByDepId(String departId) {
List<SysDepartTreeModel> sysDepartTreeModels = sysDepartService.listParentDepartsByDepId(departId);
return JSON.parseArray(JSON.toJSONString(sysDepartTreeModels)).toJavaList(JSONObject.class);
public List<SysDepartTreeModel> listParentDepartsByDepId(String departId) {
return sysDepartService.listParentDepartsByDepId(departId);
}
/**
* 42根据部门id查询部门所有的子级(不包含自己)
* @author 马志朝
@@ -1013,8 +1012,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
* @return JSONObject
*/
@Override
public List<JSONObject> listSonDepartsByDepId(String departId) {
List<SysDepartTreeModel> sysDepartTreeModels = sysDepartService.listSonDepartsByDepId(departId);
return JSON.parseArray(JSON.toJSONString(sysDepartTreeModels)).toJavaList(JSONObject.class);
public List<SysDepartTreeModel> listSonDepartsByDepId(String departId) {
return sysDepartService.listSonDepartsByDepId(departId);
}
}
@@ -3,17 +3,16 @@ package com.jero.modules.system.service.impl;
import java.util.*;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.system.vo.SysDepartTreeModel;
import org.apache.commons.lang.StringUtils;
import com.jero.common.constant.CacheConstant;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.FillRuleConstant;
import com.jero.common.util.FillRuleUtil;
import com.jero.common.util.YouBianCodeUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.*;
import com.jero.modules.system.mapper.*;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.model.SysDepartTreeModel;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.util.FindsDepartsChildrenUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -298,7 +297,10 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
List<SysDepart> departList = this.list(query);
if(departList.size() > 0) {
for(SysDepart depart : departList) {
model = new SysDepartTreeModel(depart);
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
// 将sysDepart转换为sysDepartTreeModel
FindsDepartsChildrenUtil.convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
model = sysDepartTreeModel;
model.setChildren(null);
//update-end--Author:huangzhilin Date:20140417 for[bugfree号]组织机构搜索功回显优化----------------------
newList.add(model);
@@ -1,11 +1,11 @@
package com.jero.modules.system.util;
import com.jero.common.constant.CommonConstant;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.model.DepartIdModel;
import com.jero.modules.system.model.SysDepartTreeModel;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
@@ -39,7 +39,10 @@ public class FindsDepartsChildrenUtil {
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepart depart = recordList.get(i);
records.add(new SysDepartTreeModel(depart));
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
// 将sysDepart转换为sysDepartTreeModel
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
records.add(sysDepartTreeModel);
}
List<SysDepartTreeModel> tree = findChildren(records, idList);
setEmptyChildrenAsNull(tree);
@@ -58,7 +61,10 @@ public class FindsDepartsChildrenUtil {
List<SysDepartTreeModel> records = new ArrayList<>();
for (int i = 0; i < recordList.size(); i++) {
SysDepart depart = recordList.get(i);
records.add(new SysDepartTreeModel(depart));
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
// 将sysDepart转换为sysDepartTreeModel
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
records.add(sysDepartTreeModel);
}
findChildren(records, idList);
return idList;
@@ -77,6 +83,7 @@ public class FindsDepartsChildrenUtil {
if (oConvertUtils.isEmpty(branch.getParentId())) {
treeList.add(branch);
DepartIdModel departIdModel = new DepartIdModel().convert(branch);
departIdList.add(departIdModel);
}
}
@@ -100,6 +107,7 @@ public class FindsDepartsChildrenUtil {
if (m.getParentId()!=null && m.getParentId().equals(model.getId())) {
model.getChildren().add(m);
DepartIdModel dim = new DepartIdModel().convert(m);
idModel.getChildren().add(dim);
}
}
@@ -127,4 +135,38 @@ public class FindsDepartsChildrenUtil {
}
// sysDepartTreeList = treeList;
}
/**
* 将SysDepart对象转换成SysDepartTreeModel对象
* @author 马志朝
* @date 2021/3/25 13:15
* @param sysDepart 待转换的对象
* @param sysDepartTreeModel 转换的结果对象
* @return
*/
public static void convertSysDepartToSysDepartTreeModel(SysDepart sysDepart, SysDepartTreeModel sysDepartTreeModel){
sysDepartTreeModel.setKey( sysDepart.getId());
sysDepartTreeModel.setValue( sysDepart.getId());
sysDepartTreeModel.setTitle(sysDepart.getDepartName());
sysDepartTreeModel.setId(sysDepart.getId());
sysDepartTreeModel.setParentId(sysDepart.getParentId());
sysDepartTreeModel.setDepartName(sysDepart.getDepartName());
sysDepartTreeModel.setDepartNameEn(sysDepart.getDepartNameEn());
sysDepartTreeModel.setDepartNameAbbr(sysDepart.getDepartNameAbbr());
sysDepartTreeModel.setDepartOrder(sysDepart.getDepartOrder());
sysDepartTreeModel.setDescription(sysDepart.getDescription());
sysDepartTreeModel.setOrgCategory(sysDepart.getOrgCategory());
sysDepartTreeModel.setOrgType(sysDepart.getOrgType());
sysDepartTreeModel.setOrgCode(sysDepart.getOrgCode());
sysDepartTreeModel.setMobile(sysDepart.getMobile());
sysDepartTreeModel.setFax(sysDepart.getFax());
sysDepartTreeModel.setAddress(sysDepart.getAddress());
sysDepartTreeModel.setMemo(sysDepart.getMemo());
sysDepartTreeModel.setStatus(sysDepart.getStatus());
sysDepartTreeModel.setDelFlag(sysDepart.getDelFlag());
sysDepartTreeModel.setCreateBy(sysDepart.getCreateBy());
sysDepartTreeModel.setCreateTime(sysDepart.getCreateTime());
sysDepartTreeModel.setUpdateBy(sysDepart.getUpdateBy());
sysDepartTreeModel.setUpdateTime(sysDepart.getUpdateTime());
}
}