From 5192514d752720aee365d11a210480158fda4aeb Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 09 六月 2025 13:22:13 +0800
Subject: [PATCH] 分段分析查询优化

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 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 87b92ae..080bdbc 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
@@ -287,6 +287,18 @@
                         errorLong += du;
                     }
                 }
+
+                //濡傚緟鏈烘椂闂�+鍔犲伐鏃堕棿+鍏虫満鏃堕棿涓嶇瓑浜�86400锛岄渶灏嗗浣欐椂闂磋繘琛岃ˉ鍏�
+                long remainingDate = 86400 - waitingLong - processingLong - closedLong;
+                if (remainingDate != 0L) {
+                    //濡傛灉鍏虫満鏃堕棿澶т簬寰呮満鏃堕棿+鍔犲伐鏃堕棿锛屽皢澶氫綑鏃堕棿鍔犺嚦鍏虫満鏃堕棿锛屽惁鍒欙紝鍔犲叆寰呮満鏃堕棿
+                    if (waitingLong + processingLong < closedLong) {
+                        closedLong += remainingDate;
+                    }else {
+                        waitingLong += remainingDate;
+                    }
+                }
+
                 equipmentStatisticalInfo.setWaitLong(new BigDecimal(waitingLong));
                 equipmentStatisticalInfo.setProcessLong(new BigDecimal(processingLong));
                 equipmentStatisticalInfo.setCloseLong(new BigDecimal(closedLong));
@@ -323,4 +335,24 @@
     public MdcEquipmentStatisticalDto findByEquipmentAndMonth(String equipmentId, String date) {
         return this.baseMapper.findByEquipmentAndMonth(equipmentId, date);
     }
+
+    @Override
+    public List<MdcEquipmentStatisticalInfo> findByEquipmentAndDate(List<String> equipmentList, String start, String end) {
+        return this.baseMapper.findByEquipmentAndDate(equipmentList, start, end);
+    }
+
+    @Override
+    public List<MdcEquipmentStatisticalInfo> findByEquIdAndDate(String equipmentId, String start, String end) {
+        return this.baseMapper.findByEquIdAndDate(equipmentId, start, end);
+    }
+
+    @Override
+    public MdcEquipmentStatisticalInfo findByEquIdAndMonth(String equipmentId, String month) {
+        return this.baseMapper.findByEquIdAndMonth(equipmentId, month);
+    }
+
+    @Override
+    public List<MdcEquipmentStatisticalInfo> findMdcEquipmentStatisticalInfo(String equipmentId, String start, String end) {
+        return this.baseMapper.findMdcEquipmentStatisticalInfo(equipmentId, start.replaceAll("-", ""), end.replaceAll("-", ""));
+    }
 }

--
Gitblit v1.9.3