From 3fa679b139764e9059a044c9d2e9bfbe874c3d2c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 27 Jul 2023 17:45:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E6=A0=91=E7=BB=93=E6=9E=84=E5=85=BC=E5=AE=B9=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=B0=81=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/chart/TreeSelect.java | 46 ++++++++++++++----- .../service/impl/ChartServiceImpl.java | 12 +++-- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/src/com/engine/organization/entity/chart/TreeSelect.java b/src/com/engine/organization/entity/chart/TreeSelect.java index f5727244..d00ad699 100644 --- a/src/com/engine/organization/entity/chart/TreeSelect.java +++ b/src/com/engine/organization/entity/chart/TreeSelect.java @@ -5,6 +5,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import java.util.ArrayList; @@ -20,17 +21,19 @@ import java.util.List; @NoArgsConstructor @Builder public class TreeSelect { - public static final String COMPANY = "company"; - public static final String SUB_COMPANY = "subCompany"; - public static final String DEPARTMENT = "department"; + public static final String COMPANY = "0"; + public static final String SUB_COMPANY = "1"; + public static final String DEPARTMENT = "2"; private String key; private String id; private String title; private String type; - private String icon; + private String canceled; private List children; + private String cancelSql; + public List getChildren() { if (null != children) { return children; @@ -38,27 +41,27 @@ public class TreeSelect { children = new ArrayList<>(); RecordSet rs = new RecordSet(); if (COMPANY.equals(type)) { - String sql = "select id ,subcompanyname from hrmsubcompany where (canceled is null or canceled != 1) and (supsubcomid is null or supsubcomid = 0) and companyid = ? order by showorder desc"; + String sql = "select id ,subcompanyname ,canceled from hrmsubcompany where " + getCancelSqlStr() + " and (supsubcomid is null or supsubcomid = 0) and companyid = ? order by showorder desc"; rs.executeQuery(sql, key); while (rs.next()) { - children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).type(SUB_COMPANY).build()); + children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).canceled(rs.getString("canceled")).type(SUB_COMPANY).cancelSql(cancelSql).build()); } } else if (SUB_COMPANY.equals(type)) { - String sql = "select id ,subcompanyname from hrmsubcompany where (canceled is null or canceled != 1) and supsubcomid = ? order by showorder desc"; + String sql = "select id ,subcompanyname ,canceled from hrmsubcompany where " + getCancelSqlStr() + " and supsubcomid = ? order by showorder desc"; rs.executeQuery(sql, key); while (rs.next()) { - children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).type(SUB_COMPANY).build()); + children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).canceled(rs.getString("canceled")).type(SUB_COMPANY).cancelSql(cancelSql).build()); } - sql = "select id,departmentname from hrmdepartment where (canceled is null or canceled != 1) and (supdepid is null or supdepid =0) and subcompanyid1 = ? order by showorder desc"; + sql = "select id,departmentname ,canceled from hrmdepartment where " + getCancelSqlStr() + " and (supdepid is null or supdepid =0) and subcompanyid1 = ? order by showorder desc"; rs.executeQuery(sql, key); while (rs.next()) { - children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).type(DEPARTMENT).build()); + children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).canceled(rs.getString("canceled")).type(DEPARTMENT).cancelSql(cancelSql).build()); } } else if (DEPARTMENT.equals(type)) { - String sql = "select id,departmentname from hrmdepartment where (canceled is null or canceled != 1) and supdepid = ? order by showorder desc"; + String sql = "select id,departmentname ,canceled from hrmdepartment where " + getCancelSqlStr() + " and supdepid = ? order by showorder desc"; rs.executeQuery(sql, key); while (rs.next()) { - children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).type(DEPARTMENT).build()); + children.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("departmentname")).canceled(rs.getString("canceled")).type(DEPARTMENT).cancelSql(cancelSql).build()); } } return CollectionUtils.isEmpty(children) ? null : children; @@ -81,4 +84,23 @@ public class TreeSelect { public String getId() { return key; } + + public String getCanceled() { + if (StringUtils.isBlank(canceled)) { + return "0"; + } + return canceled; + } + + public String getCancelSql() { + return null; + } + + private String getCancelSqlStr() { + if (StringUtils.isNotBlank(cancelSql) && "1".equals(cancelSql)) { + return " 1=1 "; + } else { + return " (canceled is null or canceled != 1) "; + } + } } diff --git a/src/com/engine/organization/service/impl/ChartServiceImpl.java b/src/com/engine/organization/service/impl/ChartServiceImpl.java index 8a45fa8c..de339526 100644 --- a/src/com/engine/organization/service/impl/ChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/ChartServiceImpl.java @@ -476,12 +476,13 @@ public class ChartServiceImpl extends Service implements ChartService { @Override public Map getMovingTree(Map params) { RecordSet rs = new RecordSet(); - rs.executeQuery("select id,subcompanyname from hrmsubcompany where (canceled is null or canceled != 1) and (supsubcomid is null or supsubcomid = 0)"); + String canceled = Util.null2String(params.get("canceled")); + rs.executeQuery("select id,subcompanyname,canceled from hrmsubcompany where (canceled is null or canceled != 1) and (supsubcomid is null or supsubcomid = 0)"); List movingTrees = new ArrayList<>(); while(rs.next()){ - movingTrees.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).type(TreeSelect.SUB_COMPANY).build()); + movingTrees.add(TreeSelect.builder().key(rs.getString("id")).title(rs.getString("subcompanyname")).type(TreeSelect.SUB_COMPANY).cancelSql(canceled).build()); } - Map result = new HashMap<>(2); + Map result = new HashMap<>(3); result.put("movingTree", movingTrees); result.put("expandedKeys", movingTrees.stream().map(TreeSelect::getKey).collect(Collectors.toList())); result.put("api_status", true); @@ -494,13 +495,14 @@ public class ChartServiceImpl extends Service implements ChartService { rs.executeQuery("select id,companyname from hrmcompany"); TreeSelect companyTree = null; List expandedKeys = new ArrayList<>(); + String canceled = Util.null2String(params.get("canceled")); if(rs.next()){ - companyTree = TreeSelect.builder().key(rs.getString("id")).title(rs.getString("companyname")).type(TreeSelect.COMPANY).build(); + companyTree = TreeSelect.builder().key(rs.getString("id")).title(rs.getString("companyname")).type(TreeSelect.COMPANY).cancelSql(canceled).build(); expandedKeys = companyTree.getChildren().stream().map(TreeSelect::getKey).collect(Collectors.toList()); expandedKeys.add(companyTree.getKey()); } - Map result = new HashMap<>(2); + Map result = new HashMap<>(3); result.put("selectTree", companyTree); result.put("expandedKeys", expandedKeys); result.put("api_status", true);