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/analysis/AnalysisService.java | 69 ++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 25 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 2ec5d81..f03bd01 100644 --- a/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java +++ b/src/main/java/com/fzzy/protocol/bhzn/analysis/AnalysisService.java @@ -277,8 +277,8 @@ int cableZ = cableData.getCableZ(); int cableY = cableData.getCableY(); - int sumNum = temps.size(); - log.info("temps:" + temps.toString()); + int sumNum = 0; + log.info("temps:" + temps.toString()); //鏁版嵁灏佽 GrainData grain = new GrainData(); grain.setMessageId(ScConstant.getMessageId()); @@ -304,7 +304,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; @@ -317,17 +317,27 @@ 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++; } } @@ -448,8 +458,7 @@ GrainOutPut outPut = new GrainOutPut(); - double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum = cableX - * cableY * cableZ; + double max = ReMessageBuilder.MAX_TEMP, min = ReMessageBuilder.MIN_TEMP, sumT = 0.0, sumNum = 0; List<GrainTemp> temperature = new ArrayList<>(); //鏍瑰彿 @@ -470,16 +479,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++; } } @@ -498,7 +517,7 @@ outPut.setTemperature(temperature); outPut.setAvgTemperature(NumberUtil.keepPrecision((sumT / sumNum), 1) + ""); outPut.setMinTemperature(min + ""); - outPut.setMaxTemperature(min + ""); + outPut.setMaxTemperature(max + ""); List<GrainTH> ths = new ArrayList<>(); ths.add(new GrainTH(thDto.getTempIn() != null ? thDto.getTempIn() + "" : "", thDto.getHumidityIn() != null ? thDto.getHumidityIn() + "" : "", "1")); -- Gitblit v1.9.3