|
@@ -146,6 +146,9 @@ public class AsyncServiceImpl {
|
|
|
int lastMkz = 0;
|
|
|
//卷曲幅宽
|
|
|
float lastFk = 0f;
|
|
|
+ //开始不为0的电能
|
|
|
+ //不为0的电能结束
|
|
|
+ float startKwh = 0f, endKwh = 0f;
|
|
|
int last48 = 0;
|
|
|
//上一轮最后一条停机记录
|
|
|
JSONArray old = null;
|
|
@@ -179,20 +182,31 @@ public class AsyncServiceImpl {
|
|
|
lastMkz = da.getInt(8);
|
|
|
lastFk = da.getFloat(9);
|
|
|
last48 = curr48;
|
|
|
+ startKwh = da.getFloat(fieldList.indexOf("Capacity_data_34"));
|
|
|
continue;
|
|
|
}
|
|
|
//计算盘头
|
|
|
calcPan(currPan, lastPanHead, panHeadInfo, timestamps.getLong(i));
|
|
|
|
|
|
+ //处理电量跳点
|
|
|
+ float currKwh = da.getFloat(fieldList.indexOf("Capacity_data_34"));
|
|
|
+ if (startKwh == 0) {
|
|
|
+ startKwh = currKwh;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (currKwh != 0f) {
|
|
|
+ endKwh = currKwh;
|
|
|
+ }
|
|
|
+
|
|
|
// for (int j = 0; j < first.length; j++) {
|
|
|
- //如果当前值为小于上一个,且上一个值不为0,则计算
|
|
|
- //因为会出现数据波动,停机再启动之后的第一个点不为0,为0.00几几几的
|
|
|
- //计算累加类的数据
|
|
|
- //这里只计算米长
|
|
|
- if (curr[0] < last[0] && last[0] != 0f) {
|
|
|
- calcTotal(0, last, first, total, lastMkz, lastFk);
|
|
|
- first[0] = curr[0];
|
|
|
- }
|
|
|
+ //如果当前值为小于上一个,且上一个值不为0,则计算
|
|
|
+ //因为会出现数据波动,停机再启动之后的第一个点不为0,为0.00几几几的
|
|
|
+ //计算累加类的数据
|
|
|
+ //这里只计算米长
|
|
|
+ if (curr[0] < last[0] && last[0] != 0f) {
|
|
|
+ calcTotal(0, last, first, total, lastMkz, lastFk);
|
|
|
+ first[0] = curr[0];
|
|
|
+ }
|
|
|
// }
|
|
|
calcAlarms(values, old, timestamps.getLong(i), alarmRecord, i);
|
|
|
calcStops(curr48, last48, timestamps.getLong(i), total, stopRecord, old, i);
|
|
@@ -205,10 +219,14 @@ public class AsyncServiceImpl {
|
|
|
last48 = curr48;
|
|
|
}
|
|
|
//最后再补一次计算
|
|
|
- for (int j = 0; j < first.length; j++) {
|
|
|
- //这里米长和电量都要计算
|
|
|
- calcTotal(j, last, first, total, lastMkz, lastFk);
|
|
|
- }
|
|
|
+// for (int j = 0; j < first.length; j++) {
|
|
|
+// //这里米长和电量都要计算
|
|
|
+// calcTotal(j, last, first, total, lastMkz, lastFk);
|
|
|
+// }
|
|
|
+ //还是只计算米长
|
|
|
+ calcTotal(0, last, first, total, lastMkz, lastFk);
|
|
|
+ //计算电量
|
|
|
+ total[1] = endKwh - startKwh;
|
|
|
|
|
|
//存入最后一条记录的停机状态
|
|
|
// CacheUtils.put(Constants.IOT_TOKEN, table, values.getJSONArray(values.size() - 1));
|