From dd5f82bb38e40af080569923e1e93576a79d15a4 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 05 九月 2025 16:52:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- /dev/null | 110 ------------ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java | 4 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java | 383 ++++++++++++++++++++++++++++++++++------- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java | 2 4 files changed, 317 insertions(+), 182 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java index 02044ac..2da7669 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java @@ -136,7 +136,7 @@ public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) { List<EamReportRepair> eamReportRepairs = eamReportRepairService.listByIds(Arrays.asList(ids.split(","))); eamReportRepairs.forEach(eamReportRepair -> { - if(ReportRepairEnum.ABOLISH.name().equals(eamReportRepair.getReportStatus())) { + if(ReportRepairEnum.WAIT_REPAIR.name().equals(eamReportRepair.getReportStatus())) { eamReportRepair.setReportStatus(ReportRepairEnum.ABOLISH.name()); } }); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java index 53a7cf3..f62d61e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java @@ -663,7 +663,9 @@ List<EamInspectionOrderDetail> eamInspectionOrderDetails = eamInspectionOrderDetailService .list(new QueryWrapper<EamInspectionOrderDetail>() .eq("order_id", eamInspectionOrder.getId()).eq("report_flag", "1").eq("inspection_result", "2")); - eamReportRepairService.reportRepairFromInspection(eamInspectionOrder.getEquipmentId(), eamInspectionOrder.getOperator(), eamInspectionOrderDetails); + if (!eamInspectionOrderDetails.isEmpty()) { + eamReportRepairService.reportRepairFromInspection(eamInspectionOrder.getEquipmentId(), eamInspectionOrder.getOperator(), eamInspectionOrderDetails); + } } /** diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ScanDowntimeJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ScanDowntimeJob.java deleted file mode 100644 index 8468390..0000000 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ScanDowntimeJob.java +++ /dev/null @@ -1,110 +0,0 @@ -//package org.jeecg.modules.mdc.job; -// -//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -//import lombok.extern.slf4j.Slf4j; -//import org.apache.commons.lang.StringUtils; -//import org.jeecg.common.constant.CommonConstant; -//import org.jeecg.modules.mdc.dto.MdcEquipmentWaitSectionDto; -//import org.jeecg.modules.mdc.entity.MdcDowntime; -//import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime; -//import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection; -//import org.jeecg.modules.mdc.service.IMdcDowntimeService; -//import org.jeecg.modules.mdc.service.IMdcEquipmentRunningSectionService; -//import org.jeecg.modules.mdc.util.DateUtils; -//import org.jeecg.modules.mdc.util.ThrowableUtil; -//import org.jeecg.modules.quartz.entity.QuartzJob; -//import org.jeecg.modules.quartz.entity.SysQuartzLog; -//import org.jeecg.modules.quartz.service.IQuartzJobService; -//import org.jeecg.modules.quartz.service.ISysQuartzLogService; -//import org.jeecg.modules.system.service.ISysAnnouncementService; -//import org.quartz.*; -// -//import javax.annotation.Resource; -//import java.util.Date; -//import java.util.List; -//import java.util.stream.Collectors; -// -///** -// * @Author: Lius -// * @CreateTime: 2025-03-12 -// * @Description: 鎵弿鍋滄満浠诲姟 -// */ -//@PersistJobDataAfterExecution -//@DisallowConcurrentExecution -//@Slf4j -//public class ScanDowntimeJob implements Job { -// -// /** -// * 鑻ュ弬鏁板彉閲忓悕淇敼 QuartzJobController涓篃闇�瀵瑰簲淇敼 鏃堕棿锛� yyyyMMdd 渚嬶細 20230414 -// */ -// private String parameter; -// -// public void setParameter(String parameter) { -// this.parameter = parameter; -// } -// -// @Resource -// private IQuartzJobService quartzJobService; -// -// @Resource -// private ISysAnnouncementService sysAnnouncementService; -// -// @Resource -// private ISysQuartzLogService sysQuartzLogService; -// -// @Resource -// private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService; -// -// @Resource -// private IMdcDowntimeService mdcDowntimeService; -// -// @Override -// public void execute(JobExecutionContext context) throws JobExecutionException { -// SysQuartzLog quartzLog = new SysQuartzLog(); -// quartzLog.setCreateTime(new Date()); -// List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName()); -// if (byJobClassName != null && !byJobClassName.isEmpty()) { -// quartzLog.setJobId(byJobClassName.get(0).getId()); -// } -// quartzLog.setParams(this.parameter); -// log.info("瀹氭椂鎵弿寰呮満鏃堕暱瓒�20鍒嗛挓璁惧浠诲姟 ScanDowntimeJob start! 鏃堕棿:{}, 鍙傛暟锛歿}", DateUtils.getNow(), this.parameter); -// long startTime = System.currentTimeMillis(); -// try { -// String date = ""; -// if (StringUtils.isNotBlank(this.parameter)) { -// date = DateUtils.format(DateUtils.toDate(this.parameter, DateUtils.STRDATE), DateUtils.STR_DATE); -// -// } else { -// date = DateUtils.format(DateUtils.getNow(), DateUtils.STR_DATE); -// } -// mdcDowntimeService.remove(new LambdaQueryWrapper<MdcDowntime>().eq(MdcDowntime::getTheDate, date).eq(MdcDowntime::getStatus, CommonConstant.DOWNTIME_STATUS_0)); -// -// List<MdcEquipmentWaitSectionDto> mdcEquipmentRunningSections = mdcEquipmentRunningSectionService.findWaitList(date); -// -// if (mdcEquipmentRunningSections != null && !mdcEquipmentRunningSections.isEmpty()) { -// String finalDate = date; -// List<MdcDowntime> downtimeList = mdcEquipmentRunningSections.stream().map(mdcEquipmentWaitSectionDto -> { -// MdcDowntime downtime = new MdcDowntime(); -// downtime.setEquipmentId(mdcEquipmentWaitSectionDto.getEquipmentId()); -// downtime.setEquipmentName(mdcEquipmentWaitSectionDto.getEquipmentName()); -// downtime.setTheDate(finalDate); -// downtime.setStartDate(mdcEquipmentWaitSectionDto.getStartTime()); -// downtime.setEndDate(mdcEquipmentWaitSectionDto.getEndTime()); -// return downtime; -// }).collect(Collectors.toList()); -// if (!downtimeList.isEmpty()) { -// mdcDowntimeService.saveBatch(downtimeList); -// } -// } -// quartzLog.setIsSuccess(0); -// } catch (Exception e) { -// quartzLog.setIsSuccess(-1); -// quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); -// // 鍙戦�佹秷鎭�氱煡 -// sysAnnouncementService.jobSendMessage("瀹氭椂鎵弿寰呮満鏃堕暱瓒�20鍒嗛挓璁惧浠诲姟", quartzLog.getExceptionDetail()); -// } -// long endTime = System.currentTimeMillis(); -// quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); -// sysQuartzLogService.save(quartzLog); -// } -//} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java index 983d677..99105f7 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java @@ -198,11 +198,26 @@ mdcEfficiencyResultDto.setWaitLong(mdcEfficiencyResultDto.getWaitLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto1.setCloseLong(mdcEfficiencyResultDto.getCloseLong()); mdcEfficiencyResultDto.setCloseLong(mdcEfficiencyResultDto.getCloseLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - mdcEfficiencyResultDto1.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + mdcEfficiencyResultDto1.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } list.add(mdcEfficiencyResultDto1); @@ -286,11 +301,26 @@ mdcEfficiencyResultDto.setWaitLong(mdcEfficiencyResultDto.getWaitLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto1.setCloseLong(mdcEfficiencyResultDto.getCloseLong()); mdcEfficiencyResultDto.setCloseLong(mdcEfficiencyResultDto.getCloseLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - mdcEfficiencyResultDto1.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + mdcEfficiencyResultDto1.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } list.add(mdcEfficiencyResultDto1); @@ -361,10 +391,25 @@ mdcEfficiencyResultDto.setWaitLong(mdcEfficiencyResultDto.getWaitLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setOpenLong(mdcEfficiencyResultDto.getOpenLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setProcessLong(mdcEfficiencyResultDto.getProcessLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -400,10 +445,25 @@ mdcEfficiencyResultDto.setUtilizationRate(mdcEfficiencyResultDto.getUtilizationRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setOpenRate(mdcEfficiencyResultDto.getOpenRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setStartRate(mdcEfficiencyResultDto.getStartRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -546,11 +606,26 @@ mdcEfficiencyResultDto.setWaitLong(mdcEfficiencyResultDto.getWaitLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto1.setCloseLong(mdcEfficiencyResultDto.getCloseLong()); mdcEfficiencyResultDto.setCloseLong(mdcEfficiencyResultDto.getCloseLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getStartRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - mdcEfficiencyResultDto1.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + mdcEfficiencyResultDto1.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } list.add(mdcEfficiencyResultDto1); @@ -634,11 +709,26 @@ mdcEfficiencyResultDto.setWaitLong(mdcEfficiencyResultDto.getWaitLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto1.setCloseLong(mdcEfficiencyResultDto.getCloseLong()); mdcEfficiencyResultDto.setCloseLong(mdcEfficiencyResultDto.getCloseLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getStartRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - mdcEfficiencyResultDto1.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + mdcEfficiencyResultDto1.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } list.add(mdcEfficiencyResultDto1); @@ -708,10 +798,25 @@ mdcEfficiencyResultDto.setWaitLong(mdcEfficiencyResultDto.getWaitLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setOpenLong(mdcEfficiencyResultDto.getOpenLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setProcessLong(mdcEfficiencyResultDto.getProcessLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getStartRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -748,10 +853,25 @@ mdcEfficiencyResultDto.setUtilizationRate(mdcEfficiencyResultDto.getUtilizationRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setOpenRate(mdcEfficiencyResultDto.getOpenRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); mdcEfficiencyResultDto.setStartRate(mdcEfficiencyResultDto.getStartRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyResultDto.getStartRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -917,11 +1037,26 @@ mdcEfficiencyShiftResultDto.setWaitLong(mdcEfficiencyShiftResultDto.getWaitLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyShiftResultDto1.setCloseLong(mdcEfficiencyShiftResultDto.getCloseLong()); mdcEfficiencyShiftResultDto.setCloseLong(mdcEfficiencyShiftResultDto.getCloseLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - mdcEfficiencyShiftResultDto1.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyShiftResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyShiftResultDto.setColor(rateInfo.getRateParameterColor()); + mdcEfficiencyShiftResultDto1.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } list.add(mdcEfficiencyShiftResultDto1); @@ -1027,11 +1162,26 @@ mdcEfficiencyShiftResultDto.setWaitLong(mdcEfficiencyShiftResultDto.getWaitLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyShiftResultDto1.setCloseLong(mdcEfficiencyShiftResultDto.getCloseLong()); mdcEfficiencyShiftResultDto.setCloseLong(mdcEfficiencyShiftResultDto.getCloseLong().divide(new BigDecimal(dates.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); - mdcEfficiencyShiftResultDto1.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyShiftResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyShiftResultDto.setColor(rateInfo.getRateParameterColor()); + mdcEfficiencyShiftResultDto1.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } list.add(mdcEfficiencyShiftResultDto1); @@ -1101,10 +1251,25 @@ mdcEfficiencyShiftResultDto.setWaitLong(mdcEfficiencyShiftResultDto.getWaitLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyShiftResultDto.setOpenLong(mdcEfficiencyShiftResultDto.getOpenLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); mdcEfficiencyShiftResultDto.setProcessLong(mdcEfficiencyShiftResultDto.getProcessLong().divide(new BigDecimal(mdcEfficiencyList.size()), 0, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyShiftResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyShiftResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -1141,10 +1306,25 @@ mdcEfficiencyShiftResultDto.setUtilizationRate(mdcEfficiencyShiftResultDto.getUtilizationRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); mdcEfficiencyShiftResultDto.setOpenRate(mdcEfficiencyShiftResultDto.getOpenRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); mdcEfficiencyShiftResultDto.setStartRate(mdcEfficiencyShiftResultDto.getStartRate().divide(new BigDecimal(mdcEfficiencyList.size()), 4, RoundingMode.HALF_UP)); - long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyShiftResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyShiftResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -1173,10 +1353,25 @@ } else { mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP)); } - long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = mdcEfficiencyShiftResultDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyShiftResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -1193,6 +1388,7 @@ for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + break; } } } @@ -1208,6 +1404,7 @@ for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + break; } } } @@ -1766,11 +1963,25 @@ } else { dto.setUtilizationRate(new BigDecimal("0")); } + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = dto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); - long rate = dto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - dto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + dto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } if (StringUtils.isBlank(dto.getColor())) { @@ -2149,10 +2360,25 @@ } else { dto.setUtilizationRate(new BigDecimal("0")); } - long rate = dto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - dto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = dto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + dto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } if (StringUtils.isBlank(dto.getColor())) { @@ -2187,10 +2413,25 @@ mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong()); mdcEfficiencyResultDto.setWaitLong(efficiencyDto.getWaitLong()); mdcEfficiencyResultDto.setCloseLong(efficiencyDto.getCloseLong()); - long rate = efficiencyDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue(); - for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { - if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) { - mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + // 璁$畻鍒╃敤鐜囩櫨鍒嗘瘮锛堣浆涓簂ong绫诲瀷锛� + long utilizationRatePercent = efficiencyDto.getUtilizationRate() + .multiply(new BigDecimal("100")) + .longValue(); + // 澧炲姞绌烘寚閽堝垽鏂紝閬垮厤NPE + if (mdcUtilizationRateList != null) { + for (MdcUtilizationRate rateInfo : mdcUtilizationRateList) { + long minRange = rateInfo.getMinimumRange(); + long maxRange = rateInfo.getMaximumRange(); + + // 绠�鍖栨潯浠跺垽鏂細澶勪簬[min, max)鍖洪棿锛屾垨鍒氬ソ鏄�100%鐨勭壒娈婃儏鍐� + boolean isInRange = utilizationRatePercent >= minRange + && (utilizationRatePercent < maxRange + || (maxRange == 100 && utilizationRatePercent == maxRange)); + + if (isInRange) { + mdcEfficiencyResultDto.setColor(rateInfo.getRateParameterColor()); + break; // 鎵惧埌鍖归厤椤瑰悗绔嬪嵆閫�鍑哄惊鐜紝鎻愬崌鏁堢巼 + } } } } @@ -2207,6 +2448,7 @@ for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + break; } } } @@ -2222,6 +2464,7 @@ for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + break; } } } -- Gitblit v1.9.3