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-hrm-organization/src/com/engine/organization/web/DepartmentController.java

349 lines
12 KiB
Java

package com.engine.organization.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.entity.DeleteParam;
import com.engine.organization.entity.department.param.*;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.util.response.ReturnResult;
import com.engine.organization.wrapper.DepartmentWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
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.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
/**
* @Author weaver_cl
* @description:
* @Date 2022/5/20
* @Version V1.0
**/
public class DepartmentController {
private DepartmentWrapper getDepartmentWrapper(User user) {
return ServiceUtil.getService(DepartmentWrapper.class, user);
}
@POST
@Path("/getDeptListByPid")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getDeptListByPid(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody QuerySingleDeptListParam querySingleDeptListParam) {
try {
User user = HrmUserVarify.getUser(request, response);
return getDepartmentWrapper(user).getDeptListByPid(querySingleDeptListParam);
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@GET
@Path("/getJobListByPid")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getJobListByPid(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
String parentDept = (String) map.get("parentDept");
return ReturnResult.successed(user,getDepartmentWrapper(user).getJobListByPid(QuerySingleDeptListParam.builder().parentDept(Integer.parseInt(parentDept)).build()));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 左侧树接口
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSearchTree")
@Produces(MediaType.APPLICATION_JSON)
public Map<String, Object> getSearchTree(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class);
return getDepartmentWrapper(user).getSearchTree(params);
}
/**
* 获取list列表
*
* @param request
* @param response
* @param params
* @return
*/
@POST
@Path("/listPage")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult listDept(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeptSearchParam params) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).listPage(params));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 保存公司/分部基础信息
*
* @param request
* @param response
* @return
*/
@POST
@Path("/saveBaseForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult saveBaseComp(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> params = ParamUtil.request2Map(request);
return ReturnResult.successed(user,getDepartmentWrapper(user).saveBaseForm(params));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 更新禁用标记
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/updateForbiddenTagById")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeptSearchParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).updateForbiddenTagById(param));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 更新表单
*
* @param request
* @param response
* @return
*/
@POST
@Path("/updateForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult updateForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
return ReturnResult.successed(user,getDepartmentWrapper(user).updateForm(map));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 根据ID批量删除数据
*
* @param request
* @param response
* @param param
* @return
*/
@POST
@Path("/deleteByIds")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeleteParam param) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).deleteByIds(param.getIds()));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 高级搜索条件
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSearchCondition")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
return ReturnResult.successed(user,getDepartmentWrapper(user).getSearchCondition(map));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 列表页顶部按钮
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getHasRight")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).getHasRight());
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 获取基础表单
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getDeptBaseForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getCompBaseForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
return ReturnResult.successed(user,getDepartmentWrapper(user).getDeptBaseForm(map));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
/**
* 新增保存表单
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSaveForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getSaveForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> params = ParamUtil.request2Map(request);
return ReturnResult.successed(user,getDepartmentWrapper(user).getSaveForm(params));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@GET
@Path("/getCopyForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getCopyForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).getCopyForm());
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@POST
@Path("/copyDepartment")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult copyDepartment(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeptCopyParam copyParam) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).copyDepartment(copyParam));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@GET
@Path("/getMergeForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getMergeForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).getMergeForm());
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@POST
@Path("/mergeDepartment")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult mergeDepartment(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DepartmentMergeParam mergeParam) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).mergeDepartment(mergeParam));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@GET
@Path("/getMoveForm")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getMoveForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).getMoveForm());
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@POST
@Path("/moveDepartment")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult moveDepartment(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DepartmentMoveParam moveParam) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(user,getDepartmentWrapper(user).moveDepartment(moveParam));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
@POST
@Path("/dragDepartment")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult dragDepartment(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DepartmentDragParam departmentDragParam) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> params = ParamUtil.request2Map(request);
return ReturnResult.successed(user,getDepartmentWrapper(user).dragDepartment(departmentDragParam));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
}