From 2d727903343feb01fedc988370091395c368faf2 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 17 十二月 2024 16:06:42 +0800
Subject: [PATCH] OEE功能及设备管理调整

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java |  184 +++++++++++++++++++++++-----------------------
 1 files changed, 92 insertions(+), 92 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 9c4526c..1f922cc 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
@@ -127,33 +127,33 @@
             // 鏈堝害瀹為檯鐝骇鎬绘椂闂�(鍒嗛挓)
             mdcOverallEquipmentEfficiency.setMonthActualWorkDayTimeCount(mdcOverallEquipmentEfficiency.getShiftTimeCount().multiply(actualWorkDayCount).multiply(new BigDecimal("60")).add(overtime));
 
-            // 鏁呴殰鍋滄満鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal breakdownDownDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.BREAKDOWN_DOWN);
-            mdcOverallEquipmentEfficiency.setBreakdownDownDuration(breakdownDownDuration);
-            // 鎹㈠瀷璋冭瘯鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal conversionDebugDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.CONVERSION_DEBUG);
-            mdcOverallEquipmentEfficiency.setConversionDebugDuration(conversionDebugDuration);
-            // 鐗╂枡鐭己鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal materialShortageDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.MATERIAL_SHORTAGE);
-            mdcOverallEquipmentEfficiency.setMaterialShortageDuration(materialShortageDuration);
-            // 璁″垝绛変换鍔℃椂闀跨粺璁�(鍒嗛挓)
-            BigDecimal plannedTaskDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.PLANNED_TASK);
-            mdcOverallEquipmentEfficiency.setPlannedTaskDuration(plannedTaskDuration);
-            // 妫�楠屾椂闀跨粺璁�(鍒嗛挓)
-            BigDecimal inspectDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.INSPECT);
-            mdcOverallEquipmentEfficiency.setInspectDuration(inspectDuration);
-            // 鍏朵粬鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal otherDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.OTHER);
-            mdcOverallEquipmentEfficiency.setOtherDuration(otherDuration);
-            // 璁″垝淇濆吇鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal plannedMaintenanceDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.PLANNED_MAINTENANCE);
-            mdcOverallEquipmentEfficiency.setPlannedMaintenanceDuration(plannedMaintenanceDuration);
-            // 浼氳/鍩硅鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal conferenceTrainingDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.CONFERENCE_TRAINING);
-            mdcOverallEquipmentEfficiency.setConferenceTrainingDuration(conferenceTrainingDuration);
-            // 鍏跺畠浼戞伅鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal otherRestDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.OTHER_REST);
-            mdcOverallEquipmentEfficiency.setOtherRestDuration(otherRestDuration);
+//            // 鏁呴殰鍋滄満鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal breakdownDownDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.BREAKDOWN_DOWN);
+//            mdcOverallEquipmentEfficiency.setBreakdownDownDuration(breakdownDownDuration);
+//            // 鎹㈠瀷璋冭瘯鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal conversionDebugDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.CONVERSION_DEBUG);
+//            mdcOverallEquipmentEfficiency.setConversionDebugDuration(conversionDebugDuration);
+//            // 鐗╂枡鐭己鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal materialShortageDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.MATERIAL_SHORTAGE);
+//            mdcOverallEquipmentEfficiency.setMaterialShortageDuration(materialShortageDuration);
+//            // 璁″垝绛変换鍔℃椂闀跨粺璁�(鍒嗛挓)
+//            BigDecimal plannedTaskDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.PLANNED_TASK);
+//            mdcOverallEquipmentEfficiency.setPlannedTaskDuration(plannedTaskDuration);
+//            // 妫�楠屾椂闀跨粺璁�(鍒嗛挓)
+//            BigDecimal inspectDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.INSPECT);
+//            mdcOverallEquipmentEfficiency.setInspectDuration(inspectDuration);
+//            // 鍏朵粬鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal otherDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.OTHER);
+//            mdcOverallEquipmentEfficiency.setOtherDuration(otherDuration);
+//            // 璁″垝淇濆吇鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal plannedMaintenanceDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.PLANNED_MAINTENANCE);
+//            mdcOverallEquipmentEfficiency.setPlannedMaintenanceDuration(plannedMaintenanceDuration);
+//            // 浼氳/鍩硅鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal conferenceTrainingDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.CONFERENCE_TRAINING);
+//            mdcOverallEquipmentEfficiency.setConferenceTrainingDuration(conferenceTrainingDuration);
+//            // 鍏跺畠浼戞伅鏃堕暱缁熻(鍒嗛挓)
+//            BigDecimal otherRestDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.OTHER_REST);
+//            mdcOverallEquipmentEfficiency.setOtherRestDuration(otherRestDuration);
             /*
                 璐熻嵎鏃堕棿(灏忔椂) = 宸ヤ綔鏃ュ巻鏃堕棿 - 璁″垝鍋滄満鏃堕棿
                 宸ヤ綔鏃ュ巻鏃堕棿 = 鏃ュ巻鏃堕棿 - 娉曞畾鍋囨棩 - 鍙屼紤鏃� + 鍔犵彮鏃堕棿
@@ -161,78 +161,78 @@
              */
             // mdcOverallEquipmentEfficiency.getShiftTimeCount() - plannedMaintenanceDuration - conferenceTrainingDuration - otherRestDuration
             // 璐熻嵎鏃堕棿(鍒嗛挓)
-            BigDecimal loadTime = mdcOverallEquipmentEfficiency.getMonthActualWorkDayTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
-            if (loadTime.compareTo(BigDecimal.ZERO) < 0) {
-                loadTime = BigDecimal.ZERO;
-            }
-            mdcOverallEquipmentEfficiency.setLoadTime(loadTime.divide(new BigDecimal("60"), 1, RoundingMode.HALF_UP));
+//            BigDecimal loadTime = mdcOverallEquipmentEfficiency.getMonthActualWorkDayTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
+//            if (loadTime.compareTo(BigDecimal.ZERO) < 0) {
+//                loadTime = BigDecimal.ZERO;
+//            }
+//            mdcOverallEquipmentEfficiency.setLoadTime(loadTime.divide(new BigDecimal("60"), 1, RoundingMode.HALF_UP));
 
             // 鏃堕棿寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
             // 鏌ヨ涓昏酱杩愯鏃堕棿(鍒嗛挓)
-            BigDecimal spindleRunDuration = mdcEquipmentStatisticalShiftInfoService.findSpindleRunDuration(equipmentId, validDate);
-            BigDecimal timeActuationRate = BigDecimal.ZERO;
-            if (loadTime.compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setTimeActuationRate(BigDecimal.ZERO);
-            } else {
-                timeActuationRate = spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP);
-                mdcOverallEquipmentEfficiency.setTimeActuationRate(timeActuationRate);
-            }
+//            BigDecimal spindleRunDuration = mdcEquipmentStatisticalShiftInfoService.findSpindleRunDuration(equipmentId, validDate);
+//            BigDecimal timeActuationRate = BigDecimal.ZERO;
+//            if (loadTime.compareTo(BigDecimal.ZERO) == 0) {
+//                mdcOverallEquipmentEfficiency.setTimeActuationRate(BigDecimal.ZERO);
+//            } else {
+//                timeActuationRate = spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP);
+//                mdcOverallEquipmentEfficiency.setTimeActuationRate(timeActuationRate);
+//            }
 
-            BigDecimal processQuantity;
-            // 鍔犲伐闆朵欢鏁�(浠�)  processQuantity
-            if ("FANUC".equals(mdcEquipment.getDriveType())) {
-                processQuantity = processCountService.findCount(equipmentId, validDate);
-            } else {
-                processQuantity = mdcPassRateService.findProcessQuantity(equipmentId, validDate);
-            }
-            mdcOverallEquipmentEfficiency.setProcessQuantity(processQuantity);
+//            BigDecimal processQuantity;
+//            // 鍔犲伐闆朵欢鏁�(浠�)  processQuantity
+//            if ("FANUC".equals(mdcEquipment.getDriveType())) {
+//                processQuantity = processCountService.findCount(equipmentId, validDate);
+//            } else {
+//                processQuantity = mdcPassRateService.findProcessQuantity(equipmentId, validDate);
+//            }
+//            mdcOverallEquipmentEfficiency.setProcessQuantity(processQuantity);
+//
+//            // 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)
+//            MdcStandardProcessDuration mdcStandardProcessDuration = mdcStandardProcessDurationService.getOne(new LambdaQueryWrapper<MdcStandardProcessDuration>().eq(MdcStandardProcessDuration::getEquipmentId, equipmentId));
+//            if (mdcStandardProcessDuration != null) {
+//                mdcOverallEquipmentEfficiency.setStandardProcessDuration(new BigDecimal(mdcStandardProcessDuration.getDuration()).multiply(processQuantity));
+//            } else {
+//                mdcOverallEquipmentEfficiency.setStandardProcessDuration(BigDecimal.ZERO);
+//            }
 
-            // 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)
-            MdcStandardProcessDuration mdcStandardProcessDuration = mdcStandardProcessDurationService.getOne(new LambdaQueryWrapper<MdcStandardProcessDuration>().eq(MdcStandardProcessDuration::getEquipmentId, equipmentId));
-            if (mdcStandardProcessDuration != null) {
-                mdcOverallEquipmentEfficiency.setStandardProcessDuration(new BigDecimal(mdcStandardProcessDuration.getDuration()).multiply(processQuantity));
-            } else {
-                mdcOverallEquipmentEfficiency.setStandardProcessDuration(BigDecimal.ZERO);
-            }
-
-            if ("FANUC".equals(mdcEquipment.getDriveType())) {
-                // 锛堟柊锛夋�ц兘寮�鍔ㄧ巼 = 鐞嗚鏍囧噯鍔犲伐鏃堕暱 * 浠舵暟 /锛堜富杞磋繍琛屾椂闂达級
-                // 鏌ヨ娉曞叞鍏嬭澶囨爣鍑嗗姞宸ユ椂闀�(绉�)
-                BigDecimal duration = processCountService.findDuration(mdcEquipment.getEquipmentId(), validDate);
-                if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && duration.compareTo(BigDecimal.ZERO) != 0) {
-                    mdcOverallEquipmentEfficiency.setStandardProcessDuration(duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP));
-                    BigDecimal performanceRate = duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).divide(spindleRunDuration, 4, RoundingMode.HALF_UP);
-                    if (performanceRate.compareTo(BigDecimal.ONE) == 1) {
-                        performanceRate = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP));
-                    }
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(performanceRate);
-                } else {
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
-                }
-            } else {
-                // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
-                if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
-                } else {
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
-                }
-            }
+//            if ("FANUC".equals(mdcEquipment.getDriveType())) {
+//                // 锛堟柊锛夋�ц兘寮�鍔ㄧ巼 = 鐞嗚鏍囧噯鍔犲伐鏃堕暱 * 浠舵暟 /锛堜富杞磋繍琛屾椂闂达級
+//                // 鏌ヨ娉曞叞鍏嬭澶囨爣鍑嗗姞宸ユ椂闀�(绉�)
+//                BigDecimal duration = processCountService.findDuration(mdcEquipment.getEquipmentId(), validDate);
+//                if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && duration.compareTo(BigDecimal.ZERO) != 0) {
+//                    mdcOverallEquipmentEfficiency.setStandardProcessDuration(duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP));
+//                    BigDecimal performanceRate = duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).divide(spindleRunDuration, 4, RoundingMode.HALF_UP);
+//                    if (performanceRate.compareTo(BigDecimal.ONE) == 1) {
+//                        performanceRate = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP));
+//                    }
+//                    mdcOverallEquipmentEfficiency.setPerformanceRate(performanceRate);
+//                } else {
+//                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
+//                }
+//            } else {
+//                // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
+//                if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
+//                    mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
+//                } else {
+//                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
+//                }
+//            }
 
             // 搴熷搧鏁� unqualifiedQuantity
-            BigDecimal unqualifiedQuantity = mdcPassRateService.findUnqualifiedQuantity(equipmentId, validDate);
-            mdcOverallEquipmentEfficiency.setUnqualifiedQuantity(unqualifiedQuantity);
-            // 鍚堟牸鐜�
-            if (processQuantity.compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setPassRate(BigDecimal.ONE);
-            } else {
-                mdcOverallEquipmentEfficiency.setPassRate((processQuantity.subtract(unqualifiedQuantity)).divide(processQuantity, 4, RoundingMode.HALF_UP));
-            }
-
-            // 璁惧缁煎悎鏁堢巼 = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
-            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()).setScale(4, RoundingMode.HALF_UP));
-            if (mdcOverallEquipmentEfficiency.getOverallEquipmentEfficiency().compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(BigDecimal.ZERO);
-            }
+//            BigDecimal unqualifiedQuantity = mdcPassRateService.findUnqualifiedQuantity(equipmentId, validDate);
+//            mdcOverallEquipmentEfficiency.setUnqualifiedQuantity(unqualifiedQuantity);
+//            // 鍚堟牸鐜�
+//            if (processQuantity.compareTo(BigDecimal.ZERO) == 0) {
+//                mdcOverallEquipmentEfficiency.setPassRate(BigDecimal.ONE);
+//            } else {
+//                mdcOverallEquipmentEfficiency.setPassRate((processQuantity.subtract(unqualifiedQuantity)).divide(processQuantity, 4, RoundingMode.HALF_UP));
+//            }
+//
+//            // 璁惧缁煎悎鏁堢巼 = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
+//            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()).setScale(4, RoundingMode.HALF_UP));
+//            if (mdcOverallEquipmentEfficiency.getOverallEquipmentEfficiency().compareTo(BigDecimal.ZERO) == 0) {
+//                mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(BigDecimal.ZERO);
+//            }
             result.add(mdcOverallEquipmentEfficiency);
 
         }

--
Gitblit v1.9.3