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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.*;
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<>();

    //检定项数据WrapperMap
    public static Map<String, QueryWrapper> measureItemDataWrapperMap = new HashMap<>();
    //检定项配置WrapperMap
    public static Map<String, QueryWrapper> measureItemConfigWrapperMap = new HashMap<>();
    //检定数据WrapperMap
    public static Map<String, QueryWrapper> measureDataWrapperMap = new HashMap<>();

    //检定项数据FieldListMap<belongStandard, List属性名>
    public static Map<String, String> measureItemDataFieldListMap = 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));
//        measureItemServiceMap.put(PRECISION_DEW_POINT, SpringContextUtil.getBean());
//        measureItemServiceMap.put(E2_WEIGHT, SpringContextUtil.getBean());
        measureItemDataServiceMap.put(SPECTRUM_ANALYZER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureItemDataSpectrumAnalyzerService.class));
//        measureItemServiceMap.put(SIGNAL_GENERATOR, SpringContextUtil.getBean());
//        measureItemServiceMap.put(MICROWAVE_ATTENUATION, SpringContextUtil.getBean());
//        measureItemServiceMap.put(FREQUENCY_STABILITY, SpringContextUtil.getBean());
//        measureItemServiceMap.put(OSCILLOSCOPE, SpringContextUtil.getBean());
//        measureItemServiceMap.put(CESIUM_ATOM, SpringContextUtil.getBean());
//        measureItemServiceMap.put(LOW_POWER, SpringContextUtil.getBean());
//        measureItemServiceMap.put(LOW_FREQUENCY_SIGNAL_GENERATOR, SpringContextUtil.getBean());
//        measureItemServiceMap.put(S_PARAM, SpringContextUtil.getBean());
//        measureItemServiceMap.put(DEGREE_OF_DISTORTION, 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());
//        measureDataServiceMap.put(E2_WEIGHT, SpringContextUtil.getBean());
        measureDataServiceMap.put(SPECTRUM_ANALYZER, SpringContextUtil.getBean(IBizBusinessDeviceMeasureDataSpectrumAnalyzerService.class));
//        measureDataServiceMap.put(SIGNAL_GENERATOR, SpringContextUtil.getBean());
        log.info("检定初始化Service,检定项数据{},检定项配置{},检定数据{}", measureItemDataServiceMap, measureItemConfigServiceMap, measureDataServiceMap);

    }

    @PostConstruct
    public void initWrapperMap() {
        //检定项数据
        measureItemDataWrapperMap.put(CALIBRATOR, new QueryWrapper<BizBusinessDeviceMeasureItemDataCalibrator>());
        measureItemDataWrapperMap.put(DC_POWER, new QueryWrapper<BizBusinessDeviceMeasureItemDataDcPower>());
        measureItemDataWrapperMap.put(ELECTRICAL_SAFETY, new QueryWrapper<BizBusinessDeviceMeasureItemDataElectricalSafety>());
        measureItemDataWrapperMap.put(PISTON_GAUGE, new QueryWrapper<BizBusinessDeviceMeasureItemDataPistonGauge>());
        measureItemDataWrapperMap.put(RESISTANCE_THERMOMETER, new QueryWrapper<BizBusinessDeviceMeasureItemDataResistanceThermometer>());
        measureItemDataWrapperMap.put(SAFETY_VALVE, new QueryWrapper<BizBusinessDeviceMeasureItemDataSafetyValve>());
//        measureItemDataWrapperMap.put(PRECISION_DEW_POINT, );
//        measureItemDataWrapperMap.put(E2_WEIGHT, );
        measureItemDataWrapperMap.put(SPECTRUM_ANALYZER, new QueryWrapper<BizBusinessDeviceMeasureItemDataSpectrumAnalyzer>());
//        measureItemDataWrapperMap.put(SIGNAL_GENERATOR, );

        //检定项配置
        measureItemConfigWrapperMap.put(CALIBRATOR, new QueryWrapper<BizBusinessDeviceMeasureItemConfigCalibrator>());
        measureItemConfigWrapperMap.put(PISTON_GAUGE, new QueryWrapper<BizBusinessDeviceMeasureItemConfigPistonGauge>());

        //检定数据
        measureDataWrapperMap.put(CALIBRATOR, new QueryWrapper<BizBusinessDeviceMeasureDataCalibrator>());
        measureDataWrapperMap.put(DC_POWER, new QueryWrapper<BizBusinessDeviceMeasureDataDcPower>());
        measureDataWrapperMap.put(ELECTRICAL_SAFETY, new QueryWrapper<BizBusinessDeviceMeasureDataElectricalSafety>());
        measureDataWrapperMap.put(PISTON_GAUGE, new QueryWrapper<BizBusinessDeviceMeasureDataPistonGauge>());
        measureDataWrapperMap.put(RESISTANCE_THERMOMETER, new QueryWrapper<BizBusinessDeviceMeasureDataResistanceThermometer>());
        measureDataWrapperMap.put(SAFETY_VALVE, new QueryWrapper<BizBusinessDeviceMeasureDataSafetyValue>());
//        measureDataWrapperMap.put(PRECISION_DEW_POINT, );
//        measureDataWrapperMap.put(E2_WEIGHT, );
        measureDataWrapperMap.put(SPECTRUM_ANALYZER, new QueryWrapper<BizBusinessDeviceMeasureDataSpectrumAnalyzer>());
//        measureDataWrapperMap.put(SIGNAL_GENERATOR, );

        log.info("检定初始化Wrapper,检定项数据{},检定项配置{},检定数据{}", measureItemDataWrapperMap, measureItemConfigWrapperMap, measureDataWrapperMap);
    }

    @PostConstruct
    public void initFieldListMap() {
        //检定项数据
        measureItemDataFieldListMap.put(CALIBRATOR, "measureItemDataCalibratorList");
        measureItemDataFieldListMap.put(DC_POWER, "measureItemDataDcPowerList");
        measureItemDataFieldListMap.put(ELECTRICAL_SAFETY, "measureItemDataElectricalSafetyList");
        measureItemDataFieldListMap.put(PISTON_GAUGE, "measureItemDataPistonGaugeList");
        measureItemDataFieldListMap.put(RESISTANCE_THERMOMETER, "measureDataResistanceThermometerList");
        measureItemDataFieldListMap.put(SAFETY_VALVE, "measureItemDataSafetyValveList");
//        measureItemDataFieldListMap.put(PRECISION_DEW_POINT, );
//        measureItemDataFieldListMap.put(E2_WEIGHT, );
        measureItemDataFieldListMap.put(SPECTRUM_ANALYZER, "measureItemDataSpectrumAnalyzerList");
//        measureItemDataFieldListMap.put(SIGNAL_GENERATOR, );

        //检定数据
        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, );
//        measureDataFieldListMap.put(E2_WEIGHT, );
        measureDataFieldListMap.put(SPECTRUM_ANALYZER, "measureDataSpectrumAnalyzerList");
//        measureDataFieldListMap.put(SIGNAL_GENERATOR, );

        log.info("检定初始化FieldList,检定项数据{},检定数据{}", measureItemDataFieldListMap, measureDataFieldListMap);
    }

    @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, );//安全阀前端计算
//        measureDataCalculateMap.put(E2_WEIGHT, );
        measureDataCalculateMap.put(SPECTRUM_ANALYZER, "spectrumAnalyzerCalculate");
//        measureDataCalculateMap.put(SIGNAL_GENERATOR, );

        log.info("检定初始化Calculate,检定数据{}", measureDataCalculateMap);
    }

}