You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
4.4 KiB
Java
104 lines
4.4 KiB
Java
package com.engine.sship.web;
|
|
|
|
import com.engine.common.util.ServiceUtil;
|
|
import com.engine.sship.entity.*;
|
|
import com.engine.sship.service.OrgChartService;
|
|
import com.engine.sship.service.impl.OrgChartServiceImpl;
|
|
import com.engine.sship.util.ResponseResult;
|
|
import weaver.hrm.HrmUserVarify;
|
|
import weaver.hrm.User;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.ws.rs.GET;
|
|
import javax.ws.rs.Path;
|
|
import javax.ws.rs.Produces;
|
|
import javax.ws.rs.QueryParam;
|
|
import javax.ws.rs.core.Context;
|
|
import javax.ws.rs.core.MediaType;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
* @Author liang.cheng
|
|
* @Date 2023/9/26 5:51 PM
|
|
* @Description: 组织架构图
|
|
* @Version 1.0
|
|
*/
|
|
public class OrgChartController {
|
|
|
|
private OrgChartService getOrgChartService(User user) {
|
|
return ServiceUtil.getService(OrgChartServiceImpl.class,user);
|
|
}
|
|
|
|
|
|
@GET
|
|
@Path("/resource-tree")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectResourceChart(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
return new ResponseResult<String, TreeDataVO>(user).run(getOrgChartService(user) :: selectResourceChart);
|
|
}
|
|
|
|
@GET
|
|
@Path("/organization-tree")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectOrganizationChart(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
|
@QueryParam("virtualType") String virtualType,
|
|
@QueryParam("root") String root,
|
|
@QueryParam("level") String level) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
OrgTreeParam build = OrgTreeParam.builder().virtualType(virtualType).root(root).level(level).build();
|
|
return new ResponseResult<OrgTreeParam, TreeDataVO>(user).run(getOrgChartService(user) :: selectOrganizationChart,build);
|
|
}
|
|
|
|
|
|
@GET
|
|
@Path("/person")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectPerson(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam("id") String id) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
PersonTableParam build = PersonTableParam.builder().id(id).build();
|
|
return new ResponseResult<PersonTableParam, List<PersonTableVO>>(user).run(getOrgChartService(user) :: selectPerson,build);
|
|
}
|
|
|
|
@GET
|
|
@Path("/virtual-person")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectVirtualPerson(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam("id") String id) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
PersonTableParam build = PersonTableParam.builder().id(id).build();
|
|
return new ResponseResult<PersonTableParam, List<PersonTableVO>>(user).run(getOrgChartService(user) :: selectVirtualPerson,build);
|
|
}
|
|
|
|
@GET
|
|
@Path("/virtual-top")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectVirtualTop(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
return new ResponseResult<PersonTableParam, List<SelectVO>>(user).run(getOrgChartService(user) :: selectVirtualTop);
|
|
}
|
|
|
|
@GET
|
|
@Path("/virtual-top-two")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectVirtualTopTwo(@Context HttpServletRequest request, @Context HttpServletResponse response,@QueryParam("virtualType") String virtualType) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
return new ResponseResult<String, List<DropTreeDataVO>>(user).run(getOrgChartService(user) :: selectVirtualTopTwo,virtualType);
|
|
}
|
|
@GET
|
|
@Path("/virtual-top-three")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public String selectVirtualTopThree(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
|
@QueryParam("id") String id,
|
|
@QueryParam("virtualType") String virtualType) {
|
|
User user = HrmUserVarify.getUser(request, response);
|
|
VirtualTopParam build = VirtualTopParam.builder().id(id.substring(3)).virtualType(virtualType).build();
|
|
return new ResponseResult<VirtualTopParam, List<SelectVO>>(user).run(getOrgChartService(user) :: selectVirtualTopThree,build);
|
|
}
|
|
|
|
|
|
|
|
}
|