From 381033ddcb3ef2dd5a3849394353a2607f6c2d23 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 19 Dec 2023 14:48:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=BB=B4=E5=BA=A6=20treesele?= =?UTF-8?q?ct=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/OrgChartServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 8bb6e732..14c8b6b1 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -98,14 +98,18 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { // 是否展示当前数据 boolean isSearchCurrent = StringUtils.isBlank(id) || "0".equals(id); String sql; + String judgeTreeLeafSql; if (isSearchCurrent) { sql = "select id as id, id as value, subcompanyname as title, supsubcomid as pId from hrmsubcompany where (canceled is null or canceled != '1') and " + DBType.get(new RecordSet().getDBType()).ifNull("supsubcomid", "0") + " = ? "; boolean isRealDimension = StringUtils.isBlank(fclass) || "0".equals(fclass); boolean isRealTime = StringUtils.isBlank(id) || "0".equals(id); + judgeTreeLeafSql = sql; if (isRealTime && user.getUID() != 1 && isRealDimension) { DetachUtil detachUtil = new DetachUtil(user); String ids = detachUtil.getJclRoleLevels(); - sql = sql + " and id in ("+ids+")"; + if ("0".equals(subcompany)) { + sql = sql + " and id in ("+ids+")"; + } } if (StringUtils.isNotBlank(fclass) && !"0".equals(fclass)) { sql = "select id as id, id as value, subcompanyname as title, supsubcomid as pId from hrmsubcompanyvirtual where (canceled is null or canceled != '1') and " + DBType.get(new RecordSet().getDBType()).ifNull("supsubcomid", "0") + " = ? and companyid = '" + fclass + "'"; @@ -117,10 +121,11 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { } // 添加时间轴条件 sql += " and versionid = " + id; + judgeTreeLeafSql = sql; } rs.executeQuery(sql,subcompany); while (rs.next()) { - companyTree.add(CompanyTreePO.builder().id(rs.getString("id")).pId(rs.getString("pId")).value(rs.getString("value")).title(rs.getString("title")).isLeaf(judgeTreeLeaf(sql, rs.getString("id"))).build()); + companyTree.add(CompanyTreePO.builder().id(rs.getString("id")).pId(rs.getString("pId")).value(rs.getString("value")).title(rs.getString("title")).isLeaf(judgeTreeLeaf(judgeTreeLeafSql, rs.getString("id"))).build()); } result.put("companyTree", companyTree); return result;