From 2d64a5015bc4fb036f4ecaf26e19e3f9881f0a8b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 15 Nov 2022 14:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E9=80=8F=E8=A7=86=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrgChartServiceImpl.java | 8 ++++---- .../organization/util/db/DBOperateAdapter.java | 2 ++ src/com/engine/organization/util/db/DBType.java | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) 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;