519 lines
21 KiB
Java
519 lines
21 KiB
Java
package com.engine.organization.service.impl;
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import com.engine.core.impl.Service;
|
|
import com.engine.organization.entity.chart.ChartPO;
|
|
import com.engine.organization.entity.chart.DetailConditionVO;
|
|
import com.engine.organization.entity.chart.ResourceListColumns;
|
|
import com.engine.organization.entity.chart.params.ModeHrmResourceParam;
|
|
import com.engine.organization.entity.hrmresource.po.ResourceChartPO;
|
|
import com.engine.organization.entity.hrmresource.vo.ResourceChartVO;
|
|
import com.engine.organization.mapper.hrmresource.SystemDataMapper;
|
|
import com.engine.organization.service.ModeHrmResourceService;
|
|
import com.engine.organization.util.db.MapperProxyFactory;
|
|
import com.weaver.general.BaseBean;
|
|
import lombok.SneakyThrows;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import weaver.conn.RecordSet;
|
|
import weaver.general.Util;
|
|
import weaver.hrm.company.DepartmentComInfo;
|
|
import weaver.hrm.company.SubCompanyComInfo;
|
|
import weaver.hrm.resource.ResourceComInfo;
|
|
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
|
|
/**
|
|
* @Author liang.cheng
|
|
* @Date 2024/4/24 2:01 PM
|
|
* @Description: uf_zsygrzbdd 正式员工档案 uf_qlwbrydngljmb 外部人员档案
|
|
* @Version 1.0
|
|
*/
|
|
public class ModeHrmResourceServiceImpl extends Service implements ModeHrmResourceService {
|
|
|
|
|
|
@Override
|
|
public Map<String, Object> chartResourceList(ModeHrmResourceParam param) {
|
|
Map<String, Object> dataMap = new HashMap<>(4);
|
|
List<ResourceListColumns> resourceListColumns = getTableColumns();
|
|
List<Integer> allSupDepartment = getAllSupDepartment(param.getDepartmentId());
|
|
List<ResourceChartVO> resourceChartVOS = new ArrayList<>();
|
|
if ("0".equals(param.getVersionId())) {
|
|
List<ResourceChartPO> resourceChartNb = new ArrayList<>(selectNbPerson(allSupDepartment,param.getNbValue(),param.getDeptLevel(),param.getDepartmentId()));
|
|
resourceChartVOS.addAll(convertToVO(resourceChartNb,"1"));
|
|
List<ResourceChartPO> resourceChartWb = new ArrayList<>(selectWbPerson(allSupDepartment,param.getWbValue()));
|
|
resourceChartVOS.addAll(convertToVO(resourceChartWb,"2"));
|
|
}else {
|
|
//历史版本
|
|
List<String> results = new ArrayList<>();
|
|
if (StringUtils.isNotEmpty(param.getNbValue())) {
|
|
results.addAll(Arrays.asList(param.getNbValue().split(",")));
|
|
}
|
|
|
|
if (StringUtils.isNotEmpty(param.getWbValue())) {
|
|
results.addAll(Arrays.asList(param.getWbValue().split(",")));
|
|
}
|
|
resourceChartVOS = selectPersonHt(allSupDepartment,results,param.getVersionId());
|
|
}
|
|
|
|
dataMap.put("columns", resourceListColumns);
|
|
dataMap.put("dataSource", resourceChartVOS);
|
|
return dataMap;
|
|
}
|
|
|
|
|
|
/**
|
|
* 历史版本列表
|
|
* @param allSupDepartment
|
|
* @param versionId
|
|
* @return
|
|
*/
|
|
private List<ResourceChartVO> selectPersonHt(Collection<Integer> allSupDepartment,List<String> result,String versionId) {
|
|
|
|
//历史版本
|
|
List<ResourceChartVO> resourceChartVOS = new ArrayList<>();
|
|
if (CollectionUtil.isEmpty(result)){
|
|
return resourceChartVOS;
|
|
}
|
|
String workType = result.stream()
|
|
.map(s -> "'" + s + "'")
|
|
.collect(Collectors.joining(","));
|
|
|
|
RecordSet rs = new RecordSet();
|
|
String join = CollectionUtil.join(allSupDepartment, ",");
|
|
rs.executeQuery("select id,workcode,lastname,sex,subcompany,department,jobtitle,mobile,usekind,status,versionid \n" +
|
|
"from jcl_chart_resource where status < 4 and versionid = "+versionId+" and departmentid in ("+join+") and usekind in ("+workType+")");
|
|
while (rs.next()) {
|
|
ResourceChartVO build = ResourceChartVO.builder()
|
|
.id((long) Util.getIntValue(rs.getString("id")))
|
|
.workCode(Util.null2String(rs.getString("workcode")))
|
|
.lastName(Util.null2String(rs.getString("lastname")))
|
|
.sex("1".equals(Util.null2String(rs.getString("sex"))) ? "女" : "男")
|
|
.subcompanyName(Util.null2String(rs.getString("subcompany")))
|
|
.departmentName(Util.null2String(rs.getString("department")))
|
|
.jobTitle(Util.null2String(rs.getString("jobtitle")))
|
|
.mobile(Util.null2String(rs.getString("mobile")))
|
|
.build();
|
|
resourceChartVOS.add(build);
|
|
}
|
|
return resourceChartVOS;
|
|
}
|
|
|
|
|
|
@Override
|
|
public Map<String, Object> chartResourceChart(ModeHrmResourceParam param) {
|
|
List<ChartPO> dataList = new ArrayList<>();
|
|
String departmentId = param.getDepartmentId();
|
|
RecordSet rs = new RecordSet();
|
|
rs.executeQuery("select a.id,a.departmentname as name,b.bmfzr\n" +
|
|
"from hrmdepartment a left join hrmdepartmentdefined b on a.id = b.deptid \n" +
|
|
"where a.id = ?",param.getDepartmentId());
|
|
|
|
//部门
|
|
ChartPO departmentChartPO = new ChartPO();
|
|
if (rs.next()) {
|
|
String fLeader = Util.null2String(rs.getString("bmfzr"));
|
|
departmentChartPO.setFtype("2");
|
|
departmentChartPO.setFobjid(departmentId);
|
|
departmentChartPO.setExpand("1");
|
|
departmentChartPO.setId("d_"+departmentId);
|
|
departmentChartPO.setFname(rs.getString("name"));
|
|
departmentChartPO.setFleader(getDepartmentLeader(fLeader));
|
|
try {
|
|
departmentChartPO.setFleaderimg(new ResourceComInfo().getMessagerUrls(fLeader));
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
|
|
}
|
|
|
|
//人员
|
|
List<Integer> allSupDepartment = getAllSupDepartment(param.getDepartmentId());
|
|
List<ResourceChartPO> resourceChartNb = new ArrayList<>(selectNbPerson(allSupDepartment,param.getNbValue(),param.getDeptLevel(),param.getDepartmentId()));
|
|
List<ResourceChartVO> resourceChartVOS = convertToVO(resourceChartNb,"1");
|
|
|
|
List<ResourceChartPO> resourceChartWb = new ArrayList<>(selectWbPerson(allSupDepartment,param.getWbValue()));
|
|
resourceChartVOS.addAll(convertToVO(resourceChartWb,"2"));
|
|
|
|
resourceChartVOS.forEach(item -> {
|
|
ChartPO chartPO = getResourceChartPO(item,departmentChartPO.getId());
|
|
dataList.add(chartPO);
|
|
});
|
|
|
|
|
|
|
|
departmentChartPO.setFonjob(resourceChartVOS.size());
|
|
dataList.add(departmentChartPO);
|
|
|
|
|
|
Map<String, Object> result = new HashMap<>(4);
|
|
result.put("api_status", true);
|
|
result.put("data", dataList);
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public int selcetPersonCount(String departmentIds) {
|
|
RecordSet rs = new RecordSet();
|
|
int totalCount = 0;
|
|
|
|
rs.executeQuery("select count(1) as total_count from uf_zsygrzbdd where zt = 1 and bm in ("+departmentIds+")");
|
|
if (rs.next()) {
|
|
totalCount = Util.getIntValue(rs.getString("total_count"));
|
|
}
|
|
|
|
rs.executeQuery("select count(1) as total_count from uf_qlwbrydngljmb where zt < 4 and bmbz in ("+departmentIds+")");
|
|
if (rs.next()) {
|
|
totalCount += Util.getIntValue(rs.getString("total_count"));
|
|
}
|
|
|
|
return totalCount;
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Object> getDeptDetailCondition() {
|
|
RecordSet rs = new RecordSet();
|
|
List<DetailConditionVO> nbCondition = new ArrayList<>();
|
|
List<String> nbValue = new ArrayList<>();
|
|
List<DetailConditionVO> wbCondition = new ArrayList<>();
|
|
List<String> wbValue = new ArrayList<>();
|
|
|
|
//内部职工
|
|
rs.executeQuery("select mc,bh from uf_ygxz where sfqy = 0 and syfw = 0 and sfxsss = 1");
|
|
while (rs.next()) {
|
|
String mc = Util.null2String(rs.getString("mc"));
|
|
String bh = Util.null2String(rs.getString("bh"));
|
|
nbCondition.add(DetailConditionVO.builder().label(mc).value(bh).build());
|
|
nbValue.add(bh);
|
|
}
|
|
|
|
//外部人员
|
|
rs.executeQuery("select mc,bh from uf_ygxz where sfqy = 0 and syfw = 1 and sfxsss = 1");
|
|
while (rs.next()) {
|
|
String mc = Util.null2String(rs.getString("mc"));
|
|
String bh = Util.null2String(rs.getString("bh"));
|
|
wbCondition.add(DetailConditionVO.builder().label(mc).value(bh).build());
|
|
wbValue.add(bh);
|
|
}
|
|
|
|
|
|
|
|
Map<String,Object> datas = new HashMap<>(4);
|
|
datas.put("nbCondition",nbCondition);
|
|
datas.put("nbValue",nbValue);
|
|
datas.put("wbCondition",wbCondition);
|
|
datas.put("wbValue",wbValue);
|
|
return datas;
|
|
}
|
|
|
|
|
|
/**
|
|
* 正式员工
|
|
* @param allSupDepartment
|
|
* @return
|
|
*/
|
|
private List<ResourceChartPO> selectNbPerson(Collection<Integer> allSupDepartment,String workType,String depetLevel,String departmentId) {
|
|
List<ResourceChartPO> resourceChartPOS = new ArrayList<>();
|
|
if (StringUtils.isEmpty(workType)){
|
|
return resourceChartPOS;
|
|
}
|
|
List<String> result = Arrays.asList(workType.split(","));
|
|
workType = result.stream()
|
|
.map(s -> "'" + s + "'")
|
|
.collect(Collectors.joining(","));
|
|
|
|
BaseBean bb = new BaseBean();
|
|
String modeId = bb.getPropValue("hrmOrganization", "nbmodeId");
|
|
String formId = bb.getPropValue("hrmOrganization", "nbformId");
|
|
String customid = bb.getPropValue("hrmOrganization", "nbcustomid");
|
|
|
|
RecordSet rs = new RecordSet();
|
|
String join = CollectionUtil.join(allSupDepartment, ",");
|
|
String sql = "select id,gh,xm,xb,bm,ks,gw,sjhm,ygxz from uf_zsygrzbdd where zt = 1 and zgzt = 1 and bm = "+departmentId+" and ygxz in ("+workType+")";
|
|
//非一级部门情况下使用科室字段
|
|
if (!"0".equals(depetLevel)) {
|
|
sql = "select id,gh,xm,xb,bm,ks,gw,sjhm,ygxz from uf_zsygrzbdd where zt = 1 and zgzt = 1 and ks in ("+join+") and ygxz in ("+workType+")";
|
|
}
|
|
|
|
rs.executeQuery(sql);
|
|
while (rs.next()) {
|
|
int bm = Util.getIntValue(rs.getString("bm"));
|
|
int ks = Util.getIntValue(rs.getString("ks"));
|
|
int id = Util.getIntValue(rs.getString("id"));
|
|
ResourceChartPO build = ResourceChartPO.builder()
|
|
.id((long) id)
|
|
.workCode(Util.null2String(rs.getString("gh")))
|
|
.lastName(Util.null2String(rs.getString("xm")))
|
|
.sex(Util.null2String(rs.getString("xb")))
|
|
.departmentId(ks != -1 ? ks : bm)
|
|
.deptType(ks != -1 ? 1 : 0)
|
|
.jobBrowser(Util.null2String(rs.getString("gw")))
|
|
.mobile(Util.null2String(rs.getString("sjhm")))
|
|
.pcUrl(String.format("/spa/cube/index.html#/main/cube/card?type=0&modeId={}&formId={}&billid={}&opentype=0&customid={}&viewfrom=fromsearchlist",modeId,formId,id,customid))
|
|
.personType(Util.null2String(rs.getString("ygxz")))
|
|
.build();
|
|
resourceChartPOS.add(build);
|
|
}
|
|
|
|
return resourceChartPOS;
|
|
}
|
|
|
|
/**
|
|
* 外部员工
|
|
* @param allSupDepartment
|
|
* @return
|
|
*/
|
|
private List<ResourceChartPO> selectWbPerson(Collection<Integer> allSupDepartment,String workType) {
|
|
List<ResourceChartPO> resourceChartPOS = new ArrayList<>();
|
|
if (StringUtils.isEmpty(workType)){
|
|
return resourceChartPOS;
|
|
}
|
|
List<String> result = Arrays.asList(workType.split(","));
|
|
workType = result.stream()
|
|
.map(s -> "'" + s + "'")
|
|
.collect(Collectors.joining(","));
|
|
|
|
BaseBean bb = new BaseBean();
|
|
String modeId = bb.getPropValue("hrmOrganization", "wbmodeId");
|
|
String formId = bb.getPropValue("hrmOrganization", "wbformId");
|
|
String customid = bb.getPropValue("hrmOrganization", "wbcustomid");
|
|
|
|
RecordSet rs = new RecordSet();
|
|
String join = CollectionUtil.join(allSupDepartment, ",");
|
|
rs.executeQuery("select id,gh,xm,xb,bmbz,gw,lxfs,ks,ygxz from uf_qlwbrydngljmb where zt < 4 and ks in ("+join+") and ygxz in ("+workType+")");
|
|
while (rs.next()) {
|
|
int id = Util.getIntValue(rs.getString("id"));
|
|
ResourceChartPO build = ResourceChartPO.builder()
|
|
.id((long) id)
|
|
.workCode(Util.null2String(rs.getString("gh")))
|
|
.lastName(Util.null2String(rs.getString("xm")))
|
|
.sex(Util.null2String(rs.getString("xb")))
|
|
.departmentId(Util.getIntValue(rs.getString("ks")))
|
|
.deptType(1)
|
|
.jobBrowser(Util.null2String(rs.getString("gw")))
|
|
.mobile(Util.null2String(rs.getString("lxfs")))
|
|
.pcUrl(String.format("/spa/cube/index.html#/main/cube/card?type=0&modeId={}&formId={}&billid={}&opentype=0&customid={}&viewfrom=fromsearchlist",modeId,formId,id,customid))
|
|
.personType(Util.null2String(rs.getString("ygxz")))
|
|
.build();
|
|
resourceChartPOS.add(build);
|
|
}
|
|
|
|
return resourceChartPOS;
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* 列表表头
|
|
* @return
|
|
*/
|
|
private List<ResourceListColumns> getTableColumns() {
|
|
List<ResourceListColumns> list = new ArrayList<>();
|
|
list.add(ResourceListColumns.builder().title("序号").dataIndex("id").key("id").build());
|
|
list.add(ResourceListColumns.builder().title("工号").dataIndex("workCode").key("workCode").build());
|
|
list.add(ResourceListColumns.builder().title("姓名").dataIndex("lastName").key("lastName").build());
|
|
list.add(ResourceListColumns.builder().title("性别").dataIndex("sex").key("sex").build());
|
|
list.add(ResourceListColumns.builder().title("部门").dataIndex("departmentName").key("departmentName").build());
|
|
list.add(ResourceListColumns.builder().title("分部").dataIndex("subcompanyName").key("subcompanyName").build());
|
|
list.add(ResourceListColumns.builder().title("岗位").dataIndex("jobTitle").key("jobTitle").build());
|
|
list.add(ResourceListColumns.builder().title("手机号").dataIndex("mobile").key("mobile").build());
|
|
|
|
return list;
|
|
|
|
}
|
|
|
|
/**
|
|
* 获取所有子部门和当前部门集合
|
|
* @param departmentId
|
|
* @return
|
|
*/
|
|
@SneakyThrows
|
|
private List<Integer> getAllSupDepartment(String departmentId){
|
|
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
|
|
ArrayList subList = new ArrayList();
|
|
departmentComInfo.getAllChildDeptByDepId(subList, departmentId);
|
|
subList.add(departmentId);
|
|
|
|
return subList;
|
|
}
|
|
|
|
/**
|
|
* 转换
|
|
* @param resourceChartPOS
|
|
* @return
|
|
*/
|
|
@SneakyThrows
|
|
private List<ResourceChartVO> convertToVO(List<ResourceChartPO> resourceChartPOS,String type) {
|
|
List<ResourceChartVO> resourceChartVOS = new ArrayList<>();
|
|
DepartmentComInfo departmentComInfo = new DepartmentComInfo();
|
|
SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo();
|
|
for (ResourceChartPO item : resourceChartPOS) {
|
|
ResourceChartVO resourceChartVO = new ResourceChartVO();
|
|
String departmentId =String.valueOf(item.getDepartmentId());
|
|
String subCompanyname = subCompanyComInfo.getSubCompanyname(departmentComInfo.getSubcompanyid1(departmentId));
|
|
|
|
resourceChartVO.setId(item.getId());
|
|
resourceChartVO.setWorkCode(item.getWorkCode());
|
|
resourceChartVO.setLastName(item.getLastName());
|
|
resourceChartVO.setSex("1".equals(item.getSex()) ? "女" : "男");
|
|
resourceChartVO.setDepartmentName(departmentComInfo.getDepartmentName(departmentId));
|
|
resourceChartVO.setSubcompanyName(subCompanyname);
|
|
resourceChartVO.setJobTitle(getJobBrowserName(item.getJobBrowser(),type));
|
|
resourceChartVO.setStatus(item.getStatus());
|
|
resourceChartVO.setMobile(item.getMobile());
|
|
resourceChartVO.setDeptType(item.getDeptType());
|
|
resourceChartVO.setPcUrl(item.getPcUrl());
|
|
resourceChartVO.setPersonType(item.getPersonType());
|
|
resourceChartVOS.add(resourceChartVO);
|
|
|
|
}
|
|
return resourceChartVOS;
|
|
}
|
|
|
|
|
|
/**
|
|
* 自定义岗位名称
|
|
* @param code
|
|
* @param code
|
|
* @return
|
|
*/
|
|
private String getJobBrowserName(String code,String type){
|
|
String gwmc;
|
|
RecordSet rs = new RecordSet();
|
|
if ("1".equals(type)) {
|
|
rs.executeQuery("select gwmc from uf_zsyggwbd where id = ?",code);
|
|
rs.next();
|
|
gwmc = Util.null2String(rs.getString("gwmc"));
|
|
}else {
|
|
rs.executeQuery("select gwmc from uf_gwmc where gwbm = ?",code);
|
|
rs.next();
|
|
gwmc = Util.null2String(rs.getString("gwmc"));
|
|
}
|
|
|
|
return gwmc;
|
|
}
|
|
|
|
/**
|
|
* 获取部门负责人
|
|
*
|
|
* @param ids 部门负责人ID
|
|
* @return 人员名称
|
|
*/
|
|
private String getDepartmentLeader(String ids) {
|
|
if (StringUtils.isBlank(ids)) {
|
|
return "";
|
|
}
|
|
|
|
List<String> leaderList = new ArrayList<>();
|
|
String[] split = ids.split(",");
|
|
for (String s : split) {
|
|
//String lastName = MapperProxyFactory.getProxy(SystemDataMapper.class).getScHrmResourceNameById(s);
|
|
try {
|
|
ResourceComInfo resourceComInfo = new ResourceComInfo();
|
|
String lastName = resourceComInfo.getLastname(s);
|
|
if (StringUtils.isNotBlank(lastName)) {
|
|
leaderList.add(lastName);
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
return StringUtils.join(leaderList, ",");
|
|
}
|
|
|
|
|
|
/**
|
|
* 构建人员图谱元素
|
|
* @param item
|
|
* @return
|
|
*/
|
|
private ChartPO getResourceChartPO(ResourceChartVO item,String parentId) {
|
|
ChartPO chartPO = new ChartPO();
|
|
chartPO.setFtype("4");
|
|
chartPO.setFobjid(String.valueOf(item.getId()));
|
|
chartPO.setId(chartPO.getFobjid());
|
|
chartPO.setFname(item.getLastName());
|
|
chartPO.setParentId(parentId);
|
|
chartPO.setLocalDeptName(item.getDepartmentName());
|
|
chartPO.setJobTitle(item.getJobTitle());
|
|
chartPO.setExpand("1");
|
|
chartPO.setHasChildren("false");
|
|
chartPO.setDeptType(item.getDeptType());
|
|
chartPO.setPcUrl(item.getPcUrl());
|
|
chartPO.setPersonType(item.getPersonType());
|
|
try {
|
|
String resourceId = getResourceIdByWorkCode(item.getWorkCode());
|
|
chartPO.setFleaderimg(new ResourceComInfo().getMessagerUrls(resourceId));
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
return chartPO;
|
|
}
|
|
|
|
/**
|
|
* 获取人员id
|
|
* @param workCode
|
|
* @return
|
|
*/
|
|
private String getResourceIdByWorkCode(String workCode) {
|
|
RecordSet rs = new RecordSet();
|
|
rs.executeQuery("select id from hrmresource where workcode = ?",workCode);
|
|
rs.next();
|
|
return Util.null2String(rs.getString("id"));
|
|
}
|
|
|
|
public Map<String, Object> chartResourceChartHt(ModeHrmResourceParam param) {
|
|
List<ChartPO> dataList = new ArrayList<>();
|
|
String departmentId = param.getDepartmentId();
|
|
RecordSet rs = new RecordSet();
|
|
rs.executeQuery("select departmentid,departmentname,fleader from jcl_chart_department where departmentid = ? and versionid = ?",param.getDepartmentId(),param.getVersionId());
|
|
|
|
//部门
|
|
ChartPO departmentChartPO = new ChartPO();
|
|
if (rs.next()) {
|
|
String fLeader = Util.null2String(rs.getString("fleader"));
|
|
departmentChartPO.setFtype("2");
|
|
departmentChartPO.setFobjid(departmentId);
|
|
departmentChartPO.setExpand("1");
|
|
departmentChartPO.setId("d_"+departmentId);
|
|
departmentChartPO.setFname(rs.getString("departmentname"));
|
|
departmentChartPO.setFleader(getDepartmentLeader(fLeader));
|
|
try {
|
|
departmentChartPO.setFleaderimg(new ResourceComInfo().getMessagerUrls(fLeader));
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
|
|
}
|
|
|
|
//人员
|
|
List<Integer> allSupDepartment = getAllSupDepartment(param.getDepartmentId());
|
|
List<String> results = new ArrayList<>();
|
|
if (StringUtils.isNotEmpty(param.getNbValue())) {
|
|
results.addAll(Arrays.asList(param.getNbValue().split(",")));
|
|
}
|
|
|
|
if (StringUtils.isNotEmpty(param.getWbValue())) {
|
|
results.addAll(Arrays.asList(param.getWbValue().split(",")));
|
|
}
|
|
|
|
List<ResourceChartVO> resourceChartVOS = selectPersonHt(allSupDepartment, results, param.getVersionId());
|
|
|
|
resourceChartVOS.forEach(item -> {
|
|
ChartPO chartPO = getResourceChartPO(item,departmentChartPO.getId());
|
|
dataList.add(chartPO);
|
|
});
|
|
|
|
departmentChartPO.setFonjob(resourceChartVOS.size());
|
|
dataList.add(departmentChartPO);
|
|
|
|
|
|
Map<String, Object> result = new HashMap<>(4);
|
|
result.put("api_status", true);
|
|
result.put("data", dataList);
|
|
return result;
|
|
}
|
|
}
|