package com.mirs.biz.dto;

import com.mirs.biz.domain.BrdfData;
import com.mirs.biz.domain.EmiMeasurement;
import com.mirs.biz.domain.IntegratedData;
import com.mirs.biz.domain.Sample;
import com.mirs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.beans.BeanUtils;

import java.math.BigDecimal;

@EqualsAndHashCode(callSuper = true)
@Data
public class IndexSearchDTO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 数据类型 */
    private String dataType;

    /** 样片类型 */
    private String sampleType;

    /** 样片型号 */
    private String sampleModel;

    /** 温度(K) */
    private Long temperatureK;

    /** 光谱(μm) */
    private String wavelengthUm;

    /** 入射天顶角θi */
    private BigDecimal thetaIncident;

    /** 入射方位角φi */
    private BigDecimal phiIncident;

    /** 反射天顶角θr */
    private BigDecimal thetaReflected;

    /** 反射方位角φr */
    private BigDecimal phiReflected;

    public BrdfData getBrdfData(){
        BrdfData data = new BrdfData();
        BeanUtils.copyProperties(this, data);
        return data;
    }
    public EmiMeasurement getEmiMeasurement(){
        EmiMeasurement data = new EmiMeasurement();
        BeanUtils.copyProperties(this, data);
        data.setWavelengthUmStr(this.wavelengthUm);
        return data;
    }
    public IntegratedData getIntegratedData(){
        IntegratedData data = new IntegratedData();
        BeanUtils.copyProperties(this, data);
        return data;
    }
    public Sample getSample(){
        Sample data = new Sample();
        BeanUtils.copyProperties(this, data);
        return data;
    }
}
