Commit 4541e249 authored by hongguangwu's avatar hongguangwu

MVP1.6.2-工资原表识别-优化

parent df62f963
...@@ -132,7 +132,7 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand ...@@ -132,7 +132,7 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand
} }
//数据保存 //数据保存
if (Common.isNotNull(vo.getErrorInfo())) { if (Common.isNotNull(vo.getErrorInfo())) {
return R.failed(vo); return R.failed(vo.getErrorInfo());
} }
return R.ok(vo); return R.ok(vo);
} catch (IOException e) { } catch (IOException e) {
...@@ -198,7 +198,10 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand ...@@ -198,7 +198,10 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand
columnVo = new ExcelColumnVo(); columnVo = new ExcelColumnVo();
try { try {
cell = row.getCell(cellNum); cell = row.getCell(cellNum);
if (CellType.STRING == cell.getCellType()) { if (cell.getCellType() == CellType.FORMULA) {
cell.setCellType(CellType.STRING);
cellValue = cell.getStringCellValue();
} else if (CellType.STRING == cell.getCellType()) {
cellValue = row.getCell(cellNum).getStringCellValue(); cellValue = row.getCell(cellNum).getStringCellValue();
} else if (CellType.NUMERIC == cell.getCellType()) { } else if (CellType.NUMERIC == cell.getCellType()) {
try { try {
...@@ -290,6 +293,8 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand ...@@ -290,6 +293,8 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand
List<Map<String, String>> contentList; List<Map<String, String>> contentList;
// 每一行的内容map // 每一行的内容map
Map<String, String> contentMap; Map<String, String> contentMap;
// 存储每一列有值的表头
Map<String, String> titleMap = new HashMap<>();
sheets = new XSSFWorkbook(inputStream); sheets = new XSSFWorkbook(inputStream);
// sheet // sheet
XSSFSheet sheetAt; XSSFSheet sheetAt;
...@@ -325,7 +330,10 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand ...@@ -325,7 +330,10 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand
columnVo = new ExcelColumnVo(); columnVo = new ExcelColumnVo();
try { try {
cell = row.getCell(cellNum); cell = row.getCell(cellNum);
if (CellType.STRING == cell.getCellType()) { if (cell.getCellType() == CellType.FORMULA) {
cell.setCellType(CellType.STRING);
cellValue = cell.getStringCellValue();
} else if (CellType.STRING == cell.getCellType()) {
cellValue = row.getCell(cellNum).getStringCellValue(); cellValue = row.getCell(cellNum).getStringCellValue();
} else if (CellType.NUMERIC == cell.getCellType()) { } else if (CellType.NUMERIC == cell.getCellType()) {
try { try {
...@@ -334,7 +342,8 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand ...@@ -334,7 +342,8 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand
cellValue = String.valueOf(new DecimalFormat("#").format(row.getCell(cellNum).getNumericCellValue())); cellValue = String.valueOf(new DecimalFormat("#").format(row.getCell(cellNum).getNumericCellValue()));
} }
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
cellValue = String.valueOf(row.getCell(cellNum).getNumericCellValue()); cell.setCellType(CellType.STRING);
cellValue = String.valueOf(row.getCell(cellNum).getStringCellValue());
} }
} else if (HSSFDateUtil.isCellDateFormatted(cell)) { } else if (HSSFDateUtil.isCellDateFormatted(cell)) {
cellValue = String.valueOf(row.getCell(cellNum).getDateCellValue()); cellValue = String.valueOf(row.getCell(cellNum).getDateCellValue());
...@@ -347,20 +356,24 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand ...@@ -347,20 +356,24 @@ public class TSalaryStandardOriginalServiceImpl extends ServiceImpl<TSalaryStand
sheetVo.setErrorInfo("请注意单元格格式,第" + (i + 1) + "个sheet,第" + (rowNum + 1) + "行第" + (cellNum + 1) + "列。" + e.getMessage()); sheetVo.setErrorInfo("请注意单元格格式,第" + (i + 1) + "个sheet,第" + (rowNum + 1) + "行第" + (cellNum + 1) + "列。" + e.getMessage());
return sheetVo; return sheetVo;
} }
if (Common.isNotNull(cellValue)) { if (Common.isNotNull(cellValue) && dataRowFlag
if (dataRowFlag
&& (((cellValue.length() == 15 || cellValue.length() == 18) && regIdCard(cellValue)) && (((cellValue.length() == 15 || cellValue.length() == 18) && regIdCard(cellValue))
// 特殊身份证允许识别 // 特殊身份证允许识别
|| regSpecialIdCard(cellValue, specialIdCardList))) { || regSpecialIdCard(cellValue, specialIdCardList))) {
dataRow = rowNum; dataRow = rowNum;
dataRowFlag = false; dataRowFlag = false;
} }
columnVo.setLineNum(cellNum); columnVo.setLineNum(cellNum);
columnVo.setContent(cellValue); columnVo.setContent(cellValue);
contentMap.put(String.valueOf(cellNum), cellValue); if (Common.isNotNull(cellValue)) {
if (dataRowFlag) { titleMap.put(String.valueOf(cellNum), cellValue);
columnList.add(columnVo); }
contentMap.put(String.valueOf(cellNum), cellValue);
if (dataRowFlag) {
if (Common.isEmpty(cellValue) && titleMap.get(String.valueOf(cellNum)) != null) {
columnVo.setContent(titleMap.get(String.valueOf(cellNum)));
} }
columnList.add(columnVo);
} }
} }
if (!dataRowFlag) { if (!dataRowFlag) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment