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