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

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sw.mes.yb.production.dto.InputFurnaceDetailDto;

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

/**
 * @Author 李儒
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "灌料记录Dto")
public class InputFurnaceBurdenDto {

	
	@ApiModelProperty(value = "灌料任务id(production_again_task_detail.id)")
	@NotNull(message = "请输入灌料任务Id")
	Long againTaskDetailId;
	
	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 = "载具编号")
	String vehicleCode;
	@ApiModelProperty(value = "灌料桶数")
	@NotNull(message = "请输入灌料桶数")
	Integer pailNum;
	@ApiModelProperty(value = "灌料重量")
	BigDecimal weigth;
	//@NotBlank(message = "请输入灌料人")
	@ApiModelProperty(value = "灌料人")
	String userName;
	@ApiModelProperty(value = "班次")
	@NotBlank(message = "请输入班次")
	String classNo;
	@ApiModelProperty(value = "班组")
	@NotBlank(message = "请输入班组")
	String teamGroup;
	@ApiModelProperty(value = "开始灌料时间", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message = "请输入开始时间")
	Date startTime;
	@ApiModelProperty(value = "结束灌料时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	Date endTime;
	@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 = "左桶编号")
	String leftCode;
	@ApiModelProperty(value = "左桶灌料重量")
	BigDecimal leftWeight;
	@ApiModelProperty(value = "右桶编号")
	String rightCode;
	@ApiModelProperty(value = "右桶灌料重量")
	BigDecimal rightWeight;
	@ApiModelProperty(value = "备注")
	String remark;
	@ApiModelProperty(value = "复投次数")
	Integer againNum;
	@ApiModelProperty(value = "实际复投重量")
	BigDecimal againRealWeight;
	@ApiModelProperty(value = "母合金牌号")
	private String alloyBrand;
	@ApiModelProperty(value = "母合金类型")
	private String alloyType;
	@ApiModelProperty(value = "母合金重量")
	private String alloyWeight;
	@ApiModelProperty(value = "试投类型")
	private String trialType;

	@ApiModelProperty(value = "确认投料(0:未确认, 1:已确认)")
	Integer confirm = 0;
	@ApiModelProperty(value = "确认投料时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	Date confirmTime;
	
	
	/**灌料明细**/
	private List<InputFurnaceDetailDto> details = new ArrayList<InputFurnaceDetailDto>();
	
}