package com.sw.mes.yb.report.entity;

import lombok.Data;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Entity
@Table(name="rpt_success_crystal_base")
@DynamicUpdate
@DynamicInsert
public class SuccessCrystalBase {
    /**
     * 序号
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    /**
     * 模块
     */
    private String moudle;
    /**
     * 系列
     */
    private String series;
    /**
     * 炉台号
     */
    private String deviceNo;
    /**
     * 炉次号
     */
    private String lotNo;
    /**
     * 参数名称
     */
    private String parameterName;
    /**
     * 复投次数
     */
    private String againNum;
    /**
     * 熔接开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date spliceStartTime;
    /**
     * 熔接起始液面温度
     */
    private BigDecimal spliceStartTemperature;
    /**
     * 熔接过热液面温度
     */
    private BigDecimal spliceOverheatingTemperature;
    /**
     * 过热完成时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date spliceOverheatingTime;
    /**
     * 过热时间
     */
    private BigDecimal spliceTime;
    /**
     * 熔接断时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date spliceBrokenTime;
    /**
     * 引晶开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date crystalStartTime;
    /**
     * 引晶主加热功率测量值kw
     */
    private BigDecimal crystalPower;
    /**
     * 引晶埚位
     */
    private String crystalLocation;
    /**
     * 引晶剩料重量kg
     */
    private BigDecimal crystalResidueWeight;
    /**
     * 引晶起始液面温度
     */
    private BigDecimal crystalStartTemperature;
    /**
     * 引晶起始液面像素值
     */
    private BigDecimal crystalStartPixel;
    /**
     * 引晶长度mm
     */
    private BigDecimal crystalLength;
    /**
     * 引晶最终液面温度
     */
    private BigDecimal crystalEndTemperature;
    /**
     * 引晶50mm长度时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date crystalFiftyTime;
    /**
     * 引晶时间h
     */
    private BigDecimal crystalTime;
    /**
     * 引晶平均拉速mm/hr
     */
    private BigDecimal crystalSpeed;
    /**
     * 引晶开始平均拉速(15min)mm/hr
     */
    private BigDecimal crystalStartAverageSpeed;
    /**
     * 引晶结束平均拉速(50mm)mm/min
     */
    private BigDecimal crystalEndAverageSpeed;
    /**
     * 引晶最终拉速mm/hr
     */
    private BigDecimal crystalEndSpeed;
    /**
     * 引断时间点
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date crystalBrokenTime;
    /**
     * 是否引断
     */
    private Integer crystalWithBroken;
    /**
     * 是否进入手动引晶
     */
    private Integer crystalWithManual;
    /**
     * 放肩开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date shoulderingStartTime;
    /**
     * 放肩直径60mm对应长度
     */
    private BigDecimal shoulderingSixtyLength;
    /**
     * 放肩长度60mm对应直径
     */
    private BigDecimal shoulderingSixtyDiameter;
    /**
     * 扩断时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date shoulderingBrokenTime;
    /**
     * 是否扩断
     */
    private Integer shoulderingWithBroken;
    /**
     * 放肩扩断直径mm
     */
    private BigDecimal shoulderingDiameter;
    /**
     * 放肩完成液面像素值
     */
    private BigDecimal shoulderingFinishPixel;
    /**
     * 放肩最终直径mm
     */
    private BigDecimal shoulderingEndDiameter;
    /**
     * 放肩长度mm
     */
    private BigDecimal shoulderingLength;
    /**
     * 大角°
     */
    private BigDecimal shoulderingBigAngle;
    /**
     * 小角°
     */
    private BigDecimal shoulderingSmallAngle;
    /**
     * 放肩重量kg
     */
    private BigDecimal shoulderingWeight;
    /**
     * 放肩时间h
     */
    private BigDecimal shoulderingTime;
    /**
     * 转肩开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date shouderCircuitStartTime;
    /**
     * 转肩最大拉速mm/hr
     */
    private BigDecimal shouderCircuitTopSpeed;
    /**
     * 转肩启动直径
     */
    private BigDecimal shouderCircuitStartDiameter;
    /**
     * 转肩晶体重量kg
     */
    private BigDecimal shouderCircuitWeight;
    /**
     * 转肩扩断时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date shouderCircuitBrokenTime;
    /**
     * 转肩时间h
     */
    private BigDecimal shouderCircuitTime;
    /**
     * 等径开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date isometricStartTime;
    /**
     * 等径50mm液口距
     */
    private BigDecimal isometricFiftyDistance;
    /**
     * 等径起始功率
     */
    private BigDecimal isometricStartPower;
    /**
     * 等径1000mm功率
     */
    private BigDecimal isometricThousandPower;
    /**
     * 等径起始液面像素值
     */
    private BigDecimal isometricStartPixel;
    /**
     * 等径500mm液面像素值
     */
    private BigDecimal isometricFiveHundredPixel;
    /**
     * 等径起始直径
     */
    private BigDecimal isometricStartDiameter;
    /**
     * 等径100mm时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date isometricOneHundredTime;
    /**
     * 等径前100mm拉速mm/hr
     */
    private BigDecimal isometricOneHundredSpeed;
    /**
     * 等径500mm时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date isometricFiveHundredTime;
    /**
     * 等径前500mm拉速mm/hr
     */
    private BigDecimal isometricFiveHundredSpeed;
    /**
     * 等径长度
     */
    private BigDecimal isometricLength;
    /**
     * 等径前500mm是否断苞
     */
    private Integer isometricFiveHundredWithBroken;
    /**
     * 是否一次成晶>500mm
     */
    private Integer isometricWithOnce;
    /**
     * 等径平均拉速mm/min
     */
    private BigDecimal isometricAverageSpeed;
    /**
     * 等径晶体重量kg
     */
    private BigDecimal isometricWeight;
    /**
     * 等径结束时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date isometricEndTime;
    /**
     * 等径用时h
     */
    private BigDecimal isometricTime;
    /**
     * 取段剩料重量kg
     */
    private BigDecimal sectionResidueWeight;
    /**
     * 是否一次整棒＞3600mm（可配置）
     */
    private Integer fullWithOnce;
    /**
     * 收尾开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date finishingStartTime;
    /**
     * 收尾长度mm
     */
    private BigDecimal finishingLength;
    /**
     * 收尾结束时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date finishingEndTime;
    /**
     * 收尾时间min
     */
    private BigDecimal finishingTime;
    /**
     * 收尾重量kg
     */
    private BigDecimal finishingWeight;
    /**
     * 取段（结晶/稳温）开始时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date sectionStartTime;
    /**
     * 取段（结晶/稳温）结束时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date sectionEndTime;
    /**
     * 取段（结晶/稳温）时间
     */
    private BigDecimal sectionTime;
    /**
     * 取段晶体重量kg
     */
    private BigDecimal sectionWeight;

    /**
     * 创建时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime;
}
