From bf95078dab81dcd0639fdb1a41e998b31c940fb1 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 24 三月 2026 09:37:04 +0800
Subject: [PATCH] 采集器调整3

---
 src/main/java/com/chinaztt/mes/docx/util/TakeWords.java |   95 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 88 insertions(+), 7 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 861d5ad..e563da7 100644
--- a/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
+++ b/src/main/java/com/chinaztt/mes/docx/util/TakeWords.java
@@ -17,7 +17,6 @@
 import org.apache.poi.ooxml.POIXMLDocument;
 import org.apache.poi.ooxml.extractor.POIXMLTextExtractor;
 import org.apache.poi.openxml4j.opc.OPCPackage;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.usermodel.WorkbookFactory;
@@ -236,7 +235,7 @@
             if(StringUtils.isNotBlank(getFileDto.getMdbSampleCode())){
                 s+=" and " + getFileDto.getMdbSampleCode() + " = '" + getFileDto.getSampleCode() + "'";
             }
-            if(StringUtils.isNotBlank(getFileDto.getBushingColorField())){
+            if(ObjectUtils.allNotNull(getFileDto.getBushingColorField(), getFileDto.getBushingColor()) && !getFileDto.getBushingColorField().equals("null")){
                 s+=" and " + getFileDto.getBushingColorField() + " = '" + getFileDto.getBushingColor() + "'";
             }
 
@@ -286,7 +285,7 @@
         String table = getFileDto.getDbTable();
         // 妫�鏌ユ暟鎹簱鍚嶅拰琛ㄥ悕鏄惁涓虹┖
         if (dbName == null || dbName.isEmpty() || table == null || table.isEmpty()) {
-            return R.failed("鏁版嵁搴撳悕鎴栬〃鍚嶄笉鑳戒负绌�");
+            return Result.failed("鏁版嵁搴撳悕鎴栬〃鍚嶄笉鑳戒负绌�");
         }
         // 鏁版嵁搴撹繛鎺ヤ俊鎭�
         String url = "jdbc:mysql://localhost:3306/"+dbName+"?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true&characterEncoding=utf8";
@@ -332,7 +331,7 @@
         } catch (Exception e) {
             e.printStackTrace();
             // 鍋囪 R 绫绘湁 failed 鏂规硶锛岃嫢娌℃湁闇�琛ュ厖瀹炵幇
-            return R.failed("鏁版嵁搴撴煡璇㈠嚭閿�: " + e.getMessage());
+            return Result.failed("鏁版嵁搴撴煡璇㈠嚭閿�: " + e.getMessage());
         } finally {
             try {
                 if (resultSet != null) {
@@ -371,9 +370,13 @@
             List<Object> list = new ArrayList<>();
             //杞箟涓枃
             String sampleCode = changeCharset(getFileDto.getSampleCode(), "GBK");
-            String sql = "select * from " + getFileDto.getDbFileName() +
-                    " where " + getFileDto.getMdbEntrustCode() + " = '" + getFileDto.getEntrustCode() +
-                    "' and " + getFileDto.getMdbSampleCode() + " = '" + sampleCode + "'";
+            String sql = "select * from " + getFileDto.getDbFileName() + " where 1=1";
+            if(StringUtils.isNotBlank(getFileDto.getMdbEntrustCode())){
+                sql+=" and " + getFileDto.getMdbEntrustCode() + " = '" + getFileDto.getEntrustCode() +"'";
+            }
+            if(StringUtils.isNotBlank(getFileDto.getMdbSampleCode())){
+                sql+=" and " + getFileDto.getMdbSampleCode() + " = '" + sampleCode + "'";
+            }
             if (ObjectUtils.allNotNull(getFileDto.getFiberOpticRibbonCode(), getFileDto.getFiberOpticRibbon()) && !getFileDto.getFiberOpticRibbonCode().equals("null")) {
                 sql = sql + " and " + getFileDto.getFiberOpticRibbonCode() + " = '" + getFileDto.getFiberOpticRibbon() + "'";
             }
@@ -456,4 +459,82 @@
         }
     }
 
+    /**
+     * 璇诲彇sqlserver鏁版嵁
+     * @param getFileDto 璇锋眰鍙傛暟瀵硅薄
+     * @return
+     */
+    public static Object readSqlServerDataBase(GetFileDto getFileDto) {
+        Map<String, Object> tableMap = new HashMap<>(16);
+        // 浠� GetFileDto 鑾峰彇鏁版嵁搴撳悕锛屽搴斻�愭枃浠跺悕绉般�戝瓧娈�
+        String dbName = getFileDto.getDbFileName();
+        String user = getFileDto.getDbUserName();
+        String password = getFileDto.getDbPassword();
+        // 浠� GetFileDto 鑾峰彇鏁版嵁琛ㄥ悕锛屽搴斻�愭暟鎹簱琛ㄥ悕銆戝瓧娈�
+        String table = getFileDto.getDbTable();
+        // 妫�鏌ユ暟鎹簱鍚嶅拰琛ㄥ悕鏄惁涓虹┖
+        if (dbName == null || dbName.isEmpty() || table == null || table.isEmpty()) {
+            return Result.failed("鏁版嵁搴撳悕鎴栬〃鍚嶄笉鑳戒负绌�");
+        }
+        // 鏁版嵁搴撹繛鎺ヤ俊鎭�
+        String url = "jdbc:sqlserver://localhost:1433;DatabaseName="+dbName+";encrypt=true;trustServerCertificate=true";
+        Connection connection = null;
+        PreparedStatement preparedStatement = null;
+        ResultSet resultSet = null;
+        List<Map<String, Object>> dataList = new ArrayList<>();
+        try {
+            // 寤虹珛杩炴帴
+            connection = DriverManager.getConnection(url, user, password);
+            // 鏋勫缓鍩虹 SQL
+
+            String sql = "SELECT * FROM "+table+" WHERE 1=1";
+            if(StringUtils.isNotBlank(getFileDto.getMdbEntrustCode()) ){
+                sql+=" AND (" + getFileDto.getMdbEntrustCode() + " = TRIM('" + getFileDto.getEntrustCode()+ "')";
+                if(StringUtils.isNotBlank(getFileDto.getLotBatchNo())){
+                    sql+=" OR "+ getFileDto.getMdbEntrustCode() + " = TRIM('" + getFileDto.getLotBatchNo()+ "')";
+                }
+                sql+=")";
+            }
+            if(StringUtils.isNotBlank(getFileDto.getMdbSampleCode())){
+                sql+=" AND " + getFileDto.getMdbSampleCode() + " = '" + getFileDto.getSampleCode() + "'";
+            }
+            if(StringUtils.isNotBlank(getFileDto.getCableTag())){
+                sql+=" AND Color = '" + getFileDto.getCableTag() + "'";
+            }
+            // 鍒涘缓 PreparedStatement 瀵硅薄鎵ц SQL
+            preparedStatement = connection.prepareStatement(sql);
+            resultSet = preparedStatement.executeQuery();
+            ResultSetMetaData metaData = resultSet.getMetaData();
+            int columnCount = metaData.getColumnCount();
+            // 閬嶅巻缁撴灉闆嗚幏鍙栨暟鎹�
+            while (resultSet.next()) {
+                Map<String, Object> rowData = new HashMap<>();
+                for (int i = 1; i <= columnCount; i++) {
+                    String columnName = metaData.getColumnName(i);
+                    rowData.put(columnName, resultSet.getObject(i));
+                }
+                dataList.add(rowData);
+            }
+            tableMap.put("data", dataList);
+        } catch (Exception e) {
+            e.printStackTrace();
+            // 鍋囪 R 绫绘湁 failed 鏂规硶锛岃嫢娌℃湁闇�琛ュ厖瀹炵幇
+            return Result.failed("鏁版嵁搴撴煡璇㈠嚭閿�: " + e.getMessage());
+        } finally {
+            try {
+                if (resultSet != null) {
+                    resultSet.close();
+                }
+                if (preparedStatement != null) {
+                    preparedStatement.close();
+                }
+                if (connection != null) {
+                    connection.close();
+                }
+            } catch (SQLException e) {
+                e.printStackTrace();
+            }
+        }
+        return tableMap;
+    }
 }

--
Gitblit v1.9.3