diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 269ed0b4..0a39f75d 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -50,30 +50,30 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("companyname", rs.getString("companyname")); fclasslist.add(item); } - String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) order by ftype , id "; + String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) order by ftype , id,fdateend desc "; // 分部分权过滤 DetachUtil detachUtil = new DetachUtil(user.getUID()); if (detachUtil.isDETACH()) { String jclRoleLevels = detachUtil.getJclRoleLevels(); if (StringUtils.isNotBlank(jclRoleLevels)) { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) order by ftype , id"; + sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) order by ftype , id,fdateend desc"; } else { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id"; + sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id,fdateend desc"; } } rs.executeQuery(sql); - List> companylist = new ArrayList<>(); + Set companySet = new HashSet<>(); while (rs.next()) { - Map item = new HashMap<>(); - item.put("id", rs.getString("id")); - item.put("fnumber", rs.getString("fnumber")); - item.put("fname", rs.getString("fname")); - companylist.add(item); + OrgSelectItem item = new OrgSelectItem(); + item.setId(rs.getString("id")); + item.setFnumber(rs.getString("fnumber")); + item.setFname(rs.getString("fname")); + companySet.add(item); } result.put("api_status", true); result.put("fclasslist", fclasslist); - result.put("companylist", companylist); + result.put("companylist", companySet); return result; } @@ -268,15 +268,22 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("fname", rs.getString("fname")); item.put("ftype", rs.getString("ftype")); item.put("parentId", null); - item.put("fleadername", rs.getString("fleadername")); - item.put("fleaderimg", rs.getString("fleaderimg")); - item.put("fleaderjob", rs.getString("fleaderjob")); + if ("0".equals(id)) { + item.put("fleadername", ""); + item.put("fleaderimg", ""); + item.put("fleaderjob", ""); + item.put("fleader", ""); + } else { + item.put("fleadername", rs.getString("fleadername")); + item.put("fleaderimg", rs.getString("fleaderimg")); + item.put("fleaderjob", rs.getString("fleaderjob")); + item.put("fleader", rs.getString("fleader")); + } item.put("fplan", rs.getString("fplan")); item.put("fonjob", rs.getString("fonjob")); item.put("hasChildren", hasChildren(rs.getString("id"), false)); item.put("expand", "1"); item.put("fnumber", rs.getString("fnumber")); - item.put("fleader", rs.getString("fleader")); item.put("fobjid", rs.getString("fobjid")); item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); @@ -489,4 +496,48 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { } }); } + + static class OrgSelectItem { + private String id; + private String fnumber; + private String fname; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFnumber() { + return fnumber; + } + + public void setFnumber(String fnumber) { + this.fnumber = fnumber; + } + + public String getFname() { + return fname; + } + + public void setFname(String fname) { + this.fname = fname; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof OrgSelectItem) { + OrgSelectItem item = (OrgSelectItem) obj; + return this.getId().equals(item.getId()); + } + return false; + } + + @Override + public int hashCode() { + return Integer.parseInt(this.getId()); + } + } }