人员简历相关接口开发
This commit is contained in:
parent
76f1501a28
commit
33e9073e1c
|
|
@ -0,0 +1,22 @@
|
|||
package com.engine.organization.entity.resume.po;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2022/12/29
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PersonnelResumeColumn {
|
||||
private String name;
|
||||
private String value;
|
||||
private Integer colspans;
|
||||
private Integer rowspans;
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
package com.engine.organization.entity.resume.po;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2022/12/29
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Data
|
||||
public class PersonnelResumePO {
|
||||
private String lastName;
|
||||
private String sex;
|
||||
private String birthday;
|
||||
// resourceImageId;
|
||||
private String image;
|
||||
private String nativePlace;
|
||||
// policy;
|
||||
private String politics;
|
||||
// departmentid;
|
||||
private String department;
|
||||
// maritalStatus;
|
||||
private String marriage;
|
||||
private String jobTitle;
|
||||
private String companyStartDate;
|
||||
private String workStartDate;
|
||||
// certificatenum
|
||||
private String idCard;
|
||||
// homeaddress
|
||||
private String address;
|
||||
private String telephone;
|
||||
private String email;
|
||||
private String selfStatement;
|
||||
|
||||
public String getSex() {
|
||||
if ("1".equals(sex)) {
|
||||
return "女";
|
||||
}
|
||||
return "男";
|
||||
}
|
||||
|
||||
public String getImage() {
|
||||
if (StringUtils.isBlank(image)) {
|
||||
return "";
|
||||
}
|
||||
ImageFileManager manager = new ImageFileManager();
|
||||
manager.getImageFileInfoById(Util.getIntValue(image));
|
||||
InputStream inputStream = manager.getInputStream();
|
||||
try {
|
||||
return "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(inputStream));
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String getMarriage() {
|
||||
if (StringUtils.isBlank(marriage)) {
|
||||
return "未婚";
|
||||
}
|
||||
switch (marriage) {
|
||||
case "1":
|
||||
return "已婚";
|
||||
case "2":
|
||||
return "离异";
|
||||
case "0":
|
||||
default:
|
||||
return "未婚";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.engine.organization.entity.resume.po;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2022/12/29
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PersonnelResumeTable {
|
||||
private String title;
|
||||
private List<PersonnelResumeColumn> columns;
|
||||
private List<List<PersonnelResumeColumn>> datas;
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.organization.mapper.resource;
|
||||
|
||||
import com.engine.organization.entity.hrmresource.po.ResourcePO;
|
||||
import com.engine.organization.entity.resume.po.PersonnelResumePO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -17,4 +18,6 @@ public interface HrmResourceMapper {
|
|||
|
||||
List<ResourcePO> listByFilter(@Param("resourcePO") ResourcePO resourcePO);
|
||||
|
||||
PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,28 @@
|
|||
and jobtitle = #{resourcePO.jobtitle}
|
||||
</if>
|
||||
</select>
|
||||
<select id="getPersonnelResumeById"
|
||||
resultType="com.engine.organization.entity.resume.po.PersonnelResumePO">
|
||||
select lastname,
|
||||
sex,
|
||||
birthday,
|
||||
resourceimageid as image,
|
||||
nativeplace,
|
||||
policy as politics,
|
||||
a.departmentname as department,
|
||||
maritalstatus as marriage,
|
||||
b.jobtitlename as jobTitle,
|
||||
companystartdate,
|
||||
workstartdate,
|
||||
certificatenum as idCard,
|
||||
homeaddress as address,
|
||||
telephone,
|
||||
email
|
||||
from hrmresource h
|
||||
inner join hrmdepartment a on a.id = h.departmentid
|
||||
inner join hrmjobtitles b on b.id = h.jobtitle
|
||||
where h.id = #{id}
|
||||
</select>
|
||||
|
||||
<sql id="likeSql">
|
||||
<if test="resourcePO.lastName != null and resourcePO.lastName != ''">
|
||||
|
|
|
|||
|
|
@ -18,6 +18,14 @@ public interface PersonnelResumeService {
|
|||
*/
|
||||
Map<String, Object> getSearchTree(SearchTreeParams params);
|
||||
|
||||
/**
|
||||
* 获取人员简历列表
|
||||
*
|
||||
* @param uId
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getResumeList(Integer uId);
|
||||
|
||||
/**
|
||||
* 获取列表页面按钮信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@ import com.engine.organization.entity.hrmresource.bo.ResourceBO;
|
|||
import com.engine.organization.entity.hrmresource.po.ResourcePO;
|
||||
import com.engine.organization.entity.job.bo.JobBO;
|
||||
import com.engine.organization.entity.job.po.JobPO;
|
||||
import com.engine.organization.entity.resume.po.PersonnelResumeColumn;
|
||||
import com.engine.organization.entity.resume.po.PersonnelResumePO;
|
||||
import com.engine.organization.entity.resume.po.PersonnelResumeTable;
|
||||
import com.engine.organization.entity.searchtree.SearchTree;
|
||||
import com.engine.organization.entity.searchtree.SearchTreeParams;
|
||||
import com.engine.organization.enums.ModuleTypeEnum;
|
||||
|
|
@ -19,6 +22,7 @@ import com.engine.organization.mapper.job.JobMapper;
|
|||
import com.engine.organization.mapper.resource.HrmResourceMapper;
|
||||
import com.engine.organization.service.PersonnelResumeService;
|
||||
import com.engine.organization.util.MenuBtn;
|
||||
import com.engine.organization.util.OrganizationAssert;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
import com.engine.organization.util.detach.DetachUtil;
|
||||
import com.engine.organization.util.page.PageUtil;
|
||||
|
|
@ -63,6 +67,88 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|||
return SearchTreeUtil.getSearchTree(type, treeList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getResumeList(Integer uId) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
// 根据ID查询用户信息
|
||||
PersonnelResumePO personnelResumePO = getHrmResourceMapper().getPersonnelResumeById(uId);
|
||||
OrganizationAssert.notNull(personnelResumePO, "未找到对应人员");
|
||||
resultMap.put("lastName", Util.null2String(personnelResumePO.getLastName()));
|
||||
resultMap.put("sex", Util.null2String(personnelResumePO.getSex()));
|
||||
resultMap.put("birthday", Util.null2String(personnelResumePO.getBirthday()));
|
||||
resultMap.put("image", Util.null2String(personnelResumePO.getImage()));
|
||||
resultMap.put("native", Util.null2String(personnelResumePO.getNativePlace()));
|
||||
resultMap.put("politics", Util.null2String(personnelResumePO.getPolitics()));
|
||||
resultMap.put("department", Util.null2String(personnelResumePO.getDepartment()));
|
||||
resultMap.put("marriage", Util.null2String(personnelResumePO.getMarriage()));
|
||||
resultMap.put("jobtitle", Util.null2String(personnelResumePO.getJobTitle()));
|
||||
resultMap.put("companystartdate", Util.null2String(personnelResumePO.getCompanyStartDate()));
|
||||
resultMap.put("workstartdate", Util.null2String(personnelResumePO.getWorkStartDate()));
|
||||
resultMap.put("idCard", Util.null2String(personnelResumePO.getIdCard()));
|
||||
resultMap.put("address", Util.null2String(personnelResumePO.getAddress()));
|
||||
resultMap.put("telephone", Util.null2String(personnelResumePO.getTelephone()));
|
||||
resultMap.put("email", Util.null2String(personnelResumePO.getEmail()));
|
||||
resultMap.put("selfStatement", "");
|
||||
|
||||
// 简历相关表格,待拓展
|
||||
List<PersonnelResumeTable> tables = new ArrayList<>();
|
||||
List<PersonnelResumeColumn> columns1 = new ArrayList<>();
|
||||
List<PersonnelResumeColumn> columns2 = new ArrayList<>();
|
||||
|
||||
List<PersonnelResumeColumn> datas1 = new ArrayList<>();
|
||||
List<PersonnelResumeColumn> datas2 = new ArrayList<>();
|
||||
List<PersonnelResumeColumn> datas3 = new ArrayList<>();
|
||||
List<PersonnelResumeColumn> datas4 = new ArrayList<>();
|
||||
columns1.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build());
|
||||
columns1.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build());
|
||||
columns1.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build());
|
||||
columns1.add(PersonnelResumeColumn.builder().name("失业保险").colspans(1).rowspans(1).build());
|
||||
columns1.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build());
|
||||
columns1.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).rowspans(1).build());
|
||||
|
||||
datas1.add(PersonnelResumeColumn.builder().name("2022-10-02").colspans(2).rowspans(1).build());
|
||||
datas1.add(PersonnelResumeColumn.builder().name("80").colspans(1).rowspans(1).build());
|
||||
datas1.add(PersonnelResumeColumn.builder().name("36").colspans(1).rowspans(1).build());
|
||||
datas1.add(PersonnelResumeColumn.builder().name("360").colspans(1).rowspans(1).build());
|
||||
datas1.add(PersonnelResumeColumn.builder().name("180").colspans(1).rowspans(1).build());
|
||||
datas1.add(PersonnelResumeColumn.builder().name("20000").colspans(1).rowspans(1).build());
|
||||
tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(columns1).datas(Collections.singletonList(datas1)).build());
|
||||
|
||||
columns2.add(PersonnelResumeColumn.builder().name("关系").colspans(2).rowspans(1).build());
|
||||
columns2.add(PersonnelResumeColumn.builder().name("姓名").colspans(1).rowspans(1).build());
|
||||
columns2.add(PersonnelResumeColumn.builder().name("工作单位及职务").colspans(1).rowspans(1).build());
|
||||
columns2.add(PersonnelResumeColumn.builder().name("联系电话").colspans(1).rowspans(1).build());
|
||||
columns2.add(PersonnelResumeColumn.builder().name("住址").colspans(2).rowspans(1).build());
|
||||
|
||||
datas2.add(PersonnelResumeColumn.builder().name("父子").colspans(2).rowspans(1).build());
|
||||
datas2.add(PersonnelResumeColumn.builder().name("徐晓").colspans(1).rowspans(1).build());
|
||||
datas2.add(PersonnelResumeColumn.builder().name("北凉王").colspans(1).rowspans(1).build());
|
||||
datas2.add(PersonnelResumeColumn.builder().name("1589756859").colspans(1).rowspans(1).build());
|
||||
datas2.add(PersonnelResumeColumn.builder().name("江苏省南京市北凉军营").colspans(2).rowspans(1).build());
|
||||
|
||||
datas3.add(PersonnelResumeColumn.builder().name("母子").colspans(2).rowspans(1).build());
|
||||
datas3.add(PersonnelResumeColumn.builder().name("吴素").colspans(1).rowspans(1).build());
|
||||
datas3.add(PersonnelResumeColumn.builder().name("北凉王妃").colspans(1).rowspans(1).build());
|
||||
datas3.add(PersonnelResumeColumn.builder().name("15897566487").colspans(1).rowspans(1).build());
|
||||
datas3.add(PersonnelResumeColumn.builder().name("江苏省南京市北凉龙雀军团").colspans(2).rowspans(1).build());
|
||||
|
||||
datas4.add(PersonnelResumeColumn.builder().name("女儿").colspans(2).rowspans(1).build());
|
||||
datas4.add(PersonnelResumeColumn.builder().name("徐念凉").colspans(1).rowspans(1).build());
|
||||
datas4.add(PersonnelResumeColumn.builder().name("北凉公主").colspans(1).rowspans(1).build());
|
||||
datas4.add(PersonnelResumeColumn.builder().name("15897566587").colspans(1).rowspans(1).build());
|
||||
datas4.add(PersonnelResumeColumn.builder().name("莽荒之地").colspans(2).rowspans(1).build());
|
||||
List<List<PersonnelResumeColumn>> objects = new ArrayList<>();
|
||||
objects.add(datas2);
|
||||
objects.add(datas3);
|
||||
objects.add(datas4);
|
||||
tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(columns2).datas(objects).build());
|
||||
|
||||
|
||||
resultMap.put("tables", tables);
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> hasRight() {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ 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;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -59,4 +60,19 @@ public class PersonnelResumeController {
|
|||
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,8 @@ public class PersonnelResumeWrapper extends OrganizationWrapper {
|
|||
public Map<String, Object> hasRight() {
|
||||
return getPersonnelResumeService(user).hasRight();
|
||||
}
|
||||
|
||||
public Map<String, Object> getResumeList(Integer uId) {
|
||||
return getPersonnelResumeService(user).getResumeList(uId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue