From 5d9bb3edf3a328eca9dea2394d990f900179cfba Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期六, 03 八月 2024 11:00:06 +0800
Subject: [PATCH] 数采bug修复

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java |   24 ++++++++++++++++++------
 cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java          |   10 +++++++++-
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java    |    2 +-
 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java          |    2 +-
 4 files changed, 29 insertions(+), 9 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 103fa68..6c3998f 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
@@ -229,7 +229,7 @@
     @PostMapping("/formulaCalculation")
     @ValueAuth
     public Result<?> formulaCalculation(@RequestBody Map<String, Object> map) {
-        return Result.success(deviceService.formulaCalculation(map));
+        return Result.success(deviceService.formulaCalculation(map, false));
     }
 }
 
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 f043093..313d8ad 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
@@ -44,5 +44,5 @@
 
     Result<?> determineWhetherToCollectData(String managementNumber, HttpServletRequest request);
 
-    Object formulaCalculation(Map<String, Object> map);
+    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 c78ea55..7083104 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
@@ -180,7 +180,13 @@
         Map<String, Object> map = DataAcquisition.dataAcquisitionEntrance(list1, device.get(0), entrustCode, sampleCode, ip);
         // 4銆侀�犲惊鐜鏁�
         if (ObjectUtils.isNotEmpty(map)) {
-            return Result.success(DataAcquisition.createFrequency(entrustCode, sampleCode, map));
+            if (ObjectUtils.isEmpty(device.get(0).getEntrustCode()) && ObjectUtils.isEmpty(device.get(0).getSampleCode())) {
+                Map<String, Object> frequency = DataAcquisition.createFrequency(entrustCode, sampleCode, map);
+                Object o = formulaCalculation(frequency, true);
+                return Result.success(o);
+            } else {
+                return Result.success(DataAcquisition.createFrequency(entrustCode, sampleCode, map));
+            }
         } else {
             return Result.success(null);
         }
@@ -990,7 +996,7 @@
     }
 
     @Override
-    public Object formulaCalculation(Map<String, Object> map) {
+    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()) {
@@ -1011,11 +1017,17 @@
                                 resultList.add(result);
                             }
                             ArrayList<Object> list = new ArrayList<>();
-                            resultList.forEach(i -> {
-                                List<Object> strings = Arrays.asList(i.toString().split(","));
-                                String result = calculationFormula(strings, formula);
+                            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);
                         }
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 5fcf8da..4f341f4 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
@@ -175,7 +175,15 @@
                     Object o = jsonObject1.get(refery);
                     if (ObjectUtils.isNotEmpty(o)) {
                         numberOfDataEntries.addAndGet(1);
-                        list.add(o);
+                        // 灏忔暟鐐硅繘涓変綅
+                        double v1 = 0;
+                        try {
+                            v1 = Double.parseDouble(o.toString());
+                            double v2 = v1 / 1000;
+                            list.add(v2);
+                        } catch (NumberFormatException e) {
+                            list.add(o);
+                        }
                     }
                 }
             }

--
Gitblit v1.9.3