Newer
Older
casic-metering-biz-xichang / casic-metering-service / src / main / java / com / casic / missiles / service / MeasureConfig.java
package com.casic.missiles.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.service.business.*;
import com.casic.missiles.utils.SpringContextUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;

import static com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum.*;

/**
 * @Description: 检定初始化配置
 * @Author: wangpeng
 * @Date: 2024/1/18 11:25
 */
@Slf4j
@Data
@Component
@Order(1000)
public class MeasureConfig {

    //检定项数据serviceMap
    public static Map<String, IService> measureItemDataServiceMap = new HashMap<>();
    //检定项配置serviceMap
    public static Map<String, IService> measureItemConfigServiceMap = new HashMap<>();
    //检定数据serviceMap
    public static Map<String, IService> measureDataServiceMap = new HashMap<>();

    //检定数据FieldListMap<belongStandard, List属性名>
    public static Map<String, String> measureDataFieldListMap = new HashMap<>();

    //检定数据生成结果处理计算CalculateMap<belongStandard, 计算方法名>
    public static Map<String, String> measureDataCalculateMap = new HashMap<>();

    @PostConstruct
    public void initServiceMap() {
        //检定项数据
        measureItemDataServiceMap.put(CALIBRATOR, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataCalibratorService.class));
        measureItemDataServiceMap.put(DC_POWER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataDcPowerService.class));
        measureItemDataServiceMap.put(ELECTRICAL_SAFETY, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataElectricalSafetyService.class));
        measureItemDataServiceMap.put(PISTON_GAUGE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataPistonGaugeService.class));
        measureItemDataServiceMap.put(RESISTANCE_THERMOMETER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataResistanceThermometerService.class));
        measureItemDataServiceMap.put(SAFETY_VALVE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataSafetyValveService.class));
        measureItemDataServiceMap.put(PRECISION_DEW_POINT, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataPointMeterService.class));
        measureItemDataServiceMap.put(E2_WEIGHT, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataETwoService.class));
        measureItemDataServiceMap.put(SPECTRUM_ANALYZER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataSpectrumAnalyzerService.class));
        measureItemDataServiceMap.put(SIGNAL_GENERATOR, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataSignalGeneratorService.class));
        measureItemDataServiceMap.put(MICROWAVE_ATTENUATION, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataMicrowaveAttenuationService.class));
//        measureItemDataServiceMap.put(FREQUENCY_STABILITY, SpringContextUtil.getBean());//无检定
        measureItemDataServiceMap.put(OSCILLOSCOPE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataOscilloscopeService.class));
        measureItemDataServiceMap.put(CESIUM_ATOM, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataCesiumAtomService.class));
        measureItemDataServiceMap.put(LOW_POWER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataLowPowerService.class));
        measureItemDataServiceMap.put(LOW_FREQUENCY_SIGNAL_SOURCE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataLowFrequencySignalService.class));
        measureItemDataServiceMap.put(S_PARAM, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataSParamService.class));
//        measureItemDataServiceMap.put(DISTORTION_FACTOR, SpringContextUtil.getBean());//无检定

        //检定项配置
        measureItemConfigServiceMap.put(CALIBRATOR, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemConfigCalibratorService.class));
        measureItemConfigServiceMap.put(PISTON_GAUGE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemConfigPistonGaugeService.class));

        //检定数据
        measureDataServiceMap.put(CALIBRATOR, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataCalibratorService.class));
        measureDataServiceMap.put(DC_POWER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataDcPowerService.class));
        measureDataServiceMap.put(ELECTRICAL_SAFETY, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataElectricalSafetyService.class));
        measureDataServiceMap.put(PISTON_GAUGE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataPistonGaugeService.class));
        measureDataServiceMap.put(RESISTANCE_THERMOMETER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataResistanceThermometerService.class));
        measureDataServiceMap.put(SAFETY_VALVE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataSafetyValueService.class));
        measureDataServiceMap.put(PRECISION_DEW_POINT, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataPointMeterService.class));
        measureDataServiceMap.put(E2_WEIGHT, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataETwoService.class));
        measureDataServiceMap.put(SPECTRUM_ANALYZER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataSpectrumAnalyzerService.class));
        measureDataServiceMap.put(SIGNAL_GENERATOR, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataSignalGeneratorService.class));
        measureDataServiceMap.put(MICROWAVE_ATTENUATION, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataMicrowaveAttenuationService.class));
//        measureDataServiceMap.put(FREQUENCY_STABILITY, SpringContextUtil.getBean());//无检定
        measureDataServiceMap.put(OSCILLOSCOPE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataOscilloscopeService.class));
        measureDataServiceMap.put(CESIUM_ATOM, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataCesiumAtomService.class));
        measureDataServiceMap.put(LOW_POWER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataLowPowerService.class));
        measureDataServiceMap.put(LOW_FREQUENCY_SIGNAL_SOURCE, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataLowFrequencySignalService.class));
        measureDataServiceMap.put(S_PARAM, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataSParamService.class));
//        measureDataServiceMap.put(DISTORTION_FACTOR, SpringContextUtil.getBean());//无检定

    }

    @PostConstruct
    public void initFieldListMap() {
        //检定数据
        measureDataFieldListMap.put(CALIBRATOR, "measureDataCalibratorList");
        measureDataFieldListMap.put(DC_POWER, "measureDataDcPowerList");
        measureDataFieldListMap.put(ELECTRICAL_SAFETY, "measureDataElectricalSafetyList");
        measureDataFieldListMap.put(PISTON_GAUGE, "measureDataPistonGaugeList");
        measureDataFieldListMap.put(RESISTANCE_THERMOMETER, "measureDataResistanceThermometerList");
        measureDataFieldListMap.put(SAFETY_VALVE, "measureDataSafetyValueList");
        measureDataFieldListMap.put(PRECISION_DEW_POINT, "measureDataPointMeterList");
        measureDataFieldListMap.put(E2_WEIGHT, "measureDataETwoList");
        measureDataFieldListMap.put(SPECTRUM_ANALYZER, "measureDataSpectrumAnalyzerList");
        measureDataFieldListMap.put(SIGNAL_GENERATOR, "measureDataSignalGeneratorList");
        measureDataFieldListMap.put(MICROWAVE_ATTENUATION, "measureDataMicrowaveAttenuationList");
//        measureDataFieldListMap.put(FREQUENCY_STABILITY, );//短期频率稳定度无检定
        measureDataFieldListMap.put(OSCILLOSCOPE, "measureDataOscilloscopeList");
        measureDataFieldListMap.put(CESIUM_ATOM, "measureDataCesiumAtomList");
        measureDataFieldListMap.put(LOW_POWER, "measureDataLowPowerList");
        measureDataFieldListMap.put(LOW_FREQUENCY_SIGNAL_SOURCE, "measureDataLowFrequencySignalList");
        measureDataFieldListMap.put(S_PARAM, "measureDataSParamList");
//        measureDataFieldListMap.put(DISTORTION_FACTOR, );//失真度无检定
    }

    @PostConstruct
    public void initCalculateMap() {
        //检定数据
        measureDataCalculateMap.put(CALIBRATOR, "calibratorCalculate");
        measureDataCalculateMap.put(DC_POWER, "dcPowerCalculate");
        measureDataCalculateMap.put(ELECTRICAL_SAFETY, "electricalSafetyCalculate");
        measureDataCalculateMap.put(PISTON_GAUGE, "pistonGaugeCalculate");
        measureDataCalculateMap.put(RESISTANCE_THERMOMETER, "resistanceThermometerCalculate");
//        measureDataCalculateMap.put(SAFETY_VALVE, );//安全阀前端计算
        measureDataCalculateMap.put(PRECISION_DEW_POINT, "pointMeterCalculate");
        measureDataCalculateMap.put(E2_WEIGHT, "eTwoCalculate");
        measureDataCalculateMap.put(SPECTRUM_ANALYZER, "spectrumAnalyzerCalculate");
        measureDataCalculateMap.put(SIGNAL_GENERATOR, "signalGeneratorCalculate");
        measureDataCalculateMap.put(MICROWAVE_ATTENUATION, "microwaveAttenuationCalculate");
//        measureDataCalculateMap.put(FREQUENCY_STABILITY, );//短期频率稳定度无检定
        measureDataCalculateMap.put(OSCILLOSCOPE, "oscilloscopeCalculate");
        measureDataCalculateMap.put(CESIUM_ATOM, "cesiumAtomCalculate");
        measureDataCalculateMap.put(LOW_POWER, "lowPowerCalculate");
        measureDataCalculateMap.put(LOW_FREQUENCY_SIGNAL_SOURCE, "lowFrequencySignalCalculate");
        measureDataCalculateMap.put(S_PARAM, "sParamCalculate");
//        measureDataCalculateMap.put(DISTORTION_FACTOR, );//失真度无检定
    }

}