From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 13 十二月 2024 16:53:45 +0800 Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/parse/HexFileParse.java | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/parse/HexFileParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/parse/HexFileParse.java index 6e1bf56..9adc86b 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/parse/HexFileParse.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/parse/HexFileParse.java @@ -4,6 +4,7 @@ import com.dy.common.util.ByteUtil; import java.io.*; +import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; @@ -156,6 +157,27 @@ /** * 浠�512涓哄崟浣嶅垎鍓叉暟鎹寘 + * @param bytes + */ + public List<byte[]> splitBytesByUnit512(byte[] bytes){ + List<byte[]> listByte512 = new ArrayList<>(); + if(bytes != null && bytes.length > 0){ + int index = 0 ; + while (true){ + if(index < bytes.length){ + byte[] bs = ByteUtil.bytesSplit(bytes, index, bytesSplitUnit512) ; + listByte512.add(bs) ; + }else{ + break ; + } + index += bytesSplitUnit512; + } + } + return listByte512 ; + } + + /** + * 浠�512涓哄崟浣嶅垎鍓叉暟鎹寘 * @param vo */ private void split(HexFileVo vo){ -- Gitblit v1.8.0