| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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); |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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); |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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); |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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); |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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); |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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); |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { |
| | | if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { |
| | | mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { |
| | | if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { |
| | | mdcEfficiencyShiftResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | } else { |
| | | dto.setUtilizationRate(new BigDecimal("0")); |
| | | } |
| | | // 计算利用率百分比(转为long类型) |
| | | 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())) { |
| | |
| | | } 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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())) { |
| | |
| | | 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()); |
| | | // 计算利用率百分比(转为long类型) |
| | | 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; // 找到匹配项后立即退出循环,提升效率 |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { |
| | | if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { |
| | | mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { |
| | | if (0 >= mdcUtilizationRate.getMinimumRange() && 0 < mdcUtilizationRate.getMaximumRange()) { |
| | | mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); |
| | | break; |
| | | } |
| | | } |
| | | } |