From ec077979f2d55b2a54e893085f4b845b729e69c3 Mon Sep 17 00:00:00 2001
From: yangbin <yangbin@qq.com>
Date: 星期四, 20 二月 2025 14:50:10 +0800
Subject: [PATCH] 大屏看板2

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/subcontrol/service/impl/MdcBigScreenServiceImpl.java  |   32 ++++++++++++++++++++++----------
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentStatisticalInfoMapper.xml         |    6 +++---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml |   12 ++++++------
 3 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentStatisticalInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentStatisticalInfoMapper.xml
index 85d615e..72c783c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentStatisticalInfoMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentStatisticalInfoMapper.xml
@@ -4,7 +4,7 @@
     <select id="findDataRankingForBigScreen" resultType="org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataVo">
         SELECT
         equipment_id equipment,
-        SUM( open_long ) openlong,
+        SUM( open_long ) openingLong,
         SUM( close_long ) closelong,
         SUM( wait_long ) waitlong,
         SUM( process_long ) processingLong,
@@ -27,8 +27,8 @@
 
     <select id="findDataForBigScreen" resultType="org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataVo">
         SELECT
-        equipment_id equipment,
-        SUM( open_long ) openlong,
+        the_date thedate,
+        SUM( open_long ) openingLong,
         SUM( close_long ) closelong,
         SUM( wait_long ) waitlong,
         SUM( process_long ) processingLong,
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
index 3b0484f..436d2de 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
@@ -22,12 +22,12 @@
     <select id="findDataForBigScreen" resultType="org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataVo">
         SELECT
         THE_DATE,
-        SUM( close_long ) close_long,
-        SUM( open_long ) open_long,
-        SUM( error_long ) error_long,
-        SUM( wait_long ) wait_long,
-        SUM( process_long ) process_long,
-        SUM( total_long ) total_long
+        SUM( close_long ) closedLong,
+        SUM( open_long ) openingLong,
+        SUM( error_long ) errorLong,
+        SUM( wait_long ) waitingLong,
+        SUM( process_long ) processingLong,
+        SUM( total_long ) totalLong
         FROM
         mdc_equipment_statistical_shift_info
         <where>
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/subcontrol/service/impl/MdcBigScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/subcontrol/service/impl/MdcBigScreenServiceImpl.java
index adefc97..3fd85b7 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/subcontrol/service/impl/MdcBigScreenServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/subcontrol/service/impl/MdcBigScreenServiceImpl.java
@@ -8,11 +8,13 @@
 import org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataRankingVo;
 import org.jeecg.modules.mdc.subcontrol.vo.LastWeekDataVo;
 import org.jeecg.modules.mdc.subcontrol.vo.MdcEquipmentOpVo;
+import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.mdc.vo.MdcEquipmentVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import javax.xml.crypto.Data;
 import java.math.BigDecimal;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
@@ -81,24 +83,33 @@
         }
 
         //涓婂懆鐝鍒╃敤鐜囨暟鎹�
-        List<LastWeekDataVo> lastWeekDataList = mdcEquipmentStatisticalShiftInfoService.findDataForBigScreen(equipmentIdList, monday.toString(), saturday.toString());
+        List<LastWeekDataVo> lastWeekDataList = mdcEquipmentStatisticalShiftInfoService.
+                findDataForBigScreen(equipmentIdList, monday.toString(), saturday.toString());
         List<String> middleDates = getMiddleDates(monday, saturday);
+
         if (lastWeekDataList.isEmpty()) {
             for (int i = 0; i < middleDates.size(); i++) {
                 shiftRateList.add(new BigDecimal("0"));
             }
         } else {
+            Map<String,LastWeekDataVo> map = new HashMap<>();
+            for (LastWeekDataVo s : lastWeekDataList) {
+                map.put(s.getTheDate(),s);
+            }
             for (int i = 0; i < middleDates.size(); i++) {
                 if (i < lastWeekDataList.size()) {
-                    if (middleDates.get(i).equals(lastWeekDataList.get(i).getTheDate())
-                            && !"0".equals(lastWeekDataList.get(i).getTotalLong())) {
-                        shiftRateList.add(new BigDecimal(lastWeekDataList.get(i).getProcessingLong()).
-                                divide(new BigDecimal(lastWeekDataList.get(i).getTotalLong()),
-                                        6, BigDecimal.ROUND_HALF_UP)
-                                .setScale(6, BigDecimal.ROUND_HALF_UP));
-                    } else {
-                        shiftRateList.add(new BigDecimal("0"));
+                    if ( map.containsKey(middleDates.get(i))) {
+                        LastWeekDataVo vo =  map.get(middleDates.get(i));
+                        if (!"0".equals(vo.getTotalLong())) {
+                            shiftRateList.add(new BigDecimal(vo.getProcessingLong()).
+                                    divide(new BigDecimal(vo.getTotalLong()),
+                                            4, BigDecimal.ROUND_HALF_UP)
+                                    .setScale(4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
+                        } else {
+                            shiftRateList.add(new BigDecimal("0"));
+                        }
                     }
+
                 }
                  else {
                     shiftRateList.add(new BigDecimal("0"));
@@ -296,7 +307,8 @@
         List<String> localDateList = new ArrayList<>();
         long length = end.toEpochDay() - begin.toEpochDay();
         for (long i = length; i >= 0; i--) {
-            localDateList.add(end.minusDays(i).toString());
+            String date = end.minusDays(i).toString().replace("-","");
+            localDateList.add(date);
         }
         return localDateList;
     }

--
Gitblit v1.9.3