From d0f024586f38a11662787c42b84e037a1c1be6cd Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期二, 17 六月 2025 09:06:30 +0800 Subject: [PATCH] 设备故障率、设备去除故障时间利用率算法 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 46 insertions(+), 4 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java index bf79693..38d74e0 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java @@ -1,13 +1,11 @@ package org.jeecg.modules.board.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import liquibase.pro.packaged.I; -import org.apache.commons.lang3.StringUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.DictModel; +import org.jeecg.modules.board.mapper.DtBoardMapper; import org.jeecg.modules.board.service.IDtBoardService; import org.jeecg.modules.board.vo.*; -import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.entity.*; import org.jeecg.modules.mdc.service.*; import org.jeecg.modules.mdc.util.DateUtils; @@ -20,6 +18,8 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -63,6 +63,12 @@ @Resource private IMdcAlarmInfoService mdcAlarmInfoService; + + @Resource + private DtBoardMapper dtBoardMapper; + + @Resource + private IAndonOrderService andonOrderService; /** * 杞﹂棿淇℃伅 @@ -319,7 +325,7 @@ if (equipmentIdList == null || equipmentIdList.isEmpty()) { return null; } - List<EquipmentAlarm> equipmentAlarmList = equipmentAlarmService.list(new LambdaQueryWrapper<EquipmentAlarm>().in(EquipmentAlarm::getEquipmentid, equipmentIdList).orderByDesc(EquipmentAlarm::getCollecttime).isNotNull(EquipmentAlarm::getAlarmNo).last("TOP 15")); + List<EquipmentAlarm> equipmentAlarmList = equipmentAlarmService.equAlarmList(equipmentIdList); if (equipmentAlarmList == null || equipmentAlarmList.isEmpty()) { return null; } @@ -337,4 +343,40 @@ return result; } + /** + * 璁惧鏁呴殰 + */ + @Override + public List<EquRepair> equRepairList(String productionId) { + List<String> proIds = mdcProductionService.findChildByProId(productionId); + if (proIds == null || proIds.isEmpty()) { + return null; + } + List<String> equipmentIdList = mdcEquipmentService.getEquIdsByProIds(proIds); + if (equipmentIdList == null || equipmentIdList.isEmpty()) { + return null; + } + LocalDateTime currentDate = LocalDate.now().minusMonths(1).atStartOfDay(); + String format = currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + List<EquRepair> result = dtBoardMapper.equRepairList(equipmentIdList, format); + return result; + } + + /** + * 璁惧瀹夌伅闂 + */ + @Override + public List<EquAndon> equAndonList(String productionId) { + List<String> proIds = mdcProductionService.findChildByProId(productionId); + if (proIds == null || proIds.isEmpty()) { + return null; + } + List<String> equipmentIdList = mdcEquipmentService.getEquIdsByProIds(proIds); + if (equipmentIdList == null || equipmentIdList.isEmpty()) { + return null; + } + List<EquAndon> result = andonOrderService.equAndonList(equipmentIdList); + return result; + } + } -- Gitblit v1.9.3