From 4113df170841fd02f47be08bb36553a568925f62 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 8 Feb 2023 14:05:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8E=86=E6=A0=91=EF=BC=8C=E8=81=9A?= =?UTF-8?q?=E6=89=8D=E6=9E=97=E5=B2=97=E4=BD=8D=E6=90=9C=E7=B4=A2BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 41 +++++++++++++++++++ .../organization/mapper/job/JobMapper.xml | 6 +++ 2 files changed, 47 insertions(+) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index d587948f..a5f7e59a 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -26,6 +26,8 @@ import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -70,6 +72,45 @@ public class JobBrowserService extends BrowserService { return resultMap; } + @Override + public Map browserAutoComplete(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { + Map apidatas = new HashMap<>(); + String q = Util.null2String(httpServletRequest.getParameter("q")); + List sqlParams = new ArrayList<>(); + String keyword = ""; + if (q.length() > 0) keyword = "%" + q + "%"; + RecordSet rs = new RecordSet(); + String sqlwhere = " where t.delete_type = 0 "; + String backfields = "t.id, t.job_no, h.jobtitlename as name, t.sequence_id, t.scheme_id , t.grade_id , t.level_id "; + String fromSql = "FROM jcl_org_job t left join hrmjobtitles h on t.ec_jobTitle = h.id "; + String orderby = " order by t.id "; + sqlwhere += " "; + DetachUtil detachUtil = new DetachUtil(user); + if (detachUtil.isDETACH()) { + sqlwhere += " AND t.ec_company in (" + detachUtil.getJclRoleLevels() + ")"; + } + if (!"".equals(keyword)) { + sqlwhere += " and (h.jobtitlemark like ? or h.jobtitlename like ? or h.ecology_pinyin_search like ? )"; + sqlParams.add(keyword); + sqlParams.add(keyword); + sqlParams.add(keyword); + } + String sql = "select " + backfields + fromSql + sqlwhere + orderby; + rs.executeQuery(sql, sqlParams); + List> datas = new ArrayList<>(); + while (rs.next()) { + Map item = new HashMap<>(); + item.put("id", Util.null2String(rs.getString("id"))); + String name = Util.null2String(rs.getString("name")); + item.put("name", name); + item.put("title", name); + datas.add(item); + } + apidatas.put("datas", datas); + return apidatas; + } + + @Override public Map getBrowserConditionInfo(Map map) { Map> apiDatas = new HashMap<>(); diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 7a28de6f..5af7f1ce 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -518,9 +518,15 @@ and t.ec_company = #{resourcePO.subcompanyid1} + + and t.ec_company is null + and t.ec_department = #{resourcePO.departmentid} + + and t.ec_department is null + and t.ec_jobTitle = #{resourcePO.jobtitle}