diff --git a/src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java b/src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java new file mode 100644 index 00000000..f70a854a --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java @@ -0,0 +1,21 @@ +package com.engine.organization.entity.resume.po; + +import lombok.Data; + +/** + * @author:dxfeng + * @createTime: 2022/12/30 + * @version: 1.0 + */ +@Data +public class HrmFamilyInfoPO { + private Integer resourceId; + private String member; + private String title; + private String company; + private String jobTitle; + private String address; + private String uuid; + private String birthday; + private Integer whetherChildren; +} diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java index d5d603ff..1206bf87 100644 --- a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java @@ -61,6 +61,16 @@ public class PersonnelResumePO { String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + manager.getImageFileName(); File f = new File(outPutPath); + if (!f.exists()) { + String substring = outPutPath.substring(0, outPutPath.lastIndexOf(File.separator)); + File file = new File(substring); + if (file.mkdirs()) { + boolean newFile = f.createNewFile(); + if (!newFile) { + throw new IOException(outPutPath + "文件创建失败"); + } + } + } Thumbnails.of(inputStream).forceSize(100, 120).toFile(f); InputStream fileInputStream = Files.newInputStream(f.toPath()); imageStr = "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(fileInputStream)); diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 09ec695f..e303bd30 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.HrmFamilyInfoPO; import com.engine.organization.entity.resume.po.PersonnelResumePO; import org.apache.ibatis.annotations.Param; @@ -20,4 +21,6 @@ public interface HrmResourceMapper { PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id); + List getHrmFamilyInfoByUser(@Param("resourceId") Integer resourceId); + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 22e9c4b5..8dae95f3 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -34,23 +34,28 @@ select lastname, sex, birthday, - resourceimageid as image, + resourceimageid as image, nativeplace, - policy as politics, + policy as politics, a.departmentname as department, - maritalstatus as marriage, - b.jobtitlename as jobTitle, + maritalstatus as marriage, + b.jobtitlename as jobTitle, companystartdate, workstartdate, - certificatenum as idCard, - residentplace as address, - mobile as telephone, + certificatenum as idCard, + residentplace as address, + mobile as 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} + diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index b5c4a6bd..05d465b0 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -10,6 +10,7 @@ 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.HrmFamilyInfoPO; import com.engine.organization.entity.resume.po.PersonnelResumeColumn; import com.engine.organization.entity.resume.po.PersonnelResumePO; import com.engine.organization.entity.resume.po.PersonnelResumeTable; @@ -92,56 +93,48 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu // 简历相关表格,待拓展 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().value("2022-10-02").colspans(2).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("80").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("36").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("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().value("父子").colspans(2).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("徐晓").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("北凉王").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("1589756859").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("江苏省南京市北凉军营").colspans(2).rowspans(1).build()); - - datas3.add(PersonnelResumeColumn.builder().value("母子").colspans(2).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("吴素").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("北凉王妃").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("15897566487").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("江苏省南京市北凉龙雀军团").colspans(2).rowspans(1).build()); - - datas4.add(PersonnelResumeColumn.builder().value("女儿").colspans(2).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("徐念凉").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("北凉公主").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("15897566587").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("莽荒之地").colspans(2).rowspans(1).build()); + List insurancesTitles = new ArrayList<>(); + List familyInfoTitles = new ArrayList<>(); + + List insuranceDatas = new ArrayList<>(); + insurancesTitles.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("失业保险").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).rowspans(1).build()); + + insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-10-02").colspans(2).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("80").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("36").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); + tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(Collections.singletonList(insuranceDatas)).build()); + + // 家庭情况 + familyInfoTitles.add(PersonnelResumeColumn.builder().name("成员").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("称谓").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("工作单位").colspans(2).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("职务").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("地址").colspans(2).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("出生日期").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("是否子女").colspans(1).rowspans(1).build()); + + List hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId); List> objects = new ArrayList<>(); - objects.add(datas2); - objects.add(datas3); - objects.add(datas4); - tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(columns2).datas(objects).build()); + for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) { + List familyInfoDatas = new ArrayList<>(); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getCompany()).colspans(2).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getJobTitle()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getAddress()).colspans(2).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getBirthday()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(1 == hrmFamilyInfoPO.getWhetherChildren() ? "是" : "否").colspans(1).rowspans(1).build()); + objects.add(familyInfoDatas); + } + tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(familyInfoTitles).datas(objects).build()); resultMap.put("tables", tables);