From 12ecef99059f411e802c6fbc6f9a641c422b1747 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期六, 03 八月 2024 22:34:20 +0800 Subject: [PATCH] 数采bug修复 --- cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 195 +---------------------- cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java | 179 ++++++++++++++++++++-- inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 18 -- cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java | 10 - cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java | 2 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 29 --- inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java | 5 7 files changed, 174 insertions(+), 264 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java index 9c5cfce..2725613 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java @@ -224,12 +224,4 @@ public Result<?> temDataAcquisition2(@RequestBody PkMaster pkMaster) { return Result.success(pkMasterService.temDataAcquisition2(pkMaster)); } - - @ApiOperation(value = "鏁伴噰-鍏紡璁$畻") - @PostMapping("/formulaCalculation") - @ValueAuth - public Result<?> formulaCalculation(@RequestBody Map<String, Object> map) { - return Result.success(map); - } -} - +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java index 313d8ad..09478a9 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java @@ -43,6 +43,4 @@ List<Map<String, Object>> treeDevice(String deviceName); Result<?> determineWhetherToCollectData(String managementNumber, HttpServletRequest request); - - Object formulaCalculation(Map<String, Object> map, Boolean isAdopt); } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java index 8be96b1..a4714a7 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java @@ -1,8 +1,6 @@ package com.yuanchu.mom.service.impl; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -31,13 +29,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; import javax.servlet.http.HttpServletRequest; -import java.math.BigDecimal; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -176,18 +172,18 @@ .orderBy(false, false, DataConfig::getId)); list1.addAll(list); }); - // 3銆侀噰闆嗭紝鍙栨暟鎹紝鍙備笌鍏紡璁$畻 + // 3銆侀噰闆嗭紝鍙栨暟鎹� Map<String, Object> map = DataAcquisition.dataAcquisitionEntrance(list1, device.get(0), entrustCode, sampleCode, ip); - // 4銆侀�犲惊鐜鏁� + // 4銆侀�犲惊鐜鏁帮紝鍙備笌鍏紡璁$畻 if (ObjectUtils.isNotEmpty(map)) { Object result; Map<String, Object> frequency = DataAcquisition.createFrequency(entrustCode, sampleCode, map); - if (ObjectUtils.isEmpty(device.get(0).getEntrustCode()) && ObjectUtils.isEmpty(device.get(0).getSampleCode())) { - result = formulaCalculation(frequency, true); - } else { - result = formulaCalculation(frequency, false); - } - return Result.success(result); +// if (ObjectUtils.isEmpty(device.get(0).getEntrustCode()) && ObjectUtils.isEmpty(device.get(0).getSampleCode())) { +// result = formulaCalculation(frequency, true); +// } else { +// result = formulaCalculation(frequency, false); +// } + return Result.success(frequency); } else { return Result.success(null); } @@ -994,172 +990,5 @@ } else { return Result.success(true); } - } - - @Override - public Object formulaCalculation(Map<String, Object> map, Boolean isAdopt) { - map.forEach((key, value) -> { - Map<String, Object> jsonObject = JSONObject.parseObject(JSON.toJSONString(map.get(key)), Map.class); - for (Map.Entry<String, Object> entry : jsonObject.entrySet()) { - String sonKey = entry.getKey(); - Object sonValue = entry.getValue(); - if (!sonKey.equals("frequency")) { - Map<String, Object> formulaData = JSONObject.parseObject(JSON.toJSONString(sonValue), Map.class); - if (formulaData.containsKey("result") && formulaData.containsKey("isCalculation") && - formulaData.containsKey("formula")) { - String formula = formulaData.get("formula").toString(); - List<Object> resultList = new ArrayList<>(); - try { - resultList = JSONObject.parseArray(JSON.toJSONString(formulaData.get("result")), Object.class); - } catch (Exception e) { - Object result = formulaData.get("result").toString(); - resultList.add(result); - } - ArrayList<Object> list = new ArrayList<>(); - if (isAdopt) { - String result = calculationFormula(resultList, formula); - list.add(result); - } else { - resultList.forEach(i -> { - List<Object> strings = Arrays.asList(i.toString().split(",")); - String result = calculationFormula(strings, formula); - list.add(result); - }); - } - - formulaData.put("isCalculation", false); - formulaData.put("result", list); - } - jsonObject.put(sonKey, formulaData); - } - } - map.put(key, jsonObject); - }); - return map; - } - - public String calculationFormula(List<Object> list, String formula) { - //棣栧厛灏唋ist杞崲涓篵igdecmic - List<BigDecimal> bigDecimalList = list.stream() - .map(obj -> { - return new BigDecimal((obj).toString()); - }).collect(Collectors.toList()); - System.out.println(bigDecimalList); - - //灏嗕腑鏂囩殑(杞崲鑻辨枃鐨�()) - formula = formula.replace("锛�", "(") - .replace("锛�", ")") - .replace("锛�", ","); - //鐒跺悗鎻愬彇鍏紡 - String strs = formula.substring(0, formula.indexOf("(")); - String upperStr = strs.toUpperCase(); - if (upperStr.matches(".*\\d.*")) { - upperStr = ""; - } - System.out.println(upperStr); - //鐒跺悗鑾峰彇鏈�澶栭潰鎷彿閲岄潰鐨勫��,鍐嶆牴鎹�","鍒嗗壊 - int start = formula.indexOf("("); - int end = -1; - int a = 0; - for (int i = start; i < formula.length(); i++) { - char c = formula.charAt(i); - if (c == '(') { - a++; - } else if (c == ')') { - a--; - if (a == 0) { - end = i; - } - } - } - if (start == -1 || end == -1) { - throw new ErrorException("鍏紡鎷彿涓嶅尮閰�: " + formula); - } - - String argumentsStr = formula.substring(start + 1, end); - List<String> arguments = new ArrayList<>(); - int bracketCount = 0; - StringBuilder currentArgument = new StringBuilder(); - for (char c : argumentsStr.toCharArray()) { - if (c == ',' && bracketCount == 0) { - arguments.add(currentArgument.toString()); - currentArgument.setLength(0); - } else { - if (c == '(') bracketCount++; - if (c == ')') bracketCount--; - currentArgument.append(c); - } - } - arguments.add(currentArgument.toString()); - String[] bracketStrs = arguments.toArray(new String[0]); - List<BigDecimal> results = new ArrayList<>(); - for (String expr : bracketStrs) { - System.out.println("鏇挎崲鍓�" + expr); - Pattern pattern = Pattern.compile("([A-Z])(\\d+)"); - Matcher matcher = pattern.matcher(expr); - StringBuffer sb = new StringBuffer(); - while (matcher.find()) { - String letter = matcher.group(1); - int index = Integer.parseInt(matcher.group(2)) - 1; // 灏�1-based杞负0-based - if (index < bigDecimalList.size()) { - matcher.appendReplacement(sb, bigDecimalList.get(index).toString()); - } else { - throw new RuntimeException("鍏紡涓殑涓嬫爣 " + index + " 瓒呭嚭鑼冨洿"); - } - } - matcher.appendTail(sb); - System.out.println("鏇挎崲鍚�" + sb.toString()); - - // 璁$畻琛ㄨ揪寮� - ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript"); - try { - Object result = engine.eval(sb.toString()); - results.add(new BigDecimal(result.toString())); - } catch (Exception e) { - throw new IllegalArgumentException("鏃犳硶璁$畻鍏紡: " + sb, e); - } - } - // 鏍规嵁鍑芥暟鍚嶇О杩涜鐩稿簲璁$畻 - BigDecimal finalResult; - if (upperStr.equals("") || upperStr == null) { - finalResult = results.get(0); - } else { - switch (upperStr) { - case "MAX": - finalResult = results.stream().max(BigDecimal::compareTo) - .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MAX鍊�")); - break; - case "MIN": - finalResult = results.stream().min(BigDecimal::compareTo) - .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MIN鍊�")); - break; - case "SUM": - finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::add); - break; - case "ABS": - finalResult = results.stream().map(BigDecimal::abs).reduce(BigDecimal.ZERO, BigDecimal::add); - break; - case "AVERAGE": - finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::divide) - .divide(BigDecimal.valueOf(results.size()), 2, BigDecimal.ROUND_HALF_UP); - break; - case "MEDIAN": - int size = results.size(); - if (size % 2 == 1) { - finalResult = results.get(size / 2); - } else { - BigDecimal sum = results.get(size / 2 - 1).add(results.get(size / 2)); - finalResult = sum.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP); - } - break; - default: - throw new UnsupportedOperationException("鏆備笉鏀寔鍑芥暟: " + upperStr); - } - } - System.out.println(results); - System.out.println("璁$畻缁撴灉: " + finalResult); - - return finalResult.toString(); - // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹� } } 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 4f341f4..b143832 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 @@ -10,7 +10,10 @@ import com.yuanchu.mom.pojo.DataConfig; import com.yuanchu.mom.pojo.Device; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Matcher; @@ -61,7 +64,11 @@ } JSONObject jsonObject = JSON.parseObject(result); if (Objects.equals(jsonObject.get("code"), 1)) { - throw new ErrorException(jsonObject.get("msg") + ""); + if (ObjectUtils.isEmpty(jsonObject.get("msg"))) { + throw new ErrorException("鏈煡璇㈠埌鏂囦欢锛佸彲鑳借璺緞锛�" + device.getCollectUrl() + "锛変笅骞舵病鏈夋墍闇�(" + device.getFileType() +")鏂囦欢锛�"); + } else { + throw new ErrorException(jsonObject.get("msg") + ""); + } } else { String data = jsonObject.get("data") + ""; // 鑰冭檻鍒颁竴涓娴嬮」鍙兘浼氬瓨鍦ㄥ涓暟閲囬厤缃紝鎵�浠ラ渶瑕佽繘琛屽垎缁� @@ -85,10 +92,10 @@ map = analysisList(data, userMap, device, entrustCode, sampleCode); break; case ".mdb": - map = analysisMdb(data, userMap); + map = analysisMdb(data, userMap, device); break; case ".db": - map = analysisDb(data, userMap); + map = analysisDb(data, userMap, device); break; case ".png": map = readPngString(data, userMap, device); @@ -158,7 +165,7 @@ * @param dataConfig * @return */ - private static Map<String, Object> analysisDb(String data, Map<String, List<DataConfig>> dataConfig) { + private static Map<String, Object> analysisDb(String data, Map<String, List<DataConfig>> dataConfig, Device device) { JSONObject jsonObject = JSON.parseObject(data); Map<String, Object> map = new HashMap<>(); if (jsonObject.isEmpty()) { @@ -205,7 +212,7 @@ result.add(substring); } // 杩涜鍏紡璁$畻 - Object resultValue = calculationFormula(result, v.get(0), k); + Object resultValue = calculationFormula(result, v.get(0), k, device); map.put(k, resultValue); }); return map; @@ -216,7 +223,7 @@ * @param dataConfig * @return */ - private static Map<String, Object> analysisMdb(String data, Map<String, List<DataConfig>> dataConfig) { + private static Map<String, Object> analysisMdb(String data, Map<String, List<DataConfig>> dataConfig, Device device) { JSONObject jsonObject = JSON.parseObject(data); Map<String, Object> map = new HashMap<>(); if (jsonObject.isEmpty()) { @@ -255,7 +262,7 @@ result.add(substring); } // 杩涜鍏紡璁$畻 - Object resultValue = calculationFormula(result, v.get(0), k); + Object resultValue = calculationFormula(result, v.get(0), k, device); map.put(k, resultValue); }); return map; @@ -300,7 +307,7 @@ } } // 杩涜鍏紡璁$畻 - Object resultValue = calculationFormula(list, v.get(0), k); + Object resultValue = calculationFormula(list, v.get(0), k, device); map.put(k, resultValue); }); return map; @@ -313,25 +320,36 @@ * @param dataConfig 瀛樺偍鍏紡鐨勫璞� * @return */ - private static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem) { + private static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) { if (list.size() == 0) { return null; } + ArrayList<Object> listResult = new ArrayList<>(); Map<String, Object> hashMap = new HashMap<>(); // 濡傛灉涓嶄负绌猴紝杩涜鍏紡璁$畻 if (ObjectUtils.isNotEmpty(dataConfig.getFormula())) { - hashMap.put("isCalculation", true); - hashMap.put("formula", dataConfig.getFormula()); // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹� + if (ObjectUtils.isEmpty(device.getEntrustCode()) && ObjectUtils.isEmpty(device.getSampleCode())) { + String s = calculationFormulaList(list, dataConfig.getFormula()); + listResult.add(s); + } else { + list.forEach(i -> { + List<Object> strings = Arrays.asList(i.toString().split(",")); + String s = calculationFormulaList(strings, dataConfig.getFormula()); + listResult.add(s); + }); + } } else { - hashMap.put("isCalculation", false); + listResult.addAll(list); } // 涓轰簡缁欏墠绔仛鏁版嵁鍖哄垎 - if (list.size() > 1) { - hashMap.put("result", list); + if (listResult.size() > 1) { + hashMap.put("result", listResult); } else { - hashMap.put("result", list.get(0).toString()); + hashMap.put("result", listResult.get(0).toString()); } + hashMap.put("equipName", device.getDeviceName()); + hashMap.put("equipValue", device.getManagementNumber()); return hashMap; } @@ -355,7 +373,7 @@ list = analyzeDataEntrustCodAndSampleCode(data, v, k, ",", device, entrustCode, sampleCode); } // 杩涜鍏紡璁$畻 - Object resultValue = calculationFormula(list, v.get(0), k); + Object resultValue = calculationFormula(list, v.get(0), k, device); map.put(k, resultValue); }); return map; @@ -383,7 +401,7 @@ list = analyzeDataEntrustCodAndSampleCode(processingDataAfterSpaces, v, k, splitIdentifier, device, entrustCode, sampleCode); } // 杩涜鍏紡璁$畻 - Object resultValue = calculationFormula(list, v.get(0), k); + Object resultValue = calculationFormula(list, v.get(0), k, device); map.put(k, resultValue); }); return map; @@ -409,7 +427,7 @@ list = analyzeDataEntrustCodAndSampleCode(data, v, k, splitIdentifier, device, entrustCode, sampleCode); } // 杩涜鍏紡璁$畻 - Object resultValue = calculationFormula(list, v.get(0), k); + Object resultValue = calculationFormula(list, v.get(0), k, device); map.put(k, resultValue); }); return map; @@ -613,4 +631,129 @@ // 闃叉鍥炵幆鍦板潃鍙樹负IPv6 return ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress; } + + public static String calculationFormulaList(List<Object> list, String formula) { + //棣栧厛灏唋ist杞崲涓篵igdecmic + List<BigDecimal> bigDecimalList = list.stream() + .map(obj -> { + return new BigDecimal((obj).toString()); + }).collect(Collectors.toList()); + System.out.println(bigDecimalList); + + //灏嗕腑鏂囩殑(杞崲鑻辨枃鐨�()) + formula = formula.replace("锛�", "(") + .replace("锛�", ")") + .replace("锛�", ","); + //鐒跺悗鎻愬彇鍏紡 + String strs = formula.substring(0, formula.indexOf("(")); + String upperStr = strs.toUpperCase(); + if (upperStr.matches(".*\\d.*")) { + upperStr = ""; + } + System.out.println(upperStr); + //鐒跺悗鑾峰彇鏈�澶栭潰鎷彿閲岄潰鐨勫��,鍐嶆牴鎹�","鍒嗗壊 + int start = formula.indexOf("("); + int end = -1; + int a = 0; + for (int i = start; i < formula.length(); i++) { + char c = formula.charAt(i); + if (c == '(') { + a++; + } else if (c == ')') { + a--; + if (a == 0) { + end = i; + } + } + } + if (start == -1 || end == -1) { + throw new ErrorException("鍏紡鎷彿涓嶅尮閰�: " + formula); + } + + String argumentsStr = formula.substring(start + 1, end); + List<String> arguments = new ArrayList<>(); + int bracketCount = 0; + StringBuilder currentArgument = new StringBuilder(); + for (char c : argumentsStr.toCharArray()) { + if (c == ',' && bracketCount == 0) { + arguments.add(currentArgument.toString()); + currentArgument.setLength(0); + } else { + if (c == '(') bracketCount++; + if (c == ')') bracketCount--; + currentArgument.append(c); + } + } + arguments.add(currentArgument.toString()); + String[] bracketStrs = arguments.toArray(new String[0]); + List<BigDecimal> results = new ArrayList<>(); + for (String expr : bracketStrs) { + System.out.println("鏇挎崲鍓�" + expr); + Pattern pattern = Pattern.compile("([A-Z])(\\d+)"); + Matcher matcher = pattern.matcher(expr); + StringBuffer sb = new StringBuffer(); + while (matcher.find()) { + String letter = matcher.group(1); + int index = Integer.parseInt(matcher.group(2)) - 1; // 灏�1-based杞负0-based + if (index < bigDecimalList.size()) { + matcher.appendReplacement(sb, bigDecimalList.get(index).toString()); + } else { + throw new RuntimeException("鍏紡涓殑涓嬫爣 " + index + " 瓒呭嚭鑼冨洿"); + } + } + matcher.appendTail(sb); + System.out.println("鏇挎崲鍚�" + sb.toString()); + + // 璁$畻琛ㄨ揪寮� + ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript"); + try { + Object result = engine.eval(sb.toString()); + results.add(new BigDecimal(result.toString())); + } catch (Exception e) { + throw new IllegalArgumentException("鏃犳硶璁$畻鍏紡: " + sb, e); + } + } + // 鏍规嵁鍑芥暟鍚嶇О杩涜鐩稿簲璁$畻 + BigDecimal finalResult; + if (upperStr.equals("") || upperStr == null) { + finalResult = results.get(0); + } else { + switch (upperStr) { + case "MAX": + finalResult = results.stream().max(BigDecimal::compareTo) + .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MAX鍊�")); + break; + case "MIN": + finalResult = results.stream().min(BigDecimal::compareTo) + .orElseThrow(() -> new IllegalArgumentException("鏃犳硶璁$畻MIN鍊�")); + break; + case "SUM": + finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::add); + break; + case "ABS": + finalResult = results.stream().map(BigDecimal::abs).reduce(BigDecimal.ZERO, BigDecimal::add); + break; + case "AVERAGE": + finalResult = results.stream().reduce(BigDecimal.ZERO, BigDecimal::divide) + .divide(BigDecimal.valueOf(results.size()), 2, BigDecimal.ROUND_HALF_UP); + break; + case "MEDIAN": + int size = results.size(); + if (size % 2 == 1) { + finalResult = results.get(size / 2); + } else { + BigDecimal sum = results.get(size / 2 - 1).add(results.get(size / 2)); + finalResult = sum.divide(BigDecimal.valueOf(2), 2, BigDecimal.ROUND_HALF_UP); + } + break; + default: + throw new UnsupportedOperationException("鏆備笉鏀寔鍑芥暟: " + upperStr); + } + } + System.out.println(results); + System.out.println("璁$畻缁撴灉: " + finalResult); + + return finalResult.toString(); + // 鍚﹀垯锛氭病鏈夊叕寮忎唬琛ㄤ笉闇�瑕佽绠楋紝鐩存帴鎻愬彇List閲岄潰鐨勬暟鎹� + } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java index 8a5a003..55b0d48 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java @@ -53,9 +53,4 @@ List<Map<Integer, Object>> selectReportModelByOrderId(@Param("id") Integer id, @Param("laboratory") String laboratory); String seldepLimsId(int depLimsId); - - Map<String, Object> getDeviceMessage(@Param("ip")String ip, - @Param("inspectionItem") String inspectionItem, - @Param("inspectionItemSubclass") String inspectionItemSubclass, - @Param("sample") String sample); } \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java index 0c9bc4f..ed89e30 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java @@ -238,8 +238,6 @@ insProducts = insSampleMapper.getInsProduct3(id); break; } - // 鏁伴噰鏂板 - getDeviceMessage(insProducts, request); Set<Integer> set = new HashSet<>(); Map<Integer, String> map2 = new HashMap<>(); @@ -248,33 +246,6 @@ return insProducts; } - private List<InsProduct> getDeviceMessage(List<InsProduct> insProducts, HttpServletRequest request) { - String ipAddress = request.getRemoteAddr(); - // 闃叉鍥炵幆鍦板潃鍙樹负IPv6 - String ip = ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress; - insProducts.forEach(i -> { - Map<String, Object> devices = baseMapper.getDeviceMessage(ip, i.getInspectionItem(), i.getInspectionItemSubclass(), i.getSampleType()); - if (ObjectUtils.isNotEmpty(devices) && ObjectUtils.isNotEmpty(devices.get("file_type")) && ObjectUtils.isNotEmpty(devices.get("collect_url"))) { - InsProductResult insProductResult = i.getInsProductResult(); - if (ObjectUtils.isEmpty(insProductResult)) { - insProductResult = new InsProductResult(); - } - List<Object> list = new ArrayList<>(); - Map<Object, Object> hashMap = new HashMap<>(); - hashMap.put("v", devices.get("device_name")); - list.add(hashMap); - insProductResult.setEquipName(JSON.toJSON(list).toString()); - List<Object> listValue = new ArrayList<>(); - Map<Object, Object> hashMapValue = new HashMap<>(); - hashMapValue.put("v", devices.get("management_number")); - listValue.add(hashMapValue); - insProductResult.setEquipName(JSON.toJSON(list).toString()); - insProductResult.setEquipValue(JSON.toJSON(listValue).toString()); - i.setInsProductResult(insProductResult); - } - }); - return insProducts; - } @Override public List<String> checkSubmitPlan(Integer orderId, String laboratory) { List<String> collect = new ArrayList<>(); diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml index 4e1996c..bf07385 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml @@ -475,22 +475,4 @@ from department_lims where id = #{depLimsId} </select> - - <select id="getDeviceMessage" resultType="java.util.Map"> - select d.device_name, d.management_number, d.file_type, d.collect_url - FROM - device d, - device_data_config ddc - <if test="sample != '' and sample != null"> - inner join structure_item_parameter sip on sip.sample like concat('%', #{sample}, '%') and sip.id = ddc.structure_item_parameter_id - </if> - where d.ip = #{ip} - and ddc.inspection_item = #{inspectionItem} - <if test="inspectionItemSubclass != '' and inspectionItemSubclass != null"> - and ddc.inspection_item_subclass = #{inspectionItemSubclass} - </if> - and d.device_status = 0 - and d.ins_product_ids is not null - limit 1 - </select> </mapper> -- Gitblit v1.9.3