package com.sw.mes.yb.production.dto.LoadingTask;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @Author @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "装料任务Dto")
public class LoadingTaskDto {

	/**新建**/
	public static final Integer rawStatus_0 = 0;
	/**生产**/
	public static final Integer rawStatus_1 = 1;
	/**已取消**/
	public static final Integer rawStatus_2 = 2;
	/**自动完工**/
	public static final Integer rawStatus_3 = 3;
	/**人工完工**/
	public static final Integer rawStatus_4 = 4;
	/**退料**/
	public static final Integer rawStatus_5 = 5;
	/**等待**/
	public static final Integer rawStatus_6 = 6;


	private Long id;
	@ApiModelProperty(value = "设备号")
	String equipmentCode;
	@ApiModelProperty(value = "炉次号")
	String lotNo;
	@ApiModelProperty(value = "所属系列")
	String series;
	@ApiModelProperty(value = "所属模块")
	String area;
	@ApiModelProperty(value = "叫料类型【0:默认，初始装料;】", required = true)
	Integer rawType;
	@ApiModelProperty(value = "创建时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	Date gmtCreate;
	@ApiModelProperty(value = "延时任务开始时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	Date delayedStartTime;
	@ApiModelProperty(value = "预计装料时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	Date etTime;
	@ApiModelProperty(value = "状态【0：默认；0-新建;1-生产;2-已取消;3-自动完工;4-人工完工;5-退料】", required = true)
	Integer rawStatus;
	@ApiModelProperty(value = "炉台类型【0:默认；0-量产;1-在建;2-研发;】", required = true)
	Integer furnaceType;
	@ApiModelProperty(value = "SAP订单号")
	String sapNo;
	@ApiModelProperty(value = "料号")
	String productCode;
	@ApiModelProperty(value = "产品等级")
	String productGrade;
	@ApiModelProperty(value = "规格")
	String specs;
	@ApiModelProperty(value = "掺杂剂")
	String dopant;
	@ApiModelProperty(value = "产品类别")
	String productType;
	@ApiModelProperty(value = "配方方案ID(production_circle_recipe.id)")
	Long recipeId;
	@ApiModelProperty(value = "重量方案ID(production_circle_weigth.id)")
	Long weigthId;
	@ApiModelProperty(value = "更换配方人员")
	private String changeRecipeUserName;
	@ApiModelProperty(value = "更换配方时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date changeRecipeTime;
	@ApiModelProperty(value = "操作人")
    private String userName;
    @ApiModelProperty(value = "操作时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operationTime;
    @ApiModelProperty(value = "操作原因")
    private String operationCause;
    @ApiModelProperty(value = "配料总重量 ")
	private BigDecimal weight;
	@ApiModelProperty(value = "热场尺寸 ")
	private String crucibleHeight;
	@ApiModelProperty(value = "配料实际重量 ")
	private BigDecimal realWeight;
	@ApiModelProperty(value = "配料实际重量 ")
	private BigDecimal bariumWeight;
	@ApiModelProperty(value = "母合金牌号")
	private String alloyBrand;
	@ApiModelProperty(value = "母合金类型")
	private String alloyType;
	@ApiModelProperty(value = "母合金重量")
	private String alloyWeight;
	@ApiModelProperty(value = "试投类型")
	private String trialType;
	@ApiModelProperty(value = "备注")
	String remark;
	@ApiModelProperty(value = "排程ID")
	private Long scheduleId;
	@ApiModelProperty(value = "排程状态")
	private Integer scheduleStatus;
	@ApiModelProperty(value = "产品简称")
	private String simpleName;
	@ApiModelProperty(value = "是否可取消")
	private Boolean isCancel = false;
	@ApiModelProperty(value = "载具编号")
	private String carrierNo;
	@ApiModelProperty(value = "确认投料(0:未确认, 1:已确认)")
	private Integer confirm;
	@ApiModelProperty(value = "确认投料时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date confirmTime;
	@ApiModelProperty(value = "热场尺寸")
	private String dimension;
	@ApiModelProperty(value = "热场id")
	private Integer dimensionId;
}
