From a8ff1c021cefa38f489b4bbe09dac38b00958128 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Fri, 5 Jan 2024 14:36:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=AC=AC=E4=B8=80=E7=89=88?= =?UTF-8?q?=20=E4=BA=BA=E5=91=98=E6=B1=87=E6=8A=A5=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrgChartServiceImpl.java | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/com/engine/sship/service/impl/OrgChartServiceImpl.java b/src/com/engine/sship/service/impl/OrgChartServiceImpl.java index 80d2cf1..d8f021b 100644 --- a/src/com/engine/sship/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/sship/service/impl/OrgChartServiceImpl.java @@ -57,8 +57,9 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { RecordSet rs = new RecordSet(); BaseBean bb = new BaseBean(); String fieldid = bb.getPropValue("sship", "fieldid"); + String sitehead = bb.getPropValue("sship", "sitehead"); List ids = new ArrayList<>(); - rs.executeQuery("select id from cus_fielddata where "+fieldid+" = 3 and scopeid = 3 and scope = 'HrmCustomFieldByInfoType'"); + rs.executeQuery("select id from cus_fielddata where "+fieldid+" = ? and scopeid = 3 and scope = 'HrmCustomFieldByInfoType'",sitehead); while (rs.next()) { ids.add(Util.getIntValue(rs.getString("id"))); } @@ -70,12 +71,15 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { public List selectPerson(PersonTableParam personTableParam) { List poList; ResourceComInfo rInfo = new ResourceComInfo(); + BaseBean bb = new BaseBean(); + String shareholder = bb.getPropValue("sship", "shareholder"); + String committee = bb.getPropValue("sship", "committee"); switch(personTableParam.getId()){ case "S-1": - poList = selectByLevel(5); + poList = selectByLevel(Integer.valueOf(shareholder)); break; case "C-1": - poList = selectByLevel(4); + poList = selectByLevel(Integer.valueOf(committee)); break; default: poList = selectByDeptId(personTableParam.getId()); @@ -94,8 +98,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { RecordSet rs = new RecordSet(); List poList = new ArrayList<>(); BaseBean bb = new BaseBean(); - //String fieldid = bb.getPropValue("sship.properties", "fieldid"); - String fieldid = "field19"; + String fieldid = bb.getPropValue("sship", "fieldid"); rs.executeQuery("select h.id,h.lastname,h.workcode,h.sex,h.managerid,h.loginid from hrmresource h\n" + " left join cus_fielddata c on h.id = c.id\n" + " where c.scopeid = 3 and c.scope = 'HrmCustomFieldByInfoType' and c."+fieldid+" = ?",level); @@ -137,8 +140,23 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { * 获取指定组织树 * @return */ + @SneakyThrows private TreeDataVO getBaseTreeData() { - return null; + int uid = user.getUID(); + List idList = selectCusSiteHead(); + boolean contains = idList.contains(uid); + DepartmentComInfo dInfo = new DepartmentComInfo(); + ResourceComInfo rInfo = new ResourceComInfo(); + String departmentId = rInfo.getDepartmentID(String.valueOf(uid)); + TreeDataVO build = TreeDataVO.builder() + .id(departmentId) + .label(contains ? dInfo.getDepartmentName(departmentId) : rInfo.getLastname(String.valueOf(uid))) + .build(); + boolean manager = hrmCommonService.isManager(uid); + if (manager) { + build.setChildrens(recursionDepartment(uid)); + } + return build; } /** @@ -171,7 +189,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { ChartChildrensVO build = ChartChildrensVO.builder() .id(departmentId) .pid("C-1") - .label(dInfo.getDepartmentmark(departmentId)) + //.label(dInfo.getDepartmentmark(departmentId)) + .label(rInfo.getLastname(String.valueOf(item))) .build(); boolean manager = hrmCommonService.isManager(item); if (manager) { @@ -204,7 +223,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { ChartChildrensVO build = ChartChildrensVO.builder() .id(departmentId) .pid(item) - .label(dInfo.getDepartmentmark(departmentId)) + //.label(dInfo.getDepartmentmark(departmentId)) + .label(rInfo.getLastname(String.valueOf(item))) .build(); boolean manager = hrmCommonService.isManager(Integer.valueOf(item)); if (manager) {