From b1c6c32fdcee89f97c05bd21f4fb0b95f4009764 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期六, 19 七月 2025 10:18:26 +0800
Subject: [PATCH] 修改方法

---
 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
index 2192576..a9ac09f 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
@@ -25,7 +25,7 @@
 import com.ruoyi.device.pojo.*;
 import com.ruoyi.device.service.DataConfigService;
 import com.ruoyi.device.service.DeviceService;
-import com.ruoyi.device.service.DocumentService;
+import com.ruoyi.device.service.DeviceDocumentsService;
 import com.ruoyi.device.utils.DataAcquisition;
 import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.inspect.mapper.InsSampleMapper;
@@ -45,6 +45,7 @@
 import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -65,11 +66,9 @@
 
     private DataConfigService dataConfigService;
 
-    private QrShowServiceImpl qrShowService;
-
     private InsSampleMapper insSampleMapper;
 
-    private DocumentService documentService;
+    private DeviceDocumentsService documentService;
 
     private DeviceMetricRecordMapper deviceMetricRecordMapper;
 
@@ -96,10 +95,6 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public int upDeviceParameter(Device itemParameter) {
-        // 鍒犻櫎鏁伴噰闆嗛厤缃暟鎹�
-        dataConfigService.deleteDataConfig();
-        // 闇�瑕佸悓鏃舵洿鏀� device琛�
-
 
         return deviceMapper.updateById(itemParameter);
     }
@@ -117,11 +112,6 @@
     @Override
     public List<Device> search(Integer status, String deviceName, String specificationModel, String largeCategory) {
         return deviceMapper.search(status, deviceName, specificationModel, largeCategory);
-    }
-
-    @Override
-    public List<Device> selectDevicePrincipal() {
-        return deviceMapper.selectDevicePrincipal();
     }
 
     @Override
@@ -171,7 +161,7 @@
         }
         deviceDto.setAuthorizedPersonName(name);
         //鏌ヨ璁惧鏍″噯淇℃伅
-        DeviceMetricRecord calibrate = qrShowService.getDeviceMetricRecord(id, "calibrate");
+        DeviceMetricRecord calibrate = getDeviceMetricRecord(id, "calibrate");
         deviceDto.setCalibrateNo(calibrate.getCertificateSerialNumber());
 
         // 鍒颁簡鍋滅敤鏃ユ湡锛岃嚜鍔ㄥ皢鐘舵�佹敼涓哄仠鐢�
@@ -187,8 +177,25 @@
         return deviceDto;
     }
 
+    /**
+     * 鏌ヨ璁惧鏍″噯/鏍告煡璁板綍
+     * @param deviceId
+     * @param type
+     * @return
+     */
+    public DeviceMetricRecord getDeviceMetricRecord(int deviceId, String type){
+        return Optional.ofNullable(
+                deviceMetricRecordMapper.selectOne(Wrappers.<DeviceMetricRecord>lambdaQuery()
+                        .eq(DeviceMetricRecord::getDeviceId, deviceId)
+                        .eq(DeviceMetricRecord::getType, type)
+                        .orderByDesc(DeviceMetricRecord::getCreateTime)
+                        .last("limit 1"))).orElse(new DeviceMetricRecord());
+    }
+
     @Override
     public Result<?> dataAcquisition(HttpServletRequest request, DeviceCollectionDto dto) {
+
+
 
         // 鏌ヨ妫�楠岄」
         List<Integer> itemIds = dto.getItemIds();
@@ -230,18 +237,25 @@
         // 鏁伴噰杩斿洖淇℃伅
         Map<String, Object> map = new HashMap<>();
         for (Device device : deviceList) {
+
+            Device device1 = deviceMapper.selectById(device.getId());
+            dto.setDbUserName(device1.getDbUserName());
+            dto.setDbPassword(device1.getDbPassword());
             String ip = device.getIp();
+
             // 鏍规嵁妫�楠岄」鑾峰彇config
             List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
                     .in(DataConfig::getStructureItemParameterId, itemParameterIds)
                     .eq(DataConfig::getDeviceId, device.getId()));
 
             // 鑾峰彇璁惧閰嶇疆绫�
-            // 鍒ゆ柇璁惧鏄惁鏄暟瀛楃洿妗�
+            // 鍒ゆ柇璁惧鏄惁鏄暟瀛楃洿妗CZX-ZB-ER02022
             if (device.getManagementNumber().equals("JCZX-ZB-ER02022")) {
                 map.putAll(dataCollectBridge(list, device, dto.getEntrustCode()));
+
             } else {
-                map.putAll(DataAcquisition.dataAcquisitionEntrance(list, device, dto.getEntrustCode(), dto.getEntrustCode(), ip, insProducts.get(0).getCableTag()));
+                map.putAll(DataAcquisition.dataAcquisitionEntrance(list, device, dto.getEntrustCode(), dto.getEntrustCode(), ip, insProducts.get(0).getCableTag(),dto.getDbUserName(),dto.getDbPassword()));
+
             }
         }
 
@@ -309,7 +323,7 @@
         // 璁惧淇℃伅
         Device device = baseMapper.selectById(deviceId);
         // 璁惧妗f
-        List<Document> documentList = documentService.list(Wrappers.<Document>lambdaQuery().eq(Document::getDeviceId, deviceId));
+        List<DeviceDocuments> documentList = documentService.list(Wrappers.<DeviceDocuments>lambdaQuery().eq(DeviceDocuments::getDeviceId, deviceId));
         // 璁惧鏍″噯琛�
         List<DeviceMetricRecord> deviceMetricRecordList = deviceMetricRecordMapper.selectList(Wrappers.<DeviceMetricRecord>lambdaQuery().eq(DeviceMetricRecord::getDeviceId, deviceId));
         // 璁惧缁翠慨琛�
@@ -349,6 +363,7 @@
             template.write(os);
             os.flush();
             os.close();
+            inputStream.close();
         } catch (Exception e) {
             e.printStackTrace();
             throw new RuntimeException("瀵煎嚭澶辫触");
@@ -393,11 +408,11 @@
                 DeviceMaintenance deviceMaintenance = deviceMaintenanceList.get(i);
                 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                 // 缁翠慨鏃ユ湡
-                deviceMetricRecordAndMaintenanceDto.setMaintenanceDateString(deviceMaintenance.getDate().format(dateTimeFormatter));
+                deviceMetricRecordAndMaintenanceDto.setMaintenanceDateString(deviceMaintenance.getMaintenanceDate().format(dateTimeFormatter));
                 // 澶勭悊鏂规硶
-                deviceMetricRecordAndMaintenanceDto.setHandlingMethod(deviceMaintenance.getContent());
+                deviceMetricRecordAndMaintenanceDto.setHandlingMethod(deviceMaintenance.getMaintenanceContent());
                 // 澶囨敞
-                deviceMetricRecordAndMaintenanceDto.setComments(deviceMaintenance.getComments());
+                deviceMetricRecordAndMaintenanceDto.setComments(deviceMaintenance.getRemark());
             }
 
             deviceMetricRecordAndMaintenanceDtoList.add(deviceMetricRecordAndMaintenanceDto);
@@ -411,13 +426,13 @@
      * @param documentList              妗f鍒楄〃
      * @param documentExportWordDtoList 杩斿洖缁檞ord鐨勬暟鎹垪琛�
      */
-    private static void extracted(List<Document> documentList, List<DocumentExportWordDto> documentExportWordDtoList) {
+    private static void extracted(List<DeviceDocuments> documentList, List<DocumentExportWordDto> documentExportWordDtoList) {
         // 缁欐。妗堝姞搴忓彿   骞朵笖鍒嗕负宸﹀彸涓や釜鍒楄〃鍦╳ord涓樉绀�
         for (int i = 0; i < documentList.size(); i++) {
             // 鍒涘缓word琛ㄦ牸涓竴琛岀殑鏁版嵁瀵硅薄
             DocumentExportWordDto documentExportWordDto = new DocumentExportWordDto();
             // 鑾峰彇妗f淇℃伅
-            Document document = documentList.get(i);
+            DeviceDocuments document = documentList.get(i);
             // 鏍煎紡鍖栨棩鏈�
             DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             // 鏍规嵁搴忓彿 鍒嗗埆鍔犲叆涓や釜鍒楄〃
@@ -484,6 +499,7 @@
             template.write(os);
             os.flush();
             os.close();
+            inputStream.close();
         } catch (Exception e) {
             e.printStackTrace();
             throw new RuntimeException("瀵煎嚭澶辫触");

--
Gitblit v1.9.3