浏览代码

工资条导入调整,表头解析

dzx 1 年之前
父节点
当前提交
8e81bea7c6

+ 10 - 8
src/main/java/com/xjrsoft/module/personnel/controller/BasePersonnelLabourCapitalController.java

@@ -119,12 +119,8 @@ public class BasePersonnelLabourCapitalController {
         List<Map<Integer, Object>> excelDataList = EasyExcel.read(file.getInputStream()).sheet().headRowNumber(4 - 1).doReadSync();
         //验证数据
 
-        //处理表头数据,目前只支持2行表头
-        List<BasePersonnelLabourCapitalTitle> titleList = initTitleList(excelDataList.get(0), excelDataList.get(1));
-        //读取表内容数据
-        List<BasePersonnelLabourCapitalData> dataList = initDataList(dto, excelDataList);
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         //构造数据
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         BasePersonnelLabourCapital basePersonnelLabourCapital = BeanUtil.toBean(dto, BasePersonnelLabourCapital.class);
         basePersonnelLabourCapital.setDataRow(4);
         basePersonnelLabourCapital.setPersonnelNameColumn(3);
@@ -133,6 +129,12 @@ public class BasePersonnelLabourCapitalController {
         basePersonnelLabourCapital.setIdNumberColumn(1);
         basePersonnelLabourCapital.setJobNumberColumn(2);
         basePersonnelLabourCapital.setDateOfIssue(sdf.parse(dto.getDateOfIssue()));
+
+        //处理表头数据,目前只支持2行表头
+        List<BasePersonnelLabourCapitalTitle> titleList = initTitleList(excelDataList.get(0), excelDataList.get(1), basePersonnelLabourCapital);
+        //读取表内容数据
+        List<BasePersonnelLabourCapitalData> dataList = initDataList(dto, excelDataList);
+
         //添加表头数据
         basePersonnelLabourCapital.setBasePersonnelLabourCapitalTitleList(titleList);
         basePersonnelLabourCapital.setBasePersonnelLabourCapitalDataList(dataList);
@@ -173,7 +175,7 @@ public class BasePersonnelLabourCapitalController {
      * @param titleRow2 第二行数据
      * @return 返回集合
      */
-    List<BasePersonnelLabourCapitalTitle> initTitleList(Map<Integer, Object> titleRow1, Map<Integer, Object> titleRow2){
+    List<BasePersonnelLabourCapitalTitle> initTitleList(Map<Integer, Object> titleRow1, Map<Integer, Object> titleRow2, BasePersonnelLabourCapital capital){
         List<BasePersonnelLabourCapitalTitle> resultList = new ArrayList<>();
         //识别第一行
         int mergeColumns = 0, mergeRows = 0;
@@ -199,7 +201,7 @@ public class BasePersonnelLabourCapitalController {
 
             title.setName(value.toString());
             title.setColumnNumber(column);
-            title.setRowsNumber(4);
+            title.setRowsNumber(capital.getDataRow() - 1);
             title.setMergeColumns(mergeColumns);
             title.setMergeRows(mergeRows);
             resultList.add(title);
@@ -218,7 +220,7 @@ public class BasePersonnelLabourCapitalController {
 
             title.setName(value.toString());
             title.setColumnNumber(column);
-            title.setRowsNumber(4);
+            title.setRowsNumber(capital.getDataRow());
             title.setMergeColumns(mergeColumns);
             title.setMergeRows(mergeRows);
             resultList.add(title);