From 320350eb18e32a9a008c4e6409441730732e2e97 Mon Sep 17 00:00:00 2001 From: vince <757871790@qq.com> Date: 星期一, 17 二月 2025 16:24:55 +0800 Subject: [PATCH] 优化测温协议 --- src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java | 64 +++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java b/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java index 5be2c2d..fad300a 100644 --- a/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java +++ b/src/main/java/com/fzzy/protocol/bhzn/v0/analysis/AnalysisService.java @@ -280,7 +280,7 @@ int cableY = cableData.getCableY(); int cableX = cableData.getCableX(); - int sumNum = temps.size(); + int sumNum = 0; //鏁版嵁灏佽 GrainData grain = new GrainData(); @@ -307,7 +307,7 @@ double curTemp; int x = 0, y = 0, z = 0; - for (int i = 0; i < sumNum; i++) { + for (int i = 0; i < temps.size(); i++) { curTemp = temps.get(i); position = i; @@ -321,16 +321,26 @@ temperature.add(new GrainTemp(cableNum + "", z + "", curTemp + "", position + "")); //姹傛渶澶ф渶灏忓�� - if (curTemp < -900) { - sumNum--; - } else { +// if (curTemp < -900) { +// sumNum--; +// } else { +// sumT += curTemp; +// if (curTemp > max) { +// max = curTemp; +// } +// if (curTemp < min) { +// min = curTemp; +// } +// } + if (curTemp > max && curTemp < 40) { + max = curTemp; + } + if (curTemp < min && curTemp > 3) { + min = curTemp; + } + if(curTemp > 3 && curTemp < 40){ sumT += curTemp; - if (curTemp > max) { - max = curTemp; - } - if (curTemp < min) { - min = curTemp; - } + sumNum++; } } @@ -349,7 +359,7 @@ outPut.setTemperature(temperature); outPut.setAvgTemperature(NumberUtil.keepPrecision((sumT / sumNum), 1) + ""); outPut.setMinTemperature(min + ""); - outPut.setMaxTemperature(min + ""); + outPut.setMaxTemperature(max + ""); JSONObject properties = new JSONObject(); @@ -415,7 +425,7 @@ GrainOutPut outPut = new GrainOutPut(); - double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum = cableData.getSumNum(); + double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum =0; List<GrainTemp> temperature = new ArrayList<>(); //鏍瑰彿 @@ -437,16 +447,26 @@ temperature.add(new GrainTemp(cableNum + "", z + "", curTemp + "", position + "")); //姹傛渶澶ф渶灏忓�� - if (curTemp < -900) { - sumNum--; - } else { +// if (curTemp < -900) { +// sumNum--; +// } else { +// sumT += curTemp; +// if (curTemp > max) { +// max = curTemp; +// } +// if (curTemp < min) { +// min = curTemp; +// } +// } + if (curTemp > max && curTemp < 40) { + max = curTemp; + } + if (curTemp < min && curTemp > 3) { + min = curTemp; + } + if(curTemp > 3 && curTemp < 40){ sumT += curTemp; - if (curTemp > max) { - max = curTemp; - } - if (curTemp < min) { - min = curTemp; - } + sumNum++; } } -- Gitblit v1.9.3