From 1a47555a807b239171ba75d92d1cc4a059706270 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 9 Nov 2022 10:16:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9E=B6=E6=9E=84=E5=9B=BE?= =?UTF-8?q?=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interface/RefreshPlan.jsp | 6 +-- .../organization/entity/job/bo/JobBO.java | 2 +- .../service/impl/OrgChartServiceImpl.java | 37 +++++-------------- 3 files changed, 13 insertions(+), 32 deletions(-) diff --git a/interface/RefreshPlan.jsp b/interface/RefreshPlan.jsp index d0522aa0..d4a4705e 100644 --- a/interface/RefreshPlan.jsp +++ b/interface/RefreshPlan.jsp @@ -21,7 +21,7 @@ Set jobSet = new HashSet<>(); Set departmentSet = new HashSet<>(); Set companySet = new HashSet<>(); - rs.executeQuery("select id, parent_job from jcl_org_job where id not in( select ifnull(parent_job, '') from jcl_org_job where delete_type =0) and delete_type =0"); + rs.executeQuery("select id, parent_job from jcl_org_job where id not in( select ifnull(parent_job, '') from jcl_org_job where delete_type =0 and forbidden_tag=0) and delete_type =0 and forbidden_tag=0"); while (rs.next()) { Long jobId = Long.parseLong(Util.null2String(rs.getString("id"))); JobPO jobPO = MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId); @@ -34,7 +34,7 @@ } } // 刷新部门 - rs.executeQuery("select id, parent_dept from jcl_org_dept where id not in( select ifnull(parent_dept , '') from jcl_org_dept where delete_type =0) and delete_type =0"); + rs.executeQuery("select id, parent_dept from jcl_org_dept where id not in( select ifnull(parent_dept , '') from jcl_org_dept where delete_type =0 and forbidden_tag=0) and delete_type =0 and forbidden_tag=0"); while (rs.next()) { Long departmentId = Long.parseLong(Util.null2String(rs.getString("id"))); DepartmentPO deptById = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(departmentId); @@ -47,7 +47,7 @@ } // 刷新分部 - rs.executeQuery("select id, parent_company from jcl_org_comp where id not in( select ifnull(parent_company , '') from jcl_org_comp where delete_type =0) and delete_type =0"); + rs.executeQuery("select id, parent_company from jcl_org_comp where id not in( select ifnull(parent_company , '') from jcl_org_comp where delete_type =0 and forbidden_tag=0) and delete_type =0 and forbidden_tag=0"); while (rs.next()) { Long companyId = Long.parseLong(Util.null2String(rs.getString("id"))); CompPO compPO = MapperProxyFactory.getProxy(CompMapper.class).listById(companyId); diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index 8447b659..c1fb690b 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -152,7 +152,7 @@ public class JobBO { SearchTree tree = new SearchTree(); tree.setCanClick(true); tree.setCanceled(false); - tree.setIcon("icon-coms-Branch"); + tree.setIcon("icon-coms-content-o"); tree.setId(item.getId().toString()); tree.setIsParent(false); tree.setIsVirtual("0"); diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 589a5bb1..248396f2 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -3,10 +3,8 @@ package com.engine.organization.service.impl; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import com.engine.core.impl.Service; -import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.po.LevelPO; -import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.service.OrgChartService; @@ -15,7 +13,6 @@ import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; -import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; @@ -148,7 +145,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { findCompanyItemByParantId(id, currentLevel + 1, level, rs, list, whereSql, currentLevel + 1 <= Integer.parseInt(level)); // 分部数据,构建层级关系 - reBuildTreeList(list); + reBuildTreeList(list, root); result.put("api_status", true); result.put("data", list); @@ -256,7 +253,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("fleaderimg", rs.getString("fleaderimg")); // 转换岗位 //item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid"))); - item.put("fleaderjob",rs.getString("fleaderjob")); + item.put("fleaderjob", rs.getString("fleaderjob")); item.put("fplan", StringUtils.isNotEmpty(rs.getString("fplan")) ? rs.getString("fplan") : "0"); item.put("fonjob", StringUtils.isNotEmpty(rs.getString("fonjob")) ? rs.getString("fonjob") : "0"); item.put("hasChildren", hasChildren(rs.getString("id"), false)); @@ -275,7 +272,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { findUserItemByParantId(id, currentLevel + 1, level, rs, list, whereSql, currentLevel + 1 <= Integer.parseInt(level)); // 分部数据,构建层级关系 - reBuildTreeList(list); + reBuildTreeList(list, root); result.put("api_status", true); result.put("data", list); @@ -302,7 +299,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("fleaderimg", rs.getString("fleaderimg")); // 转换岗位 //item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid"))); - item.put("fleaderjob",rs.getString("fleaderjob")); + item.put("fleaderjob", rs.getString("fleaderjob")); item.put("fplan", StringUtils.isNotEmpty(rs.getString("fplan")) ? rs.getString("fplan") : "0"); item.put("fonjob", StringUtils.isNotEmpty(rs.getString("fonjob")) ? rs.getString("fonjob") : "0"); item.put("fnumber", rs.getString("fnumber")); @@ -368,7 +365,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("fleaderimg", rs.getString("fleaderimg")); // 转换岗位 //item.put("fleaderjob", convertJobNameById(rs.getString("fleaderjobid"))); - item.put("fleaderjob",rs.getString("fleaderjob")); + item.put("fleaderjob", rs.getString("fleaderjob")); item.put("fplan", StringUtils.isNotEmpty(rs.getString("fplan")) ? rs.getString("fplan") : "0"); item.put("fonjob", StringUtils.isNotEmpty(rs.getString("fonjob")) ? rs.getString("fonjob") : "0"); item.put("fnumber", rs.getString("fnumber")); @@ -460,31 +457,15 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { } - private void reBuildTreeList(List> list) { + private void reBuildTreeList(List> list, String root) { // 分部数据,构建层级关系 Set idSet = list.stream().filter(item -> "1".equals(Util.null2String(item.get("ftype")))).map(item -> Util.null2String(item.get("id"))).collect(Collectors.toSet()); list.forEach(item -> { - if ("1".equals(Util.null2String(item.get("ftype"))) && !idSet.contains(Util.null2String(item.get("parentId")))) { - item.put("parentId", "0"); - item.put("fobjparentId", "0"); + if (!root.equals(Util.null2String(item.get("id"))) && "1".equals(Util.null2String(item.get("ftype"))) && !idSet.contains(Util.null2String(item.get("parentId")))) { + item.put("parentId", root); + item.put("fobjparentId", root); } }); } - private String convertJobNameById(String jobId) { - String jobName = ""; - if (StringUtils.isNotBlank(jobId)) { - try { - Long id = Long.parseLong(jobId); - JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(id); - if (null != jobById) { - jobName = jobById.getJobName(); - } - } catch (NumberFormatException e) { - new BaseBean().writeLog("组织架构图,岗位转换异常", e); - } - } - return jobName; - } - }