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