From 75d26035001d85c12dc3ca93455b0fee477c3f77 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 03 三月 2025 16:47:58 +0800
Subject: [PATCH] 看板设备状态概况及月利用路趋势接口

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
index 5f89d3e..994ec9e 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
@@ -14,6 +14,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 /**
@@ -75,6 +76,48 @@
         }
     }
 
+    /**
+     * 鏌ヨ璁惧杩愯鏃堕棿
+     *
+     * @param equipmentId
+     * @param validDate
+     * @return
+     */
+    @Override
+    public Integer selectProcessLong(String equipmentId, String validDate) {
+        Integer processLong = this.baseMapper.selectProcessLong(equipmentId, validDate);
+        if (processLong == null) {
+            return 0;
+        } else {
+            return Integer.parseInt(new BigDecimal(processLong).divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).toString());
+        }
+    }
+
+    @Override
+    public MdcEquipmentStatisticalInfo findMdcEquipmentStatisticalInfo(String equipmentId, String date) {
+        return this.baseMapper.findMdcEquipmentStatisticalInfo(equipmentId, date.replaceAll("-", ""));
+    }
+
+    @Override
+    public BigDecimal computeUtilizationMonth(String productionId, String startDate, String endDate) {
+        BigDecimal processLong = this.baseMapper.computeUtilizationMonth(productionId, startDate, endDate);
+        if (processLong != null && processLong.compareTo(BigDecimal.ZERO) > 0) {
+            return processLong.divide(new BigDecimal("864"), 2, RoundingMode.HALF_UP);
+        } else {
+            return BigDecimal.ZERO;
+        }
+    }
+
+    @Override
+    public BigDecimal computeUtilizationMonthTotal(String productionId, String startDate, String endDate) {
+        BigDecimal processLong = this.baseMapper.computeUtilizationMonthTotal(productionId, startDate, endDate);
+        if (processLong != null && processLong.compareTo(BigDecimal.ZERO) > 0) {
+            return processLong.divide(new BigDecimal("864"), 2, RoundingMode.HALF_UP);
+        } else {
+            return BigDecimal.ZERO;
+        }
+    }
+
     private List<EquipmentStatisticalInfo> dataHandle(List<MdcEquipmentStatisticalInfo> list) {
         List<EquipmentStatisticalInfo> result = new ArrayList<>();
         list.forEach(item -> {

--
Gitblit v1.9.3