Bladeren bron

代码优化

qingchunxiao 2 weken geleden
bovenliggende
commit
ca528d1757

+ 21 - 14
taphole-iron/src/main/java/com/sckj/iron/service/impl/TIronVisualScreenServiceImpl.java

@@ -704,18 +704,18 @@ public class TIronVisualScreenServiceImpl {
             bigDecimal = new BigDecimal(weightMap.getOrDefault(time, 0d).toString());
             if (tapping == 1) {
                 //切换到出铁状态
-                if (!inTappingCycle) {
-                    if(bigDecimal.compareTo(new BigDecimal("70")) > 0){
-                        log.info("[出铁周期开始] 初始铁量: " + bigDecimal);
-                        bigDecimal  = BigDecimal.ZERO;
-                        lastValue =  BigDecimal.ZERO;
-                    }else{
-                        //刚刚开始出铁
-                        inTappingCycle = true;
-                        log.info("[出铁周期开始] 开始于: " + time);
-                        log.info("[出铁周期开始] 初始铁量: " + bigDecimal);
-                    }
-                }
+//                if (!inTappingCycle) {
+//                    if(bigDecimal.compareTo(new BigDecimal("70")) > 0){
+//                        log.info("[出铁周期开始] 初始铁量: " + bigDecimal);
+//                        bigDecimal  = BigDecimal.ZERO;
+//                        lastValue =  BigDecimal.ZERO;
+//                    }else{
+//                        //刚刚开始出铁
+//                        inTappingCycle = true;
+//                        log.info("[出铁周期开始] 开始于: " + time);
+//                        log.info("[出铁周期开始] 初始铁量: " + bigDecimal);
+//                    }
+//                }
 
 
                 if (bigDecimal.compareTo(BigDecimal.ZERO) == 0) {
@@ -725,18 +725,24 @@ public class TIronVisualScreenServiceImpl {
                 } else {
                     lastValue = bigDecimal;
                 }
-                if (i > 0  && inTappingCycle) {
+                if (i > 0 && inTappingCycle) {
                     //按照时间正序(10:00:00,10:01:00,10:02:00)
                     //将10:00:00对应的数据 - 10:01:00对应的数据
                     BigDecimal prevW = new BigDecimal(weightMap.getOrDefault(xAxis.get(i - 1), 0d).toString());
                     //上一个减去当前的
-                    if (prevW.subtract(bigDecimal).compareTo(new BigDecimal("70")) > 0) {
+                    if (prevW.subtract(bigDecimal).compareTo(new BigDecimal("70")) > 0 ) {
                         log.info("[出铁周期满载情况] 时间: " + xAxis.get(i - 1) + ", 铁水满载值: " + prevW);
                         cycleTotal = cycleTotal.add(prevW);
                     }
                 }
 
                 arr.add(java.util.Arrays.asList(time, bigDecimal.add(cycleTotal).setScale(scale, RoundingMode.HALF_UP).doubleValue()));
+
+                if (!inTappingCycle) {
+                    inTappingCycle = true;
+                    //System.out.println("[出铁周期结束] 开始于: " + time);
+                }
+
             } else {
                 //切换到出铁结束
                 if (inTappingCycle) {
@@ -750,6 +756,7 @@ public class TIronVisualScreenServiceImpl {
                     arr.add(java.util.Arrays.asList(time, value));
                     inTappingCycle = false;
                     cycleTotal = BigDecimal.ZERO;
+                    lastValue = BigDecimal.ZERO;
 //                    for (List<Object> objects : arr) {
 //                        System.out.println(objects.get(0)+" >>> "+objects.get(1));
 //                    }