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

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

import javax.persistence.Column;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;

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

/**
 * @Author @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "复投任务Dto")
public class AgainTaskDto {
	
	/**新建**/
	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:默认;1-初始复投;2-取段复投;】", 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 etTime;
	@ApiModelProperty(value = "延时任务开始时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	Date delayedStartTime;
	@ApiModelProperty(value = "复投总重量")
	BigDecimal againWeigth;
	@ApiModelProperty(value = "载体数")
	Integer carrierNum;
	@ApiModelProperty(value = "复投总桶数")
	Integer againPailNum;
	@ApiModelProperty(value = "已灌料桶数")
	Integer alreadyPailNum;
	@ApiModelProperty(value = "当前桶数")
	Integer pailNum;
	@ApiModelProperty(value = "状态【0：默认；0-新建;1-生产;2-已取消;3-自动完工;4-人工完工;】", required = true)
	Integer rawStatus;

	/**
	 * 灌料取消状态
	 */
	@ApiModelProperty(value = "灌料取消状态")
	private String cancelStatus;

	@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 = "复投确认人员")
	String userName;
	@ApiModelProperty(value = "复投重量确认时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date operationTime;
    @ApiModelProperty(value = "操作原因")
    private String operationCause;
    
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "试投类型")
    private String trialType;

    @ApiModelProperty(value = "剩余重量")
	private BigDecimal surplusWeigth;
	
	@ApiModelProperty(value = "总装埚料")
	private BigDecimal totalUseWeigth;
	
	@ApiModelProperty(value = "复投次数")
	private Integer againNum;

	@ApiModelProperty(value = "复投次数")
	private Integer isDone = 0;

	@ApiModelProperty(value = "限制报料")
	private Boolean noAction = false;

	@ApiModelProperty(value = "是否产出")
	private Boolean outputCrystal = true;

	@ApiModelProperty(value = "页面录入是否完结加料（0：否，1：是）")
	private Integer isFillEnd = 0;

}