From 81f7ecfec91604d64a99619231d36fc79eeff747 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 12 Jul 2023 16:09:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/HrmResourceService.java | 2 +- .../service/impl/ChartServiceImpl.java | 19 ++++--- .../service/impl/HrmResourceServiceImpl.java | 53 +++++++++++++++++-- 3 files changed, 59 insertions(+), 15 deletions(-) diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index d635110c..a6a3fc7f 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -176,7 +176,7 @@ public interface HrmResourceService { * @param: [departmentId] * @return: java.util.Map */ - Map chartResourceList(Integer departmentId); + Map chartResourceList(Integer departmentId,String versionId,String dimension); } diff --git a/src/com/engine/organization/service/impl/ChartServiceImpl.java b/src/com/engine/organization/service/impl/ChartServiceImpl.java index 9be33725..e9be0864 100644 --- a/src/com/engine/organization/service/impl/ChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/ChartServiceImpl.java @@ -193,16 +193,6 @@ public class ChartServiceImpl extends Service implements ChartService { @Override public Map getDepartmentDetail(Map params) { String rootId = Util.null2String(params.get("rootId")); - - OrganizationAssert.isFalse(StringUtils.isBlank(rootId) || !rootId.startsWith("d_"), "数据有误,未查询到对应数据"); - String departmentId = rootId.split("_")[1]; - String detauleType = Util.null2String(params.get("detauleType")); - if (!"chart".equals(detauleType)) { - // 展示列表模块 - return ServiceUtil.getService(HrmResourceServiceImpl.class, user).chartResourceList(Integer.parseInt(departmentId)); - } - - // 维度 String dimension = Util.null2String(params.get("fclass")); dimension = StringUtils.isBlank(dimension) ? "0" : dimension; @@ -213,6 +203,15 @@ public class ChartServiceImpl extends Service implements ChartService { //版本id String versionId = Util.null2String(params.get("id")); + OrganizationAssert.isFalse(StringUtils.isBlank(rootId) || !rootId.startsWith("d_"), "数据有误,未查询到对应数据"); + String departmentId = rootId.split("_")[1]; + String detauleType = Util.null2String(params.get("detauleType")); + if (!"chart".equals(detauleType)) { + // 展示列表模块 + return ServiceUtil.getService(HrmResourceServiceImpl.class, user).chartResourceList(Integer.parseInt(departmentId),versionId,dimension); + } + + // 初始化表名 initTableNameByClass(dimension, versionId); diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index aa2a34d7..a2d3baef 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -66,6 +66,8 @@ import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import static weaver.general.Util.getIntValue; + /** * @author:dxfeng * @createTime: 2022/06/20 @@ -308,7 +310,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Integer updateCustomTemplate(Map params) { - int rowNum = Util.getIntValue((String) params.get("rownum")); + int rowNum = getIntValue((String) params.get("rownum")); int count = 0; List allIds = getJclOrgCustomTemplateMapper().listAllId(); String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); @@ -424,11 +426,54 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } @Override - public Map chartResourceList(Integer departmentId) { + public Map chartResourceList(Integer departmentId,String versionId,String dimension) { Map dataMap = new HashMap<>(); List resourceListColumns = getTableColumns(); - List resourceChartPOS = getHrmResourceMapper().selectByDepartmentId(departmentId); - List resourceChartVOS = ResourceChartBO.convertToVO(resourceChartPOS); + List resourceChartPOS = new ArrayList<>(); + List resourceChartVOS = new ArrayList<>(); + RecordSet rs = new RecordSet(); + if ("0".equals(dimension)) { + if ("0".equals(versionId)) { + //当前数据 + resourceChartPOS = getHrmResourceMapper().selectByDepartmentId(departmentId); + resourceChartVOS = ResourceChartBO.convertToVO(resourceChartPOS); + }else { + rs.executeQuery("select resourceid,workcode,lastname,sex,department,subcompany,jobtitle,mobile from jcl_chart_resource where departmentid = ? and versionid = ?",departmentId,versionId); + while (rs.next()) { + ResourceChartVO build = ResourceChartVO.builder() + .id((long) Util.getIntValue(rs.getString("resourceid"))) + .workCode(Util.null2String(rs.getString("workcode"))) + .lastName(Util.null2String(rs.getString("lastname"))) + .sex("1".equals(Util.null2String(rs.getString("workcode"))) ? "女" : "男") + .departmentName(Util.null2String(rs.getString("department"))) + .subcompanyName(Util.null2String(rs.getString("subcompany"))) + .jobTitle(Util.null2String(rs.getString("jobtitle"))) + .mobile(Util.null2String(rs.getString("mobile"))) + .build(); + + resourceChartVOS.add(build); + } + } + }else { + rs.executeQuery("select h.id,h.workcode,h.lastname,h.sex,h.departmentid,h.subcompanyid1,h.jobtitle,h.status,h.mobile " + + " from hrmresourcevirtual v left join hrmresource h on v.resourceid = h.id and v.virtualtype = ? and h.departmentid = ?",versionId,departmentId); + while (rs.next()) { + ResourceChartPO build = ResourceChartPO.builder() + .id((long) Util.getIntValue(rs.getString("id"))) + .workCode(Util.null2String(rs.getString("workcode"))) + .lastName(Util.null2String(rs.getString("lastname"))) + .sex(Util.null2String(rs.getString("sex"))) + .departmentId(Util.getIntValue(rs.getString("departmentid"))) + .subcompanyid1(Util.getIntValue(rs.getString("subcompanyid1"))) + .jobTitle(Util.getIntValue(rs.getString("jobtitle"))) + .status(Util.getIntValue(rs.getString("subcompanyid1"))) + .mobile(Util.null2String(rs.getString("subcompanyid1"))) + .build(); + resourceChartPOS.add(build); + } + resourceChartVOS = ResourceChartBO.convertToVO(resourceChartPOS); + } + dataMap.put("columns",resourceListColumns); dataMap.put("dataSource",resourceChartVOS); return dataMap;