diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } 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 8eed10d..8f51bea 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 @@ -333,7 +333,7 @@ }).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(new BigDecimal(0.00)); //在整个测量范围内的标准偏差---计算 3、重复性ξR 使用 //精度保证最终结果的精度即可,过程中数的数据精度大等于结果的3位以上即可 - BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size()))); + BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size())), 4, BigDecimal.ROUND_DOWN); BigDecimal rangeStandardDeviation = sqrt(rangeStandardDeviationTransfer, 6); //正行程平均值-反行程平均值的绝对值最大值---计算 4、迟滞ξH 使用 @@ -496,6 +496,7 @@ BigDecimal periodicStabilitySB = (slopeB.subtract(slopeB0)).abs().divide(slopeB.abs(), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); pistonGaugeData.setPeriodicStabilitySB(String.valueOf(periodicStabilitySB)); } + measureDataList.add(pistonGaugeData); } else if ("压力变送器".equals(itemCategoryName)) { //取绝对值最大的原值 getErrorResultTwo(measureDataList, indicatingErrorTransferList, returnErrorTransferList, pistonGaugeData); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } 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 8eed10d..8f51bea 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 @@ -333,7 +333,7 @@ }).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(new BigDecimal(0.00)); //在整个测量范围内的标准偏差---计算 3、重复性ξR 使用 //精度保证最终结果的精度即可,过程中数的数据精度大等于结果的3位以上即可 - BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size()))); + BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size())), 4, BigDecimal.ROUND_DOWN); BigDecimal rangeStandardDeviation = sqrt(rangeStandardDeviationTransfer, 6); //正行程平均值-反行程平均值的绝对值最大值---计算 4、迟滞ξH 使用 @@ -496,6 +496,7 @@ BigDecimal periodicStabilitySB = (slopeB.subtract(slopeB0)).abs().divide(slopeB.abs(), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); pistonGaugeData.setPeriodicStabilitySB(String.valueOf(periodicStabilitySB)); } + measureDataList.add(pistonGaugeData); } else if ("压力变送器".equals(itemCategoryName)) { //取绝对值最大的原值 getErrorResultTwo(measureDataList, indicatingErrorTransferList, returnErrorTransferList, pistonGaugeData); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java index 21aa6d2..e6348d0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.equipment; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,4 +26,7 @@ @ApiModelProperty(value = "核查数据-0.02活塞式压力计", dataType = "List") private List checkDataPistonGaugeList; + + @ApiModelProperty(value = "核查数据-多功能电气安全校准器标准装置", dataType = "List") + private List checkDataElectricalSafetyList; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } 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 8eed10d..8f51bea 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 @@ -333,7 +333,7 @@ }).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(new BigDecimal(0.00)); //在整个测量范围内的标准偏差---计算 3、重复性ξR 使用 //精度保证最终结果的精度即可,过程中数的数据精度大等于结果的3位以上即可 - BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size()))); + BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size())), 4, BigDecimal.ROUND_DOWN); BigDecimal rangeStandardDeviation = sqrt(rangeStandardDeviationTransfer, 6); //正行程平均值-反行程平均值的绝对值最大值---计算 4、迟滞ξH 使用 @@ -496,6 +496,7 @@ BigDecimal periodicStabilitySB = (slopeB.subtract(slopeB0)).abs().divide(slopeB.abs(), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); pistonGaugeData.setPeriodicStabilitySB(String.valueOf(periodicStabilitySB)); } + measureDataList.add(pistonGaugeData); } else if ("压力变送器".equals(itemCategoryName)) { //取绝对值最大的原值 getErrorResultTwo(measureDataList, indicatingErrorTransferList, returnErrorTransferList, pistonGaugeData); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java index 21aa6d2..e6348d0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.equipment; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,4 +26,7 @@ @ApiModelProperty(value = "核查数据-0.02活塞式压力计", dataType = "List") private List checkDataPistonGaugeList; + + @ApiModelProperty(value = "核查数据-多功能电气安全校准器标准装置", dataType = "List") + private List checkDataElectricalSafetyList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java index fd571dc..ce23a5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java @@ -208,13 +208,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("data_id", measureInfo.getId()); + measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("data_id", measureInfo.getId()); measureInfo.setMeasureDataPistonGaugeList(measureDataPistonGaugeMapper.selectList(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -225,21 +230,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("data_id", measureInfo.getId()); - measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); - return; default: return; } @@ -277,12 +277,16 @@ return ReturnUtil.success(measureDataList); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyDataList + = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); + return ReturnUtil.success(electricalSafetyDataList); case PISTON_GAUGE: List pistonGaugeDataList = MeasureInfoFormulaCalculateUtil.pistonGaugeCalculate(request); return ReturnUtil.success(pistonGaugeDataList); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -293,20 +297,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyDataList - = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); - return ReturnUtil.success(electricalSafetyDataList); default: return ReturnUtil.success(); } @@ -359,7 +359,14 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); + for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { + dataElectricalSafety.setDataId(measureInfo.getId()); + } + if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { + return true; + } return false; case PISTON_GAUGE: List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); @@ -370,6 +377,8 @@ return true; } return false; + case RESISTANCE_THERMOMETER: + return false; case SPECTRUM_ANALYZER: return false; case SIGNAL_GENERATOR: @@ -380,25 +389,16 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; - case ELECTRICAL_SAFETY: - List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); - for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { - dataElectricalSafety.setDataId(measureInfo.getId()); - } - if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { - return true; - } - return false; default: return false; } @@ -435,13 +435,13 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; @@ -468,53 +468,6 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: - return false; - case PISTON_GAUGE: - List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); - List pistonGaugeModifyList = new ArrayList<>(); - measureDataPistonGaugeList.forEach(measureData -> { - BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); - String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); - if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); - } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); - } - }); - if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { - saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); - return true; - } - return false; - case SPECTRUM_ANALYZER: - return false; - case SIGNAL_GENERATOR: - return false; - case MICROWAVE_ATTENUATION: - return false; - case FREQUENCY_STABILITY: - return false; - case OSCILLOSCOPE: - return false; - case TIME_FREQUENCY: - return false; - case LOW_POWER: - return false; - case LOW_FREQUENCY_SIGNAL_GENERATOR: - return false; - case VECTOR_NETWORK_ANALYZER: - return false; - case DEGREE_OF_DISTORTION: - return false; case ELECTRICAL_SAFETY: List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); List electricalSafetyModifyList = new ArrayList<>(); @@ -547,6 +500,53 @@ return true; } return false; + case PISTON_GAUGE: + List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); + List pistonGaugeModifyList = new ArrayList<>(); + measureDataPistonGaugeList.forEach(measureData -> { + BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); + String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); + if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); + } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); + } + }); + if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { + saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); + return true; + } + return false; + case RESISTANCE_THERMOMETER: + return false; + case SPECTRUM_ANALYZER: + return false; + case SIGNAL_GENERATOR: + return false; + case MICROWAVE_ATTENUATION: + return false; + case FREQUENCY_STABILITY: + return false; + case OSCILLOSCOPE: + return false; + case CESIUM_ATOM: + return false; + case LOW_POWER: + return false; + case LOW_FREQUENCY_SIGNAL_GENERATOR: + return false; + case S_PARAM: + return false; + case DEGREE_OF_DISTORTION: + return false; default: return false; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } 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 8eed10d..8f51bea 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 @@ -333,7 +333,7 @@ }).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(new BigDecimal(0.00)); //在整个测量范围内的标准偏差---计算 3、重复性ξR 使用 //精度保证最终结果的精度即可,过程中数的数据精度大等于结果的3位以上即可 - BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size()))); + BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size())), 4, BigDecimal.ROUND_DOWN); BigDecimal rangeStandardDeviation = sqrt(rangeStandardDeviationTransfer, 6); //正行程平均值-反行程平均值的绝对值最大值---计算 4、迟滞ξH 使用 @@ -496,6 +496,7 @@ BigDecimal periodicStabilitySB = (slopeB.subtract(slopeB0)).abs().divide(slopeB.abs(), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); pistonGaugeData.setPeriodicStabilitySB(String.valueOf(periodicStabilitySB)); } + measureDataList.add(pistonGaugeData); } else if ("压力变送器".equals(itemCategoryName)) { //取绝对值最大的原值 getErrorResultTwo(measureDataList, indicatingErrorTransferList, returnErrorTransferList, pistonGaugeData); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java index 21aa6d2..e6348d0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.equipment; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,4 +26,7 @@ @ApiModelProperty(value = "核查数据-0.02活塞式压力计", dataType = "List") private List checkDataPistonGaugeList; + + @ApiModelProperty(value = "核查数据-多功能电气安全校准器标准装置", dataType = "List") + private List checkDataElectricalSafetyList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java index fd571dc..ce23a5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java @@ -208,13 +208,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("data_id", measureInfo.getId()); + measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("data_id", measureInfo.getId()); measureInfo.setMeasureDataPistonGaugeList(measureDataPistonGaugeMapper.selectList(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -225,21 +230,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("data_id", measureInfo.getId()); - measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); - return; default: return; } @@ -277,12 +277,16 @@ return ReturnUtil.success(measureDataList); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyDataList + = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); + return ReturnUtil.success(electricalSafetyDataList); case PISTON_GAUGE: List pistonGaugeDataList = MeasureInfoFormulaCalculateUtil.pistonGaugeCalculate(request); return ReturnUtil.success(pistonGaugeDataList); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -293,20 +297,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyDataList - = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); - return ReturnUtil.success(electricalSafetyDataList); default: return ReturnUtil.success(); } @@ -359,7 +359,14 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); + for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { + dataElectricalSafety.setDataId(measureInfo.getId()); + } + if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { + return true; + } return false; case PISTON_GAUGE: List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); @@ -370,6 +377,8 @@ return true; } return false; + case RESISTANCE_THERMOMETER: + return false; case SPECTRUM_ANALYZER: return false; case SIGNAL_GENERATOR: @@ -380,25 +389,16 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; - case ELECTRICAL_SAFETY: - List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); - for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { - dataElectricalSafety.setDataId(measureInfo.getId()); - } - if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { - return true; - } - return false; default: return false; } @@ -435,13 +435,13 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; @@ -468,53 +468,6 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: - return false; - case PISTON_GAUGE: - List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); - List pistonGaugeModifyList = new ArrayList<>(); - measureDataPistonGaugeList.forEach(measureData -> { - BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); - String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); - if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); - } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); - } - }); - if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { - saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); - return true; - } - return false; - case SPECTRUM_ANALYZER: - return false; - case SIGNAL_GENERATOR: - return false; - case MICROWAVE_ATTENUATION: - return false; - case FREQUENCY_STABILITY: - return false; - case OSCILLOSCOPE: - return false; - case TIME_FREQUENCY: - return false; - case LOW_POWER: - return false; - case LOW_FREQUENCY_SIGNAL_GENERATOR: - return false; - case VECTOR_NETWORK_ANALYZER: - return false; - case DEGREE_OF_DISTORTION: - return false; case ELECTRICAL_SAFETY: List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); List electricalSafetyModifyList = new ArrayList<>(); @@ -547,6 +500,53 @@ return true; } return false; + case PISTON_GAUGE: + List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); + List pistonGaugeModifyList = new ArrayList<>(); + measureDataPistonGaugeList.forEach(measureData -> { + BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); + String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); + if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); + } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); + } + }); + if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { + saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); + return true; + } + return false; + case RESISTANCE_THERMOMETER: + return false; + case SPECTRUM_ANALYZER: + return false; + case SIGNAL_GENERATOR: + return false; + case MICROWAVE_ATTENUATION: + return false; + case FREQUENCY_STABILITY: + return false; + case OSCILLOSCOPE: + return false; + case CESIUM_ATOM: + return false; + case LOW_POWER: + return false; + case LOW_FREQUENCY_SIGNAL_GENERATOR: + return false; + case S_PARAM: + return false; + case DEGREE_OF_DISTORTION: + return false; default: return false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java index cf29a04..22e0fc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java @@ -246,13 +246,13 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; @@ -271,13 +271,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("item_id", request.getId()); + measureItemInfo.setMeasureItemDataElectricalSafetyList(measureItemDataElectricalSafetyService.list(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("item_id", request.getId()); measureItemInfo.setMeasureItemDataPistonGaugeList(measureItemDataPistonGaugeService.list(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -288,21 +293,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("item_id", request.getId()); - measureItemInfo.setMeasureItemDataElectricalSafetyList(measureItemDataElectricalSafetyService.list(electricalSafetyWrapper)); - return; default: return; } @@ -361,13 +361,13 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; @@ -389,8 +389,13 @@ return ReturnUtil.success(); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyList = request.getMeasureItemDataElectricalSafetyList(); + if (CollectionUtils.isEmpty(electricalSafetyList)) { + return ReturnUtil.success(new ArrayList<>()); + } + electricalSafetyList = MeasureItemFormulaCalculateUtil.electricalSafetyRecalculate(electricalSafetyList, itemCategoryName); + return ReturnUtil.success(electricalSafetyList); case PISTON_GAUGE: List list = request.getMeasureItemDataPistonGaugeList(); BizBusinessDeviceMeasureItemConfigPistonGauge itemConfig = request.getMeasureItemConfigPistonGauge(); @@ -399,6 +404,8 @@ } list = MeasureItemFormulaCalculateUtil.pistonGaugeRecalculate(itemConfig, list, itemCategoryName); return ReturnUtil.success(list); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -409,23 +416,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyList = request.getMeasureItemDataElectricalSafetyList(); - if (CollectionUtils.isEmpty(electricalSafetyList)) { - return ReturnUtil.success(new ArrayList<>()); - } - electricalSafetyList = MeasureItemFormulaCalculateUtil.electricalSafetyRecalculate(electricalSafetyList, itemCategoryName); - return ReturnUtil.success(electricalSafetyList); default: return ReturnUtil.success(); } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } 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 8eed10d..8f51bea 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 @@ -333,7 +333,7 @@ }).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(new BigDecimal(0.00)); //在整个测量范围内的标准偏差---计算 3、重复性ξR 使用 //精度保证最终结果的精度即可,过程中数的数据精度大等于结果的3位以上即可 - BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size()))); + BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size())), 4, BigDecimal.ROUND_DOWN); BigDecimal rangeStandardDeviation = sqrt(rangeStandardDeviationTransfer, 6); //正行程平均值-反行程平均值的绝对值最大值---计算 4、迟滞ξH 使用 @@ -496,6 +496,7 @@ BigDecimal periodicStabilitySB = (slopeB.subtract(slopeB0)).abs().divide(slopeB.abs(), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); pistonGaugeData.setPeriodicStabilitySB(String.valueOf(periodicStabilitySB)); } + measureDataList.add(pistonGaugeData); } else if ("压力变送器".equals(itemCategoryName)) { //取绝对值最大的原值 getErrorResultTwo(measureDataList, indicatingErrorTransferList, returnErrorTransferList, pistonGaugeData); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java index 21aa6d2..e6348d0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.equipment; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,4 +26,7 @@ @ApiModelProperty(value = "核查数据-0.02活塞式压力计", dataType = "List") private List checkDataPistonGaugeList; + + @ApiModelProperty(value = "核查数据-多功能电气安全校准器标准装置", dataType = "List") + private List checkDataElectricalSafetyList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java index fd571dc..ce23a5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java @@ -208,13 +208,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("data_id", measureInfo.getId()); + measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("data_id", measureInfo.getId()); measureInfo.setMeasureDataPistonGaugeList(measureDataPistonGaugeMapper.selectList(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -225,21 +230,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("data_id", measureInfo.getId()); - measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); - return; default: return; } @@ -277,12 +277,16 @@ return ReturnUtil.success(measureDataList); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyDataList + = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); + return ReturnUtil.success(electricalSafetyDataList); case PISTON_GAUGE: List pistonGaugeDataList = MeasureInfoFormulaCalculateUtil.pistonGaugeCalculate(request); return ReturnUtil.success(pistonGaugeDataList); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -293,20 +297,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyDataList - = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); - return ReturnUtil.success(electricalSafetyDataList); default: return ReturnUtil.success(); } @@ -359,7 +359,14 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); + for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { + dataElectricalSafety.setDataId(measureInfo.getId()); + } + if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { + return true; + } return false; case PISTON_GAUGE: List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); @@ -370,6 +377,8 @@ return true; } return false; + case RESISTANCE_THERMOMETER: + return false; case SPECTRUM_ANALYZER: return false; case SIGNAL_GENERATOR: @@ -380,25 +389,16 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; - case ELECTRICAL_SAFETY: - List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); - for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { - dataElectricalSafety.setDataId(measureInfo.getId()); - } - if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { - return true; - } - return false; default: return false; } @@ -435,13 +435,13 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; @@ -468,53 +468,6 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: - return false; - case PISTON_GAUGE: - List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); - List pistonGaugeModifyList = new ArrayList<>(); - measureDataPistonGaugeList.forEach(measureData -> { - BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); - String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); - if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); - } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); - } - }); - if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { - saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); - return true; - } - return false; - case SPECTRUM_ANALYZER: - return false; - case SIGNAL_GENERATOR: - return false; - case MICROWAVE_ATTENUATION: - return false; - case FREQUENCY_STABILITY: - return false; - case OSCILLOSCOPE: - return false; - case TIME_FREQUENCY: - return false; - case LOW_POWER: - return false; - case LOW_FREQUENCY_SIGNAL_GENERATOR: - return false; - case VECTOR_NETWORK_ANALYZER: - return false; - case DEGREE_OF_DISTORTION: - return false; case ELECTRICAL_SAFETY: List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); List electricalSafetyModifyList = new ArrayList<>(); @@ -547,6 +500,53 @@ return true; } return false; + case PISTON_GAUGE: + List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); + List pistonGaugeModifyList = new ArrayList<>(); + measureDataPistonGaugeList.forEach(measureData -> { + BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); + String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); + if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); + } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); + } + }); + if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { + saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); + return true; + } + return false; + case RESISTANCE_THERMOMETER: + return false; + case SPECTRUM_ANALYZER: + return false; + case SIGNAL_GENERATOR: + return false; + case MICROWAVE_ATTENUATION: + return false; + case FREQUENCY_STABILITY: + return false; + case OSCILLOSCOPE: + return false; + case CESIUM_ATOM: + return false; + case LOW_POWER: + return false; + case LOW_FREQUENCY_SIGNAL_GENERATOR: + return false; + case S_PARAM: + return false; + case DEGREE_OF_DISTORTION: + return false; default: return false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java index cf29a04..22e0fc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java @@ -246,13 +246,13 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; @@ -271,13 +271,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("item_id", request.getId()); + measureItemInfo.setMeasureItemDataElectricalSafetyList(measureItemDataElectricalSafetyService.list(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("item_id", request.getId()); measureItemInfo.setMeasureItemDataPistonGaugeList(measureItemDataPistonGaugeService.list(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -288,21 +293,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("item_id", request.getId()); - measureItemInfo.setMeasureItemDataElectricalSafetyList(measureItemDataElectricalSafetyService.list(electricalSafetyWrapper)); - return; default: return; } @@ -361,13 +361,13 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; @@ -389,8 +389,13 @@ return ReturnUtil.success(); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyList = request.getMeasureItemDataElectricalSafetyList(); + if (CollectionUtils.isEmpty(electricalSafetyList)) { + return ReturnUtil.success(new ArrayList<>()); + } + electricalSafetyList = MeasureItemFormulaCalculateUtil.electricalSafetyRecalculate(electricalSafetyList, itemCategoryName); + return ReturnUtil.success(electricalSafetyList); case PISTON_GAUGE: List list = request.getMeasureItemDataPistonGaugeList(); BizBusinessDeviceMeasureItemConfigPistonGauge itemConfig = request.getMeasureItemConfigPistonGauge(); @@ -399,6 +404,8 @@ } list = MeasureItemFormulaCalculateUtil.pistonGaugeRecalculate(itemConfig, list, itemCategoryName); return ReturnUtil.success(list); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -409,23 +416,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyList = request.getMeasureItemDataElectricalSafetyList(); - if (CollectionUtils.isEmpty(electricalSafetyList)) { - return ReturnUtil.success(new ArrayList<>()); - } - electricalSafetyList = MeasureItemFormulaCalculateUtil.electricalSafetyRecalculate(electricalSafetyList, itemCategoryName); - return ReturnUtil.success(electricalSafetyList); default: return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java index e563e65..c4bc252 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java @@ -181,11 +181,14 @@ return ReturnUtil.success(checkDataCalibratorList); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyList = CheckInfoFormulaCalculateUtil.electricalSafetyCalculate(request); + return ReturnUtil.success(electricalSafetyList); case PISTON_GAUGE: List checkDataPistonGaugeList = CheckInfoFormulaCalculateUtil.pistonGaugeCalculate(request); return ReturnUtil.success(checkDataPistonGaugeList); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -196,13 +199,13 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; @@ -223,13 +226,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("data_id", standardCheckInfo.getId()); + standardCheckInfo.setCheckDataElectricalSafetyList(checkDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("data_id", standardCheckInfo.getId()); standardCheckInfo.setCheckDataPistonGaugeList(checkDataPistonGaugeMapper.selectList(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -240,21 +248,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("data_id", standardCheckInfo.getId()); - standardCheckInfo.setCheckDataElectricalSafetyList(checkDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); - return; default: return; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java index c56671d..0b6cad9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureItemBelongStandardEquipmentDictEnum.java @@ -16,9 +16,9 @@ String DC_POWER_SUPPLY = "2"; /** - * 二等铂电阻温度计标准装置 + * 多功能电气安全校准器标准装置 */ - String RESISTANCE_THERMOMETER = "3"; + String ELECTRICAL_SAFETY = "3"; /** * 0.02级活塞式压力计标准装置 @@ -26,59 +26,74 @@ String PISTON_GAUGE = "4"; /** + * 二等铂电阻温度计标准装置 + */ + String RESISTANCE_THERMOMETER = "5"; + + /** + * 安全阀校验装置 + */ + String SAFETY_VALVE = "6"; + + /** + * 精密露点仪标准装置 + */ + String PRECISION_DEW_POINT = "7"; + + /** + * E2等砝码标准装置 + */ + String E2_WEIGHT = "8"; + + /** * 频谱分析仪标准装置 */ - String SPECTRUM_ANALYZER = "5"; + String SPECTRUM_ANALYZER = "9"; /** * 信号发生器标准装置 */ - String SIGNAL_GENERATOR = "6"; + String SIGNAL_GENERATOR = "10"; /** * 微波衰减标准装置 */ - String MICROWAVE_ATTENUATION = "7"; + String MICROWAVE_ATTENUATION = "11"; /** - * 频率稳定度标准装置 + * 频率短期稳定度标准装置 */ - String FREQUENCY_STABILITY = "8"; + String FREQUENCY_STABILITY = "12"; /** * 示波器标准装置 */ - String OSCILLOSCOPE = "9"; + String OSCILLOSCOPE = "13"; /** - * 时间频率标准装置 + * 铯原子频率标准装置 */ - String TIME_FREQUENCY = "10"; + String CESIUM_ATOM = "14"; /** * 小功率标准装置 */ - String LOW_POWER = "11"; + String LOW_POWER = "15"; /** * 低频信号发生器标准装置 */ - String LOW_FREQUENCY_SIGNAL_GENERATOR = "12"; + String LOW_FREQUENCY_SIGNAL_GENERATOR = "16"; /** - * 矢量网络分析仪标准装置 + * S参数标准装置 */ - String VECTOR_NETWORK_ANALYZER = "13"; + String S_PARAM = "17"; /** * 失真度标准装置 */ - String DEGREE_OF_DISTORTION = "14"; - - /** - * 多功能电气安全校准器标准装置 - */ - String ELECTRICAL_SAFETY = "15"; + String DEGREE_OF_DISTORTION = "18"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java index a2ceca0..8783abc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/CheckInfoFormulaCalculateUtil.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.equipment.CheckInfoCalculateHandleRequest; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import java.math.BigDecimal; @@ -21,24 +22,12 @@ //多功能校准源核查项只有一个多功能校准器 checkDataCalibratorList.forEach(checkData -> { //算数平均值 - BigDecimal testValueOne = new BigDecimal(checkData.getTestValueOne()); - BigDecimal testValueTwo = new BigDecimal(checkData.getTestValueTwo()); - BigDecimal testValueThree = new BigDecimal(checkData.getTestValueThree()); - BigDecimal testValueFour = new BigDecimal(checkData.getTestValueFour()); - BigDecimal testValueFive = new BigDecimal(checkData.getTestValueFive()); - BigDecimal testValueSix = new BigDecimal(checkData.getTestValueSix()); - BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); - BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); checkData.setAverageValue(String.valueOf(average)); //标准偏差S(X) - BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); - BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); - BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); - BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); - BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); - BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); - BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); - BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); checkData.setStandardDeviation(String.valueOf(standardDeviation)); //相对重复性 if (average.compareTo(BigDecimal.ZERO) != 0) { @@ -128,4 +117,65 @@ }); return checkDataPistonGaugeList; } + + /********************************************************多功能电气安全校准器标准装置********************************************************/ + public static List electricalSafetyCalculate(CheckInfoCalculateHandleRequest request) { + List checkDataElectricalSafetyList = request.getCheckDataElectricalSafetyList(); + checkDataElectricalSafetyList.forEach(checkData -> { + //算数平均值 + BigDecimal average = arithmeticAverage(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix()); + checkData.setAverageValue(String.valueOf(average)); + //标准偏差S(X) + BigDecimal standardDeviation = standardDeviation(checkData.getTestValueOne(), checkData.getTestValueTwo(), checkData.getTestValueThree(), + checkData.getTestValueFour(), checkData.getTestValueFive(), checkData.getTestValueSix(), average); + checkData.setStandardDeviation(String.valueOf(standardDeviation)); + //相对重复性 + if (average.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal relativeRepeatability = standardDeviation.divide(average, 4, BigDecimal.ROUND_DOWN); + checkData.setRelativeRepeatability(String.valueOf(relativeRepeatability)); + if ("稳定性".equals(checkData.getCheckType())) { + //相对重复性是否小于相对扩展不确定度Urel + if (relativeRepeatability.compareTo(new BigDecimal(checkData.getUrel())) < 0) { + checkData.setLessThan(1); + } else { + checkData.setLessThan(0); + } + } + } + }); + return checkDataElectricalSafetyList; + } + + private static BigDecimal arithmeticAverage(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal sum = testValueOne.add(testValueTwo).add(testValueThree).add(testValueFour).add(testValueFive).add(testValueSix); + BigDecimal average = sum.divide(BigDecimal.valueOf(6), 4, BigDecimal.ROUND_DOWN); + return average; + } + + private static BigDecimal standardDeviation(String testValueOneStr, String testValueTwoStr, String testValueThreeStr, String testValueFourStr, String testValueFiveStr, String testValueSixStr, BigDecimal average) { + BigDecimal testValueOne = new BigDecimal(testValueOneStr); + BigDecimal testValueTwo = new BigDecimal(testValueTwoStr); + BigDecimal testValueThree = new BigDecimal(testValueThreeStr); + BigDecimal testValueFour = new BigDecimal(testValueFourStr); + BigDecimal testValueFive = new BigDecimal(testValueFiveStr); + BigDecimal testValueSix = new BigDecimal(testValueSixStr); + BigDecimal squareOne = (testValueOne.subtract(average)).multiply(testValueOne); + BigDecimal squareTwo = (testValueOne.subtract(average)).multiply(testValueTwo); + BigDecimal squareThree = (testValueOne.subtract(average)).multiply(testValueThree); + BigDecimal squareFour = (testValueOne.subtract(average)).multiply(testValueFour); + BigDecimal squareFive = (testValueOne.subtract(average)).multiply(testValueFive); + BigDecimal squareSix = (testValueOne.subtract(average)).multiply(testValueSix); + BigDecimal squareSum = squareOne.add(squareTwo).add(squareThree).add(squareFour).add(squareFive).add(squareSix); + BigDecimal standardDeviation = squareSum.divide(BigDecimal.valueOf(5), 4, BigDecimal.ROUND_DOWN); + return standardDeviation; + } + + } 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 8eed10d..8f51bea 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 @@ -333,7 +333,7 @@ }).collect(Collectors.toList()).stream().reduce(BigDecimal::add).orElse(new BigDecimal(0.00)); //在整个测量范围内的标准偏差---计算 3、重复性ξR 使用 //精度保证最终结果的精度即可,过程中数的数据精度大等于结果的3位以上即可 - BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size()))); + BigDecimal rangeStandardDeviationTransfer = (forwardStandardDeviationSum.add(reverseStandardDeviationSum)).divide(BigDecimal.valueOf(2).multiply(BigDecimal.valueOf(measureDataList.size())), 4, BigDecimal.ROUND_DOWN); BigDecimal rangeStandardDeviation = sqrt(rangeStandardDeviationTransfer, 6); //正行程平均值-反行程平均值的绝对值最大值---计算 4、迟滞ξH 使用 @@ -496,6 +496,7 @@ BigDecimal periodicStabilitySB = (slopeB.subtract(slopeB0)).abs().divide(slopeB.abs(), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); pistonGaugeData.setPeriodicStabilitySB(String.valueOf(periodicStabilitySB)); } + measureDataList.add(pistonGaugeData); } else if ("压力变送器".equals(itemCategoryName)) { //取绝对值最大的原值 getErrorResultTwo(measureDataList, indicatingErrorTransferList, returnErrorTransferList, pistonGaugeData); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java index 21aa6d2..e6348d0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/CheckInfoCalculateHandleRequest.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.equipment; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataPistonGauge; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,4 +26,7 @@ @ApiModelProperty(value = "核查数据-0.02活塞式压力计", dataType = "List") private List checkDataPistonGaugeList; + + @ApiModelProperty(value = "核查数据-多功能电气安全校准器标准装置", dataType = "List") + private List checkDataElectricalSafetyList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java index fd571dc..ce23a5c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureInfoServiceImpl.java @@ -208,13 +208,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("data_id", measureInfo.getId()); + measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("data_id", measureInfo.getId()); measureInfo.setMeasureDataPistonGaugeList(measureDataPistonGaugeMapper.selectList(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -225,21 +230,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("data_id", measureInfo.getId()); - measureInfo.setMeasureDataElectricalSafetyList(measureDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); - return; default: return; } @@ -277,12 +277,16 @@ return ReturnUtil.success(measureDataList); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyDataList + = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); + return ReturnUtil.success(electricalSafetyDataList); case PISTON_GAUGE: List pistonGaugeDataList = MeasureInfoFormulaCalculateUtil.pistonGaugeCalculate(request); return ReturnUtil.success(pistonGaugeDataList); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -293,20 +297,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyDataList - = MeasureInfoFormulaCalculateUtil.electricalSafetyCalculate(request); - return ReturnUtil.success(electricalSafetyDataList); default: return ReturnUtil.success(); } @@ -359,7 +359,14 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); + for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { + dataElectricalSafety.setDataId(measureInfo.getId()); + } + if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { + return true; + } return false; case PISTON_GAUGE: List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); @@ -370,6 +377,8 @@ return true; } return false; + case RESISTANCE_THERMOMETER: + return false; case SPECTRUM_ANALYZER: return false; case SIGNAL_GENERATOR: @@ -380,25 +389,16 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; - case ELECTRICAL_SAFETY: - List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); - for (BizBusinessDeviceMeasureDataElectricalSafety dataElectricalSafety : measureDataElectricalSafetyList) { - dataElectricalSafety.setDataId(measureInfo.getId()); - } - if (measureDataElectricalSafetyService.saveBatch(measureDataElectricalSafetyList)) { - return true; - } - return false; default: return false; } @@ -435,13 +435,13 @@ return false; case OSCILLOSCOPE: return false; - case TIME_FREQUENCY: + case CESIUM_ATOM: return false; case LOW_POWER: return false; case LOW_FREQUENCY_SIGNAL_GENERATOR: return false; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return false; case DEGREE_OF_DISTORTION: return false; @@ -468,53 +468,6 @@ return false; case DC_POWER_SUPPLY: return false; - case RESISTANCE_THERMOMETER: - return false; - case PISTON_GAUGE: - List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); - List pistonGaugeModifyList = new ArrayList<>(); - measureDataPistonGaugeList.forEach(measureData -> { - BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); - String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); - if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); - } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); - } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { - pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, - Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); - } - }); - if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { - saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); - return true; - } - return false; - case SPECTRUM_ANALYZER: - return false; - case SIGNAL_GENERATOR: - return false; - case MICROWAVE_ATTENUATION: - return false; - case FREQUENCY_STABILITY: - return false; - case OSCILLOSCOPE: - return false; - case TIME_FREQUENCY: - return false; - case LOW_POWER: - return false; - case LOW_FREQUENCY_SIGNAL_GENERATOR: - return false; - case VECTOR_NETWORK_ANALYZER: - return false; - case DEGREE_OF_DISTORTION: - return false; case ELECTRICAL_SAFETY: List measureDataElectricalSafetyList = measureInfo.getMeasureDataElectricalSafetyList(); List electricalSafetyModifyList = new ArrayList<>(); @@ -547,6 +500,53 @@ return true; } return false; + case PISTON_GAUGE: + List measureDataPistonGaugeList = measureInfo.getMeasureDataPistonGaugeList(); + List pistonGaugeModifyList = new ArrayList<>(); + measureDataPistonGaugeList.forEach(measureData -> { + BizBusinessDeviceMeasureDataPistonGauge dataPistonGauge = measureDataPistonGaugeMapper.selectById(measureData.getId()); + String dataDesc = "标准器示值 " + measureData.getIndicatingValue(); + if (measureInfo.getItemCategoryName().contains("电接点一般压力表") ) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke", "forwardStrokeSwitchValue", "reverseStrokeSwitchValue"))); + } else if (measureInfo.getItemCategoryName().contains("一般压力表") || measureInfo.getItemCategoryName().contains("精密压力表")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("beforeFrictionForwardStroke", "beforeFrictionReverseStroke", "afterFrictionForwardStroke", "afterFrictionReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("压力变送器") || measureInfo.getItemCategoryName().contains("压力传感器")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke", "thirdForwardStroke", "thirdReverseStroke"))); + } else if (measureInfo.getItemCategoryName().contains("数字压力计")) { + pistonGaugeModifyList.addAll(CasicBeanUtil.fieldCompare(dataDesc, dataPistonGauge, measureData, + Arrays.asList("firstForwardStroke", "firstReverseStroke", "secondForwardStroke", "secondReverseStroke"))); + } + }); + if (!CollectionUtils.isEmpty(pistonGaugeModifyList)) { + saveMeasureModifyRecord(measureInfo, Joiner.on("\n").join(pistonGaugeModifyList)); + return true; + } + return false; + case RESISTANCE_THERMOMETER: + return false; + case SPECTRUM_ANALYZER: + return false; + case SIGNAL_GENERATOR: + return false; + case MICROWAVE_ATTENUATION: + return false; + case FREQUENCY_STABILITY: + return false; + case OSCILLOSCOPE: + return false; + case CESIUM_ATOM: + return false; + case LOW_POWER: + return false; + case LOW_FREQUENCY_SIGNAL_GENERATOR: + return false; + case S_PARAM: + return false; + case DEGREE_OF_DISTORTION: + return false; default: return false; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java index cf29a04..22e0fc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureItemInfoServiceImpl.java @@ -246,13 +246,13 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; @@ -271,13 +271,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("item_id", request.getId()); + measureItemInfo.setMeasureItemDataElectricalSafetyList(measureItemDataElectricalSafetyService.list(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("item_id", request.getId()); measureItemInfo.setMeasureItemDataPistonGaugeList(measureItemDataPistonGaugeService.list(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -288,21 +293,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("item_id", request.getId()); - measureItemInfo.setMeasureItemDataElectricalSafetyList(measureItemDataElectricalSafetyService.list(electricalSafetyWrapper)); - return; default: return; } @@ -361,13 +361,13 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; @@ -389,8 +389,13 @@ return ReturnUtil.success(); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyList = request.getMeasureItemDataElectricalSafetyList(); + if (CollectionUtils.isEmpty(electricalSafetyList)) { + return ReturnUtil.success(new ArrayList<>()); + } + electricalSafetyList = MeasureItemFormulaCalculateUtil.electricalSafetyRecalculate(electricalSafetyList, itemCategoryName); + return ReturnUtil.success(electricalSafetyList); case PISTON_GAUGE: List list = request.getMeasureItemDataPistonGaugeList(); BizBusinessDeviceMeasureItemConfigPistonGauge itemConfig = request.getMeasureItemConfigPistonGauge(); @@ -399,6 +404,8 @@ } list = MeasureItemFormulaCalculateUtil.pistonGaugeRecalculate(itemConfig, list, itemCategoryName); return ReturnUtil.success(list); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -409,23 +416,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - List electricalSafetyList = request.getMeasureItemDataElectricalSafetyList(); - if (CollectionUtils.isEmpty(electricalSafetyList)) { - return ReturnUtil.success(new ArrayList<>()); - } - electricalSafetyList = MeasureItemFormulaCalculateUtil.electricalSafetyRecalculate(electricalSafetyList, itemCategoryName); - return ReturnUtil.success(electricalSafetyList); default: return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java index e563e65..c4bc252 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckInfoServiceImpl.java @@ -181,11 +181,14 @@ return ReturnUtil.success(checkDataCalibratorList); case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + List electricalSafetyList = CheckInfoFormulaCalculateUtil.electricalSafetyCalculate(request); + return ReturnUtil.success(electricalSafetyList); case PISTON_GAUGE: List checkDataPistonGaugeList = CheckInfoFormulaCalculateUtil.pistonGaugeCalculate(request); return ReturnUtil.success(checkDataPistonGaugeList); + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -196,13 +199,13 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; @@ -223,13 +226,18 @@ return; case DC_POWER_SUPPLY: return; - case RESISTANCE_THERMOMETER: + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("data_id", standardCheckInfo.getId()); + standardCheckInfo.setCheckDataElectricalSafetyList(checkDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); return; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("data_id", standardCheckInfo.getId()); standardCheckInfo.setCheckDataPistonGaugeList(checkDataPistonGaugeMapper.selectList(pistonGaugeWrapper)); return; + case RESISTANCE_THERMOMETER: + return; case SPECTRUM_ANALYZER: return; case SIGNAL_GENERATOR: @@ -240,21 +248,16 @@ return; case OSCILLOSCOPE: return; - case TIME_FREQUENCY: + case CESIUM_ATOM: return; case LOW_POWER: return; case LOW_FREQUENCY_SIGNAL_GENERATOR: return; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return; case DEGREE_OF_DISTORTION: return; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("data_id", standardCheckInfo.getId()); - standardCheckInfo.setCheckDataElectricalSafetyList(checkDataElectricalSafetyMapper.selectList(electricalSafetyWrapper)); - return; default: return; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckItemDataServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckItemDataServiceImpl.java index c165008..028a10e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckItemDataServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckItemDataServiceImpl.java @@ -69,8 +69,13 @@ return response; case DC_POWER_SUPPLY: return null; - case RESISTANCE_THERMOMETER: - return null; + case ELECTRICAL_SAFETY: + QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); + electricalSafetyWrapper.eq("item_category_id", request.getItemCategoryId()); + electricalSafetyWrapper.eq("equipment_id", request.getEquipmentId()); + List electricalSafetyList = checkItemDataElectricalSafetyService.list(electricalSafetyWrapper); + response.setCheckItemDataElectricalSafetyList(electricalSafetyList); + return response; case PISTON_GAUGE: QueryWrapper pistonGaugeWrapper = new QueryWrapper<>(); pistonGaugeWrapper.eq("item_category_id", request.getItemCategoryId()); @@ -78,6 +83,8 @@ List pistonGaugeList = checkItemDataPistonGaugeService.list(pistonGaugeWrapper); response.setCheckItemDataPistonGaugeList(pistonGaugeList); return response; + case RESISTANCE_THERMOMETER: + return null; case SPECTRUM_ANALYZER: return null; case SIGNAL_GENERATOR: @@ -88,23 +95,16 @@ return null; case OSCILLOSCOPE: return null; - case TIME_FREQUENCY: + case CESIUM_ATOM: return null; case LOW_POWER: return null; case LOW_FREQUENCY_SIGNAL_GENERATOR: return null; - case VECTOR_NETWORK_ANALYZER: + case S_PARAM: return null; case DEGREE_OF_DISTORTION: return null; - case ELECTRICAL_SAFETY: - QueryWrapper electricalSafetyWrapper = new QueryWrapper<>(); - electricalSafetyWrapper.eq("item_category_id", request.getItemCategoryId()); - electricalSafetyWrapper.eq("equipment_id", request.getEquipmentId()); - List electricalSafetyList = checkItemDataElectricalSafetyService.list(electricalSafetyWrapper); - response.setCheckItemDataElectricalSafetyList(electricalSafetyList); - return response; default: return null; }