diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 0a39f75d..7618acff 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -50,19 +50,19 @@ 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,fdateend desc "; + String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) "; // 分部分权过滤 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,fdateend desc"; + sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; } else { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id,fdateend desc"; + sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; } } - rs.executeQuery(sql); + rs.executeQuery(sql + " and fdateend > " + DBType.get(new RecordSet().getDBType()).currentDate() + " order by ftype , id,fdateend desc "); Set companySet = new HashSet<>(); while (rs.next()) { OrgSelectItem item = new OrgSelectItem(); diff --git a/src/com/engine/organization/util/db/DBOperateAdapter.java b/src/com/engine/organization/util/db/DBOperateAdapter.java index ac2e0fd6..50d2dda6 100644 --- a/src/com/engine/organization/util/db/DBOperateAdapter.java +++ b/src/com/engine/organization/util/db/DBOperateAdapter.java @@ -4,4 +4,6 @@ public interface DBOperateAdapter { String like(String some); String concat(String some); + + String currentDate(); } diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java index c9ea4676..6581acab 100644 --- a/src/com/engine/organization/util/db/DBType.java +++ b/src/com/engine/organization/util/db/DBType.java @@ -15,6 +15,11 @@ public enum DBType implements DBOperateAdapter { public String concat(String some) { return " concat(','," + some + ",',') "; } + + @Override + public String currentDate() { + return "now()"; + } }, SQLSERVER("sqlserver") { @Override @@ -26,6 +31,11 @@ public enum DBType implements DBOperateAdapter { public String concat(String some) { return " ','+" + some + "+',' "; } + + @Override + public String currentDate() { + return "GETDATE()"; + } }, ORACLE("oracle") { @Override @@ -37,6 +47,11 @@ public enum DBType implements DBOperateAdapter { public String concat(String some) { return " ',' ||" + some + "|| ',' "; } + + @Override + public String currentDate() { + return "SYSDATE"; + } }; private String dbtype;