人员简历相关接口开发 #118

Merged
dxfeng merged 3 commits from feature/dxf into develop 2 years ago

@ -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;
}

@ -61,6 +61,16 @@ public class PersonnelResumePO {
String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator
+ manager.getImageFileName(); + manager.getImageFileName();
File f = new File(outPutPath); 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); Thumbnails.of(inputStream).forceSize(100, 120).toFile(f);
InputStream fileInputStream = Files.newInputStream(f.toPath()); InputStream fileInputStream = Files.newInputStream(f.toPath());
imageStr = "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(fileInputStream)); imageStr = "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(fileInputStream));

@ -1,6 +1,7 @@
package com.engine.organization.mapper.resource; package com.engine.organization.mapper.resource;
import com.engine.organization.entity.hrmresource.po.ResourcePO; 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 com.engine.organization.entity.resume.po.PersonnelResumePO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -20,4 +21,6 @@ public interface HrmResourceMapper {
PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id); PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id);
List<HrmFamilyInfoPO> getHrmFamilyInfoByUser(@Param("resourceId") Integer resourceId);
} }

@ -34,23 +34,28 @@
select lastname, select lastname,
sex, sex,
birthday, birthday,
resourceimageid as image, resourceimageid as image,
nativeplace, nativeplace,
policy as politics, policy as politics,
a.departmentname as department, a.departmentname as department,
maritalstatus as marriage, maritalstatus as marriage,
b.jobtitlename as jobTitle, b.jobtitlename as jobTitle,
companystartdate, companystartdate,
workstartdate, workstartdate,
certificatenum as idCard, certificatenum as idCard,
residentplace as address, residentplace as address,
mobile as telephone, mobile as telephone,
email email
from hrmresource h from hrmresource h
inner join hrmdepartment a on a.id = h.departmentid inner join hrmdepartment a on a.id = h.departmentid
inner join hrmjobtitles b on b.id = h.jobtitle inner join hrmjobtitles b on b.id = h.jobtitle
where h.id = #{id} where h.id = #{id}
</select> </select>
<select id="getHrmFamilyInfoByUser" resultType="com.engine.organization.entity.resume.po.HrmFamilyInfoPO">
select *
from HrmFamilyInfo
where resourceid = #{resourceId}
</select>
<sql id="likeSql"> <sql id="likeSql">
<if test="resourcePO.lastName != null and resourcePO.lastName != ''"> <if test="resourcePO.lastName != null and resourcePO.lastName != ''">

@ -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.hrmresource.po.ResourcePO;
import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.bo.JobBO;
import com.engine.organization.entity.job.po.JobPO; 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.PersonnelResumeColumn;
import com.engine.organization.entity.resume.po.PersonnelResumePO; import com.engine.organization.entity.resume.po.PersonnelResumePO;
import com.engine.organization.entity.resume.po.PersonnelResumeTable; import com.engine.organization.entity.resume.po.PersonnelResumeTable;
@ -92,56 +93,48 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
// 简历相关表格,待拓展 // 简历相关表格,待拓展
List<PersonnelResumeTable> tables = new ArrayList<>(); List<PersonnelResumeTable> tables = new ArrayList<>();
List<PersonnelResumeColumn> columns1 = new ArrayList<>(); List<PersonnelResumeColumn> insurancesTitles = new ArrayList<>();
List<PersonnelResumeColumn> columns2 = new ArrayList<>(); List<PersonnelResumeColumn> familyInfoTitles = new ArrayList<>();
List<PersonnelResumeColumn> datas1 = new ArrayList<>(); List<PersonnelResumeColumn> insuranceDatas = new ArrayList<>();
List<PersonnelResumeColumn> datas2 = new ArrayList<>(); insurancesTitles.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build());
List<PersonnelResumeColumn> datas3 = new ArrayList<>(); insurancesTitles.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build());
List<PersonnelResumeColumn> datas4 = new ArrayList<>(); insurancesTitles.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build());
columns1.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build()); insurancesTitles.add(PersonnelResumeColumn.builder().name("失业保险").colspans(1).rowspans(1).build());
columns1.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build()); insurancesTitles.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build());
columns1.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build()); insurancesTitles.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()); insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-10-02").colspans(2).rowspans(1).build());
columns1.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).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());
datas1.add(PersonnelResumeColumn.builder().value("2022-10-02").colspans(2).rowspans(1).build()); insuranceDatas.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build());
datas1.add(PersonnelResumeColumn.builder().value("80").colspans(1).rowspans(1).build()); insuranceDatas.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build());
datas1.add(PersonnelResumeColumn.builder().value("36").colspans(1).rowspans(1).build()); insuranceDatas.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build());
datas1.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(Collections.singletonList(insuranceDatas)).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()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("成员").colspans(1).rowspans(1).build());
familyInfoTitles.add(PersonnelResumeColumn.builder().name("称谓").colspans(1).rowspans(1).build());
columns2.add(PersonnelResumeColumn.builder().name("关系").colspans(2).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("工作单位").colspans(2).rowspans(1).build());
columns2.add(PersonnelResumeColumn.builder().name("姓名").colspans(1).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("职务").colspans(1).rowspans(1).build());
columns2.add(PersonnelResumeColumn.builder().name("工作单位及职务").colspans(1).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("地址").colspans(2).rowspans(1).build());
columns2.add(PersonnelResumeColumn.builder().name("联系电话").colspans(1).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("出生日期").colspans(1).rowspans(1).build());
columns2.add(PersonnelResumeColumn.builder().name("住址").colspans(2).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("是否子女").colspans(1).rowspans(1).build());
datas2.add(PersonnelResumeColumn.builder().value("父子").colspans(2).rowspans(1).build()); List<HrmFamilyInfoPO> hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId);
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<List<PersonnelResumeColumn>> objects = new ArrayList<>(); List<List<PersonnelResumeColumn>> objects = new ArrayList<>();
objects.add(datas2); for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) {
objects.add(datas3); List<PersonnelResumeColumn> familyInfoDatas = new ArrayList<>();
objects.add(datas4); familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build());
tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(columns2).datas(objects).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); resultMap.put("tables", tables);

Loading…
Cancel
Save