From 9a139b15be65dcd83ae187bb384627097c6a811a Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期二, 26 十二月 2023 20:29:16 +0800
Subject: [PATCH] 修改解析,增加仓温仓湿度

---
 src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
index fb8b9ba..ed9e782 100644
--- a/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
+++ b/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java
@@ -98,21 +98,22 @@
     private void analysisGrain(IoMessage message) {
         try {
 
+            //鏍规嵁鍒嗘満SN鑾峰彇璁惧閰嶇疆淇℃伅
+            GatewayDevice gatewayDevice = GatewayUtils.getCacheByDeviceSn(message.getAddr());
+            if (null == gatewayDevice) {
+                replayGrain(message);
+                log.error("涓绘満-------->>骞冲彴锛岃В鏋愮伯鎯呭け璐ワ紝鏈幏鍙栧埌绯荤粺璁惧閰嶇疆淇℃伅锛�" + message.getAddr());
+                return;
+            }
             //鏍规嵁鍒嗘満鍦板潃鑾峰彇鍒嗘満淇℃伅
-            ApiCommonDevice commonDevice = Constant.getCommonDeviceCache(message.getAddr());
+            ApiCommonDevice commonDevice = Constant.getCommonDeviceCache(message.getIp());
             if (commonDevice == null) {
                 replayGrain(message);
                 log.error("涓绘満-------->>骞冲彴锛岃В鏋愮伯鎯呭け璐ワ紝鏈幏鍙栧埌绯荤粺绮儏涓绘満閰嶇疆锛�" + message.getAddr());
                 return;
             }
 
-            //鏍规嵁鍒嗘満SN鑾峰彇璁惧閰嶇疆淇℃伅
-            GatewayDevice gatewayDevice = GatewayUtils.getCacheByDeviceSn(commonDevice.getSn());
-            if (null == gatewayDevice) {
-                replayGrain(message);
-                log.error("涓绘満-------->>骞冲彴锛岃В鏋愮伯鎯呭け璐ワ紝鏈幏鍙栧埌绯荤粺璁惧閰嶇疆淇℃伅锛�" + message.getAddr());
-                return;
-            }
+
 
             //鑾峰彇璇锋眰淇℃伅
             BaseReqData reqData = ProtocolUtils.getSyncReq(gatewayDevice.getDepotIdSys());
@@ -189,7 +190,6 @@
     }
 
     private void analysisGrain2(IoMessage message, BaseReqData reqData, String grainStr) {
-
         GatewayDevice device = reqData.getDevice();
         // 鑾峰彇瀹屾暣鐨勭伯鎯呭寘淇℃伅
         String[] attCable = device.getCableRule().split("-");
@@ -229,7 +229,7 @@
 
         THDto thDto = this.getTH(message);
         if (null != thDto) {
-            log.debug("-------THDto--={}", thDto);
+            log.info("-------THDto--={}", thDto);
         }
         //娓呯┖
         String key = "GRAIN_" + message.getAddr();
@@ -323,7 +323,10 @@
         outPut.setAvgTemperature(NumberUtil.keepPrecision((sumT / sumNum), 1) + "");
         outPut.setMinTemperature(min + "");
         outPut.setMaxTemperature(min + "");
+        List<GrainTH> ths = new ArrayList<>();
 
+        ths.add(new GrainTH(thDto.getTempIn()!=null?thDto.getTempIn()+"":"",thDto.getHumidityIn()!=null?thDto.getHumidityIn()+"":"","1"));
+        outPut.setTemperatureAndhumidity(ths);
         grain.setOutput(JSONObject.toJSONString(outPut));
 
         GatewayDevice gatewayDeviceWeather = GatewayUtils.getCacheByDeviceTypeOne(GatewayDeviceType.TYPE_09.getCode());
@@ -376,8 +379,8 @@
         try {
             THDto th = new THDto();
             String data = message.getContent();
-            String houseNo = data.substring(0, 4);
-            int depotId = BytesUtil.hexToInt(BytesUtil.tran_LH(houseNo));
+            String houseNo = data.substring(0, 2);
+            int depotId = BytesUtil.hexToInt(houseNo);
             String t = data.substring(4, 8);
             String h = data.substring(8, 12);
             double humy;

--
Gitblit v1.9.3