From 1279d6eee2934b2765ce4ea1bf3a4d45d931760d Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 18 六月 2024 10:35:59 +0800
Subject: [PATCH] webservice推送设备状态和设备利用率

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
index 20ac661..9c4526c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
@@ -21,6 +21,7 @@
 import java.math.RoundingMode;
 import java.time.YearMonth;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
@@ -105,12 +106,17 @@
             if (shiftSubIdList != null && !shiftSubIdList.isEmpty()) {
                 String shift = String.join(",", shiftSubIdList);
                 mdcOverallEquipmentEfficiency.setShift(shift);
+            } else {
+                mdcOverallEquipmentEfficiency.setShift("鏃�");
             }
 
-//            BigDecimal shiftTimeCount = mdcDeviceCalendarService.computeShiftTimeCount(equipmentId, validDate);
-            mdcOverallEquipmentEfficiency.setShiftTimeCount(new BigDecimal("8"));
+            if (StringUtils.isEmpty(mdcOverallEquipmentEfficiency.getShift())) {
+                mdcOverallEquipmentEfficiency.setShiftTimeCount(BigDecimal.ZERO);
+            } else {
+                mdcOverallEquipmentEfficiency.setShiftTimeCount(new BigDecimal("8"));
+            }
 
-            // 璁$畻鍔犵彮鏃堕棿
+            // TODO 璁$畻鍔犵彮鏃堕棿
             BigDecimal overtime = mdcEquipmentOvertimeService.computeOvertime(equipmentId, validDate);
             mdcOverallEquipmentEfficiency.setOvertime(overtime);
 
@@ -119,7 +125,7 @@
             mdcOverallEquipmentEfficiency.setActualWorkDayCount(actualWorkDayCount);
 
             // 鏈堝害瀹為檯鐝骇鎬绘椂闂�(鍒嗛挓)
-            mdcOverallEquipmentEfficiency.setMonthActualWorkDayTimeCount(mdcOverallEquipmentEfficiency.getShiftTimeCount().add(overtime));
+            mdcOverallEquipmentEfficiency.setMonthActualWorkDayTimeCount(mdcOverallEquipmentEfficiency.getShiftTimeCount().multiply(actualWorkDayCount).multiply(new BigDecimal("60")).add(overtime));
 
             // 鏁呴殰鍋滄満鏃堕暱缁熻(鍒嗛挓)
             BigDecimal breakdownDownDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.BREAKDOWN_DOWN);
@@ -155,8 +161,8 @@
              */
             // mdcOverallEquipmentEfficiency.getShiftTimeCount() - plannedMaintenanceDuration - conferenceTrainingDuration - otherRestDuration
             // 璐熻嵎鏃堕棿(鍒嗛挓)
-            BigDecimal loadTime = mdcOverallEquipmentEfficiency.getShiftTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
-            if (loadTime.compareTo(BigDecimal.ZERO) > -1) {
+            BigDecimal loadTime = mdcOverallEquipmentEfficiency.getMonthActualWorkDayTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
+            if (loadTime.compareTo(BigDecimal.ZERO) < 0) {
                 loadTime = BigDecimal.ZERO;
             }
             mdcOverallEquipmentEfficiency.setLoadTime(loadTime.divide(new BigDecimal("60"), 1, RoundingMode.HALF_UP));
@@ -272,6 +278,18 @@
         if (mdcOverallEquipmentEfficiencyVo.getEquipmentIdList() == null || mdcOverallEquipmentEfficiencyVo.getEquipmentIdList().isEmpty()) {
             return null;
         }
+        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getEquipmentType())) {
+            mdcOverallEquipmentEfficiencyVo.setEquipmentTypeList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getEquipmentType().split(",")));
+        }
+        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDeviceCategory())) {
+            mdcOverallEquipmentEfficiencyVo.setDeviceCategoryList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDeviceCategory().split(",")));
+        }
+        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDeviceLevel())) {
+            mdcOverallEquipmentEfficiencyVo.setDeviceLevelList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDeviceLevel().split(",")));
+        }
+        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDriveType())) {
+            mdcOverallEquipmentEfficiencyVo.setDriveTypeList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDriveType().split(",")));
+        }
         return this.baseMapper.pageList(page, mdcOverallEquipmentEfficiencyVo);
     }
 }

--
Gitblit v1.9.3