package com.sw.mes.yb.pad.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "新增圆棒返切画线dto")
public class ProductionBackCuttingRecordDto {

    private Long id;
    @ApiModelProperty(value = "晶段编号")
    String segmentNo;
    Date endTime;
    @ApiModelProperty(value = "晶段长度")
    BigDecimal barLength;
    @ApiModelProperty(value = "画线开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date lineStartTime;
    @ApiModelProperty(value = "画线结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date lineEndTime;
    @ApiModelProperty(value = "反切后长度")
    BigDecimal backLength;
    @ApiModelProperty(value = "操作人员")
    String userName;
    @ApiModelProperty(value = "班次")
    String classNo;
    @ApiModelProperty(value = "班组")
    String teamGroup;
    @ApiModelProperty(value = "返切长度")
    BigDecimal cutLength;
    @ApiModelProperty(value = "返切原因")
    String cause;
    @ApiModelProperty(value = "是否取样片")
    Long isTakeSample;
    @ApiModelProperty(value = "反切刀数")
    Integer knifeNum = 0;
    @ApiModelProperty(value = "备注")
    String remark;

    @ApiModelProperty("晶段Id")
    Long segmentId;
    /**
     * 截断状态 0：未截断，1：已截断
     */
    @ApiModelProperty(value = "截断状态")
    Boolean status;
    /**
     * 0：不合格反切，1：分段反切，2：拼棒中，未反切的晶段，直接过站，3：全部为回收料，晶段直接报废
     */
    @ApiModelProperty(value = "是否为分段反切")
    Integer backCutType;

    @ApiModelProperty(value = "画线明细【示例： index:序号；type:分段类型(1:晶段 2样片 3回收料)；length:长度】", required = true)
    List<RecutInfoDetailInfo> detail;

    @ApiModelProperty(value = "晶段编号（拼棒组合）")
    String sectionCompose;

    @ApiModelProperty(value = "须切开的拼缝，逗号分割")
    String positions;

    @ApiModelProperty(value = "划线记录标识，拼棒的划线一样")
    String uuid;
    
    @ApiModelProperty(value = "记录类型")
    private String logType;

    @ApiModelProperty(value = "氧碳依赖标识：0：中间段；1：头段依赖；2：尾段依赖")
    private Integer oxygenCarbonMark;

    @ApiModelProperty(value = "晶棒反切记录附加信息")
    ProductionBackCuttingRecordInformationDto productionBackCuttingRecordInformationDto;

    @ApiModelProperty(value = "是否反切不复测")
    private Boolean isNotReTest;

    @ApiModelProperty(value = "返切 ：0 非性能返切；1 性能返切")
    private Integer backcutFlag;
}