|
@@ -108,7 +108,7 @@ public class AsyncServiceImpl {
|
|
|
"Alarm_unit_19", "Alarm_unit_20", "Alarm_unit_21", "Alarm_unit_22", "Alarm_unit_23",
|
|
|
"Alarm_unit_24", "Alarm_unit_25", "Alarm_unit_26", "Alarm_unit_27", "Capacity_data_33",
|
|
|
"Capacity_data_15", "Capacity_data_16", "Capacity_data_17", "Capacity_data_18", "Capacity_data_19",
|
|
|
- "Capacity_data_34", "Formula_data_24"
|
|
|
+ "Capacity_data_34", "Formula_data_24", "Formula_data_15", "Capacity_data_1"
|
|
|
};
|
|
|
|
|
|
|
|
@@ -156,6 +156,8 @@ public class AsyncServiceImpl {
|
|
|
int lastMkz = 0;
|
|
|
//卷曲幅宽
|
|
|
float lastFk = 0f;
|
|
|
+ //毛高
|
|
|
+ float lastHeight = 0f;
|
|
|
//上次密度记录的米长
|
|
|
float lastSpecLength = 0f;
|
|
|
//开始不为0的电能
|
|
@@ -185,6 +187,7 @@ public class AsyncServiceImpl {
|
|
|
int[] currPan = {da.getInt(fieldList.indexOf("Capacity_data_15")), da.getInt(fieldList.indexOf("Capacity_data_16")), da.getInt(fieldList.indexOf("Capacity_data_17")),
|
|
|
da.getInt(fieldList.indexOf("Capacity_data_18")), da.getInt(fieldList.indexOf("Capacity_data_19"))};
|
|
|
int curr48 = da.getInt(7);
|
|
|
+ int speed = da.getInt(fieldList.indexOf("Capacity_data_1"));
|
|
|
|
|
|
if (i == 0) {
|
|
|
//第一次数据是上次最后一条,只做记录用,不做处理
|
|
@@ -193,15 +196,22 @@ public class AsyncServiceImpl {
|
|
|
lastPanHead = currPan.clone();
|
|
|
lastMkz = da.getInt(8);
|
|
|
lastFk = da.getFloat(9);
|
|
|
+ lastHeight = da.getFloat(fieldList.indexOf("Formula_data_15"));
|
|
|
last48 = curr48;
|
|
|
startKwh = da.getFloat(fieldList.indexOf("Capacity_data_34"));
|
|
|
continue;
|
|
|
}
|
|
|
+
|
|
|
+ if (speed == 0) {
|
|
|
+ //如果转速等于0,则表示停机
|
|
|
+ total[4]++;
|
|
|
+ }
|
|
|
+
|
|
|
//计算盘头
|
|
|
calcPan(currPan, lastPanHead, panHeadInfo, timestamps.getLong(i));
|
|
|
//计算规格米长
|
|
|
if (last[2] != curr[2]) {
|
|
|
- calcSpec(total[0], lastSpecLength, last[2], lastMkz, specList);
|
|
|
+ calcSpec(total[0], lastSpecLength, last[2], lastMkz, lastHeight, specList);
|
|
|
lastSpecLength = total[0];
|
|
|
}
|
|
|
//处理电量跳点
|
|
@@ -232,6 +242,7 @@ public class AsyncServiceImpl {
|
|
|
lastPanHead = currPan.clone();
|
|
|
lastMkz = da.getInt(8);
|
|
|
lastFk = da.getFloat(9);
|
|
|
+ lastHeight = da.getFloat(fieldList.indexOf("Formula_data_15"));
|
|
|
last48 = curr48;
|
|
|
}
|
|
|
//最后再补一次计算
|
|
@@ -241,7 +252,7 @@ public class AsyncServiceImpl {
|
|
|
// }
|
|
|
//还是只计算米长
|
|
|
calcTotal(0, last, first, total, lastMkz, lastFk);
|
|
|
- calcSpec(total[0], lastSpecLength, last[2], lastMkz, specList);
|
|
|
+ calcSpec(total[0], lastSpecLength, last[2], lastMkz, lastHeight, specList);
|
|
|
//计算电量
|
|
|
total[1] = endKwh - startKwh;
|
|
|
|
|
@@ -271,7 +282,7 @@ public class AsyncServiceImpl {
|
|
|
* @param lastMkz 米克重
|
|
|
* @param specList 列表
|
|
|
*/
|
|
|
- private void calcSpec(float len, float lastLen, float lastDensity, int lastMkz, List<TwinCalcHourSpec> specList) {
|
|
|
+ private void calcSpec(float len, float lastLen, float lastDensity, int lastMkz, float lastHeight, List<TwinCalcHourSpec> specList) {
|
|
|
//计算规格米长
|
|
|
//如果密度有变化,就记录下来
|
|
|
TwinCalcHourSpec spec = new TwinCalcHourSpec();
|
|
@@ -279,6 +290,7 @@ public class AsyncServiceImpl {
|
|
|
float len1 = len - lastLen;
|
|
|
spec.setLength(BigDecimal.valueOf(len1));
|
|
|
spec.setMick(lastMkz);
|
|
|
+ spec.setHeight(BigDecimal.valueOf(lastHeight));
|
|
|
specList.add(spec);
|
|
|
}
|
|
|
|
|
@@ -342,7 +354,8 @@ public class AsyncServiceImpl {
|
|
|
return;
|
|
|
}
|
|
|
if (curr != 0) {
|
|
|
- total[4]++;
|
|
|
+// 开机时间不再根据停机状态计算,需要根据主轴运行转速来计算 2024-12-23
|
|
|
+// total[4]++;
|
|
|
if (curr != last) {
|
|
|
if (last != 0) {
|
|
|
//记录上个停机类型的结束时间
|