Merge branch 'develop' of http://221.226.25.34:3000/liang.cheng/weaver-hrm-organization into feature/dxf
This commit is contained in:
commit
7889b866ab
|
|
@ -156,7 +156,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|||
}
|
||||
// 处理赋值的数据
|
||||
List<Map<String, Object>> dataMapList = getAllResumeList();
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||
String filesPath = outPutPath + "wordZip" + File.separator + "全部简历";
|
||||
String fileAllWordPath = outPutPath + "wordZip";
|
||||
String wordName = "全体人员简历(合并)";
|
||||
|
|
@ -170,8 +170,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|||
//处理所有数据
|
||||
for (int count = 0; count < dataMapList.size(); count++) {
|
||||
//处理单人数据
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap = dataMapList.get(count);
|
||||
Map<String, Object> paramMap = dataMapList.get(count);
|
||||
WordUtil wordUtil = new WordUtil();
|
||||
//返回一个新的xwpfDocument对象
|
||||
File file = new File(filePath);
|
||||
|
|
@ -217,13 +216,14 @@ 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<>();
|
||||
List<List<PersonnelResumeColumn>> datas = 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());
|
||||
|
|
@ -237,7 +237,24 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|||
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());
|
||||
datas.add(insuranceDatas);
|
||||
insuranceDatas = new ArrayList<>();
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-11-02").colspans(2).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("90").colspans(1).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("46").colspans(1).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("361").colspans(1).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("181").colspans(1).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("20001").colspans(1).rowspans(1).build());
|
||||
datas.add(insuranceDatas);
|
||||
insuranceDatas = new ArrayList<>();
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-12-02").colspans(2).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("100").colspans(1).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("56").colspans(1).rowspans(1).build());
|
||||
insuranceDatas.add(PersonnelResumeColumn.builder().value("362").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());
|
||||
datas.add(insuranceDatas);
|
||||
tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(datas).build());
|
||||
|
||||
// 家庭情况
|
||||
familyInfoTitles.add(PersonnelResumeColumn.builder().name("关系").colspans(1).rowspans(1).build());
|
||||
|
|
@ -294,13 +311,19 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
|
|||
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()));
|
||||
for (int d = 0;d<datas.size();d++) {
|
||||
List<PersonnelResumeColumn> dataList = datas.get(d);
|
||||
for (int i = 0; i < length; i++) {//i表示列
|
||||
//社保9行开始,家庭成员10行开始
|
||||
int row = 100 + i + d;
|
||||
resultMap.put("${c" + t + i + row + "}", Util.null2String(dataList.get(i).getValue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
resultMap.put("sbDataCounts",tables.get(0).getDatas().size());
|
||||
resultMap.put("jtDataCounts",tables.get(1).getDatas().size());
|
||||
dataMapList.add(resultMap);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -154,6 +154,15 @@ public class WordUtil {
|
|||
List<XWPFParagraph> paras;
|
||||
while (iterator.hasNext()) {
|
||||
table = iterator.next();
|
||||
// 根据数据量从10行开始新增
|
||||
int sbLengths = (int) params.get("sbDataCounts");
|
||||
int jtLengths = (int) params.get("jtDataCounts");
|
||||
for (int i = 1; i < sbLengths;i++){
|
||||
insertRow(table,9,9+i,i);
|
||||
}
|
||||
for (int i = 1; i < jtLengths;i++){
|
||||
insertRow(table,12+sbLengths-1,12+sbLengths-1+i,i);
|
||||
}
|
||||
rows = table.getRows();
|
||||
for (XWPFTableRow row : rows) {
|
||||
cells = row.getTableCells();
|
||||
|
|
@ -167,6 +176,46 @@ public class WordUtil {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* insertRow 在word表格中指定位置插入一行,并将某一行的样式复制到新增行
|
||||
* @param copyrowIndex 需要复制的行位置
|
||||
* @param newrowIndex 需要新增一行的位置
|
||||
* @param jgIndex 间隔行
|
||||
* */
|
||||
public static void insertRow(XWPFTable table, int copyrowIndex, int newrowIndex, int jgIndex) {
|
||||
// 在表格中指定的位置新增一行
|
||||
XWPFTableRow targetRow = table.insertNewTableRow(newrowIndex);
|
||||
// 获取需要复制行对象
|
||||
XWPFTableRow copyRow = table.getRow(copyrowIndex);
|
||||
//复制行对象
|
||||
targetRow.getCtRow().setTrPr(copyRow.getCtRow().getTrPr());
|
||||
//或许需要复制的行的列
|
||||
List<XWPFTableCell> copyCells = copyRow.getTableCells();
|
||||
//复制列对象
|
||||
XWPFTableCell targetCell = null;
|
||||
for (int i = 0; i < copyCells.size(); i++) {
|
||||
XWPFTableCell copyCell = copyCells.get(i);
|
||||
targetCell = targetRow.addNewTableCell();
|
||||
targetCell.getCTTc().setTcPr(copyCell.getCTTc().getTcPr());
|
||||
if (copyCell.getParagraphs() != null && copyCell.getParagraphs().size() > 0) {
|
||||
XWPFParagraph targetParagraph = (XWPFParagraph)targetCell.getParagraphs().get(0);
|
||||
XWPFParagraph copyParagraph = (XWPFParagraph)copyCell.getParagraphs().get(0);
|
||||
targetParagraph.getCTP().setPPr(copyParagraph.getCTP().getPPr());
|
||||
if (copyParagraph.getRuns() != null && copyParagraph.getRuns().size() > 0) {
|
||||
XWPFRun cellR = targetParagraph.createRun();
|
||||
String copyText = copyParagraph.getText();
|
||||
//截取到${c后两位,第一位:0表示社保表,1表示家庭成员表,第二位表示列
|
||||
String lastText = copyText.substring(copyText.length()-4,copyText.length()-1);
|
||||
int num = Util.getIntValue(lastText)+ jgIndex;
|
||||
String newText = copyText.substring(0,5) + num + "}";
|
||||
cellR.setText(newText);
|
||||
cellR.setBold(((XWPFRun)copyParagraph.getRuns().get(0)).isBold());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 正则匹配字符串
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue