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.
weaver-develop/src/com/engine/sship/web/OrgChartController.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);
}
}