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/EquipmentServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java
index 3db46bc..c1de4e2 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java
@@ -4,7 +4,14 @@
 import org.jeecg.modules.mdc.entity.Equipment;
 import org.jeecg.modules.mdc.mapper.EquipmentMapper;
 import org.jeecg.modules.mdc.service.IEquipmentService;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @Description: 閲囬泦璁惧琛�
@@ -39,4 +46,54 @@
     public void insertNoTableData(String backupTableName, String tableName, String day) {
         this.baseMapper.insertNoTableData(backupTableName, tableName, day);
     }
+
+    @Override
+    public List<WsEquipmentStatus> selectEquipmentStatus() {
+        List<WsEquipmentStatus> equipmentStatusList =  this.baseMapper.selectEquipmentStatus();
+        if (equipmentStatusList != null && !equipmentStatusList.isEmpty()) {
+            for (WsEquipmentStatus wsEquipmentStatus : equipmentStatusList) {
+                // 1-鍔犲伐   3-寰呮満   9-鍏虫満   10-鎶ヨ
+                if (wsEquipmentStatus.getEquipmentStatus() != null) {
+                    switch (wsEquipmentStatus.getEquipmentStatus()) {
+                        case "1":
+                        case "2":
+                            wsEquipmentStatus.setEquipmentStatus("3");
+                            break;
+                        case "3":
+                            wsEquipmentStatus.setEquipmentStatus("1");
+                            break;
+                        case "22":
+                            wsEquipmentStatus.setEquipmentStatus("10");
+                            break;
+                        default:
+                            wsEquipmentStatus.setEquipmentStatus("9");
+                            break;
+                    }
+                } else {
+                    wsEquipmentStatus.setEquipmentStatus("9");
+                }
+            }
+        }
+        return equipmentStatusList;
+    }
+
+    /**
+     * 鏌ヨ璁惧鍒╃敤鐜�
+     * @return
+     */
+    @Override
+    public List<WsEquipmentUtilizationRate> selectEquipmentRate() {
+        String date = LocalDate.now().plusDays(-1).toString();
+        List<WsEquipmentUtilizationRate> list = this.baseMapper.selectEquipmentRate(date.replaceAll("-", ""));
+        if (list != null && !list.isEmpty()) {
+            for (WsEquipmentUtilizationRate wsEquipmentUtilizationRate : list) {
+                String equipmentRunTime = wsEquipmentUtilizationRate.getEquipmentRunTime();
+                wsEquipmentUtilizationRate.setStatisType("D");
+                wsEquipmentUtilizationRate.setEquipmentRunTime(new BigDecimal(equipmentRunTime).divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).toString());
+                wsEquipmentUtilizationRate.setEquipmentRate(new BigDecimal(equipmentRunTime).divide(new BigDecimal("86400"), 2, RoundingMode.HALF_UP) + "%");
+                wsEquipmentUtilizationRate.setEquipmentCalendar(date);
+            }
+        }
+        return list;
+    }
 }

--
Gitblit v1.9.3