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(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(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>(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>(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>(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>(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>(user).run(getOrgChartService(user) :: selectVirtualTopThree,build); } }