From f77cb425c561ad33e0a2558d42ee6a0b1b800537 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 11 May 2023 09:37:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=9B=E5=88=9B=E5=9B=BD=E9=99=85=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E9=80=8F=E8=A7=86=E5=9B=BE=EF=BC=9A=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E6=A1=86=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=90=8C=E6=AD=A5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/OrgChartServiceImpl.java | 209 ++++++++++++------ .../junchuang/util/detach/DetachUtil.java | 2 +- .../junchuang/web/OrgChartController.java | 48 +++- .../junchuang/wrapper/OrgChartWrapper.java | 8 + 4 files changed, 195 insertions(+), 72 deletions(-) diff --git a/src/com/engine/junchuang/service/OrgChartServiceImpl.java b/src/com/engine/junchuang/service/OrgChartServiceImpl.java index 6cf66d9..55a8462 100644 --- a/src/com/engine/junchuang/service/OrgChartServiceImpl.java +++ b/src/com/engine/junchuang/service/OrgChartServiceImpl.java @@ -3,14 +3,10 @@ package com.engine.junchuang.service; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import com.engine.core.impl.Service; -import com.engine.junchuang.entity.JclOrgMap; -import com.engine.junchuang.util.HasRightUtil; import com.engine.junchuang.util.OrganizationDateUtil; import com.engine.junchuang.util.db.DBType; -import com.engine.junchuang.util.db.MapperProxyFactory; import com.engine.junchuang.util.detach.DetachUtil; import org.apache.commons.lang3.StringUtils; -import org.apache.xpath.operations.Bool; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -20,10 +16,6 @@ import java.util.stream.Collectors; public class OrgChartServiceImpl extends Service implements OrgChartService { private RecordSet grs = new RecordSet(); - private static final String COMPANY_RIGHT = "OrgChart:All"; - private static final String USER_RIGHT = "OrgPerspective:All"; - private final String level = getFieldName("职等"); - private final String grade = getFieldName("职级"); @Override public Map getOptionCondition(Map request2Map, User user) { @@ -41,16 +33,16 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("companyname", rs.getString("companyname")); fclasslist.add(item); } - String sql = "select id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) "; + String sql = "select id, fnumber, fname, ftype from junc_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 id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; + sql = "select id, fnumber, fname, ftype from junc_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; } else { - sql = "select id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; + sql = "select id, fnumber, fname, ftype from junc_org_map where ftype = 0 "; } } rs.executeQuery(sql + " and fdateend > " + DBType.get(new RecordSet().getDBType()).currentDate() + " order by ftype , id,fdateend desc "); @@ -71,19 +63,13 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { @Override public Map getUserData(Map request2Map, User user) { Map result = new HashMap<>(); - boolean hasRight = HasRightUtil.hasRight(user, USER_RIGHT, true); - result.put("hasRight", hasRight); - if (!hasRight) { - return result; - } - String root = (String) request2Map.get("root"); // 根节点 - String level = (String) request2Map.get("level"); // 显示层级 + result.put("hasRight", true); + String root = (String) request2Map.get("root");// 根节点 + String level = (String) request2Map.get("level");// 显示层级 if (StringUtils.isBlank(level)) { level = "3"; } - String whereSql = userWhereSql(request2Map); - String whereItemSql = " "; if ("0".equals(root)) { // 集团的情况 whereItemSql += " and t.ftype = 0 "; @@ -93,7 +79,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { // 获取根节点 RecordSet rs = new RecordSet(); - rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername,t.fobjid,t.fecid, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader, t.fleaderlv, t.fleaderst, t.fecid, t.fisvitual,this_dept from jcl_org_map t " + whereSql + whereItemSql); + rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername,t.fobjid,t.fecid, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader, t.fleaderlv, t.fleaderst, t.fecid, t.fisvitual from junc_org_map t " + whereSql + whereItemSql); List> list = new ArrayList<>(); String id = null; if (rs.next()) { @@ -109,10 +95,11 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("fleaderjob", ""); item.put("fleader", ""); } else { - item.put("fleadername", rs.getString("fleadername")); - item.put("fleaderimg", rs.getString("fleaderimg")); - item.put("fleaderjob", rs.getString("fleaderjob")); - item.put("fleader", rs.getString("fleader")); + item.put("fleadername", Util.null2String(rs.getString("fleadername"))); + item.put("fleaderimg", Util.null2String(rs.getString("fleaderimg"))); + item.put("fleaderjob", Util.null2String(rs.getString("fleaderjob"))); + item.put("fleader", Util.null2String(rs.getString("fleader"))); + } item.put("fplan", rs.getString("fplan")); item.put("fonjob", rs.getString("fonjob")); @@ -120,12 +107,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("expand", "1"); item.put("fnumber", rs.getString("fnumber")); item.put("fobjid", rs.getString("fobjid")); - //职等职级丢弃 -// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); -// item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); item.put("fecid", rs.getString("fecid")); item.put("fisvitual", rs.getString("fisvitual")); - item.put("this_dept",rs.getString("this_dept")); list.add(item); } @@ -142,7 +125,36 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { @Override public Map asyncUserData(Map request2Map, User user) { - return null; + String ids = (String) request2Map.get("ids"); + String whereSql = userWhereSql(request2Map); + + whereSql += " and fparentid in (" + ids + ") "; + + RecordSet rs = new RecordSet(); + rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader,t.fleaderlv, t.fleaderst,t.fobjid,t.fisvitual from junc_org_map t " + whereSql); + List> currentList = new ArrayList<>(); + while (rs.next()) { + Map item = new HashMap<>(); + item.put("id", rs.getString("id")); + item.put("fname", rs.getString("fname")); + item.put("ftype", rs.getString("ftype")); + item.put("parentId", rs.getString("fparentid")); + item.put("fplan", rs.getString("fplan")); + item.put("fonjob", rs.getString("fonjob")); + item.put("fnumber", rs.getString("fnumber")); + item.put("hasChildren", hasChildren(rs.getString("id"), false)); + item.put("fleader", rs.getString("fleader")); + item.put("fleaderimg", rs.getString("fleaderimg")); + item.put("fleadername", rs.getString("fleadername")); + item.put("fleaderjob", rs.getString("fleaderjob")); + item.put("fobjid", rs.getString("fobjid")); + item.put("fisvitual", rs.getString("fisvitual")); + currentList.add(item); + } + Map result = new HashMap<>(); + result.put("api_status", true); + result.put("data", currentList); + return result; } @Override @@ -156,19 +168,19 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { RecordSet rs = new RecordSet(); // 1、清空当天所有数据 - rs.execute("delete from jcl_org_map where fdatebegin = '"+date+"'"); + rs.execute("delete from junc_org_map where fdatebegin = TO_DATE('"+date+"','yyyy-MM-dd')"); // 2、修改所有失效数据 - rs.execute("update jcl_org_map set fdateend='"+yesterday+"' where fdateend > '"+date+"'"); + rs.execute("update junc_org_map set fdateend=TO_DATE('"+yesterday+"','yyyy-MM-dd') where fdateend > TO_DATE('"+date+"','yyyy-MM-dd')"); // 3、同步集团数据 - String jtSql = "INSERT INTO jcl_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname,\n" + + String jtSql = "INSERT INTO junc_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname,\n" + " fleader, fleaderimg, fleadername, fleaderjobid, fleaderjob, fparentid,fobjparentid,\n" + " fplan, fonjob, fisvitual, fdatebegin, fdateend)\n" + " SELECT 0, 0, 0, uuid, 0, '行政维度', '00', companyname,\n" + " 0, NULL, NULL, 0, NULL, -1, 0,\n" + - " 0, 0, 0, TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') FROM hrmcompany"; + " 0, (select count(1) from hrmresource where status<4), 0, TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') FROM hrmcompany"; rs.execute(jtSql); // 4、同步分部数据 - String fbSql = "insert into jcl_org_map\n" + + String fbSql = "insert into junc_org_map\n" + " (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,\n" + " fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,\n" + " fplan,fonjob,fisvitual,fdatebegin,fdateend)\n" + @@ -178,18 +190,18 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { " where nvl(a.canceled,0) <> 1"; rs.execute(fbSql); // 5、同步部门数据 - String bmSql = "insert into jcl_org_map\n" + + String bmSql = "insert into junc_org_map\n" + "(id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,\n" + " fleadername,fleaderjobid,fleaderjob,fparentid,fobjparentid,\n" + " fplan,fonjob,fisvitual,fdatebegin,fdateend)\n" + - "select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,to_char(b.BMFZR),c.messagerurl,\n" + + "select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,substr(b.bmfzr,0,instr(b.bmfzr,',',1)-1),c.messagerurl,\n" + " c.lastname,c.jobtitle,d.jobtitlemark,\n" + " (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end),\n" + " (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end),\n" + " 0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd')\n" + "from HrmDepartment a\n" + "left join hrmdepartmentdefined b on a.id=b.deptid\n" + - "left join hrmresource c on to_char(b.BMFZR)=to_char(c.ID)\n" + + "left join hrmresource c on to_char(substr(b.bmfzr,0,instr(b.bmfzr,',',1)-1))=to_char(c.ID)\n" + "left join hrmjobtitles d on c.JOBTITLE=d.id\n" + "where nvl(a.canceled,0) <> 1"; rs.execute(bmSql); @@ -199,12 +211,30 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { recordSet.execute(queryDept); while (recordSet.next()){ String deptId = Util.null2String(recordSet.getString("id")); + // 处理部门(含子部门人数) + String getSupDeptSql = "select wm_concat(id) as allSupDept from hrmdepartment a start with a.id="+deptId+" connect by a.supdepid=prior a.id"; + rs.execute(getSupDeptSql); + String allSupDeptIds = null; + if (rs.next()){ + allSupDeptIds = Util.null2String(rs.getString("allSupDept")); + } + String getZrs = "select nvl(sum(zrs),0) zrs from (\n" + + "select a.departmentid,count(id) as zrs from hrmresource a where a.status<4 group by a.departmentid\n" + + ") b where b.departmentid in ("+allSupDeptIds+")"; + rs.execute(getZrs); + String zrs = "0"; + if (rs.next()){ + zrs = Util.null2String(rs.getString("zrs")); + } + rs.execute("update junc_org_map set fonjob = '"+zrs+"' where ftype=2 and fdateend>sysdate and fobjid="+deptId); + // 找出没有下级的人员 - String noHaveChildSql = "select a.id,a.managerid from hrmresource a\n" + - "inner join (select id from hrmresource\n" + - "MINUS \n" + - "select distinct(managerid) id from hrmresource) b on a.id=b.id\n" + - "and a.departmentid='"+deptId+"'"; + String noHaveChildSql = "select a.id,a.managerid from hrmresource a \n" + + "inner join (select id from hrmresource where departmentid='"+deptId+"'\n" + + "MINUS\n" + + "select managerid from hrmresource a \n" + + "where a.managerid in (select id from hrmresource where departmentid='"+deptId+"')\n" + + "and a.departmentid='"+deptId+"') b on a.id=b.id"; rs.execute(noHaveChildSql); while (rs.next()){ String id = Util.null2String(rs.getString("id")); @@ -212,8 +242,34 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { handleSuperior(id,managerid,deptId); } } - - + // 7、删除重复人员上级 + String deleRepeatSql = "delete from junc_org_map\n" + + " where fobjid in (select fobjid\n" + + " from junc_org_map a\n" + + " where a.ftype = 3\n" + + " and a.fdateend > TO_DATE(to_char(SYSDATE, 'yyyy-MM-dd'),\n" + + " 'yyyy-MM-dd')\n" + + " group by fobjid\n" + + " having count(fobjid) > 1)\n" + + " and rowid not in\n" + + " (select min(rowid)\n" + + " from junc_org_map a\n" + + " where a.ftype = 3\n" + + " and a.fdateend >\n" + + " TO_DATE(to_char(SYSDATE, 'yyyy-MM-dd'), 'yyyy-MM-dd')\n" + + " group by a.fobjid\n" + + " having count(*) > 1) and ftype=3\n"; + rs.execute(deleRepeatSql); + // 8、同步分部人数 + String queryAllSubCompanySql = "select id,subcompanyname,supsubcomid from hrmsubcompany a where nvl(a.canceled,0)='0'"; + rs.execute(queryAllSubCompanySql); + while (rs.next()) { + recordSet.execute("update junc_org_map set fonjob = (\n" + + "select nvl(sum(fbrs),0) fbrs from (\n" + + "select subcompanyid1,count(id) fbrs from hrmresource where status<4 group by subcompanyid1) \n" + + "where subcompanyid1 in (select id from hrmsubcompany a start with a.id="+rs.getString("id")+" connect by a.supsubcomid=prior a.id)) \n" + + "where ftype=1 and fdateend>sysdate and fobjid="+rs.getString("id")); + } return "同步成功"; } @@ -227,11 +283,12 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { RecordSet rs = new RecordSet(); Boolean flag = checkManager(rs,managerid,deptId); if (flag) { - rs.execute("insert into jcl_org_map\n" + + + rs.execute("insert into junc_org_map\n" + " (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg,\n" + " fleaderjobid,fleaderjob,fparentid,fobjparentid,\n" + " fisvitual,fdatebegin,fdateend)\n" + - "select a.id+200000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl,\n" + + "select a.id+200000000,3,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl,\n" + " b.id,b.jobtitlename, nvl( a.managerid, '' ) +200000000,a.managerid,\n" + " 0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd')\n" + "from hrmresource a\n" + @@ -246,11 +303,11 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { handleSuperior(supId,supManagerId,departmentid); } } else { - rs.execute("insert into jcl_org_map\n" + + rs.execute("insert into junc_org_map\n" + " (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg,\n" + " fleaderjobid,fleaderjob,fparentid,fobjparentid,\n" + " fisvitual,fdatebegin,fdateend)\n" + - "select a.id+200000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl,\n" + + "select a.id+200000000,3,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl,\n" + " b.id,b.jobtitlename, nvl( a.departmentid, '' ) +100000000,a.departmentid,\n" + " 0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd')\n" + "from hrmresource a\n" + @@ -262,7 +319,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { /** * @Author ml * @Date 2023/3/7 17:14 - * @Description 校验上级是不在当前部门 + * @Description 校验上级是否在当前部门 */ private Boolean checkManager(RecordSet recordSet,String managerid,String deptId){ Boolean flag = false; @@ -310,7 +367,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { if (isCompany) { whereSql += " and ftype in (0, 1, 2) "; } - grs.executeQuery("select count(1) as count from jcl_org_map " + whereSql); + grs.executeQuery("select count(1) as count from junc_org_map " + whereSql); String count = "0"; if (grs.next()) { count = grs.getString("count"); @@ -329,7 +386,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { } private void findUserItemByParantId(String id, int currentLevel, String level, RecordSet rs, List> list, String whereSql, boolean expand) { - String sql = "select t.id, t.fname, t.ftype, t.fparentid, t.fobjparentid, t.fleader, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fobjid, t.fecid, t.fleaderlv, t.fleaderst, t.fisvitual, t.this_dept from jcl_org_map t " + whereSql; + String sql = "select t.id, t.fname, t.ftype, t.fparentid, t.fobjparentid, t.fleader, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fobjid, t.fecid, t.fleaderlv, t.fleaderst, t.fisvitual from junc_org_map t " + whereSql; DetachUtil detachUtil = new DetachUtil(user.getUID()); if (detachUtil.isDETACH()) { if ("0".equals(id)) { @@ -355,29 +412,41 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("expand", expand ? "1" : "0"); item.put("fobjid", rs.getString("fobjid")); item.put("fecid", rs.getString("fecid")); - if (rs.getString("ftype").equals("2")) { - //多个部门负责人 -// JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader")); -// item.put("fleader", jclOrgMap.getFLeader() == null ? "" : String.valueOf(jclOrgMap.getFLeader())); -// item.put("fleaderimg", jclOrgMap.getFLeaderImg()); -// item.put("fleadername", jclOrgMap.getFLeaderName() == null ? "" : jclOrgMap.getFLeaderName()); -// item.put("fleaderjob", jclOrgMap.getFLeaderJob()); -// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); -// item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); - } else { - item.put("fleader", rs.getString("fleader")); - item.put("fleaderimg", rs.getString("fleaderimg")); - item.put("fleadername", rs.getString("fleadername")); - item.put("fleaderjob", rs.getString("fleaderjob")); -// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); -// item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); - } + item.put("fleader", rs.getString("fleader")); + item.put("fleaderimg", rs.getString("fleaderimg")); + item.put("fleadername", rs.getString("fleadername")); + item.put("fleaderjob", rs.getString("fleaderjob")); + item.put("fisvitual", rs.getString("fisvitual")); - item.put("this_dept", rs.getString("this_dept")); item.put("hasChildren", hasChildren(rs.getString("id"), false)); currentList.add(item); } + + for (Map stringObjectMap : currentList) { + if ("4".equals(stringObjectMap.get("ftype"))) { // 员工信息 + rs.executeQuery("select id, mobile, homeaddress from hrmresource where id = ? ", stringObjectMap.get("fnumber")); + if (rs.next()) { + stringObjectMap.put("mobile", rs.getString("mobile")); + stringObjectMap.put("address", rs.getString("homeaddress")); + } + rs.executeQuery("select departmentname from hrmresource hrm \n" + + "left join hrmdepartment d\n" + + "on hrm.departmentid = d.id\n" + + "where hrm.id = ? ", stringObjectMap.get("fnumber")); + if (rs.next()) { + stringObjectMap.put("department", rs.getString("departmentname")); + } + + } + if (currentLevel + 1 <= Integer.parseInt(level)) { + findUserItemByParantId((String) stringObjectMap.get("id"), currentLevel + 1, level, rs, list, whereSql, true); + } else if (currentLevel == Integer.parseInt(level)) { // 多查一层 + findUserItemByParantId((String) stringObjectMap.get("id"), currentLevel + 1, level, rs, list, whereSql, false); + } + } + list.addAll(currentList); } + private void reBuildTreeList(List> list, String root) { // 分部数据,构建层级关系 Set idSet = list.stream().filter(item -> "1".equals(Util.null2String(item.get("ftype")))).map(item -> Util.null2String(item.get("id"))).collect(Collectors.toSet()); diff --git a/src/com/engine/junchuang/util/detach/DetachUtil.java b/src/com/engine/junchuang/util/detach/DetachUtil.java index 99d2fa1..df3d806 100644 --- a/src/com/engine/junchuang/util/detach/DetachUtil.java +++ b/src/com/engine/junchuang/util/detach/DetachUtil.java @@ -8,7 +8,7 @@ import weaver.conn.RecordSet; * @version: 1.0 */ public class DetachUtil { - private boolean DETACH = true; + private boolean DETACH = false; private String jclRoleLevels; diff --git a/src/com/engine/junchuang/web/OrgChartController.java b/src/com/engine/junchuang/web/OrgChartController.java index a42ea1a..570a30f 100644 --- a/src/com/engine/junchuang/web/OrgChartController.java +++ b/src/com/engine/junchuang/web/OrgChartController.java @@ -54,7 +54,53 @@ public class OrgChartController { } /** - * 异步透视图数据 + * 组织透视图 + */ + @GET + @Path("/userData") + @Produces(MediaType.APPLICATION_JSON) + public String getUserData(@Context HttpServletRequest request, @Context HttpServletResponse + response) { + Map apidatas = new HashMap(); + try { + User user = HrmUserVarify.getUser(request, response); + //实例化Service 并调用业务类处理 + apidatas = getOrgChartWrapper(user).getUserData(ParamUtil.request2Map(request), user); + } catch (Exception e) { + //异常处理 + e.printStackTrace(); + apidatas.put("api_status", false); + apidatas.put("api_errormsg", "catch exception : " + e.getMessage()); + } + //数据转换 + return JSONObject.toJSONString(apidatas); + } + + /** + * 异步人员数据 + */ + @GET + @Path("/asyncUserData") + @Produces(MediaType.APPLICATION_JSON) + public String asyncUserData(@Context HttpServletRequest request, @Context HttpServletResponse + response) { + Map apidatas = new HashMap(); + try { + User user = HrmUserVarify.getUser(request, response); + //实例化Service 并调用业务类处理 + apidatas = getOrgChartWrapper(user).asyncUserData(ParamUtil.request2Map(request), user); + } catch (Exception e) { + //异常处理 + e.printStackTrace(); + apidatas.put("api_status", false); + apidatas.put("api_errormsg", "catch exception : " + e.getMessage()); + } + //数据转换 + return JSONObject.toJSONString(apidatas); + } + + /** + * 同步透视图数据 */ @GET @Path("/syncOrgMapData") diff --git a/src/com/engine/junchuang/wrapper/OrgChartWrapper.java b/src/com/engine/junchuang/wrapper/OrgChartWrapper.java index 9d6d036..8224f30 100644 --- a/src/com/engine/junchuang/wrapper/OrgChartWrapper.java +++ b/src/com/engine/junchuang/wrapper/OrgChartWrapper.java @@ -24,6 +24,14 @@ public class OrgChartWrapper extends Service { return getOrgChartService(user).getOptionCondition(request2Map, user); } + public Map getUserData(Map request2Map, User user) { + return getOrgChartService(user).getUserData(request2Map, user); + } + + public Map asyncUserData(Map request2Map, User user) { + return getOrgChartService(user).asyncUserData(request2Map, user); + } + public String syncOrgMapData(Map request2Map) { return getOrgChartService(user).syncOrgMapData(request2Map, user); }