|
|
|
@ -111,52 +111,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|
|
|
|
resultMap.put("selfStatement", "");
|
|
|
|
|
|
|
|
|
|
// 简历相关表格,待拓展
|
|
|
|
|
List<PersonnelResumeTable> tables = new ArrayList<>();
|
|
|
|
|
List<PersonnelResumeColumn> insurancesTitles = new ArrayList<>();
|
|
|
|
|
List<PersonnelResumeColumn> familyInfoTitles = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
List<PersonnelResumeColumn> 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());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<HrmFamilyInfoPO> hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId);
|
|
|
|
|
if (CollectionUtils.isEmpty(hrmFamilyInfoByUser)) {
|
|
|
|
|
hrmFamilyInfoByUser.add(new HrmFamilyInfoPO());
|
|
|
|
|
}
|
|
|
|
|
List<List<PersonnelResumeColumn>> objects = new ArrayList<>();
|
|
|
|
|
for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) {
|
|
|
|
|
List<PersonnelResumeColumn> familyInfoDatas = new ArrayList<>();
|
|
|
|
|
familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build());
|
|
|
|
|
familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).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());
|
|
|
|
|
objects.add(familyInfoDatas);
|
|
|
|
|
}
|
|
|
|
|
tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(familyInfoTitles).datas(objects).build());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resultMap.put("tables", tables);
|
|
|
|
|
resultMap.put("tables", getPersonnelResumeTable(uId));
|
|
|
|
|
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
@ -191,20 +146,14 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|
|
|
|
List<CustomXWPFDocument> xwpfDocuments = new ArrayList<>();
|
|
|
|
|
//模板地址
|
|
|
|
|
String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator;
|
|
|
|
|
String filePath = outPutPath + "template0104.docx";
|
|
|
|
|
String filePath = outPutPath + "PerResume.docx";
|
|
|
|
|
//创建压缩包位置
|
|
|
|
|
File fileZip = new File(outPutPath + "wordZip");
|
|
|
|
|
if (!fileZip.exists()) {
|
|
|
|
|
fileZip.mkdirs();
|
|
|
|
|
}
|
|
|
|
|
// 处理赋值的数据
|
|
|
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
|
|
|
Map<String, Object> resMap = getResumeList(22);
|
|
|
|
|
Map<String, Object> resMap2 = getResumeList(29);
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> dataMapList = new ArrayList<>();
|
|
|
|
|
dataMapList.add(resMap);
|
|
|
|
|
dataMapList.add(resMap2);
|
|
|
|
|
List<Map<String, Object>> dataMapList = getAllResumeList();
|
|
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
String filesPath = outPutPath + "wordZip" + File.separator + simpleDateFormat.format(new Date());
|
|
|
|
|
String fileAllWordPath = outPutPath + "wordZip";
|
|
|
|
@ -213,27 +162,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|
|
|
|
for (int count = 0; count < dataMapList.size(); count++) {
|
|
|
|
|
//处理单人数据
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<>();
|
|
|
|
|
for (Map.Entry<String, Object> entry : dataMapList.get(count).entrySet()) {
|
|
|
|
|
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
|
|
|
|
|
paramMap.put("${" + entry.getKey() + "}", entry.getValue());
|
|
|
|
|
}
|
|
|
|
|
if (dataMapList.get(count).containsKey("tables")) {
|
|
|
|
|
List<PersonnelResumeTable> tables = (List<PersonnelResumeTable>) dataMapList.get(count).get("tables");
|
|
|
|
|
for (int t = 0; t < tables.size(); t++) {
|
|
|
|
|
PersonnelResumeTable personnelResumeTable = tables.get(t);
|
|
|
|
|
int length = personnelResumeTable.getColumns().size();
|
|
|
|
|
if (personnelResumeTable.getDatas().size() > 0) {
|
|
|
|
|
List<List<PersonnelResumeColumn>> datas = personnelResumeTable.getDatas();
|
|
|
|
|
if (datas.size() > 0) {
|
|
|
|
|
List<PersonnelResumeColumn> dataList = datas.get(0);
|
|
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
|
|
paramMap.put("${col" + t + i + "}", Util.null2String(dataList.get(i).getValue()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
paramMap.put("${@image}", "1198");
|
|
|
|
|
paramMap = dataMapList.get(count);
|
|
|
|
|
WordUtil wordUtil = new WordUtil();
|
|
|
|
|
//返回一个新的xwpfDocument对象
|
|
|
|
|
File file = new File(filePath);
|
|
|
|
@ -286,6 +215,96 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|
|
|
|
return resPath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 简历相关表格,待拓展
|
|
|
|
|
public List<PersonnelResumeTable> getPersonnelResumeTable(Integer uId){
|
|
|
|
|
List<PersonnelResumeTable> tables = new ArrayList<>();
|
|
|
|
|
List<PersonnelResumeColumn> insurancesTitles = new ArrayList<>();
|
|
|
|
|
List<PersonnelResumeColumn> familyInfoTitles = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
List<PersonnelResumeColumn> 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());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<HrmFamilyInfoPO> hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId);
|
|
|
|
|
if (CollectionUtils.isEmpty(hrmFamilyInfoByUser)) {
|
|
|
|
|
hrmFamilyInfoByUser.add(new HrmFamilyInfoPO());
|
|
|
|
|
}
|
|
|
|
|
List<List<PersonnelResumeColumn>> objects = new ArrayList<>();
|
|
|
|
|
for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) {
|
|
|
|
|
List<PersonnelResumeColumn> familyInfoDatas = new ArrayList<>();
|
|
|
|
|
familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build());
|
|
|
|
|
familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).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());
|
|
|
|
|
objects.add(familyInfoDatas);
|
|
|
|
|
}
|
|
|
|
|
tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(familyInfoTitles).datas(objects).build());
|
|
|
|
|
return tables;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<Map<String, Object>> getAllResumeList() {
|
|
|
|
|
List<PersonnelResumePO> personnelResumeList = getHrmResourceMapper().getPersonnelResumeList();
|
|
|
|
|
OrganizationAssert.notNull(personnelResumeList, "未找到对应人员");
|
|
|
|
|
List<Map<String, Object>> dataMapList = new ArrayList<>();
|
|
|
|
|
for (PersonnelResumePO personnelResumePO : personnelResumeList) {
|
|
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
|
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.getImageId()));
|
|
|
|
|
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 = getPersonnelResumeTable(personnelResumePO.getId());
|
|
|
|
|
for (int t = 0; t < tables.size(); t++) {
|
|
|
|
|
PersonnelResumeTable personnelResumeTable = tables.get(t);
|
|
|
|
|
int length = personnelResumeTable.getColumns().size();
|
|
|
|
|
if (personnelResumeTable.getDatas().size() > 0) {
|
|
|
|
|
List<List<PersonnelResumeColumn>> datas = personnelResumeTable.getDatas();
|
|
|
|
|
if (datas.size() > 0) {
|
|
|
|
|
List<PersonnelResumeColumn> dataList = datas.get(0);
|
|
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
|
|
resultMap.put("${col" + t + i + "}", Util.null2String(dataList.get(i).getValue()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
dataMapList.add(resultMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return dataMapList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//两个对象进行追加
|
|
|
|
|
public CustomXWPFDocument mergeWord(CustomXWPFDocument document, CustomXWPFDocument doucDocument2) throws Exception {
|
|
|
|
|
CustomXWPFDocument src1Document = document;
|
|
|
|
@ -416,7 +435,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|
|
|
|
}
|
|
|
|
|
return flag;
|
|
|
|
|
}
|
|
|
|
|
public List<SearchTree> getFilterDatas(String id, String type, String keyword) {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<SearchConditionItem> personnelScreening() {
|
|
|
|
|
List<SearchConditionItem> items = new ArrayList<>();
|
|
|
|
|