From 621f1bdaa9d84ea7e1fba28d883c4927a14ee485 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 09 九月 2024 14:34:51 +0800
Subject: [PATCH] update

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java |   70 ++++++++++++++++++++++-------------
 1 files changed, 44 insertions(+), 26 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
index 5d64d87..f981ce3 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
@@ -100,15 +100,15 @@
         if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
             result.setMdcEfficiencyList(listDtos);
         } else {
-            if (StringUtils.isNotEmpty(vo.getEquipmentType())) {
-                List<String> equipmentList = mdcEquipmentService.listEquipmentId(vo.getEquipmentType(), vo.getEquipmentIdList());
-                if (equipmentList != null && !equipmentList.isEmpty()) {
-                    vo.setEquipmentIdList(equipmentList);
-                } else {
-                    result.setMdcEfficiencyList(listDtos);
-                    return result;
-                }
+
+            List<String> equipmentIdList = mdcEquipmentService.listEquipmentId(vo);
+            if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
+                vo.setEquipmentIdList(equipmentIdList);
+            } else {
+                result.setMdcEfficiencyList(listDtos);
+                return result;
             }
+
             // 鏌ヨ鍒╃敤鐜囨暟鎹�
             List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyList(vo);
             // 灏佽缁撴灉
@@ -123,6 +123,7 @@
                     mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
+                    mdcEfficiencyListDto.setEquipmentModel(mdcEquDepDto.getEquipmentModel());
                     switch (mdcEquDepDto.getOrgType()) {
                         case "1":
                             mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
@@ -212,6 +213,7 @@
                     mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
+                    mdcEfficiencyListDto.setEquipmentModel(mdcEquProDto.getEquipmentModel());
                     switch (mdcEquProDto.getOrgType()) {
                         case "1":
                             mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
@@ -448,14 +450,13 @@
         if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
             result.setMdcEfficiencyList(listDtos);
         } else {
-            if (StringUtils.isNotEmpty(vo.getEquipmentType())) {
-                List<String> equipmentList = mdcEquipmentService.listEquipmentId(vo.getEquipmentType(), vo.getEquipmentIdList());
-                if (equipmentList != null && !equipmentList.isEmpty()) {
-                    vo.setEquipmentIdList(equipmentList);
-                } else {
-                    result.setMdcEfficiencyList(listDtos);
-                    return result;
-                }
+            
+            List<String> equipmentIdList = mdcEquipmentService.listEquipmentId(vo);
+            if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
+                vo.setEquipmentIdList(equipmentIdList);
+            } else {
+                result.setMdcEfficiencyList(listDtos);
+                return result;
             }
             // 鏌ヨ鍒╃敤鐜囨暟鎹�
             List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyPOList(vo);
@@ -472,6 +473,7 @@
                     mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
+                    mdcEfficiencyListDto.setEquipmentModel(mdcEquDepDto.getEquipmentModel());
                     switch (mdcEquDepDto.getOrgType()) {
                         case "1":
                             mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
@@ -561,6 +563,7 @@
                     mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
+                    mdcEfficiencyListDto.setEquipmentModel(mdcEquProDto.getEquipmentModel());
                     switch (mdcEquProDto.getOrgType()) {
                         case "1":
                             mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
@@ -797,15 +800,15 @@
         if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
             result.setMdcEfficiencyList(listDtos);
         } else {
-            if (StringUtils.isNotEmpty(vo.getEquipmentType())) {
-                List<String> equipmentList = mdcEquipmentService.listEquipmentId(vo.getEquipmentType(), vo.getEquipmentIdList());
-                if (equipmentList != null && !equipmentList.isEmpty()) {
-                    vo.setEquipmentIdList(equipmentList);
-                } else {
-                    result.setMdcEfficiencyList(listDtos);
-                    return result;
-                }
+
+            List<String> equipmentIdList = mdcEquipmentService.listEquipmentIdShift(vo);
+            if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
+                vo.setEquipmentIdList(equipmentIdList);
+            } else {
+                result.setMdcEfficiencyList(listDtos);
+                return result;
             }
+
 
             // 鐝鍒╃敤鐜囨暟鎹�
             List<MdcEquipmentStatisticalShiftInfo> mdcEquipmentStatisticalShiftInfoList = mdcEfficiencyReportMapper.efficiencyShiftSumList(vo);
@@ -842,6 +845,7 @@
                     mdcEfficiencyShiftListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                     mdcEfficiencyShiftListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                     mdcEfficiencyShiftListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
+                    mdcEfficiencyShiftListDto.setEquipmentModel(mdcEquDepDto.getEquipmentModel());
                     mdcEfficiencyShiftListDto.setShiftSubName(shiftSubName);
                     switch (mdcEquDepDto.getOrgType()) {
                         case "1":
@@ -953,6 +957,7 @@
                     mdcEfficiencyShiftListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                     mdcEfficiencyShiftListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                     mdcEfficiencyShiftListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
+                    mdcEfficiencyShiftListDto.setEquipmentModel(mdcEquProDto.getEquipmentModel());
                     mdcEfficiencyShiftListDto.setShiftSubName(shiftSubName);
                     switch (mdcEquProDto.getOrgType()) {
                         case "1":
@@ -1152,11 +1157,19 @@
                 if (date.equals(equipmentStatisticalShiftInfo.getTheDate()) && equipmentStatisticalShiftInfo.getEquipmentId().equals(equipmentId)) {
                     mdcEfficiencyShiftResultDto.setTheDate(equipmentStatisticalShiftInfo.getTheDate());
                     mdcEfficiencyShiftResultDto.setProcessLong(equipmentStatisticalShiftInfo.getProcessLong());
-                    mdcEfficiencyShiftResultDto.setUtilizationRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, BigDecimal.ROUND_HALF_UP));
+                    if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
+                        mdcEfficiencyShiftResultDto.setUtilizationRate(BigDecimal.ZERO);
+                    } else {
+                        mdcEfficiencyShiftResultDto.setUtilizationRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
+                    }
                     mdcEfficiencyShiftResultDto.setCloseLong(equipmentStatisticalShiftInfo.getCloseLong());
                     mdcEfficiencyShiftResultDto.setOpenLong(equipmentStatisticalShiftInfo.getOpenLong());
                     mdcEfficiencyShiftResultDto.setWaitLong(equipmentStatisticalShiftInfo.getWaitLong());
-                    mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, BigDecimal.ROUND_HALF_UP));
+                    if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
+                        mdcEfficiencyShiftResultDto.setOpenRate(BigDecimal.ZERO);
+                    } else {
+                        mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
+                    }
                     long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue();
                     for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) {
                         if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) {
@@ -1724,6 +1737,11 @@
         return result;
     }
 
+    @Override
+    public List<BigDecimal> getEfficiencyRate(String equipmentId, String date) {
+        return mdcEfficiencyReportMapper.getEfficiencyRate(equipmentId, date);
+    }
+
     private MdcUtilizationResultDto utilizationRate(String equipmentId, String equipmentName, String equipmentType, Date startTime, Date endTime, String date, List<MdcUtilizationRate> mdcUtilizationRateList) {
         MdcUtilizationResultDto dto = new MdcUtilizationResultDto();
         dto.setEquipmentId(equipmentId);

--
Gitblit v1.9.3