From 15a20a91316b726f45ccc9e06bbd632f10eedb43 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 13 九月 2024 14:10:55 +0800
Subject: [PATCH] update

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java |   61 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
index 0bc60f5..e7f137d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
@@ -12,6 +12,8 @@
 import org.jeecg.modules.mdc.service.*;
 import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.mdc.vo.MdcOverallEquipmentEfficiencyVo;
+import org.jeecg.modules.system.entity.MdcProduction;
+import org.jeecg.modules.system.service.IMdcProductionService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -58,6 +60,12 @@
     @Resource
     private IProcessCountService processCountService;
 
+    @Resource
+    private IMdcProductionService mdcProductionService;
+
+    @Resource
+    private IMdcProcessQuantityService mdcProcessQuantityService;
+
     /**
      * 璁$畻璁惧缁煎悎鏁堢巼OEE
      */
@@ -98,6 +106,8 @@
             mdcOverallEquipmentEfficiency.setEquipmentName(mdcEquipment.getEquipmentName());
             mdcOverallEquipmentEfficiency.setEquipmentModel(mdcEquipment.getEquipmentModel());
             mdcOverallEquipmentEfficiency.setValidDate(validDate);
+            //
+//            mdcOverallEquipmentEfficiency.setProductionName();
 
             // 鏌ヨ鐝埗鍒嗙被
             List<String> shiftSubIdList = mdcDeviceCalendarService.findShiftSort(equipmentId, validDate);
@@ -206,12 +216,23 @@
             } else {
                 // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
                 // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 鐝鍐呰繍琛屾椂闂�/涓昏酱杩愯鏃堕棿
-                if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
-//                    mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ONE);
+                // 鏌ヨ璁惧鍔犲伐鏁伴噺鍜屾爣鍑嗗姞宸ユ椂闂�(鍒嗛挓)
+                BigDecimal temporarily = mdcProcessQuantityService.findTemporarily(mdcEquipment.getEquipmentId(), validDate);
+                if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && temporarily.compareTo(BigDecimal.ZERO) != 0) {
+                    BigDecimal divide = temporarily.divide(spindleRunDuration, 4, RoundingMode.HALF_UP);
+                    if (divide.compareTo(BigDecimal.ONE) == 1) {
+                        divide = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP));
+                    }
+                    mdcOverallEquipmentEfficiency.setPerformanceRate(divide);
                 } else {
                     mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
                 }
+//                if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
+////                    mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
+//                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ONE);
+//                } else {
+//
+//                }
 
             }
 
@@ -287,6 +308,38 @@
         if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDriveType())) {
             mdcOverallEquipmentEfficiencyVo.setDriveTypeList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDriveType().split(",")));
         }
-        return this.baseMapper.pageList(page, mdcOverallEquipmentEfficiencyVo);
+        IPage<MdcOverallEquipmentEfficiency> mdcOverallEquipmentEfficiencyIPage = this.baseMapper.pageList(page, mdcOverallEquipmentEfficiencyVo);
+//        List<MdcOverallEquipmentEfficiency> list = mdcOverallEquipmentEfficiencyIPage.getRecords();
+        for (MdcOverallEquipmentEfficiency mdcOverallEquipmentEfficiency : mdcOverallEquipmentEfficiencyIPage.getRecords()) {
+            mdcOverallEquipmentEfficiency.setProductionName(this.findProductionName(mdcOverallEquipmentEfficiency.getEquipmentId()));
+        }
+        return mdcOverallEquipmentEfficiencyIPage;
     }
+
+
+    /**
+     * 閫掑綊鏌ヨ璁惧杞﹂棿鍚嶇О
+     *
+     * @param equipmentId
+     * @return
+     */
+    private String findProductionName(String equipmentId) {
+        MdcProduction mdcProduction = mdcProductionService.findProductionList(equipmentId);
+        if ("2".equals(mdcProduction.getOrgType())) {
+            return mdcProduction.getProductionName();
+        } else {
+            return this.findProductionNameById(mdcProduction.getParentId());
+        }
+    }
+
+    private String findProductionNameById(String parentId) {
+        MdcProduction mdcProduction = mdcProductionService.getById(parentId);
+        if ("2".equals(mdcProduction.getOrgType())) {
+            return mdcProduction.getProductionName();
+        } else {
+            return this.findProductionNameById(parentId);
+        }
+    }
+
+
 }

--
Gitblit v1.9.3