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