组织架构图完善

danikor
dxfeng 2 years ago
parent 0bbde26f6f
commit 2b8e3dbb85

@ -130,7 +130,7 @@ public class JobBrowserService extends BrowserService {
// 分权 // 分权
DetachUtil detachUtil = new DetachUtil(user); DetachUtil detachUtil = new DetachUtil(user);
if (detachUtil.isDETACH()) { if (detachUtil.isDETACH()) {
sqlWhere += " AND t.parent_comp in (" + detachUtil.getJclRoleLevels() + ")"; sqlWhere += " AND t.ec_company in (" + detachUtil.getJclRoleLevels() + ")";
} }
return sqlWhere; return sqlWhere;
} }

@ -1,6 +1,9 @@
package com.engine.organization.entity.danikor.param; package com.engine.organization.entity.danikor.param;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* @author:dxfeng * @author:dxfeng
@ -8,6 +11,9 @@ import lombok.Data;
* @version: 1.0 * @version: 1.0
*/ */
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ChartParam { public class ChartParam {
private String id; private String id;
private String pid; private String pid;

@ -52,6 +52,8 @@ public interface DanikorResourceBackService {
*/ */
String getOrgChartData(HttpServletRequest request, Map<String, Object> params); String getOrgChartData(HttpServletRequest request, Map<String, Object> params);
List<ChartParam> getOrgChartData(Map<String, Object> params);
/** /**
* *
* *

@ -244,6 +244,77 @@ public class DanikorResourceBackServiceImpl extends Service implements DanikorRe
"]"; "]";
} }
@Override
public List<ChartParam> getOrgChartData(Map<String, Object> params) {
String syncDate = Util.null2String(params.get("date"));
List<ChartParam> chartParamList = new ArrayList<>();
String sorgid = Util.null2String((params.get("arg0")));
String defaultHref = weaver.general.GCONST.getContextPath() + "/spa/hrm/index_mobx.html#/main/hrm/orgStaff?_fromURL=HrmResourceSearchResult&from=hrmorg&virtualtype=" + sorgid;
CompanyComInfo CompanyComInfo = new CompanyComInfo();
if (CompanyComInfo.next()) {
chartParamList.add(ChartParam.builder().id("0").pid("").type("company").name(CompanyComInfo.getCompanyname()).title(CompanyComInfo.getCompanyname()).num("0").nTitle("").oDisplay("none").subRCount("0").subTitle("").cOnclick(defaultHref).sOnclick("").build());
}
String subCompanySql;
String departmentSql;
if (StringUtils.isNotBlank(syncDate) && !DateUtil.getDate(new Date()).equals(syncDate)) {
subCompanySql = "select t.id, t.subcompanyname, t.supsubcomid, ( select distinct 1 as hasnext from hrmsubcompany_back s where (s.supsubcomid = t.id and (s.CANCELED IS NULL OR s.CANCELED != '1') and s.sync_date = '" + syncDate + "') ) as hassubnext, ( select distinct 1 as hasnext from HrmDepartment_back d where (d.subcompanyid1 = t.id and (d.CANCELED IS NULL OR d.CANCELED != '1') and d.sync_date = '" + syncDate + "')) as hasdeptnext, t.tlevel from hrmsubcompany_back t where (t.canceled IS NULL OR t.canceled != '1') and t.id != t.supsubcomid and tlevel <= 10000 and sync_date = '" + syncDate + "' order by t.supsubcomid, t.showorder, t.subcompanyname";
departmentSql = "select t.id, t.departmentname, t.subcompanyid1, isnull(t.supdepid,0) as supdepid, (case when t.supdepid != 0 and ( select COUNT(id) from hrmdepartment_back where id = t.supdepid and sync_date = '" + syncDate + "')= 0 then 0 else 1 end) as isExist, ( select distinct 1 as hasnext from hrmdepartment_back d where d.supdepid = t.id and (CANCELED IS NULL OR CANCELED != '1') and sync_date = '" + syncDate + "') as hasnext, t.tlevel from hrmdepartment_back t where t.id != ISNULL(t.supdepid, 0) and tlevel <= 10000 and (t.canceled IS NULL OR t.canceled != '1') and (t.canceled IS NULL OR t.canceled != '1') and sync_date = '" + syncDate + "' order by t.subcompanyid1 asc , t.supdepid asc , t.showorder asc, t.departmentname asc";
} else {
subCompanySql = "select t.id,t.subcompanyname,t.supsubcomid,(select distinct 1 as hasnext from hrmsubcompany s where (s.supsubcomid=t.id and (s.CANCELED IS NULL OR s.CANCELED !='1')) ) as hassubnext,(select distinct 1 as hasnext from HrmDepartment d where (d.subcompanyid1=t.id and (d.CANCELED IS NULL OR d.CANCELED !='1')) ) as hasdeptnext,t.tlevel from hrmsubcompany t where (t.canceled IS NULL OR t.canceled !='1') and t.id != t.supsubcomid and tlevel <= 10000 order by t.supsubcomid,t.showorder,t.subcompanyname";
departmentSql = "select t.id,t.departmentname,t.subcompanyid1,isnull(t.supdepid,0) as supdepid,(case when t.supdepid != 0 and (select COUNT(id) from hrmdepartment where id = t.supdepid)=0 then 0 else 1 end) as isExist,(select distinct 1 as hasnext from hrmdepartment d where d.supdepid=t.id and (CANCELED IS NULL OR CANCELED !='1')) as hasnext,t.tlevel from hrmdepartment t where t.id != ISNULL(t.supdepid,0) and tlevel <= 10000 and (t.canceled IS NULL OR t.canceled !='1') order by t.subcompanyid1 asc , t.supdepid asc , t.showorder asc, t.departmentname asc";
}
RecordSet rs = new RecordSet();
//rs.execute(subCompanySql);
//while (rs.next()) {
// int subHasNext = rs.getInt("hassubnext");
// int deptHasNext = rs.getInt("hasdeptnext");
// ChartParam chartParam = new ChartParam();
// chartParam.setId(rs.getString("id"));
// chartParam.setPid(rs.getString("supsubcomid"));
// chartParam.setType("subcompany");
// chartParam.setName(rs.getString("subcompanyname"));
// chartParam.setTitle(chartParam.getName());
// chartParam.setNum("0");
// chartParam.setNTitle("");
// chartParam.setODisplay("none");
// chartParam.setSubRCount("0");
// chartParam.setSubTitle("");
// chartParam.setHasChild(subHasNext == 1 || deptHasNext == 1 ? "true" : "false");
// chartParam.setNeedPlus("false");
// chartParam.setCOnclick("");
// chartParam.setSOnclick("");
// chartParamList.add(chartParam);
//}
// 处理部门数据
rs.execute(departmentSql);
while (rs.next()) {
int hasNext = rs.getInt("hasnext");
ChartParam chartParam = new ChartParam();
chartParam.setId(rs.getString("id"));
chartParam.setPid(rs.getString("supdepid"));
chartParam.setType("dept");
chartParam.setName(rs.getString("departmentname"));
chartParam.setTitle(chartParam.getName());
chartParam.setNum("0");
chartParam.setNTitle("");
chartParam.setODisplay("none");
chartParam.setSubRCount("0");
chartParam.setSubTitle("");
chartParam.setHasChild(hasNext == 1 ? "true" : "false");
chartParam.setNeedPlus("false");
chartParam.setCOnclick("");
chartParam.setSOnclick("");
chartParamList.add(chartParam);
}
return chartParamList;
}
@Override @Override
public List<ChartParam> getResourceChartData(Map<String, Object> params) { public List<ChartParam> getResourceChartData(Map<String, Object> params) {
String syncDate = Util.null2String(params.get("date")); String syncDate = Util.null2String(params.get("date"));

@ -98,7 +98,7 @@ public class DanikorResourceBackController {
try { try {
User user = HrmUserVarify.getUser(request, response); User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request); Map<String, Object> map = ParamUtil.request2Map(request);
String orgChartData = getDanikorResourceBackWrapper(user).getOrgChartData(request, map); String orgChartData = getDanikorResourceBackWrapper(user).getOrgChartData(map);
returnMap.put("data", orgChartData); returnMap.put("data", orgChartData);
returnMap.put("status", "1"); returnMap.put("status", "1");
} catch (Exception e) { } catch (Exception e) {

@ -1,5 +1,6 @@
package com.engine.organization.wrapper; package com.engine.organization.wrapper;
import com.alibaba.fastjson.JSON;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.organization.entity.danikor.param.ChartParam; import com.engine.organization.entity.danikor.param.ChartParam;
import com.engine.organization.service.DanikorResourceBackService; import com.engine.organization.service.DanikorResourceBackService;
@ -8,7 +9,6 @@ import com.engine.organization.util.MenuBtn;
import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.OrganizationWrapper;
import weaver.hrm.User; import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -39,8 +39,8 @@ public class DanikorResourceBackWrapper extends OrganizationWrapper {
return getDanikorResourceBackService(user).getSummaryData(params); return getDanikorResourceBackService(user).getSummaryData(params);
} }
public String getOrgChartData(HttpServletRequest request, Map<String, Object> params) { public String getOrgChartData(Map<String, Object> params) {
return getDanikorResourceBackService(user).getOrgChartData(request, params); return JSON.toJSONString(getDanikorResourceBackService(user).getOrgChartData(params));
} }
public List<ChartParam> getResourceChartData(Map<String, Object> params) { public List<ChartParam> getResourceChartData(Map<String, Object> params) {

Loading…
Cancel
Save