From 625c4f2816d171bbe8cf264e23d3bec0c11e3b86 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 03 四月 2026 17:25:13 +0800
Subject: [PATCH] 采集器调整:mdb数据库处理,排除特殊字段类型

---
 src/main/resources/application.yml                      |    2 +-
 src/main/java/com/chinaztt/mes/docx/util/TakeWords.java |   17 +++++++++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
index e563da7..4987848 100644
--- a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
+++ b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
@@ -7,6 +7,7 @@
 import com.opencsv.CSVReader;
 import com.opencsv.CSVReaderBuilder;
 import com.opencsv.exceptions.CsvValidationException;
+import lombok.extern.slf4j.Slf4j;
 import net.sourceforge.tess4j.Tesseract;
 import net.sourceforge.tess4j.TesseractException;
 import org.apache.commons.lang3.ObjectUtils;
@@ -27,6 +28,7 @@
 import java.util.*;
 import java.util.regex.Pattern;
 
+@Slf4j
 public class TakeWords {
 
     private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑绗�
@@ -35,6 +37,11 @@
     private static final Pattern SCIENTIFIC_PATTERN = Pattern.compile(
             "^[+-]?\\d+(\\.\\d+)?[eE][+-]?\\d+$"
     );
+
+    /**
+     * 澶勭悊mdb鏁版嵁搴撴帓闄ゅ瓧娈电被鍨�
+     */
+    private final static List<String> MDB_EXCLUDE_TYPES = Arrays.asList("java.sql.Blob");
 
     public static Object readWordFile(File file) {
         String result = "";
@@ -243,11 +250,17 @@
             rs = preparedStatement.executeQuery();
             ResultSetMetaData data = rs.getMetaData();
             while (rs.next()) {
-                Map<String, String> map = new HashMap<>();
+                Map<String, Object> map = new HashMap<>();
                 for (int i = 1; i <= data.getColumnCount(); i++) {
                     //鍒楀悕
                     String columnName = data.getColumnName(i);
-                    map.put(columnName, rs.getString(i));
+                    //鍒楀瓧娈电被鍨�
+                    String columnClassName = data.getColumnClassName(i);
+                    Object columnValue = null;
+                    if(!MDB_EXCLUDE_TYPES.contains(columnClassName)){
+                        columnValue = rs.getObject(i);
+                    }
+                    map.put(columnName, columnValue);
                 }
                 list.add(map);
             }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 7c1d2cd..48b1919 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -2,5 +2,5 @@
   port: 9527
 
 serialPort:
-  enable: true # 鏄惁寮�鍚覆鍙g洃鍚�
+  enable: false # 鏄惁寮�鍚覆鍙g洃鍚�
   listenName: COM4 # 鐩戝惉鐨勪覆鍙e悕绉�
\ No newline at end of file

--
Gitblit v1.9.3