From a1207db1240b85b660b380d766098215806ceda2 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 22 八月 2024 15:50:28 +0800
Subject: [PATCH] update

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java |   22 ++++++++++++++++++----
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcLargeScreenMapper.java            |    4 ++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/YesterdayOverviewDto.java               |    6 +++---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/TodayProductionPassRateDto.java         |    2 +-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcLargeScreenMapper.xml         |   23 +++++++++++++++++++++++
 5 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/TodayProductionPassRateDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/TodayProductionPassRateDto.java
index 178fe4d..c6333bd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/TodayProductionPassRateDto.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/TodayProductionPassRateDto.java
@@ -19,6 +19,6 @@
     /**
      * 浜у搧鍚堟牸鐜�
      */
-    private BigDecimal passRate;
+    private BigDecimal passRate = BigDecimal.ZERO;
 
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/YesterdayOverviewDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/YesterdayOverviewDto.java
index 0382ea0..58ee965 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/YesterdayOverviewDto.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/YesterdayOverviewDto.java
@@ -14,14 +14,14 @@
     /**
      * 浜у搧鍚堟牸鐜�
      */
-    private BigDecimal passRate;
+    private BigDecimal passRate = BigDecimal.ZERO;
     /**
      * 璁惧鍒╃敤鐜�
      */
-    private BigDecimal utilizationRate;
+    private BigDecimal utilizationRate = BigDecimal.ZERO;
     /**
      * 璁″垝瀹屾垚鐜�
      */
-    private BigDecimal planCompleteRate;
+    private BigDecimal planCompleteRate = BigDecimal.ZERO;
 
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcLargeScreenMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcLargeScreenMapper.java
index f861f7d..5f39c04 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcLargeScreenMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcLargeScreenMapper.java
@@ -2,6 +2,7 @@
 
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.mdc.dto.MdcEfficiencyDto;
 import org.jeecg.modules.mdcJc.entity.MdcProductDayschedule;
 import org.jeecg.modules.screen.dto.ClazzCompletionCountDto;
 import org.jeecg.modules.screen.dto.TodayProductionDto;
@@ -27,4 +28,7 @@
     List<MdcProductDayschedule> todayProductionPassRate(@Param("date") String date);
 
     List<ClazzCompletionCountDto> todayClazzCompletionCount(@Param("date") String date);
+
+    List<MdcEfficiencyDto> efficiencyList(@Param("date") String date);
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcLargeScreenMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcLargeScreenMapper.xml
index 6b634d6..575cfa5 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcLargeScreenMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcLargeScreenMapper.xml
@@ -58,4 +58,27 @@
         GROUP BY
             clazz
     </select>
+
+    <select id="efficiencyList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto">
+        SELECT
+            t2.equipment_id equipmentId,
+            t2.equipment_name equipmentName,
+            t2.equipment_type equipmentType,
+            t1.the_date theDate,
+            t1.process_long processLong,
+            t1.process_long / 86400 utilizationRate,
+            CASE
+                WHEN t1.open_long > 0 THEN
+                    t1.process_long / t1.open_long ELSE 0
+                END startRate,
+            t1.open_long / 86400 openRate,
+            t1.open_long openLong,
+            t1.wait_long waitLong,
+            t1.close_long closeLong
+        FROM
+            mdc_equipment t2
+                LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id
+        WHERE
+            t1.the_date = #{date}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
index e107ae2..31e82b7 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.screen.service.impl;
 
+import org.jeecg.modules.mdc.dto.MdcEfficiencyDto;
 import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService;
 import org.jeecg.modules.mdcJc.entity.MdcProductDayschedule;
 import org.jeecg.modules.mdcJc.service.IMdcProductDayScheduleService;
@@ -28,7 +29,7 @@
     @Resource
     private MdcLargeScreenMapper mdcLargeScreenMapper;
 
-    private final String yesterday = LocalDate.now().plusDays(-1).toString();
+    private final String yesterday = LocalDate.now().plusDays(-1).toString().replaceAll("-", "");
 
     private final String today = LocalDate.now().toString();
 
@@ -83,7 +84,9 @@
             for (MdcProductDayschedule mdcProductDayschedule : list) {
                 TodayProductionPassRateDto todayProductionPassRateDto = new TodayProductionPassRateDto();
                 todayProductionPassRateDto.setProductionName(mdcProductDayschedule.getProductName());
-                todayProductionPassRateDto.setPassRate(new BigDecimal(mdcProductDayschedule.getQualifiedCount()).divide(new BigDecimal(mdcProductDayschedule.getCompletionCount()), 0, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
+                if (mdcProductDayschedule.getCompletionCount() != 0) {
+                    todayProductionPassRateDto.setPassRate(new BigDecimal(mdcProductDayschedule.getQualifiedCount()).divide(new BigDecimal(mdcProductDayschedule.getCompletionCount()), 0, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
+                }
                 result.add(todayProductionPassRateDto);
             }
         }
@@ -107,7 +110,18 @@
      */
     @Override
     public List<EquipmentRateDto> todayEquipmentRate() {
-        return null;
-//        return mdcLargeScreenMapper.todayEquipmentRate();
+        List<EquipmentRateDto> result = new ArrayList<>();
+        List<MdcEfficiencyDto> mdcEfficiencyDtoList = mdcLargeScreenMapper.efficiencyList(yesterday);
+        if (mdcEfficiencyDtoList != null && !mdcEfficiencyDtoList.isEmpty()) {
+            for (MdcEfficiencyDto mdcEfficiencyDto : mdcEfficiencyDtoList) {
+                EquipmentRateDto equipmentRateDto = new EquipmentRateDto();
+                equipmentRateDto.setEquipmentId(mdcEfficiencyDto.getEquipmentId());
+                equipmentRateDto.setEquipmentName(mdcEfficiencyDto.getEquipmentName());
+                equipmentRateDto.setOpenRate(mdcEfficiencyDto.getOpenRate());
+                equipmentRateDto.setUtilizationRate(mdcEfficiencyDto.getUtilizationRate());
+                result.add(equipmentRateDto);
+            }
+        }
+        return result;
     }
 }

--
Gitblit v1.9.3