From 5b89937212db0c507145187313eb5b326220f47b Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 21 一月 2025 10:18:43 +0800
Subject: [PATCH] 修改RTU升级文件CRC16计算的bug

---
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/allRound/Ar4RemoteSv.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/allRound/Ar4RemoteSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/allRound/Ar4RemoteSv.java
index ce1b11d..990d0a9 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/allRound/Ar4RemoteSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/allRound/Ar4RemoteSv.java
@@ -1,9 +1,23 @@
 package com.dy.pipIrrRemote.allRound;
 
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.CommandBackParam;
+import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.VoAllRound.VoArIntakeRemote;
+import com.dy.pipIrrGlobal.daoAllRound.Ar4BaseMapper;
+import com.dy.pipIrrGlobal.rtuMw.CodeLocal;
+import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
+import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * @Author: liurunyu
@@ -12,13 +26,58 @@
  */
 @Slf4j
 @Service
-public class Ar4RemoteSv {
+public class Ar4RemoteSv extends Web2RtuMw {
+
+    @Autowired
+    private Ar4BaseMapper baseDao;
+
+    @Autowired
+    private Environment env;
+
+    @Autowired
+    private RestTemplate restTemplate;
 
     /**
      * 鍙栨按鍙e熀鏈俊鎭�
      * @return 鍙栨按鍙e熀鏈俊鎭�
      */
     public QueryResultVo<VoArIntakeRemote> intakeInfo(Long intakeId){
+        VoArIntakeRemote rVo = new VoArIntakeRemote() ;
+
+        String rtuAddr = null ;
+        List<String> rtuAddrs = baseDao.intakeRtuAddr(intakeId) ;
+        if(rtuAddrs != null && rtuAddrs.size() > 0){
+            rtuAddr = rtuAddrs.get(0) ;
+        }
+        if(rtuAddr != null){
+            //鍚戦�氫俊涓棿浠跺彂鍏冲懡浠わ紝鏌ヨ閮ㄥ垎RTU鍦ㄧ嚎鎯呭喌
+            Command com = this.createInnerCommand(CodeLocal.onLinePart);
+            com.setParam(rtuAddr) ;
+            String rqUrl = this.get2MwRequestUrl(this.env, ContextComSend) ;
+            BaseResponse res = sendPostRequest2Mw(restTemplate, rqUrl, com) ;
+            if(res != null){
+                if(res.isSuccess()){
+                    Command reCom = JSON.parseObject(res.getContent() == null ? null : JSON.toJSONString(res.getContent()), Command.class) ;
+                    CommandBackParam bakParam = JSON.parseObject((reCom== null || reCom.param == null) ? null : JSON.toJSONString(reCom.param), CommandBackParam.class) ;
+                    if(bakParam != null){
+                        if(bakParam.getSuccess().booleanValue()){
+                            //閫氫俊涓棿浠舵垚鍔熻繑鍥炲懡浠ょ粨鏋�
+                            HashMap<String, Boolean> onLineMap = JSON.parseObject(JSON.toJSONString(reCom.getAttachment()), HashMap.class);
+                            if(onLineMap != null && onLineMap.size() > 0){
+                                rVo.onLine = onLineMap.get(rtuAddr) ;
+                            }
+                        }
+                    }else{
+                        log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ょ粨鏋滀腑涓嶅寘鍚獵ommandBackParam绫诲瀷鍙傛暟");
+                    }
+                }else{
+                    log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ゆ墽琛屽け璐�" + (res.getMsg() == null? "" : ("锛�" + res.getMsg()))) ;
+                }
+            }else{
+                log.error("閫氫俊涓棿浠惰繑鍥炲唴閮ㄥ懡浠ょ粨鏋滀负null");
+            }
+        }
+
         return null ;
     }
 }

--
Gitblit v1.8.0