From 0087434cc70ca8cee692be654d9e1c6ec82c3da7 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期三, 24 七月 2024 21:09:21 +0800
Subject: [PATCH] 数采bug调整

---
 cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java |   70 +++++++++++++---------------------
 1 files changed, 27 insertions(+), 43 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java b/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
index 87b261b..066c05a 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
@@ -30,13 +30,16 @@
     /**
      * 鏁伴噰鍏ュ彛
      *
-     * @param request
      * @param dataConfig
      * @param device
      * @return
      */
-    public static Map<String, String> dataAcquisitionEntrance(HttpServletRequest request, List<DataConfig> dataConfig, Device device, String entrustCode, String sampleCode, String ip) {
-        String http = HTTP + ip + GETFILE + "?filePath=" + device.getCollectUrl() + "&fileExtension=" + device.getFileType();
+    public static Map<String, String> dataAcquisitionEntrance(List<DataConfig> dataConfig, Device device, String entrustCode, String sampleCode, String ip) {
+        String http = HTTP + ip + GETFILE +
+                "?filePath=" + device.getCollectUrl() +
+                "&fileExtension=" + device.getFileType() +
+                "&entrustCode=" + entrustCode +
+                "&sampleCode=" + sampleCode;
         String result = null;
         try {
             result = HttpUtil.get(http);
@@ -54,7 +57,11 @@
         } else {
             String data = jsonObject.get("data").toString();
             // 鑰冭檻鍒颁竴涓娴嬮」鍙兘浼氬瓨鍦ㄥ涓暟閲囬厤缃紝鎵�浠ラ渶瑕佽繘琛屽垎缁�
-            Map<String, List<DataConfig>> userMap = dataConfig.stream().collect(Collectors.groupingBy(DataConfig::getInsProductItem));
+            Map<String, List<DataConfig>> userMap = dataConfig.stream()
+                    .peek(i -> i.setInsProductItem(
+                            i.getInspectionItem().equals(i.getInspectionItemSubclass()) ? i.getInspectionItem() + "," : i.getInspectionItem() + "," + i.getInspectionItemSubclass()
+                    ))
+                    .collect(Collectors.groupingBy(DataConfig::getInsProductItem));
             Map<String, String> map;
             switch (device.getFileType()) {
                 case ".docx":
@@ -73,7 +80,7 @@
                     map = analysisMdb(data, userMap, entrustCode, sampleCode);
                     break;
                 case ".db":
-                    map = analysisDb(data, userMap);
+                    map = analysisDb(data, userMap, entrustCode, sampleCode);
                     break;
                 case ".png":
                     map = readPngString(data, userMap);
@@ -87,13 +94,6 @@
                 String s = HTTP + ip + MOVEFILE + "?startFilePath=" + device.getCollectUrl() + "&endFilePath=" + device.getStorageUrl() + "&fileType=" + device.getFileType();
                 String storageUrlResult = HttpUtil.get(s);
                 JSONObject storageUrlResultJson = JSON.parseObject(storageUrlResult);
-                if (Objects.equals(storageUrlResultJson.get("code"), 0)) {
-                    if (ObjectUtils.isEmpty(storageUrlResultJson.get("msg"))) {
-                        throw new ErrorException("瀛樺偍鍦板潃閿欒锛屽彲鑳芥枃浠惰矾寰勯厤缃敊璇紒");
-                    } else {
-                        throw new ErrorException("鏈煡閿欒锛岃鑱旂郴绠$悊鍛橈紒");
-                    }
-                }
             }
             return map;
         }
@@ -120,36 +120,22 @@
      * @param dataConfig
      * @return
      */
-    private static Map<String, String> analysisDb(String data, Map<String, List<DataConfig>> dataConfig) {
+    private static Map<String, String> analysisDb(String data, Map<String, List<DataConfig>> dataConfig, String entrustCode, String sampleCode) {
         JSONObject jsonObject = JSON.parseObject(data);
         JSONArray dataList = JSONArray.parseArray(jsonObject.get("data").toString());
-        JSONArray columnList = JSONArray.parseArray(jsonObject.get("column").toString());
         Map<String, String> map = new HashMap<>();
         dataConfig.forEach((k, v) -> {
             List<Object> list = new ArrayList<>();
             for (int config = 0; config < v.size(); config++) {
                 String referx = getRefer(v.get(config).getReferx());
-                int x = getXOrY(v.get(config).getX(), k, "X");
-                int y = getXOrY(v.get(config).getY(), k, "Y");
-                String key = "";
-                for (int i = 0; i < columnList.size(); i++) {
-                    if (columnList.get(i).equals(referx)) {
-                        key = columnList.get(i + x).toString();
+                for (int i = 0; i < dataList.size(); i++) {
+                    JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
+                    if (entrustCode.equals(jsonObject1.get("ExtInfo_Value1"))) {
+                        Object o = jsonObject1.get(referx);
+                        if (ObjectUtils.isNotEmpty(o)) {
+                            list.add(o);
+                        }
                     }
-                }
-                JSONObject jsonObject1 = JSON.parseObject(dataList.get(y).toString());
-                Object o = jsonObject1.get(key);
-                if (ObjectUtils.isNotEmpty(o)) {
-                    // 灏忔暟鐐硅繘涓変綅
-                    double v1 = 0;
-                    try {
-                        v1 = Double.parseDouble(o.toString());
-                        double v2 = v1 / 1000;
-                        list.add(v2);
-                    } catch (NumberFormatException e) {
-                        list.add(o);
-                    }
-
                 }
             }
             // 杩涜鍏紡璁$畻
@@ -169,23 +155,15 @@
     private static Map<String, String> analysisMdb(String data, Map<String, List<DataConfig>> dataConfig, String entrustCode, String sampleCode) {
         JSONObject jsonObject = JSON.parseObject(data);
         JSONArray dataList = JSONArray.parseArray(jsonObject.get("data").toString());
-        JSONArray columnList = JSONArray.parseArray(jsonObject.get("column").toString());
         Map<String, String> map = new HashMap<>();
         dataConfig.forEach((k, v) -> {
             List<Object> list = new ArrayList<>();
             for (int config = 0; config < v.size(); config++) {
                 String referx = getRefer(v.get(config).getReferx());
-                int x = getXOrY(v.get(config).getX(), k, "X");
-                String key = "";
-                for (int i = 0; i < columnList.size(); i++) {
-                    if (columnList.get(i).equals(referx)) {
-                        key = columnList.get(i + x).toString();
-                    }
-                }
                 for (int i = 0; i < dataList.size(); i++) {
                     JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
                     if (entrustCode.equals(jsonObject1.get("OrderNumber")) && sampleCode.equals(jsonObject1.get("SampleNumber"))) {
-                        Object o = jsonObject1.get(key);
+                        Object o = jsonObject1.get(referx);
                         if (ObjectUtils.isNotEmpty(o)) {
                             list.add(o);
                         }
@@ -413,4 +391,10 @@
             return value;
         }
     }
+
+    public static String getIp(HttpServletRequest request) {
+        String ipAddress = request.getRemoteAddr();
+        // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
+        return ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+    }
 }

--
Gitblit v1.9.3