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

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java |   42 ++++++++++++++++++++++--------------------
 1 files changed, 22 insertions(+), 20 deletions(-)

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 79c8bf5..453ff9a 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
@@ -116,11 +116,6 @@
             String[] ids = device.getInsProductIds().split(",");
             for (String i : ids) {
                 if (i.equals(id + "")) {
-                    if (ObjectUtils.isEmpty(device.getFileType()) || ObjectUtils.isEmpty(device.getCollectUrl())) {
-                        device.setIsItADataAcquisitionDevice(false);
-                    } else {
-                        device.setIsItADataAcquisitionDevice(true);
-                    }
                     devices2.add(device);
                     break;
                 }
@@ -138,26 +133,33 @@
     public Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode) {
         String ipAddress = request.getRemoteAddr();
         // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
-        String ip = ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+        String ip =  ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
         List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery()
                 .eq(Device::getIp, ip));
+        if(device.size() > 1) {
+            throw new ErrorException("IP锛�" + ip + "閰嶇疆浜嗚澶囧涓澶囷紝鏃犳硶杩涜鏁伴噰锛�");
+        }
         if (ObjectUtils.isEmpty(device)) {
             throw new ErrorException("鏈粰璇P锛�" + ip + "閰嶇疆璁惧锛屾棤娉曡繘琛屾暟閲囷紒");
         }
-        List<String> inspectionItemSubclass = baseMapper.getInspectionItemSubclass(id);
-        Map<String, String> hashMap = new HashMap<>();
-        device.forEach(i -> {
-            if (ObjectUtils.isEmpty(i.getFileType()) || ObjectUtils.isEmpty(i.getCollectUrl())) {
-                throw new ErrorException("鏈粰璇ワ細" + i.getDeviceName() + "璁惧閰嶇疆閲囬泦璺緞鎴栨枃浠跺悗缂�锛�");
-            }
-            List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
-                    .eq(DataConfig::getDeviceId, i.getId())
-                    .in(DataConfig::getInsProductItem, inspectionItemSubclass)
-                    .orderBy(false, false, DataConfig::getId));
-            hashMap.putAll(DataAcquisition.dataAcquisitionEntrance(request, list, i, entrustCode, sampleCode, ip));
+        List<Map<String, Object>> inspectionItemSubclass = baseMapper.getInspectionItemSubclass(id);
+        if (ObjectUtils.isEmpty(device.get(0).getFileType()) || ObjectUtils.isEmpty(device.get(0).getCollectUrl())) {
+            throw new ErrorException("鏈粰璇ワ細" + device.get(0).getDeviceName() + "璁惧閰嶇疆閲囬泦璺緞鎴栨枃浠跺悗缂�锛�");
+        }
+        List<DataConfig> list1 = new ArrayList<>();
+        inspectionItemSubclass.forEach(i -> {
+             List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
+                .eq(DataConfig::getDeviceId, device.get(0).getId())
+                .eq(DataConfig::getInspectionItem, i.get("inspection_item"))
+                .eq(DataConfig::getInspectionItemSubclass, i.get("inspection_item_subclass"))
+                .orderBy(false, false, DataConfig::getId));
+            list1.addAll(list);
         });
-        String frequency = DataAcquisition.createFrequency(entrustCode, sampleCode);
-        hashMap.put("frequency", frequency);
-        return Result.success(hashMap);
+        Map<String, String> map = DataAcquisition.dataAcquisitionEntrance(list1, device.get(0), entrustCode, sampleCode, ip);
+        if (ObjectUtils.isNotEmpty(map)) {
+            String frequency = DataAcquisition.createFrequency(entrustCode, sampleCode);
+            map.put("frequency", frequency);
+        }
+        return Result.success(map);
     }
 }

--
Gitblit v1.9.3