!45 部门左侧树 部门名称命名

Merge pull request !45 from dxfeng/feature/dxf
pull/46/MERGE
dxfeng 3 years ago committed by Gitee
commit bcab6cec78
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -1,6 +1,5 @@
package com.engine.organization.entity.company.bo; package com.engine.organization.entity.company.bo;
import com.api.hrm.bean.TreeNode;
import com.engine.organization.entity.company.dto.CompListDTO; import com.engine.organization.entity.company.dto.CompListDTO;
import com.engine.organization.entity.company.param.CompSearchParam; import com.engine.organization.entity.company.param.CompSearchParam;
import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.company.po.CompPO;
@ -70,7 +69,7 @@ public class CompBO {
} }
public static List<TreeNode> buildSetToSearchTree(Set<CompPO> comps) { public static List<SearchTree> buildSetToSearchTree(Set<CompPO> comps) {
return comps.stream().map(item -> { return comps.stream().map(item -> {
SearchTree tree = new SearchTree(); SearchTree tree = new SearchTree();
tree.setCanClick(true); tree.setCanClick(true);

@ -80,7 +80,7 @@ public class DepartmentBO {
.builder() .builder()
.id(param.getId() == null ? 0 : param.getId()) .id(param.getId() == null ? 0 : param.getId())
.deptNo(param.getDeptNo()) .deptNo(param.getDeptNo())
.deptName(param.getDeptName()) .deptName(param.getDepartmentName())
.deptNameShort(param.getDeptNameShort()) .deptNameShort(param.getDeptNameShort())
.parentComp(param.getParentComp()) .parentComp(param.getParentComp())
.parentDept(param.getParentDept()) .parentDept(param.getParentDept())

@ -21,7 +21,7 @@ public class DeptSearchParam extends BaseQueryParam {
private String deptNo; private String deptNo;
private String deptName; private String departmentName;
private String deptNameShort; private String deptNameShort;

@ -3,6 +3,7 @@ package com.engine.organization.service;
import com.engine.organization.entity.department.param.DeptSearchParam; import com.engine.organization.entity.department.param.DeptSearchParam;
import com.engine.organization.entity.department.param.QuerySingleDeptListParam; import com.engine.organization.entity.department.param.QuerySingleDeptListParam;
import com.engine.organization.entity.department.vo.SingleDeptTreeVO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageInfo;
import java.util.Collection; import java.util.Collection;
@ -25,6 +26,13 @@ public interface DepartmentService {
*/ */
PageInfo<SingleDeptTreeVO> getDeptListByPid(QuerySingleDeptListParam param); PageInfo<SingleDeptTreeVO> getDeptListByPid(QuerySingleDeptListParam param);
/**
*
*
* @return
*/
Map<String, Object> getSearchTree(SearchTreeParams params);
/** /**
* *
* *
@ -40,6 +48,7 @@ public interface DepartmentService {
* @return * @return
*/ */
int saveBaseForm(DeptSearchParam params); int saveBaseForm(DeptSearchParam params);
/** /**
* *
* *

@ -5,17 +5,22 @@ import com.api.browser.bean.BrowserBean;
import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption; import com.api.browser.bean.SearchConditionOption;
import com.api.hrm.bean.TreeNode;
import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.result.WeaResultMsg; import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.component.OrganizationWeaTable;
import com.engine.organization.entity.company.bo.CompBO;
import com.engine.organization.entity.company.po.CompPO;
import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.bo.DepartmentBO;
import com.engine.organization.entity.department.dto.DepartmentListDTO; import com.engine.organization.entity.department.dto.DepartmentListDTO;
import com.engine.organization.entity.department.param.DeptSearchParam; import com.engine.organization.entity.department.param.DeptSearchParam;
import com.engine.organization.entity.department.param.QuerySingleDeptListParam; import com.engine.organization.entity.department.param.QuerySingleDeptListParam;
import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.po.DepartmentPO;
import com.engine.organization.entity.department.vo.SingleDeptTreeVO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO;
import com.engine.organization.entity.searchtree.SearchTree;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.comp.CompMapper;
import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.department.DepartmentMapper;
import com.engine.organization.mapper.extend.ExtendGroupMapper; import com.engine.organization.mapper.extend.ExtendGroupMapper;
@ -28,6 +33,8 @@ import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.page.Column; import com.engine.organization.util.page.Column;
import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageInfo;
import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.page.PageUtil;
import org.apache.commons.collections4.CollectionUtils;
import weaver.conn.RecordSet;
import weaver.general.StringUtil; import weaver.general.StringUtil;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
@ -59,6 +66,15 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
*/ */
private static final String JCL_ORG_DEPTEXT_DT1 = "JCL_ORG_DEPTEXT_DT1"; private static final String JCL_ORG_DEPTEXT_DT1 = "JCL_ORG_DEPTEXT_DT1";
/**
*
* <p>
* 0
* 1
* 2
*/
private static final String TYPE_GROUP = "0";
private DepartmentMapper getDepartmentMapper() { private DepartmentMapper getDepartmentMapper() {
return MapperProxyFactory.getProxy(DepartmentMapper.class); return MapperProxyFactory.getProxy(DepartmentMapper.class);
} }
@ -83,7 +99,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
//PageUtil.start(param.getCurrent(), param.getPageSize()); //PageUtil.start(param.getCurrent(), param.getPageSize());
List<DepartmentPO> departmentPOS = MapperProxyFactory.getProxy(DepartmentMapper.class).list(); List<DepartmentPO> departmentPOS = MapperProxyFactory.getProxy(DepartmentMapper.class).list();
PageInfo<DepartmentPO> pageInfo = new PageInfo<>(departmentPOS); PageInfo<DepartmentPO> pageInfo = new PageInfo<>(departmentPOS);
List<SingleDeptTreeVO> singleDeptTreeVOS = DepartmentBO.buildSingleDeptTreeVOS(departmentPOS,param.getParentComp()); List<SingleDeptTreeVO> singleDeptTreeVOS = DepartmentBO.buildSingleDeptTreeVOS(departmentPOS, param.getParentComp());
PageInfo<SingleDeptTreeVO> pageInfos = new PageInfo<>(singleDeptTreeVOS, SingleDeptTreeVO.class); PageInfo<SingleDeptTreeVO> pageInfos = new PageInfo<>(singleDeptTreeVOS, SingleDeptTreeVO.class);
pageInfos.setTotal(pageInfo.getTotal()); pageInfos.setTotal(pageInfo.getTotal());
pageInfos.setPageNum(param.getCurrent()); pageInfos.setPageNum(param.getCurrent());
@ -92,25 +108,54 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
return pageInfos; return pageInfos;
} }
@Override
public Map<String, Object> getSearchTree(SearchTreeParams params) {
Map<String, Object> dataMap = new HashMap<>();
SearchTree topGroup = getTopGroup();
// 集团
List<SearchTree> companyList = new ArrayList<>();
companyList.add(topGroup);
String keyword = params.getKeyword();
String type = Util.null2String(params.getType());
String id = params.getId();
List<TreeNode> treeDatas = getFilterCompany(id, type, keyword);
// 未点击,初始化树结构
if (StringUtil.isEmpty(type)) {
dataMap.put("companys", companyList);
SearchTree rootCompany = getTopGroup();
rootCompany.setSubs(treeDatas);
rootCompany.setIsParent(CollectionUtils.isNotEmpty(rootCompany.getSubs()));
Map<String, Object> rootCompanyMap = new HashMap<>();
rootCompanyMap.put("rootCompany", rootCompany);
dataMap.put("datas", rootCompanyMap);
} else {
// 根据ID查询
dataMap.put("datas", treeDatas);
}
return dataMap;
}
@Override @Override
public Map<String, Object> listPage(DeptSearchParam param) { public Map<String, Object> listPage(DeptSearchParam param) {
Map<String, Object> datas = new HashMap<>(); Map<String, Object> datas = new HashMap<>();
DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(param, (long) user.getUID()); DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(param, user.getUID());
boolean filter = isFilter(departmentPO); boolean filter = isFilter(departmentPO);
PageInfo<DepartmentListDTO> pageInfos; PageInfo<DepartmentListDTO> pageInfos;
List<DepartmentPO> alltList = getDepartmentMapper().list(); List<DepartmentPO> allList = getDepartmentMapper().list();
// 通过子级遍历父级元素 // 通过子级遍历父级元素
if (filter) { if (filter) {
// 根据条件获取元素 // 根据条件获取元素
List<DepartmentPO> filteDeptPOs = getDepartmentMapper().listByFilter(departmentPO); List<DepartmentPO> filterDeptPOs = getDepartmentMapper().listByFilter(departmentPO);
// 添加父级元素 // 添加父级元素
List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(alltList, filteDeptPOs); List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(allList, filterDeptPOs);
List<DepartmentListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS); List<DepartmentListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS);
pageInfos = new PageInfo<>(subList, DepartmentListDTO.class); pageInfos = new PageInfo<>(subList, DepartmentListDTO.class);
pageInfos.setTotal(compListDTOS.size()); pageInfos.setTotal(compListDTOS.size());
} else { } else {
// 组合list // 组合list
List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(alltList); List<DepartmentListDTO> compListDTOS = DepartmentBO.buildDeptDTOList(allList);
List<DepartmentListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS); List<DepartmentListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS);
pageInfos = new PageInfo<>(subList, DepartmentListDTO.class); pageInfos = new PageInfo<>(subList, DepartmentListDTO.class);
pageInfos.setTotal(compListDTOS.size()); pageInfos.setTotal(compListDTOS.size());
@ -138,7 +183,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
public int saveBaseForm(DeptSearchParam params) { public int saveBaseForm(DeptSearchParam params) {
List<DepartmentPO> list = getDepartmentMapper().listByNo(Util.null2String(params.getDeptNo())); List<DepartmentPO> list = getDepartmentMapper().listByNo(Util.null2String(params.getDeptNo()));
OrganizationAssert.isEmpty(list, "编号不允许重复"); OrganizationAssert.isEmpty(list, "编号不允许重复");
DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(params, (long) user.getUID()); DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(params, user.getUID());
return getDepartmentMapper().insertIgnoreNull(departmentPO); return getDepartmentMapper().insertIgnoreNull(departmentPO);
} }
@ -152,7 +197,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
public int updateForm(Map<String, Object> params) { public int updateForm(Map<String, Object> params) {
DeptSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), DeptSearchParam.class); DeptSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), DeptSearchParam.class);
String groupId = (String) params.get("viewCondition"); String groupId = (String) params.get("viewCondition");
DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(searchParam,user.getUID()); DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(searchParam, user.getUID());
int updateCount = 0; int updateCount = 0;
// 更新主表数据 // 更新主表数据
updateCount += getDepartmentMapper().updateBaseDept(departmentPO); updateCount += getDepartmentMapper().updateBaseDept(departmentPO);
@ -178,7 +223,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
// 编号 // 编号
SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "deptNo"); SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "deptNo");
// 名称 // 名称
SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "deptName"); SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "departmentName");
// 简称 // 简称
SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "简称", "deptNameShort"); SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "简称", "deptNameShort");
// TODO // TODO
@ -274,7 +319,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "编号", "deptNo"); SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "编号", "deptNo");
deptNoItem.setRules("required|string"); deptNoItem.setRules("required|string");
// 名称 // 名称
SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "名称", "deptName"); SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "名称", "departmentName");
deptNameItem.setRules("required|string"); deptNameItem.setRules("required|string");
// 简称 // 简称
SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "简称", "deptNameShort"); SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "简称", "deptNameShort");
@ -328,7 +373,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
// 编号 // 编号
SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 1, 50, "编号", "deptNo"); SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 1, 50, "编号", "deptNo");
// 名称 // 名称
SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "名称", "deptName"); SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "名称", "departmentName");
deptNameItem.setRules("required|string"); deptNameItem.setRules("required|string");
// 简称 // 简称
SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "简称", "deptNameShort"); SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "简称", "deptNameShort");
@ -411,5 +456,115 @@ public class DepartmentServiceImpl extends Service implements DepartmentService
} }
/**
*
*
* @return
*/
private SearchTree getTopGroup() {
RecordSet rs = new RecordSet();
String sql = "select * from HrmCompany ";
rs.executeQuery(sql);
SearchTree groupTree = new SearchTree();
groupTree.setCanClick(false);
groupTree.setCanceled(false);
groupTree.setCompanyid("1");
groupTree.setIcon("icon-coms-LargeArea");
groupTree.setId("0");
groupTree.setIsVirtual("0");
while (rs.next()) {
groupTree.setName(rs.getString("COMPANYNAME"));
}
groupTree.setSelected(false);
groupTree.setType(TYPE_GROUP);
return groupTree;
}
/**
* keyword
*
* @param id
* @param type
* @param keyword
* @return
*/
private List<TreeNode> getFilterCompany(String id, String type, String keyword) {
List<TreeNode> compSearchTree = new ArrayList<>();
//
// 查询部门信息
Long parentCompId = StringUtil.isEmpty(id) ? null : Long.parseLong(id);
CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).build();
List<CompPO> filterComps = getCompMapper().listByFilter(compBuild);
Set<CompPO> builderComps = new HashSet<>();
for (CompPO compPO : filterComps) {
buildParentComps(compPO, builderComps);
}
List<SearchTree> compTrees = builderTreeMode(CompBO.buildSetToSearchTree(builderComps));
// 排序,设置是否为叶子节点
List<TreeNode> collect = compTrees.stream().peek(item ->
item.setIsParent(CollectionUtils.isNotEmpty(item.getSubs()))
).sorted(Comparator.comparing(item -> Integer.parseInt(item.getId()))).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
compSearchTree.addAll(collect);
}
return compSearchTree;
}
/**
*
*
* @param compPO
* @param builderComps
*/
private void buildParentComps(CompPO compPO, Set<CompPO> builderComps) {
builderComps.add(compPO);
if (isTop(compPO.getParentCompany())) {
return;
}
CompPO parentComp = getCompMapper().listById(compPO.getParentCompany());
if (null != parentComp) {
buildParentComps(parentComp, builderComps);
}
}
/**
*
*
* @param treeList
* @return
*/
private List<SearchTree> builderTreeMode(List<SearchTree> treeList) {
Map<String, List<TreeNode>> collects = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid));
return treeList.stream().peek(e -> e.setSubs(collects.get(e.getId()))).peek(item -> {
if (CollectionUtils.isNotEmpty(item.getSubs())) {
item.setIsParent(true);
}
}).filter(item -> isTop(item.getPid())).collect(Collectors.toList());
}
/**
*
*
* @param pid
* @return
*/
private boolean isTop(Long pid) {
return null == pid;
}
/**
*
*
* @param pid
* @return
*/
private boolean isTop(String pid) {
return StringUtil.isEmpty(pid) || "0".equals(pid);
}
} }

@ -15,7 +15,6 @@ import com.engine.organization.entity.DeleteParam;
import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.bo.CompBO;
import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.company.po.CompPO;
import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.bo.DepartmentBO;
import com.engine.organization.entity.department.dto.DepartmentListDTO;
import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.po.DepartmentPO;
import com.engine.organization.entity.employee.vo.EmployeeTableVO; import com.engine.organization.entity.employee.vo.EmployeeTableVO;
import com.engine.organization.entity.extend.bo.ExtendInfoBO; import com.engine.organization.entity.extend.bo.ExtendInfoBO;
@ -164,22 +163,22 @@ public class JobServiceImpl extends Service implements JobService {
// 根据条件获取元素 // 根据条件获取元素
List<JobListDTO> filterJobPOs = getJobMapper().listByFilter(jobPO); List<JobListDTO> filterJobPOs = getJobMapper().listByFilter(jobPO);
// 添加父级元素 // 添加父级元素
List<JobListDTO> compListDTOS = JobBO.buildJobDTOList(allList, filterJobPOs); List<JobListDTO> jobListDTOS = JobBO.buildJobDTOList(allList, filterJobPOs);
List<JobListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS); List<JobListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), jobListDTOS);
pageInfos = new PageInfo<>(subList, JobListDTO.class); pageInfos = new PageInfo<>(subList, JobListDTO.class);
pageInfos.setTotal(compListDTOS.size()); pageInfos.setTotal(jobListDTOS.size());
} else { } else {
// 组合list // 组合list
List<JobListDTO> compListDTOS = JobBO.buildDTOList(allList); List<JobListDTO> jobListDTOS = JobBO.buildDTOList(allList);
List<JobListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS); List<JobListDTO> subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), jobListDTOS);
pageInfos = new PageInfo<>(subList, JobListDTO.class); pageInfos = new PageInfo<>(subList, JobListDTO.class);
pageInfos.setTotal(compListDTOS.size()); pageInfos.setTotal(jobListDTOS.size());
} }
pageInfos.setPageNum(param.getCurrent()); pageInfos.setPageNum(param.getCurrent());
pageInfos.setPageSize(param.getPageSize()); pageInfos.setPageSize(param.getPageSize());
OrganizationWeaTable<DepartmentListDTO> table = new OrganizationWeaTable<>(user, DepartmentListDTO.class); OrganizationWeaTable<JobListDTO> table = new OrganizationWeaTable<>(user, JobListDTO.class);
List<Column> columns = pageInfos.getColumns(); List<Column> columns = pageInfos.getColumns();
List<WeaTableColumn> weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); List<WeaTableColumn> weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList());
@ -637,7 +636,7 @@ public class JobServiceImpl extends Service implements JobService {
* @param deptTrees * @param deptTrees
* @return * @return
*/ */
private List<TreeNode> builderTreeMode(List<TreeNode> treeList, List<SearchTree> deptTrees) { private List<TreeNode> builderTreeMode(List<SearchTree> treeList, List<SearchTree> deptTrees) {
Map<String, List<TreeNode>> parentMap = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid)); Map<String, List<TreeNode>> parentMap = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid));
Map<String, List<SearchTree>> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp)); Map<String, List<SearchTree>> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp));
boolean isAdd = !childMap.isEmpty(); boolean isAdd = !childMap.isEmpty();

@ -1,10 +1,13 @@
package com.engine.organization.web; package com.engine.organization.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil; import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.DeleteParam;
import com.engine.organization.entity.department.param.DeptSearchParam; import com.engine.organization.entity.department.param.DeptSearchParam;
import com.engine.organization.entity.department.param.QuerySingleDeptListParam; import com.engine.organization.entity.department.param.QuerySingleDeptListParam;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.util.response.ReturnResult; import com.engine.organization.util.response.ReturnResult;
import com.engine.organization.wrapper.DepartmentWrapper; import com.engine.organization.wrapper.DepartmentWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.parameters.RequestBody;
@ -46,6 +49,24 @@ public class DepartmentController {
} }
} }
/**
*
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSearchTree")
@Produces(MediaType.APPLICATION_JSON)
public Map<String, Object> getSearchTree(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class);
return getDepartmentWrapper(user).getSearchTree(params);
}
/** /**
* list * list
* *

@ -5,6 +5,7 @@ import com.engine.core.impl.Service;
import com.engine.organization.entity.department.param.DeptSearchParam; import com.engine.organization.entity.department.param.DeptSearchParam;
import com.engine.organization.entity.department.param.QuerySingleDeptListParam; import com.engine.organization.entity.department.param.QuerySingleDeptListParam;
import com.engine.organization.entity.department.vo.SingleDeptTreeVO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.service.DepartmentService; import com.engine.organization.service.DepartmentService;
import com.engine.organization.service.impl.DepartmentServiceImpl; import com.engine.organization.service.impl.DepartmentServiceImpl;
import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageInfo;
@ -30,7 +31,15 @@ public class DepartmentWrapper extends Service {
PageInfo<SingleDeptTreeVO> singleDeptTreeVOS = getDepartmentService(user).getDeptListByPid(param); PageInfo<SingleDeptTreeVO> singleDeptTreeVOS = getDepartmentService(user).getDeptListByPid(param);
return ReturnResult.successed(singleDeptTreeVOS); return ReturnResult.successed(singleDeptTreeVOS);
} }
/**
*
*
* @param params
* @return
*/
public Map<String, Object> getSearchTree(SearchTreeParams params) {
return getDepartmentService(user).getSearchTree(params);
}
/** /**
* *
* *

Loading…
Cancel
Save