Explorar o código

处理开机率

wukai hai 2 meses
pai
achega
b43832f797

+ 12 - 7
jjt-biz/src/main/java/com/jjt/biz/service/impl/ApiAllServiceImpl.java

@@ -64,15 +64,20 @@ public class ApiAllServiceImpl implements IApiAllService {
     public CurrYieldVO currYield() {
         CurrYieldVO vo = new CurrYieldVO();
         vo.mock();
-        IndexData indexData = redisCache.getCacheObject(CacheConstants.INDEX_CALC);
-        vo.getJb().setOpenRatio(BigDecimal.valueOf(indexData.getDevice().getRunningRatio()).setScale(0, RoundingMode.HALF_UP));
-        IndexData indexData1 = redisCache.getCacheObject(CacheConstants.INDEX_ALARM);
-        vo.getJb().setYield(BigDecimal.valueOf(indexData.getEfficiency().getTotalLength()).setScale(0, RoundingMode.HALF_UP));
+        IndexData todayData = redisCache.getCacheObject(CacheConstants.INDEX_CALC);
+        IndexData currData = redisCache.getCacheObject(CacheConstants.INDEX_ALARM);
+        vo.getJb().setYield(BigDecimal.valueOf(todayData.getEfficiency().getTotalLength()).setScale(0, RoundingMode.HALF_UP));
         vo.getJb().setYieldMax(BigDecimal.valueOf(50000));
-        BigDecimal jdl = BigDecimal.valueOf(indexData.getEfficiency().getAEfficiency() + indexData.getEfficiency().getBEfficiency()).divide(BigDecimal.valueOf(2), 0, RoundingMode.HALF_UP);
+        BigDecimal jdl = BigDecimal.valueOf(todayData.getEfficiency().getAEfficiency() + todayData.getEfficiency().getBEfficiency()).divide(BigDecimal.valueOf(2), 0, RoundingMode.HALF_UP);
+        if (todayData.getEfficiency().getBEfficiency() == 0f) {
+            jdl = BigDecimal.valueOf(todayData.getEfficiency().getAEfficiency()).setScale(0, RoundingMode.HALF_UP);
+        }
         vo.getJb().setJdl(jdl);
-        vo.getJb().setOpenNum(indexData1.getDevice().getOnline());
-        vo.getJb().setTotalNum(indexData1.getDevice().getTotal());
+//        vo.getJb().setOpen(currData.getDevice().getOnline(),currData.getDevice().getTotal());
+        vo.getJb().setOpenNum(currData.getDevice().getOnline());
+        vo.getJb().setTotalNum(currData.getDevice().getTotal());
+
+        vo.getJb().setOpenRatio(BigDecimal.valueOf(currData.getDevice().getRunningRatio()).setScale(0, RoundingMode.HALF_UP));
         redisCache.setCacheObject(CacheConstants.CURR_YIELD, vo);
         return redisCache.getCacheObject(CacheConstants.CURR_YIELD);
     }

+ 2 - 0
jjt-biz/src/main/java/com/jjt/biz/service/impl/ApiServiceImpl.java

@@ -317,6 +317,8 @@ public class ApiServiceImpl implements IApiService {
 //        2024-11-18 告警数改为其他停机数
 //        device.setAlarm(alarmList.size());
         device.setAlarm(otherStop);
+        BigDecimal ratio = BigDecimal.valueOf(onlineNum * 100L).divide(BigDecimal.valueOf(list.size()), 2, RoundingMode.HALF_UP);
+        device.setRunningRatio(ratio.doubleValue());
         indexData.setDevice(device);