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/IEquipmentService.java            |   17 ++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java               |    8 ++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml            |   25 ++++++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java    |   57 ++++++++++++++++++++++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java        |    6 +-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java        |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java |    2 
 7 files changed, 112 insertions(+), 5 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java
index 793eb81..1c67d3b 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java
@@ -134,7 +134,7 @@
                             // 涓婃姤
                             MessageDTO messageDTO = new MessageDTO();
                             messageDTO.setTitle("璁惧鍒╃敤鐜囨姤璀︼紒");
-                            messageDTO.setCategory("棰勮娑堟伅");
+                            messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2);
                             messageDTO.setFromUser("admin");
                             messageDTO.setToUser("admin");
                             messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊兼姤璀︼紒");
@@ -174,7 +174,7 @@
                             for (SysUser sysUser : adminList) {
                                 MessageDTO messageDTO = new MessageDTO();
                                 messageDTO.setTitle("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                                messageDTO.setCategory("棰勮娑堟伅");
+                                messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2);
                                 messageDTO.setFromUser("admin");
                                 messageDTO.setToUser(sysUser.getUsername());
                                 messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
@@ -183,7 +183,7 @@
                         } else {
                             MessageDTO messageDTO = new MessageDTO();
                             messageDTO.setTitle("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                            messageDTO.setCategory("棰勮娑堟伅");
+                            messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2);
                             messageDTO.setFromUser("admin");
                             messageDTO.setToUser("admin");
                             messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java
index dee9373..bf22dbf 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java
@@ -89,7 +89,7 @@
                 if (mdcEquipmentDto != null && StringUtils.isNotBlank(mdcEquipmentDto.getSpindlespeed()) && StringUtils.isNotBlank(mdcEquipmentDto.getActualspindlespeed())) {
                     MessageDTO messageDTO = new MessageDTO();
                     messageDTO.setTitle("璁惧杩愯杞�熸姤璀︼紒");
-                    messageDTO.setCategory("棰勮娑堟伅");
+                    messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2);
                     messageDTO.setFromUser("admin");
                     messageDTO.setToUser("admin");
                     //璁惧畾
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
index 5cdf91e..31f2394 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
@@ -6,6 +6,10 @@
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.mdc.entity.Equipment;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
+
+import java.util.List;
 
 /**
  * @Description: 閲囬泦璁惧琛�
@@ -30,4 +34,8 @@
 
     @Insert(" SELECT * INTO ${tableName} FROM ${lastTableName} WHERE CollectTime < '${date}' ")
     void insertNoTableData(@Param("tableName") String tableName, @Param("lastTableName") String lastTableName, @Param("date") String date);
+
+    List<WsEquipmentStatus> selectEquipmentStatus();
+
+    List<WsEquipmentUtilizationRate> selectEquipmentRate(@Param("date") String date);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
index b504640..45a848f 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
@@ -2,4 +2,29 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.mdc.mapper.EquipmentMapper">
 
+    <select id="selectEquipmentStatus" resultType="org.jeecg.modules.mdc.vo.WsEquipmentStatus">
+        SELECT
+            t1.EquipmentID equipmentCode,
+            t1.equipmentName equipmentName,
+            t1.oporation equipmentStatus,
+            t1.collectTime creationDate,
+            t2.FactoryName mainDeptCode
+        FROM
+            Equipment t1
+                LEFT JOIN FactoryInfo t2 ON t1.FactoryID = t2.FactoryID
+    </select>
+
+    <select id="selectEquipmentRate" resultType="org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate">
+        SELECT
+            t1.EquipmentID equipmentCode,
+            t1.equipmentName equipmentName,
+            t2.FactoryName mainDeptCode,
+            t3.process_long equipmentRunTime,
+            t3.create_time statisDate
+        FROM
+            Equipment t1
+                LEFT JOIN FactoryInfo t2 ON t1.FactoryID = t2.FactoryID
+                LEFT JOIN mdc_equipment_statistical_info t3 ON t1.EquipmentID = t3.equipment_id
+        WHERE t3.the_date = #{date}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java
index 8dfe74b..a5621e8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java
@@ -2,6 +2,10 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.mdc.entity.Equipment;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
+
+import java.util.List;
 
 /**
  * @Description: 閲囬泦璁惧琛�
@@ -48,4 +52,17 @@
      * @param day
      */
     void insertNoTableData(String backupTableName, String tableName, String day);
+
+    /**
+     * 鏌ヨ璁惧鐘舵��
+     * @return
+     */
+    List<WsEquipmentStatus> selectEquipmentStatus();
+
+    /**
+     * 鏌ヨ璁惧鍒╃敤鐜�
+     * @return
+     */
+    List<WsEquipmentUtilizationRate> selectEquipmentRate();
+
 }
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;
+    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
index c5db8a6..5e141e1 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -789,7 +789,7 @@
                         Integer min = mdcEquipmentThreshold.getMinThreshold();
                         MessageDTO messageDTO = new MessageDTO();
                         messageDTO.setTitle("璁惧" + mdcEquipmentThreshold.getChineseName() + "鎶ヨ锛�");
-                        messageDTO.setCategory("棰勮娑堟伅");
+                        messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2);
                         messageDTO.setFromUser("admin");
                         messageDTO.setToUser("admin");
                         MdcOverrunAlarm mdcOverrunAlarm = new MdcOverrunAlarm();

--
Gitblit v1.9.3