From 9cd4074a456fd5c422506279191b6015836347e5 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 30 十月 2026 10:08:35 +0800
Subject: [PATCH] feat: 设备台账启用状态、审批签核展示与导入健壮性

---
 src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java |  106 ++++++++++++++++++++++++++++------------------------
 1 files changed, 57 insertions(+), 49 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
index d103265..8d7b690 100644
--- a/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -465,37 +465,37 @@
                     {
                         val = Convert.toBigDecimal(val);
                     }
-                    else if (Date.class == fieldType)
-                    {
-                        if (val instanceof String)
-                        {
-                            val = DateUtils.parseDate(val);
+                    else if (Date.class == fieldType)
+                    {
+                        if (val instanceof String)
+                        {
+                            val = DateUtils.parseDate(val);
                         }
                         else if (val instanceof Double)
-                        {
-                            val = DateUtil.getJavaDate((Double) val);
-                        }
-                    }
-                    else if (LocalDate.class == fieldType)
-                    {
-                        if (val instanceof String)
-                        {
-                            Date date = DateUtils.parseDate(val);
-                            val = StringUtils.isNull(date) ? null : DateUtils.toLocalDate(date);
-                        }
-                        else if (val instanceof Date)
-                        {
-                            val = DateUtils.toLocalDate((Date) val);
-                        }
-                        else if (val instanceof Double)
-                        {
-                            val = DateUtils.toLocalDate(DateUtil.getJavaDate((Double) val));
-                        }
-                    }
-                    else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
-                    {
-                        val = Convert.toBool(val, false);
-                    }
+                        {
+                            val = DateUtil.getJavaDate((Double) val);
+                        }
+                    }
+                    else if (LocalDate.class == fieldType)
+                    {
+                        if (val instanceof String)
+                        {
+                            Date date = DateUtils.parseDate(val);
+                            val = StringUtils.isNull(date) ? null : DateUtils.toLocalDate(date);
+                        }
+                        else if (val instanceof Date)
+                        {
+                            val = DateUtils.toLocalDate((Date) val);
+                        }
+                        else if (val instanceof Double)
+                        {
+                            val = DateUtils.toLocalDate(DateUtil.getJavaDate((Double) val));
+                        }
+                    }
+                    else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
+                    {
+                        val = Convert.toBool(val, false);
+                    }
                     if (StringUtils.isNotNull(fieldType))
                     {
                         String propertyName = field.getName();
@@ -535,7 +535,11 @@
                         ReflectUtils.invokeSetter(entity, propertyName, val);
                     }
                 }
-                list.add(entity);
+                // 琛ㄥご涓庢ā鏉夸笉涓�鑷存椂杩欎竴琛屽彲鑳芥病鏈夊尮閰嶅埌浠讳綍瀛楁锛宔ntity 涓� null锛岃烦杩囦互鍏嶈皟鐢ㄦ柟绌烘寚閽�
+                if (entity != null)
+                {
+                    list.add(entity);
+                }
             }
         }
         return list;
@@ -667,24 +671,24 @@
                         val = Convert.toFloat(val);
                     } else if (BigDecimal.class == fieldType) {
                         val = Convert.toBigDecimal(val);
-                    } else if (Date.class == fieldType) {
-                        if (val instanceof String) {
-                            val = DateUtils.parseDate(val);
-                        } else if (val instanceof Double) {
-                            val = DateUtil.getJavaDate((Double) val);
-                        }
-                    } else if (LocalDate.class == fieldType) {
-                        if (val instanceof String) {
-                            Date date = DateUtils.parseDate(val);
-                            val = StringUtils.isNull(date) ? null : DateUtils.toLocalDate(date);
-                        } else if (val instanceof Date) {
-                            val = DateUtils.toLocalDate((Date) val);
-                        } else if (val instanceof Double) {
-                            val = DateUtils.toLocalDate(DateUtil.getJavaDate((Double) val));
-                        }
-                    } else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) {
-                        val = Convert.toBool(val, false);
-                    }
+                    } else if (Date.class == fieldType) {
+                        if (val instanceof String) {
+                            val = DateUtils.parseDate(val);
+                        } else if (val instanceof Double) {
+                            val = DateUtil.getJavaDate((Double) val);
+                        }
+                    } else if (LocalDate.class == fieldType) {
+                        if (val instanceof String) {
+                            Date date = DateUtils.parseDate(val);
+                            val = StringUtils.isNull(date) ? null : DateUtils.toLocalDate(date);
+                        } else if (val instanceof Date) {
+                            val = DateUtils.toLocalDate((Date) val);
+                        } else if (val instanceof Double) {
+                            val = DateUtils.toLocalDate(DateUtil.getJavaDate((Double) val));
+                        }
+                    } else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) {
+                        val = Convert.toBool(val, false);
+                    }
 
                     if (StringUtils.isNotNull(fieldType)) {
                         String propertyName = field.getName();
@@ -714,7 +718,11 @@
                         ReflectUtils.invokeSetter(entity, propertyName, val);
                     }
                 }
-                list.add(entity);
+                // 琛ㄥご涓庢ā鏉夸笉涓�鑷存椂杩欎竴琛屽彲鑳芥病鏈夊尮閰嶅埌浠讳綍瀛楁锛宔ntity 涓� null锛岃烦杩囦互鍏嶈皟鐢ㄦ柟绌烘寚閽�
+                if (entity != null)
+                {
+                    list.add(entity);
+                }
             }
         }
         return list;

--
Gitblit v1.9.3