From 33e9073e1c866e76a4ed5a20fa281e394fedf686 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 29 Dec 2022 15:52:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resume/po/PersonnelResumeColumn.java | 22 +++++ .../entity/resume/po/PersonnelResumePO.java | 79 +++++++++++++++++ .../resume/po/PersonnelResumeTable.java | 23 +++++ .../mapper/resource/HrmResourceMapper.java | 3 + .../mapper/resource/HrmResourceMapper.xml | 22 +++++ .../service/PersonnelResumeService.java | 8 ++ .../impl/PersonnelResumeServiceImpl.java | 86 +++++++++++++++++++ .../web/PersonnelResumeController.java | 16 ++++ .../wrapper/PersonnelResumeWrapper.java | 4 + 9 files changed, 263 insertions(+) create mode 100644 src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java create mode 100644 src/com/engine/organization/entity/resume/po/PersonnelResumePO.java create mode 100644 src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java b/src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java new file mode 100644 index 00000000..0f6cc06e --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java @@ -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; +} diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java new file mode 100644 index 00000000..4eba90f1 --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java @@ -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 "未婚"; + } + } +} diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java b/src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java new file mode 100644 index 00000000..012e656f --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java @@ -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 columns; + private List> datas; +} diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 866eaa98..09ec695f 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -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 listByFilter(@Param("resourcePO") ResourcePO resourcePO); + PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id); + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 87206743..1d5e20e2 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -29,6 +29,28 @@ and jobtitle = #{resourcePO.jobtitle} + diff --git a/src/com/engine/organization/service/PersonnelResumeService.java b/src/com/engine/organization/service/PersonnelResumeService.java index cedc5cf7..28b83ab2 100644 --- a/src/com/engine/organization/service/PersonnelResumeService.java +++ b/src/com/engine/organization/service/PersonnelResumeService.java @@ -18,6 +18,14 @@ public interface PersonnelResumeService { */ Map getSearchTree(SearchTreeParams params); + /** + * 获取人员简历列表 + * + * @param uId + * @return + */ + Map getResumeList(Integer uId); + /** * 获取列表页面按钮信息 * diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 192e0a75..bc886a4b 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -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 getResumeList(Integer uId) { + Map 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 tables = new ArrayList<>(); + List columns1 = new ArrayList<>(); + List columns2 = new ArrayList<>(); + + List datas1 = new ArrayList<>(); + List datas2 = new ArrayList<>(); + List datas3 = new ArrayList<>(); + List 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> 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 hasRight() { Map resultMap = new HashMap<>(); diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java index d3fe3002..f09053b3 100644 --- a/src/com/engine/organization/web/PersonnelResumeController.java +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -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 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); + } + + } + } diff --git a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java index 0ec90153..460b3fc2 100644 --- a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java +++ b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java @@ -26,4 +26,8 @@ public class PersonnelResumeWrapper extends OrganizationWrapper { public Map hasRight() { return getPersonnelResumeService(user).hasRight(); } + + public Map getResumeList(Integer uId) { + return getPersonnelResumeService(user).getResumeList(uId); + } }