diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java index 6e62c48..6b21556 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java @@ -1012,22 +1012,17 @@ } else if ("7".equals(measureData.getDataType())) { //输出电压最大变化值 - List dcPowers = channelGroup.get(measureData.getOutputChannel()); - BigDecimal maxVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).max(BigDecimal::compareTo).get(); - BigDecimal minVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).min(BigDecimal::compareTo).get(); - BigDecimal voltageMaxChange = maxVoltageOutput.subtract(minVoltageOutput); + BigDecimal voltageOutputValueUpper = new BigDecimal(measureData.getVoltageOutputValueUpper()); + BigDecimal voltageOutputValueLower = new BigDecimal(measureData.getVoltageOutputValueLower()); + BigDecimal voltageMaxChange = voltageOutputValueUpper.subtract(voltageOutputValueLower); measureData.setOutputVoltageMaxChange(String.valueOf(voltageMaxChange)); - //短期稳定性 = 输出电压最大变化值/被测电源输出电压第一次测量结果(即第一行数据) - //第1行数据 - BizBusinessDeviceMeasureDataDcPower dataDcPower = measureDataList.stream().filter(dc -> "7".equals(dc.getDataType())).findFirst().get(); - BigDecimal firstVoltageOutputValue = new BigDecimal(dataDcPower.getVoltageOutputValue()); - if (firstVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { + //短期稳定性 = 输出电压最大变化值/被测电源输出电压均值 + BigDecimal meanVoltageOutputValue = (voltageOutputValueUpper.add(voltageOutputValueLower)).divide(BigDecimal.valueOf(2), 1, RoundingMode.HALF_UP); + if (meanVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { BigDecimal multiplyVoltageMaxChange = voltageMaxChange.multiply(BigDecimal.valueOf(100)); - BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(firstVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); + BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(meanVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); measureData.setShortTermStability(shortTermStability + "%"); - int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability.divide(BigDecimal.valueOf(100))), new BigDecimal(measureData.getTechnicalIndex())); + int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability), new BigDecimal(measureData.getTechnicalIndex())); measureData.setExceedMark(exceedMark); } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java index 6e62c48..6b21556 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java @@ -1012,22 +1012,17 @@ } else if ("7".equals(measureData.getDataType())) { //输出电压最大变化值 - List dcPowers = channelGroup.get(measureData.getOutputChannel()); - BigDecimal maxVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).max(BigDecimal::compareTo).get(); - BigDecimal minVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).min(BigDecimal::compareTo).get(); - BigDecimal voltageMaxChange = maxVoltageOutput.subtract(minVoltageOutput); + BigDecimal voltageOutputValueUpper = new BigDecimal(measureData.getVoltageOutputValueUpper()); + BigDecimal voltageOutputValueLower = new BigDecimal(measureData.getVoltageOutputValueLower()); + BigDecimal voltageMaxChange = voltageOutputValueUpper.subtract(voltageOutputValueLower); measureData.setOutputVoltageMaxChange(String.valueOf(voltageMaxChange)); - //短期稳定性 = 输出电压最大变化值/被测电源输出电压第一次测量结果(即第一行数据) - //第1行数据 - BizBusinessDeviceMeasureDataDcPower dataDcPower = measureDataList.stream().filter(dc -> "7".equals(dc.getDataType())).findFirst().get(); - BigDecimal firstVoltageOutputValue = new BigDecimal(dataDcPower.getVoltageOutputValue()); - if (firstVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { + //短期稳定性 = 输出电压最大变化值/被测电源输出电压均值 + BigDecimal meanVoltageOutputValue = (voltageOutputValueUpper.add(voltageOutputValueLower)).divide(BigDecimal.valueOf(2), 1, RoundingMode.HALF_UP); + if (meanVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { BigDecimal multiplyVoltageMaxChange = voltageMaxChange.multiply(BigDecimal.valueOf(100)); - BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(firstVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); + BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(meanVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); measureData.setShortTermStability(shortTermStability + "%"); - int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability.divide(BigDecimal.valueOf(100))), new BigDecimal(measureData.getTechnicalIndex())); + int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability), new BigDecimal(measureData.getTechnicalIndex())); measureData.setExceedMark(exceedMark); } } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml index 83161fa..898e719 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml @@ -17,6 +17,8 @@ + + diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java index 6e62c48..6b21556 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java @@ -1012,22 +1012,17 @@ } else if ("7".equals(measureData.getDataType())) { //输出电压最大变化值 - List dcPowers = channelGroup.get(measureData.getOutputChannel()); - BigDecimal maxVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).max(BigDecimal::compareTo).get(); - BigDecimal minVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).min(BigDecimal::compareTo).get(); - BigDecimal voltageMaxChange = maxVoltageOutput.subtract(minVoltageOutput); + BigDecimal voltageOutputValueUpper = new BigDecimal(measureData.getVoltageOutputValueUpper()); + BigDecimal voltageOutputValueLower = new BigDecimal(measureData.getVoltageOutputValueLower()); + BigDecimal voltageMaxChange = voltageOutputValueUpper.subtract(voltageOutputValueLower); measureData.setOutputVoltageMaxChange(String.valueOf(voltageMaxChange)); - //短期稳定性 = 输出电压最大变化值/被测电源输出电压第一次测量结果(即第一行数据) - //第1行数据 - BizBusinessDeviceMeasureDataDcPower dataDcPower = measureDataList.stream().filter(dc -> "7".equals(dc.getDataType())).findFirst().get(); - BigDecimal firstVoltageOutputValue = new BigDecimal(dataDcPower.getVoltageOutputValue()); - if (firstVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { + //短期稳定性 = 输出电压最大变化值/被测电源输出电压均值 + BigDecimal meanVoltageOutputValue = (voltageOutputValueUpper.add(voltageOutputValueLower)).divide(BigDecimal.valueOf(2), 1, RoundingMode.HALF_UP); + if (meanVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { BigDecimal multiplyVoltageMaxChange = voltageMaxChange.multiply(BigDecimal.valueOf(100)); - BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(firstVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); + BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(meanVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); measureData.setShortTermStability(shortTermStability + "%"); - int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability.divide(BigDecimal.valueOf(100))), new BigDecimal(measureData.getTechnicalIndex())); + int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability), new BigDecimal(measureData.getTechnicalIndex())); measureData.setExceedMark(exceedMark); } } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml index 83161fa..898e719 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml @@ -17,6 +17,8 @@ + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java index dec65de..d622d91 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java @@ -133,6 +133,14 @@ @TableField("voltage_output_value") private String voltageOutputValue; + @ApiModelProperty(value = "被检电源输出电压值上限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_upper") + private String voltageOutputValueUpper; + + @ApiModelProperty(value = "被检电源输出电压值下限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_lower") + private String voltageOutputValueLower; + /** * 电压差值 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java index 6e62c48..6b21556 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java @@ -1012,22 +1012,17 @@ } else if ("7".equals(measureData.getDataType())) { //输出电压最大变化值 - List dcPowers = channelGroup.get(measureData.getOutputChannel()); - BigDecimal maxVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).max(BigDecimal::compareTo).get(); - BigDecimal minVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).min(BigDecimal::compareTo).get(); - BigDecimal voltageMaxChange = maxVoltageOutput.subtract(minVoltageOutput); + BigDecimal voltageOutputValueUpper = new BigDecimal(measureData.getVoltageOutputValueUpper()); + BigDecimal voltageOutputValueLower = new BigDecimal(measureData.getVoltageOutputValueLower()); + BigDecimal voltageMaxChange = voltageOutputValueUpper.subtract(voltageOutputValueLower); measureData.setOutputVoltageMaxChange(String.valueOf(voltageMaxChange)); - //短期稳定性 = 输出电压最大变化值/被测电源输出电压第一次测量结果(即第一行数据) - //第1行数据 - BizBusinessDeviceMeasureDataDcPower dataDcPower = measureDataList.stream().filter(dc -> "7".equals(dc.getDataType())).findFirst().get(); - BigDecimal firstVoltageOutputValue = new BigDecimal(dataDcPower.getVoltageOutputValue()); - if (firstVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { + //短期稳定性 = 输出电压最大变化值/被测电源输出电压均值 + BigDecimal meanVoltageOutputValue = (voltageOutputValueUpper.add(voltageOutputValueLower)).divide(BigDecimal.valueOf(2), 1, RoundingMode.HALF_UP); + if (meanVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { BigDecimal multiplyVoltageMaxChange = voltageMaxChange.multiply(BigDecimal.valueOf(100)); - BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(firstVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); + BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(meanVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); measureData.setShortTermStability(shortTermStability + "%"); - int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability.divide(BigDecimal.valueOf(100))), new BigDecimal(measureData.getTechnicalIndex())); + int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability), new BigDecimal(measureData.getTechnicalIndex())); measureData.setExceedMark(exceedMark); } } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml index 83161fa..898e719 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml @@ -17,6 +17,8 @@ + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java index dec65de..d622d91 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java @@ -133,6 +133,14 @@ @TableField("voltage_output_value") private String voltageOutputValue; + @ApiModelProperty(value = "被检电源输出电压值上限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_upper") + private String voltageOutputValueUpper; + + @ApiModelProperty(value = "被检电源输出电压值下限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_lower") + private String voltageOutputValueLower; + /** * 电压差值 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java index faa3af6..f2d8779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java @@ -88,8 +88,8 @@ int max = absoluteError.compareTo(positiveNum); int min = absoluteError.compareTo(nagativeNum); dcPower.setMaximumError(dcPower.getMaximumError() + dcPower.getMaximumErrorUnit()); - dcPower.setStandardVoltageValue(StringUtils.isNotBlank(dcPower.getStandardVoltageValue()) ? dcPower.getStandardVoltageValue() + dcPower.getStandardVoltageValueUnit() : ""); - dcPower.setStandardResistanceValue(StringUtils.isNotBlank(dcPower.getStandardResistanceValue()) ? dcPower.getStandardResistanceValue() + dcPower.getStandardResistanceValueUnit() : ""); + dcPower.setStandardVoltageValue(StringUtils.isNotBlank(dcPower.getStandardVoltageValue()) ? dcPower.getStandardVoltageValue() : ""); + dcPower.setStandardResistanceValue(StringUtils.isNotBlank(dcPower.getStandardResistanceValue()) ? dcPower.getStandardResistanceValue() : ""); if (max > 0 || min < 0) { dcPower.setAbsoluteError(StringUtils.isNotBlank(dcPower.getAbsoluteError()) ? dcPower.getAbsoluteError() + " *" : ""); } @@ -105,7 +105,7 @@ BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); BigDecimal rippleVoltage = new BigDecimal(dcPower.getRippleVoltage()); int compare = rippleVoltage.compareTo(technicalIndex); - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex()); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + dcPower.getUnit()); dcPower.setRippleVoltage(dcPower.getRippleVoltage() + dcPower.getUnit()); if (compare > 0) { dcPower.setRippleVoltage(dcPower.getRippleVoltage() + " *"); @@ -118,15 +118,17 @@ */ @Override public void appendAsterisksIfNeeded(BizBusinessDeviceMeasureDataDcPower dcPower) { - if (StringUtils.isNotBlank(dcPower.getTechnicalIndex()) && StringUtils.isNotBlank(dcPower.getShortTermStability()) && !"/".equals(dcPower.getShortTermStability()) && "/".equals(dcPower.getTechnicalIndex())) { + if (StringUtils.isNotBlank(dcPower.getTechnicalIndex()) && StringUtils.isNotBlank(dcPower.getShortTermStability()) && !"/".equals(dcPower.getShortTermStability()) && !"/".equals(dcPower.getTechnicalIndex())) { int digit = dcPower.getTechnicalIndexDigit(); - BigDecimal shortTermStability = new BigDecimal(dcPower.getShortTermStability()).setScale(digit, RoundingMode.HALF_UP); - BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); - int compare = shortTermStability.compareTo(technicalIndex); - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "%"); - dcPower.setShortTermStability(dcPower.getShortTermStability() + "%"); - if (compare > 0) { - dcPower.setShortTermStability(dcPower.getShortTermStability() + " *"); + if (dcPower.getShortTermStability().contains("%")) { + String replace = dcPower.getShortTermStability().replace("%", ""); + BigDecimal shortTermStability = new BigDecimal(replace).divide(BigDecimal.valueOf(100), digit, RoundingMode.HALF_UP); + BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); + int compare = shortTermStability.compareTo(technicalIndex); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "%"); + if (compare > 0) { + dcPower.setShortTermStability(dcPower.getShortTermStability() + " *"); + } } } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java index 6e62c48..6b21556 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java @@ -1012,22 +1012,17 @@ } else if ("7".equals(measureData.getDataType())) { //输出电压最大变化值 - List dcPowers = channelGroup.get(measureData.getOutputChannel()); - BigDecimal maxVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).max(BigDecimal::compareTo).get(); - BigDecimal minVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).min(BigDecimal::compareTo).get(); - BigDecimal voltageMaxChange = maxVoltageOutput.subtract(minVoltageOutput); + BigDecimal voltageOutputValueUpper = new BigDecimal(measureData.getVoltageOutputValueUpper()); + BigDecimal voltageOutputValueLower = new BigDecimal(measureData.getVoltageOutputValueLower()); + BigDecimal voltageMaxChange = voltageOutputValueUpper.subtract(voltageOutputValueLower); measureData.setOutputVoltageMaxChange(String.valueOf(voltageMaxChange)); - //短期稳定性 = 输出电压最大变化值/被测电源输出电压第一次测量结果(即第一行数据) - //第1行数据 - BizBusinessDeviceMeasureDataDcPower dataDcPower = measureDataList.stream().filter(dc -> "7".equals(dc.getDataType())).findFirst().get(); - BigDecimal firstVoltageOutputValue = new BigDecimal(dataDcPower.getVoltageOutputValue()); - if (firstVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { + //短期稳定性 = 输出电压最大变化值/被测电源输出电压均值 + BigDecimal meanVoltageOutputValue = (voltageOutputValueUpper.add(voltageOutputValueLower)).divide(BigDecimal.valueOf(2), 1, RoundingMode.HALF_UP); + if (meanVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { BigDecimal multiplyVoltageMaxChange = voltageMaxChange.multiply(BigDecimal.valueOf(100)); - BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(firstVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); + BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(meanVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); measureData.setShortTermStability(shortTermStability + "%"); - int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability.divide(BigDecimal.valueOf(100))), new BigDecimal(measureData.getTechnicalIndex())); + int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability), new BigDecimal(measureData.getTechnicalIndex())); measureData.setExceedMark(exceedMark); } } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml index 83161fa..898e719 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml @@ -17,6 +17,8 @@ + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java index dec65de..d622d91 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java @@ -133,6 +133,14 @@ @TableField("voltage_output_value") private String voltageOutputValue; + @ApiModelProperty(value = "被检电源输出电压值上限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_upper") + private String voltageOutputValueUpper; + + @ApiModelProperty(value = "被检电源输出电压值下限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_lower") + private String voltageOutputValueLower; + /** * 电压差值 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java index faa3af6..f2d8779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java @@ -88,8 +88,8 @@ int max = absoluteError.compareTo(positiveNum); int min = absoluteError.compareTo(nagativeNum); dcPower.setMaximumError(dcPower.getMaximumError() + dcPower.getMaximumErrorUnit()); - dcPower.setStandardVoltageValue(StringUtils.isNotBlank(dcPower.getStandardVoltageValue()) ? dcPower.getStandardVoltageValue() + dcPower.getStandardVoltageValueUnit() : ""); - dcPower.setStandardResistanceValue(StringUtils.isNotBlank(dcPower.getStandardResistanceValue()) ? dcPower.getStandardResistanceValue() + dcPower.getStandardResistanceValueUnit() : ""); + dcPower.setStandardVoltageValue(StringUtils.isNotBlank(dcPower.getStandardVoltageValue()) ? dcPower.getStandardVoltageValue() : ""); + dcPower.setStandardResistanceValue(StringUtils.isNotBlank(dcPower.getStandardResistanceValue()) ? dcPower.getStandardResistanceValue() : ""); if (max > 0 || min < 0) { dcPower.setAbsoluteError(StringUtils.isNotBlank(dcPower.getAbsoluteError()) ? dcPower.getAbsoluteError() + " *" : ""); } @@ -105,7 +105,7 @@ BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); BigDecimal rippleVoltage = new BigDecimal(dcPower.getRippleVoltage()); int compare = rippleVoltage.compareTo(technicalIndex); - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex()); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + dcPower.getUnit()); dcPower.setRippleVoltage(dcPower.getRippleVoltage() + dcPower.getUnit()); if (compare > 0) { dcPower.setRippleVoltage(dcPower.getRippleVoltage() + " *"); @@ -118,15 +118,17 @@ */ @Override public void appendAsterisksIfNeeded(BizBusinessDeviceMeasureDataDcPower dcPower) { - if (StringUtils.isNotBlank(dcPower.getTechnicalIndex()) && StringUtils.isNotBlank(dcPower.getShortTermStability()) && !"/".equals(dcPower.getShortTermStability()) && "/".equals(dcPower.getTechnicalIndex())) { + if (StringUtils.isNotBlank(dcPower.getTechnicalIndex()) && StringUtils.isNotBlank(dcPower.getShortTermStability()) && !"/".equals(dcPower.getShortTermStability()) && !"/".equals(dcPower.getTechnicalIndex())) { int digit = dcPower.getTechnicalIndexDigit(); - BigDecimal shortTermStability = new BigDecimal(dcPower.getShortTermStability()).setScale(digit, RoundingMode.HALF_UP); - BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); - int compare = shortTermStability.compareTo(technicalIndex); - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "%"); - dcPower.setShortTermStability(dcPower.getShortTermStability() + "%"); - if (compare > 0) { - dcPower.setShortTermStability(dcPower.getShortTermStability() + " *"); + if (dcPower.getShortTermStability().contains("%")) { + String replace = dcPower.getShortTermStability().replace("%", ""); + BigDecimal shortTermStability = new BigDecimal(replace).divide(BigDecimal.valueOf(100), digit, RoundingMode.HALF_UP); + BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); + int compare = shortTermStability.compareTo(technicalIndex); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "%"); + if (compare > 0) { + dcPower.setShortTermStability(dcPower.getShortTermStability() + " *"); + } } } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java index 2f45791..e37043f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java @@ -17,6 +17,8 @@ @Override public void appendAsterisksIfNeeded(BizBusinessDeviceMeasureDataLowPower lowPower) { lowPower.setProbeCalibrationFactor(StringUtils.isNotBlank(lowPower.getProbeCalibrationFactor()) ? lowPower.getProbeCalibrationFactor() + "%" : lowPower.getProbeCalibrationFactor()); + lowPower.setUrel(StringUtils.isNotBlank(lowPower.getUrel()) ? lowPower.getUrel() + "%" : lowPower.getUrel()); + lowPower.setKc(StringUtils.isNotBlank(lowPower.getKc()) ? lowPower.getKc() + "%" : lowPower.getKc()); } } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java index 6e62c48..6b21556 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MeasureInfoFormulaCalculateUtil.java @@ -1012,22 +1012,17 @@ } else if ("7".equals(measureData.getDataType())) { //输出电压最大变化值 - List dcPowers = channelGroup.get(measureData.getOutputChannel()); - BigDecimal maxVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).max(BigDecimal::compareTo).get(); - BigDecimal minVoltageOutput = dcPowers.stream().map(BizBusinessDeviceMeasureDataDcPower::getVoltageOutputValue) - .map(BigDecimal::new).min(BigDecimal::compareTo).get(); - BigDecimal voltageMaxChange = maxVoltageOutput.subtract(minVoltageOutput); + BigDecimal voltageOutputValueUpper = new BigDecimal(measureData.getVoltageOutputValueUpper()); + BigDecimal voltageOutputValueLower = new BigDecimal(measureData.getVoltageOutputValueLower()); + BigDecimal voltageMaxChange = voltageOutputValueUpper.subtract(voltageOutputValueLower); measureData.setOutputVoltageMaxChange(String.valueOf(voltageMaxChange)); - //短期稳定性 = 输出电压最大变化值/被测电源输出电压第一次测量结果(即第一行数据) - //第1行数据 - BizBusinessDeviceMeasureDataDcPower dataDcPower = measureDataList.stream().filter(dc -> "7".equals(dc.getDataType())).findFirst().get(); - BigDecimal firstVoltageOutputValue = new BigDecimal(dataDcPower.getVoltageOutputValue()); - if (firstVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { + //短期稳定性 = 输出电压最大变化值/被测电源输出电压均值 + BigDecimal meanVoltageOutputValue = (voltageOutputValueUpper.add(voltageOutputValueLower)).divide(BigDecimal.valueOf(2), 1, RoundingMode.HALF_UP); + if (meanVoltageOutputValue.compareTo(BigDecimal.ZERO) != 0) { BigDecimal multiplyVoltageMaxChange = voltageMaxChange.multiply(BigDecimal.valueOf(100)); - BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(firstVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); + BigDecimal shortTermStability = multiplyVoltageMaxChange.divide(meanVoltageOutputValue, measureData.getTechnicalIndexDigit(), RoundingMode.HALF_UP); measureData.setShortTermStability(shortTermStability + "%"); - int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability.divide(BigDecimal.valueOf(100))), new BigDecimal(measureData.getTechnicalIndex())); + int exceedMark = judgeSymbol(measureData.getTechnicalIndexSymbol(), String.valueOf(shortTermStability), new BigDecimal(measureData.getTechnicalIndex())); measureData.setExceedMark(exceedMark); } } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml index 83161fa..898e719 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BizBusinessDeviceMeasureDataDcPowerMapper.xml @@ -17,6 +17,8 @@ + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java index dec65de..d622d91 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataDcPower.java @@ -133,6 +133,14 @@ @TableField("voltage_output_value") private String voltageOutputValue; + @ApiModelProperty(value = "被检电源输出电压值上限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_upper") + private String voltageOutputValueUpper; + + @ApiModelProperty(value = "被检电源输出电压值下限(输出电压短期稳定性)", dataType = "String") + @TableField("voltage_output_value_lower") + private String voltageOutputValueLower; + /** * 电压差值 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java index faa3af6..f2d8779 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/DcPowerStrategyType.java @@ -88,8 +88,8 @@ int max = absoluteError.compareTo(positiveNum); int min = absoluteError.compareTo(nagativeNum); dcPower.setMaximumError(dcPower.getMaximumError() + dcPower.getMaximumErrorUnit()); - dcPower.setStandardVoltageValue(StringUtils.isNotBlank(dcPower.getStandardVoltageValue()) ? dcPower.getStandardVoltageValue() + dcPower.getStandardVoltageValueUnit() : ""); - dcPower.setStandardResistanceValue(StringUtils.isNotBlank(dcPower.getStandardResistanceValue()) ? dcPower.getStandardResistanceValue() + dcPower.getStandardResistanceValueUnit() : ""); + dcPower.setStandardVoltageValue(StringUtils.isNotBlank(dcPower.getStandardVoltageValue()) ? dcPower.getStandardVoltageValue() : ""); + dcPower.setStandardResistanceValue(StringUtils.isNotBlank(dcPower.getStandardResistanceValue()) ? dcPower.getStandardResistanceValue() : ""); if (max > 0 || min < 0) { dcPower.setAbsoluteError(StringUtils.isNotBlank(dcPower.getAbsoluteError()) ? dcPower.getAbsoluteError() + " *" : ""); } @@ -105,7 +105,7 @@ BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); BigDecimal rippleVoltage = new BigDecimal(dcPower.getRippleVoltage()); int compare = rippleVoltage.compareTo(technicalIndex); - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex()); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + dcPower.getUnit()); dcPower.setRippleVoltage(dcPower.getRippleVoltage() + dcPower.getUnit()); if (compare > 0) { dcPower.setRippleVoltage(dcPower.getRippleVoltage() + " *"); @@ -118,15 +118,17 @@ */ @Override public void appendAsterisksIfNeeded(BizBusinessDeviceMeasureDataDcPower dcPower) { - if (StringUtils.isNotBlank(dcPower.getTechnicalIndex()) && StringUtils.isNotBlank(dcPower.getShortTermStability()) && !"/".equals(dcPower.getShortTermStability()) && "/".equals(dcPower.getTechnicalIndex())) { + if (StringUtils.isNotBlank(dcPower.getTechnicalIndex()) && StringUtils.isNotBlank(dcPower.getShortTermStability()) && !"/".equals(dcPower.getShortTermStability()) && !"/".equals(dcPower.getTechnicalIndex())) { int digit = dcPower.getTechnicalIndexDigit(); - BigDecimal shortTermStability = new BigDecimal(dcPower.getShortTermStability()).setScale(digit, RoundingMode.HALF_UP); - BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); - int compare = shortTermStability.compareTo(technicalIndex); - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "%"); - dcPower.setShortTermStability(dcPower.getShortTermStability() + "%"); - if (compare > 0) { - dcPower.setShortTermStability(dcPower.getShortTermStability() + " *"); + if (dcPower.getShortTermStability().contains("%")) { + String replace = dcPower.getShortTermStability().replace("%", ""); + BigDecimal shortTermStability = new BigDecimal(replace).divide(BigDecimal.valueOf(100), digit, RoundingMode.HALF_UP); + BigDecimal technicalIndex = new BigDecimal(dcPower.getTechnicalIndex()); + int compare = shortTermStability.compareTo(technicalIndex); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "%"); + if (compare > 0) { + dcPower.setShortTermStability(dcPower.getShortTermStability() + " *"); + } } } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java index 2f45791..e37043f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/LowPowerStrategyType.java @@ -17,6 +17,8 @@ @Override public void appendAsterisksIfNeeded(BizBusinessDeviceMeasureDataLowPower lowPower) { lowPower.setProbeCalibrationFactor(StringUtils.isNotBlank(lowPower.getProbeCalibrationFactor()) ? lowPower.getProbeCalibrationFactor() + "%" : lowPower.getProbeCalibrationFactor()); + lowPower.setUrel(StringUtils.isNotBlank(lowPower.getUrel()) ? lowPower.getUrel() + "%" : lowPower.getUrel()); + lowPower.setKc(StringUtils.isNotBlank(lowPower.getKc()) ? lowPower.getKc() + "%" : lowPower.getKc()); } } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index 407c2fb..8dfeed4 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -98,11 +98,12 @@ case TEST_REPORT: map.put("test", "\uF052"); map.put("title", "测试结果"); + map.put("conclusion", "\\"); break; case CALIBRATE_REPORT: map.put("calibrate", "\uF052"); map.put("title", "校准结果"); - map.put("conclusion", ""); + map.put("conclusion", "\\"); map.put("outcome", ""); break; case MEASURE_REPORT: