From 239f1633947660344c733cd4382a1dfe424df5d2 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 07 四月 2025 11:49:34 +0800
Subject: [PATCH] 报修状态字典
---
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java | 71 +++++++++++++++++------------------
1 files changed, 34 insertions(+), 37 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 86f5b09..d166372 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
@@ -11,10 +11,7 @@
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import org.jeecg.modules.mdc.mapper.MdcOeeInfoMapper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService;
-import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
-import org.jeecg.modules.mdc.service.IMdcPlanCloseService;
+import org.jeecg.modules.mdc.service.*;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
@@ -46,10 +43,10 @@
private IMdcEquipmentService mdcEquipmentService;
@Resource
- private IMdcPlanCloseService mdcPlanCloseService;
+ private IMdcDowntimeService mdcDowntimeService;
-// @Resource
-// private IMdcPartProcessInfoService mdcPartProcessInfoService;
+ @Resource
+ private IMdcPartProcessInfoService mdcPartProcessInfoService;
@Resource
private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService;
@@ -191,53 +188,53 @@
// 宸ヤ綔鏃ュ巻鏃堕棿(min) --- 鎸夋瘡澶�24灏忔椂绠�
mdcOeeInfo.setCalendarLong(1440);
// 璁″垝鍋滄満鏃堕棿(min) --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶╂�绘椂闀�
-// Integer planCloseLong = mdcPlanCloseService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_1);
-// mdcOeeInfo.setPlanCloseLong(planCloseLong);
+ Integer planCloseLong = mdcDowntimeService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_0);
+ mdcOeeInfo.setPlanCloseLong(planCloseLong);
// 璐熻嵎鏃堕棿(min) --- 鏃ュ巻宸ヤ綔鏃堕棿-璁″垝鍋滄満鏃堕棿
-// Integer loadLong = mdcOeeInfo.getCalendarLong() - planCloseLong;
-// mdcOeeInfo.setLoadLong(loadLong);
+ Integer loadLong = mdcOeeInfo.getCalendarLong() - planCloseLong;
+ mdcOeeInfo.setLoadLong(loadLong);
// 闈炶鍒掑仠鏈烘椂闂�(min) --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶╂�绘椂闀�
-// Integer noPlanCloseLong = mdcPlanCloseService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_2);
-// mdcOeeInfo.setNoplanCloseLong(noPlanCloseLong);
+ Integer noPlanCloseLong = mdcDowntimeService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_1);
+ mdcOeeInfo.setNoplanCloseLong(noPlanCloseLong);
// 寮�鍔ㄦ椂闂�(min) --- 璐熻嵎鏃堕棿-闈炶鍒掑仠鏈烘椂闂�
-// int actuateLong = loadLong - noPlanCloseLong;
-// mdcOeeInfo.setActuateLong(actuateLong);
+ int actuateLong = loadLong - noPlanCloseLong;
+ mdcOeeInfo.setActuateLong(actuateLong);
// 鏃堕棿寮�鍔ㄧ巼 --- 寮�鍔ㄦ椂闂�/璐熻嵎鏃堕棿
-// BigDecimal timeActuationRate = new BigDecimal(actuateLong).divide(new BigDecimal(loadLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
-// mdcOeeInfo.setTimeActuationRate(timeActuationRate);
+ BigDecimal timeActuationRate = new BigDecimal(actuateLong).divide(new BigDecimal(loadLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+ mdcOeeInfo.setTimeActuationRate(timeActuationRate);
// 鏈夋晥杩愯鏃堕棿 --- 鎸夐渶姹傜淮鎶ら浂浠跺姞宸ユ�绘椂闀縷|绯荤粺涓昏酱璐熻浇鏃堕棿
Integer effectiveRunLong = 0;
-// Integer totalProcessLong = mdcPartProcessInfoService.selectTotalProcessLong(equipmentId, validDate);
-// if (totalProcessLong == 0) {
-// //鏌ヨ璁惧杩愯鏃堕棿
-// effectiveRunLong = mdcEquipmentStatisticalInfoService.selectProcessLong(equipmentId, validDate.replace("-", ""));
-// } else {
-// effectiveRunLong = totalProcessLong;
-// }
+ Integer totalProcessLong = mdcPartProcessInfoService.selectTotalProcessLong(equipmentId, validDate);
+ if (totalProcessLong == 0) {
+ //鏌ヨ璁惧杩愯鏃堕棿
+ effectiveRunLong = mdcEquipmentStatisticalInfoService.selectProcessLong(equipmentId, validDate.replace("-", ""));
+ } else {
+ effectiveRunLong = totalProcessLong;
+ }
mdcOeeInfo.setEffectiveRunLong(effectiveRunLong);
// 鎬ц兘寮�鍔ㄧ巼 --- 鏈夋晥杩愯鏃堕棿/寮�鍔ㄦ椂闂�
BigDecimal performanceRate = BigDecimal.ZERO;
-// if (effectiveRunLong != 0 && actuateLong != 0) {
-// performanceRate = new BigDecimal(effectiveRunLong).divide(new BigDecimal(actuateLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
-// }
+ if (effectiveRunLong != 0 && actuateLong != 0) {
+ performanceRate = new BigDecimal(effectiveRunLong).divide(new BigDecimal(actuateLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+ }
mdcOeeInfo.setPerformanceRate(performanceRate);
// 鍔犲伐闆朵欢鏁伴噺 --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶�
-// Integer processCount = mdcPartProcessInfoService.selectTotalProcessCount(equipmentId, validDate);
-// mdcOeeInfo.setProcessCount(processCount);
+ Integer processCount = mdcPartProcessInfoService.selectTotalProcessCount(equipmentId, validDate);
+ mdcOeeInfo.setProcessCount(processCount);
// 鍚堟牸闆朵欢鏁伴噺 --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶�
-// Integer passCount = mdcPartProcessInfoService.selectTotalPassCount(equipmentId, validDate);
-// mdcOeeInfo.setPassCount(passCount);
+ Integer passCount = mdcPartProcessInfoService.selectTotalPassCount(equipmentId, validDate);
+ mdcOeeInfo.setPassCount(passCount);
// 鍚堟牸鐜� --- 鍚堟牸鏁�/鍔犲伐鏁�
BigDecimal passRate = BigDecimal.ZERO;
-// if (processCount != 0 && passCount != 0) {
-// passRate = new BigDecimal(passCount).divide(new BigDecimal(processCount), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
-// }
+ if (processCount != 0 && passCount != 0) {
+ passRate = new BigDecimal(passCount).divide(new BigDecimal(processCount), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+ }
mdcOeeInfo.setPassRate(passRate);
// OEE --- 鏃堕棿寮�鍔ㄧ巼 * 鎬ц兘寮�鍔ㄧ巼 * 涓�娆″悎鏍肩巼
BigDecimal oee = BigDecimal.ZERO;
-// if (!timeActuationRate.equals(BigDecimal.ZERO) && !performanceRate.equals(BigDecimal.ZERO) && !passRate.equals(BigDecimal.ZERO)) {
-// oee = timeActuationRate.multiply(performanceRate).multiply(passRate).divide(new BigDecimal("10000"), 4, RoundingMode.HALF_UP);
-// }
+ if (!timeActuationRate.equals(BigDecimal.ZERO) && !performanceRate.equals(BigDecimal.ZERO) && !passRate.equals(BigDecimal.ZERO)) {
+ oee = timeActuationRate.multiply(performanceRate).multiply(passRate).divide(new BigDecimal("10000"), 4, RoundingMode.HALF_UP);
+ }
mdcOeeInfo.setOee(oee);
result.add(mdcOeeInfo);
}
--
Gitblit v1.9.3