From 4e55bd9cee8e44f7a7a0d9185d8323fc7be9193d Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期六, 11 四月 2026 21:14:01 +0800
Subject: [PATCH] fix(hr): 修正员工基础信息字典字段的大小写问题

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java |  112 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 59 insertions(+), 53 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
index c3eb34a..726aeb1 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
@@ -9,6 +9,7 @@
 import java.util.List;
 
 import cn.hutool.core.util.StrUtil;
+import com.esotericsoftware.minlog.Log;
 import org.apache.poi.hssf.usermodel.HSSFDataFormat;
 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -111,53 +112,60 @@
 			throw new Exception("创建Excel工作薄为空!");
 		}
 		List<List<List<Object>>> returnList = new ArrayList<List<List<Object>>>();
-		for (Sheet sheet : work) {
-			Row row = null;
-			Cell cell = null;
+		try {
+            for (Sheet sheet : work) {
+                Row row = null;
+                Cell cell = null;
 
-			list = new ArrayList<List<Object>>();
-			if (sheet == null) {
-				continue;
-			}
-			// 取得Excel的总列数,总行数
-			int columns = 0;
-			Row firstRow = sheet.getRow((short) 0);
-			if (firstRow != null) {
-				columns = firstRow.getPhysicalNumberOfCells();
-			}
+                list = new ArrayList<List<Object>>();
+                if (sheet == null) {
+                    continue;
+                }
+                // 取得Excel的总列数,总行数
+                int columns = 0;
+                Row firstRow = sheet.getRow((short) 0);
+                if (firstRow != null) {
+                    columns = firstRow.getPhysicalNumberOfCells();
+                }
 
-			int rows = sheet.getPhysicalNumberOfRows();
-			List<Object> dataRow = null;
+                int rows = sheet.getPhysicalNumberOfRows();
+                List<Object> dataRow = null;
 
-			// 首行为定义标题的行,数据从第2行开始
-			for (int i = 1; i < rows; i++) {
-				dataRow = new ArrayList<Object>();
-				// 获取行
-				row = sheet.getRow(i);
+                // 首行为定义标题的行,数据从第2行开始
+                for (int i = 1; i < rows; i++) {
+                    dataRow = new ArrayList<Object>();
+                    // 获取行
+                    row = sheet.getRow(i);
+                    if (row == null) {
+                        break;
+                    }
 
-				cell = row.getCell(0);
-				if ( StrUtil.isBlank(getCellValue(cell).toString())){
-					break;
-				}
+                    cell = row.getCell(0);
+                    if (StrUtil.isBlank(getCellValue(cell).toString())) {
+                        break;
+                    }
 
-				if (row != null) {
-					// columns=row.getPhysicalNumberOfCells();//不在这里设置,通过firstRow来获取列数信息。
-					for (int j = 0; j < columns; j++) {
-						// 获取某行某列的某一个单元格
-						cell = row.getCell(j);
+                    if (row != null) {
+                        // columns=row.getPhysicalNumberOfCells();//不在这里设置,通过firstRow来获取列数信息。
+                        for (int j = 0; j < columns; j++) {
+                            // 获取某行某列的某一个单元格
+                            cell = row.getCell(j);
 
-						// 往dataRow存值
-						dataRow.add(getCellValue(cell));
-					}
-					list.add(dataRow);
-				} else {
-					list.add(new ArrayList<>());
-				}
-			}
+                            // 往dataRow存值
+                            dataRow.add(getCellValue(cell));
+                        }
+                        list.add(dataRow);
+                    } else {
+                        list.add(new ArrayList<>());
+                    }
+                }
 
-			work.close();
-			returnList.add(list);
-		}
+                work.close();
+                returnList.add(list);
+            }
+        } catch (Exception e){
+            Log.error(e.getMessage());
+        }
 
 		return returnList;
 	}
@@ -197,25 +205,23 @@
 				value = "";
 				return value;
 			}
-
-			DecimalFormat df = new DecimalFormat("0"); // 格式化number String字符
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 日期格式化
-			DecimalFormat df2 = new DecimalFormat("0.00"); // 格式化数字
+            // 格式化number String字符
+			DecimalFormat df = new DecimalFormat("0");
+            // 日期格式化
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            // 格式化数字
+			DecimalFormat df2 = new DecimalFormat("0.00");
 
 			switch (cell.getCellType()) {
 			case Cell.CELL_TYPE_STRING:
 				value = cell.getRichStringCellValue().getString();
 				break;
 			case Cell.CELL_TYPE_NUMERIC:
-				if (HSSFDateUtil.isCellDateFormatted(cell)) {// 处理日期格式、时间格式
-
-					if (cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("h:mm")
-							|| cell.getCellStyle().getDataFormat() == 176) {
-						sdf = new SimpleDateFormat("HH:mm");
-					}
-					Date date = cell.getDateCellValue();
-					value = sdf.format(date);
-
+				if (HSSFDateUtil.isCellDateFormatted(cell)) {
+                        // 处理日期格式、时间格式
+                    Date date = cell.getDateCellValue();
+                    sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    value = sdf.format(date);
 				} else if (cell.getCellStyle().getDataFormat() == 58) {
 					// 处理自定义日期格式:m月d日(通过判断单元格的格式id解决,id的值是58)
 					SimpleDateFormat sdf2 = new SimpleDateFormat("MM-dd");

--
Gitblit v1.8.0