diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index feca2a7b..5e60fd17 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -234,7 +234,7 @@ public class JobBrowserService extends BrowserService { compList = MapperProxyFactory.getProxy(CompMapper.class).listParent(); } // 获取顶层分部 - compList.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); + compList.stream().sorted(Comparator.comparingDouble(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); } else if ("1".equals(params.getType())) { // 当前节点下的元素 CompPO compBuild = CompPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); diff --git a/src/com/engine/organization/entity/company/bo/CompBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java index 240fa93a..1e7f7d25 100644 --- a/src/com/engine/organization/entity/company/bo/CompBO.java +++ b/src/com/engine/organization/entity/company/bo/CompBO.java @@ -24,7 +24,10 @@ public class CompBO { } public static List buildSetToSearchTree(Set comps) { - return comps.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).map(item -> { + return comps.stream().sorted(Comparator + .comparingDouble(CompPO::getShowOrder) + .thenComparingDouble(CompPO::getShowOrderOfTree) + ).map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); @@ -37,6 +40,7 @@ public class CompBO { tree.setSelected(false); tree.setType("1"); tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); + tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0 : item.getShowOrderOfTree()); return tree; }).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/entity/company/dto/CompListDTO.java b/src/com/engine/organization/entity/company/dto/CompListDTO.java index c3bae817..a49ff720 100644 --- a/src/com/engine/organization/entity/company/dto/CompListDTO.java +++ b/src/com/engine/organization/entity/company/dto/CompListDTO.java @@ -59,7 +59,7 @@ public class CompListDTO { @TableTitle(labelId = 547185, title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true) - private Integer showOrder; + private Double showOrder; /** * 禁用标记 @@ -78,8 +78,8 @@ public class CompListDTO { */ private List children; - public Integer getShowOrder() { - return null == showOrder ? 0 : showOrder; + public Double getShowOrder() { + return null == showOrder ? 0.00 : showOrder; } private String orderType; @@ -89,9 +89,9 @@ public class CompListDTO { return children; } if ("asc".equalsIgnoreCase(orderType)) { - return children.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder)).collect(Collectors.toList()); + return children.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder)).collect(Collectors.toList()); } else { - return children.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList()); + return children.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList()); } } } diff --git a/src/com/engine/organization/entity/company/param/CompParam.java b/src/com/engine/organization/entity/company/param/CompParam.java index 37f40917..c44fe39d 100644 --- a/src/com/engine/organization/entity/company/param/CompParam.java +++ b/src/com/engine/organization/entity/company/param/CompParam.java @@ -25,6 +25,6 @@ public class CompParam extends BaseQueryParam { private String outKey; private Integer limitUsers; private String uuid; - private Integer showOrder; - private Integer showOrderOfTree; + private Double showOrder; + private Double showOrderOfTree; } diff --git a/src/com/engine/organization/entity/company/po/CompPO.java b/src/com/engine/organization/entity/company/po/CompPO.java index ae80432d..341c7d0a 100644 --- a/src/com/engine/organization/entity/company/po/CompPO.java +++ b/src/com/engine/organization/entity/company/po/CompPO.java @@ -32,6 +32,20 @@ public class CompPO { private Date modified; private Integer modifier; private String uuid; - private Integer showOrder; - private Integer showOrderOfTree; + private Double showOrder; + private Double showOrderOfTree; + + public Double getShowOrder() { + if (null == showOrder) { + return 0.00; + } + return showOrder; + } + + public Double getShowOrderOfTree() { + if (null == showOrderOfTree) { + return 0.00; + } + return showOrderOfTree; + } } diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 2bc46841..f3826341 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -172,7 +172,8 @@ public class DepartmentBO { tree.setSelected(false); tree.setType("2"); tree.setParentComp(null == item.getSupDepId() ? "0" : item.getSubCompanyId1().toString()); - tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder().intValue()); + tree.setOrderNum(null == item.getShowOrder() ? 0.00 : item.getShowOrder().intValue()); + tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0 : item.getShowOrderOfTree()); return tree; }).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java index 45361dc8..b16a3186 100644 --- a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java +++ b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java @@ -105,9 +105,9 @@ public class DepartmentListDTO { return children; } if ("asc".equalsIgnoreCase(orderType)) { - return children.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder)).collect(Collectors.toList()); + return children.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder)).collect(Collectors.toList()); } else { - return children.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList()); + return children.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList()); } } } diff --git a/src/com/engine/organization/entity/department/param/DeptSearchParam.java b/src/com/engine/organization/entity/department/param/DeptSearchParam.java index 76736320..7cdefeb1 100644 --- a/src/com/engine/organization/entity/department/param/DeptSearchParam.java +++ b/src/com/engine/organization/entity/department/param/DeptSearchParam.java @@ -28,5 +28,5 @@ public class DeptSearchParam extends BaseQueryParam { private String uuid; private Double showOrder; - private Integer showOrderOfTree; + private Double showOrderOfTree; } diff --git a/src/com/engine/organization/entity/department/po/DepartmentPO.java b/src/com/engine/organization/entity/department/po/DepartmentPO.java index ba80e5e7..0411d786 100644 --- a/src/com/engine/organization/entity/department/po/DepartmentPO.java +++ b/src/com/engine/organization/entity/department/po/DepartmentPO.java @@ -35,6 +35,6 @@ public class DepartmentPO { private Integer modifier; private String uuid; private Double showOrder; - private Integer showOrderOfTree; + private Double showOrderOfTree; } diff --git a/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java b/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java index c7faae1b..76d7de30 100644 --- a/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java +++ b/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java @@ -27,7 +27,7 @@ public class ResourcePO { private Integer jobtitle; private String lastName; - private Integer dspOrder; + private Double dspOrder; /** * 临时关联聚才林岗位ID diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index d10ac66e..e9b5c209 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -156,7 +156,7 @@ public class JobBO { tree.setSelected(false); tree.setType("3"); tree.setParentComp(null == item.getEcDepartment() ? "0" : item.getEcDepartment().toString()); - tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); + tree.setOrderNum(null == item.getShowOrder() ? 0.00 : item.getShowOrder()); return tree; }).collect(Collectors.toList()); diff --git a/src/com/engine/organization/entity/job/param/JobSearchParam.java b/src/com/engine/organization/entity/job/param/JobSearchParam.java index fd1871f4..3d6b96a2 100644 --- a/src/com/engine/organization/entity/job/param/JobSearchParam.java +++ b/src/com/engine/organization/entity/job/param/JobSearchParam.java @@ -75,7 +75,7 @@ public class JobSearchParam extends BaseQueryParam { /** * 显示顺序 */ - private Integer showOrder; + private Double showOrder; private Integer subcompanyid1; diff --git a/src/com/engine/organization/entity/job/po/JobPO.java b/src/com/engine/organization/entity/job/po/JobPO.java index c7cb358a..8636f7c8 100644 --- a/src/com/engine/organization/entity/job/po/JobPO.java +++ b/src/com/engine/organization/entity/job/po/JobPO.java @@ -87,7 +87,7 @@ public class JobPO { /** * 显示顺序 */ - private Integer showOrder; + private Double showOrder; private String gradeId; diff --git a/src/com/engine/organization/entity/searchtree/SearchTree.java b/src/com/engine/organization/entity/searchtree/SearchTree.java index 849670cf..68f9cf0c 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTree.java +++ b/src/com/engine/organization/entity/searchtree/SearchTree.java @@ -18,7 +18,8 @@ public class SearchTree extends TreeNode { private boolean isCanceled; private String requestParams; private String parentComp; - private Integer orderNum; + private Double orderNum; + private Double showOrderOfTree; public String getCompanyid() { return companyid; @@ -76,14 +77,28 @@ public class SearchTree extends TreeNode { this.parentComp = parentComp; } - public Integer getOrderNum() { + public Double getOrderNum() { + if(null==orderNum){ + return 0.00; + } return orderNum; } - public void setOrderNum(Integer orderNum) { + public void setOrderNum(Double orderNum) { this.orderNum = orderNum; } + public Double getShowOrderOfTree() { + if(null==showOrderOfTree){ + return 0.00; + } + return showOrderOfTree; + } + + public void setShowOrderOfTree(Double showOrderOfTree) { + this.showOrderOfTree = showOrderOfTree; + } + @Override public boolean equals(Object o) { if (this == o) { diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 091f595a..681e4b89 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -12,6 +12,7 @@ + @@ -30,6 +31,7 @@ t.departmentCode, t.coadjutant, t.showOrder, + t.showOrderOfTree, t.uuid diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 275db287..2fc9c2ec 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -130,7 +130,7 @@ public interface JobMapper { * * @return */ - Integer getMaxShowOrder(); + Double getMaxShowOrder(); /** * 根据名字和上级查询岗位信息 diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 2580bdb5..a9cce49b 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -467,7 +467,7 @@ and t.forbidden_tag = #{jobPO.forbiddenTag} - select max(show_order) from jcl_org_job diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 3a9680d7..4e6b0596 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -85,10 +85,10 @@ public class CompServiceImpl extends Service implements CompService { // 添加父级元素 List compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs, orderType.toString()); if ("asc".equalsIgnoreCase(orderType.toString())) { - compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder)).collect(Collectors.toList()); + compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder)).collect(Collectors.toList()); } else { - compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList()); + compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(CompListDTO::getShowOrder).reversed()).collect(Collectors.toList()); } List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); pageInfos = new PageInfo<>(user, subList, CompListDTO.class); diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 897d407a..7e167447 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -134,10 +134,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 添加父级元素 List compListDTOS = DepartmentBO.buildDeptDTOList(allList, filterDeptPOs, orderType.toString()); if ("asc".equalsIgnoreCase(orderType.toString())) { - compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder)).collect(Collectors.toList()); + compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder)).collect(Collectors.toList()); } else { - compListDTOS = compListDTOS.stream().sorted(Comparator.comparing(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList()); + compListDTOS = compListDTOS.stream().sorted(Comparator.comparingDouble(DepartmentListDTO::getShowOrder).reversed()).collect(Collectors.toList()); } List subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), compListDTOS); pageInfos = new PageInfo<>(user, DepartmentBO.buildDeptDTOShowNames(subList), DepartmentListDTO.class); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index a8efd3bd..b4a23232 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -164,10 +164,10 @@ public class JobServiceImpl extends Service implements JobService { // 添加父级元素 List jobListDTOS = JobBO.buildJobDTOList(allList, filterJobPOs); if ("asc".equalsIgnoreCase(orderType.toString())) { - jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparing(JobListDTO::getShowOrder)).collect(Collectors.toList()); + jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparingDouble(JobListDTO::getShowOrder)).collect(Collectors.toList()); } else { - jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparing(JobListDTO::getShowOrder).reversed()).collect(Collectors.toList()); + jobListDTOS = jobListDTOS.stream().sorted(Comparator.comparingDouble(JobListDTO::getShowOrder).reversed()).collect(Collectors.toList()); } List subList = PageUtil.subList(param.getCurrent(), param.getPageSize(), jobListDTOS); pageInfos = new PageInfo<>(user, subList, JobListDTO.class); @@ -367,9 +367,9 @@ public class JobServiceImpl extends Service implements JobService { } if (StringUtils.isBlank(params.get("show_order").toString())) { - Integer maxShowOrder = getJobMapper().getMaxShowOrder(); + Double maxShowOrder = getJobMapper().getMaxShowOrder(); if (null == maxShowOrder) { - maxShowOrder = 0; + maxShowOrder = 0.00; } params.put("show_order", maxShowOrder + 1); } @@ -433,8 +433,8 @@ public class JobServiceImpl extends Service implements JobService { OrganizationAssert.notBlank(department, SystemEnv.getHtmlLabelName(547423,user.getLanguage())); int insertCount = 0; List idList = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList()); - Integer orderNum = getJobMapper().getMaxShowOrder(); - orderNum = null == orderNum ? 0 : orderNum; + Double orderNum = getJobMapper().getMaxShowOrder(); + orderNum = null == orderNum ? 0.00 : orderNum; for (Long id : idList) { orderNum++; JobPO jobById = getJobMapper().getJobById(id); diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index c25bc783..632b991c 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -845,7 +845,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu jobPO.setDescription(description); jobPO.setWorkDuty(work_duty); jobPO.setWorkAuthority(work_authority); - jobPO.setShowOrder(StringUtils.isBlank(show_order) ? null : Integer.parseInt(show_order)); + jobPO.setShowOrder(StringUtils.isBlank(show_order) ? null : Double.parseDouble(show_order)); jobPO.setForbiddenTag(StringUtils.isBlank(forbidden_tag) ? null : Integer.parseInt(forbidden_tag)); jobPO.setGradeId(grade_id); jobPO.setLevelId(level_id); diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 60b7ce31..0b5a30b9 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -91,7 +91,11 @@ public class SearchTreeUtil { Set leafIds = new HashSet<>(); List collect = treeList.stream().peek(e -> { if (null != collects && CollectionUtils.isNotEmpty(collects.get(e.getId()))) { - List nodes = collects.get(e.getId()).stream().sorted(Comparator.comparing(item -> null == item.getOrderNum() ? 0 : item.getOrderNum())).collect(Collectors.toList()); + List nodes = collects.get(e.getId()).stream().sorted(Comparator + .comparingDouble(SearchTree::getOrderNum) + .thenComparingDouble(SearchTree::getShowOrderOfTree) + ) + .collect(Collectors.toList()); e.setSubs(nodes); leafIds.add(e.getId()); if (CollectionUtils.isNotEmpty(e.getSubs())) { @@ -117,7 +121,10 @@ public class SearchTreeUtil { List collect = treeList.stream().peek(e -> { Set treeNodes = new LinkedHashSet<>(); if (isAdd && CollectionUtils.isNotEmpty(childMap.get(e.getId()))) { - List searchTrees = childMap.get(e.getId()).stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); + List searchTrees = childMap.get(e.getId()).stream().sorted( + Comparator.comparingDouble(SearchTree::getOrderNum) + .thenComparingDouble(SearchTree::getShowOrderOfTree) + ).collect(Collectors.toList()); treeNodes.addAll(searchTrees); } List nodes = parentMap.get(e.getId());