From d603739c0320f355cfc3152865918729fea790de Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 04 十一月 2024 09:45:43 +0800
Subject: [PATCH] license

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
index feb3306..b611f47 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
@@ -105,6 +105,9 @@
             }
             queryWrapper.orderByAsc(MdcEquipment::getEquipmentName);
             List<MdcEquipment> equipmentList = mdcEquipmentService.list(queryWrapper);
+
+            vo.setStartTime(DateUtils.format(DateUtils.toDate(vo.getStartTime(), DateUtils.STRDATE), DateUtils.STR_DATE));
+            vo.setEndTime(DateUtils.format(DateUtils.toDate(vo.getEndTime(), DateUtils.STRDATE), DateUtils.STR_DATE));
             //鏌ヨoee鏁版嵁
             List<MdcOeeInfo> oeeList = this.baseMapper.oeeList(vo);
             //鏁版嵁澶勭悊
@@ -134,7 +137,7 @@
                     BigDecimal oeeRate = BigDecimal.ZERO;
                     if (!mdcOeeInfoList.isEmpty()) {
                         BigDecimal count = mdcOeeInfoList.stream().map(MdcOeeInfo::getOeeRate).reduce(BigDecimal.ZERO, BigDecimal::add);
-                        oeeRate = count.divide(new BigDecimal(mdcOeeInfoList.size()), 2, RoundingMode.HALF_UP);
+                        oeeRate = count.divide(new BigDecimal(mdcOeeInfoList.size()), 4, RoundingMode.HALF_UP);
                         mdcOeeResultDto.setOeeRate(oeeRate);
                     }
                     long rate = oeeRate.multiply(new BigDecimal("100")).longValue();
@@ -190,8 +193,8 @@
                     .eq(MdcProductDayschedule::getEquipmentId, equipment.getEquipmentid()));
             if (productDayScheduleList != null && !productDayScheduleList.isEmpty()) {
                 MdcProductDayschedule mdcProductDayschedule;
-                MdcOeeInfo mdcOeeInfo = new MdcOeeInfo();
                 for (MdcShiftSub mdcShiftSub : mdcShiftSubList) {
+                    MdcOeeInfo mdcOeeInfo = new MdcOeeInfo();
                     String id = mdcShiftSub.getId();
                     if (productDayScheduleList.stream().anyMatch(productDayschedule -> productDayschedule.getOrderId().substring(8, 10).equals(id))) {
                         mdcOeeInfo.setEquipmentId(equipment.getEquipmentid());
@@ -241,11 +244,13 @@
                             continue;
                         }
                         mdcOeeInfo.setScheduleNum(mdcComponentInfo.getScheduleNum());
-
-                        BigDecimal oeeRate = mdcOeeInfo.getProcessLong().multiply(new BigDecimal(mdcOeeInfo.getPlanNum())).multiply(new BigDecimal(mdcOeeInfo.getQualityNum()))
-                                        .divide(mdcEquipmentStatisticalShiftInfo.getTotalLong(), 2, RoundingMode.HALF_UP)
-                                        .divide(new BigDecimal(mdcOeeInfo.getScheduleNum()), 2, RoundingMode.HALF_UP)
-                                        .divide(new BigDecimal(mdcOeeInfo.getCompleteNum()), 2, RoundingMode.HALF_UP);
+                        BigDecimal oeeRate = BigDecimal.ZERO;
+                        if (!mdcOeeInfo.getCompleteNum().equals(0)) {
+                            oeeRate = mdcOeeInfo.getProcessLong().multiply(new BigDecimal(mdcOeeInfo.getPlanNum())).multiply(new BigDecimal(mdcOeeInfo.getQualityNum()))
+                                    .divide(mdcEquipmentStatisticalShiftInfo.getTotalLong(), 4, RoundingMode.HALF_UP)
+                                    .divide(new BigDecimal(mdcOeeInfo.getScheduleNum()), 4, RoundingMode.HALF_UP)
+                                    .divide(new BigDecimal(mdcOeeInfo.getCompleteNum()), 4, RoundingMode.HALF_UP);
+                        }
                         mdcOeeInfo.setOeeRate(oeeRate);
                         result.add(mdcOeeInfo);
                     }
@@ -256,5 +261,4 @@
             this.saveBatch(result);
         }
     }
-
 }

--
Gitblit v1.9.3