From b1c572949997a5d82d9b609163ff280a1c49627d Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期五, 26 四月 2024 14:09:45 +0800 Subject: [PATCH] 粮情协议优化 --- src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java | 31 +++++++++++++++++++++++-------- 1 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java index bab4d2e..4eae202 100644 --- a/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java +++ b/src/main/java/com/fzzy/protocol/youxian0/analysis/AnalysisService.java @@ -160,7 +160,7 @@ String tempStr = ""; for (int j = 0;j<cableY;j++){ - tempStr = strMsg.substring(12 * j,12 * j +12); + tempStr = strMsg.substring((6+2*cableZ) * j,(6+2*cableZ) * j + (6+2*cableZ) ); //瀵嗛挜鍜岀偣鏁� 02 A4 BB BA BA B4 String kyeNumHex = tempStr.substring(2, 4); String kyeNumBin = BytesUtil.toBinary8String(BytesUtil.hexToInt(kyeNumHex)); @@ -207,14 +207,24 @@ List<Double> points = new ArrayList<>(); GrainRoot root; + List<Double> t = null; for (int i = 1; i <= cableX; i++) { root = this.getGrainRoot(buildGrainRootKey(reqData.getDevice().getDeviceSn(), i)); if (null == root || null == root.getPoints()) { log.error("-----------瑙f瀽鑾峰彇鎵�鏈夌伯鎯呮娴嬬偣澶辫触锛屽彇娑堟墽琛�---------{}---{}", reqData.getDevice().getDeviceName(),i); - return; + ; + t = new ArrayList<>(); + for (int x = 0;x<cableY*cableZ;x++ + ) { + t.add(-100.00); + } + //return; + points.addAll(t); + }else{ + points.addAll(root.getPoints()); } - points.addAll(root.getPoints()); + } //鎵ц灏佽瑙f瀽 @@ -328,21 +338,22 @@ reqData.setData(JSONObject.toJSONString(grain)); - doPushGrain(reqData); + doPushGrain(reqData,grain); } - private void doPushGrain(BaseReqData reqData) { + private void doPushGrain(BaseReqData reqData,GrainData grainData) { GatewayDeviceReportService reportService = gatewayRemoteManager.getDeviceReportService(reqData.getDevice().getPushProtocol()); if (null == reportService) { log.error("------------绮儏鎺ㄩ�佸け璐ワ紝绯荤粺涓嶅瓨鍦ㄥ綋鍓嶅崗璁墽琛岀被----{}", reqData.getDevice().getDeviceName()); return; } - reportService.reportGrainData(reqData); + reqData.setData(reportService.grainData2GatewayApiInfoKafka(grainData,reqData.getDevice()).getData()); + reportService.reportGrainDataByKafka(reqData); } - private void add2GrainMap(GrainRoot grainRoot) { + private synchronized void add2GrainMap(GrainRoot grainRoot) { contextGrainRoot.put(grainRoot.getKey(), grainRoot); } @@ -371,8 +382,12 @@ int num1 = BytesUtil.hexToInt(valueHex); int num2 = BytesUtil.hexToInt(tempHex); + if((num1 ^ num2) / 2.0 > 35){ + return -100.00; + }else { + return (num1 ^ num2) / 2.0; + } - return (num1 ^ num2) / 2.0; } private void add2ThMap(String depotIdSys, THDto th) { -- Gitblit v1.9.3