weaver-hrm-organization/src/com/engine/organization/web/PersonnelResumeController.java

131 lines
4.7 KiB
Java
Raw Normal View History

2022-12-28 14:13:56 +08:00
package com.engine.organization.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
2023-01-04 16:50:59 +08:00
import com.api.browser.bean.SearchConditionGroup;
2022-12-28 14:13:56 +08:00
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.util.response.ReturnResult;
import com.engine.organization.wrapper.PersonnelResumeWrapper;
2022-12-29 15:52:08 +08:00
import weaver.general.Util;
2022-12-28 14:13:56 +08:00
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.core.Context;
import javax.ws.rs.core.MediaType;
2023-01-04 16:50:59 +08:00
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
2023-01-05 13:57:52 +08:00
import javax.ws.rs.core.Response;
import java.io.*;
import java.net.URLEncoder;
2022-12-28 14:13:56 +08:00
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2022/12/28
* @version: 1.0
*/
public class PersonnelResumeController {
public PersonnelResumeWrapper getPersonnelResumeWrapper(User user) {
return ServiceUtil.getService(PersonnelResumeWrapper.class, user);
}
/**
* 左侧树接口
*
* @param request
* @param response
* @return
*/
@GET
@Path("/getSearchTree")
@Produces(MediaType.APPLICATION_JSON)
2022-12-28 15:40:23 +08:00
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 getPersonnelResumeWrapper(user).getSearchTree(params);
2022-12-28 14:13:56 +08:00
}
@GET
@Path("/hasRight")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult hasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
return ReturnResult.successed(getPersonnelResumeWrapper(user).hasRight());
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
2022-12-29 15:52:08 +08:00
@GET
@Path("/getResumeList")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult getResumeList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
Integer uId = Integer.parseInt(Util.null2String(map.get("id")));
return ReturnResult.successed(getPersonnelResumeWrapper(user).getResumeList(uId));
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
2023-01-04 16:50:59 +08:00
@GET
@Path("/personnelScreening")
@Produces(MediaType.APPLICATION_JSON)
public ReturnResult personnelScreening(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try {
User user = HrmUserVarify.getUser(request, response);
Map<String,Object> returnMap = new HashMap<>();
List<SearchConditionGroup> addGroups = new ArrayList<>();
addGroups.add(new SearchConditionGroup("高级搜索条件", true, getPersonnelResumeWrapper(user).personnelScreening()));
returnMap.put("conditions",addGroups);
return ReturnResult.successed(returnMap);
} catch (Exception e) {
return ReturnResult.exceptionHandle(e);
}
}
2022-12-30 14:14:47 +08:00
/**
* 左侧树接口
*
* @param request
* @param response
* @return
*/
@GET
@Path("/downloadPerResume")
2023-01-05 13:57:52 +08:00
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response downloadPerResume(@Context HttpServletRequest request, @Context HttpServletResponse response) throws Exception {
2022-12-30 14:14:47 +08:00
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> map = ParamUtil.request2Map(request);
2023-01-05 13:57:52 +08:00
// type: 0:合并 1不合并
Integer type = Integer.parseInt(Util.null2String(map.get("type")));
String realPath = getPersonnelResumeWrapper(user).downloadPerResume(type,response);
File file = new File(realPath);
// 如果文件不存在提示404
if (!file.exists()) {
return Response.status(Response.Status.NOT_FOUND).build();
}
String fileName = URLEncoder.encode(file.getName(), "UTF-8");
return Response
.ok(file)
.header("Content-disposition", "attachment;filename=" + fileName)
.header("Cache-Control", "no-cache").build();
2022-12-30 14:14:47 +08:00
}
2022-12-28 14:13:56 +08:00
}