package com.op.mes.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.TreeEntity;

/**
 * 订单对象 pro_order
 *
 * @author Open Platform
 * @date 2023-07-13
 */
public class ProOrder extends TreeEntity {
	private static final long serialVersionUID = 1L;

	/** ID */
	private String id;

	/** 计划工厂编码 */
	@Excel(name = "计划工厂编码")
	private String planFactoryCode;

	/** 计划工厂编码 */
	@Excel(name = "工厂编码")
	private String factoryCode;

	/** 订单类型 */
	@Excel(name = "订单类型")
	private String orderType;

	/** 订单号 */
	@Excel(name = "订单号")
	private String orderCode;

	/** 物料号 */
	@Excel(name = "物料号")
	private String prodCode;

	/** 物料名称 */
	@Excel(name = "物料名称")
	private String prodDesc;

	/** 订单数量 */
	@Excel(name = "订单数量")
	private Long quantity;

	/** 已拆分订单数量 */
	@Excel(name = "已拆分订单数量")
	private Long quantitySplit;

	/** 单位 */
	@Excel(name = "单位")
	private String unit;

	/** 任务清单 */
	@Excel(name = "任务清单")
	private String workerOrder;

	public Long getQuantitySplit() {
		return quantitySplit;
	}

	public void setQuantitySplit(Long quantitySplit) {
		this.quantitySplit = quantitySplit;
	}

	/** 计划生产日期 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "计划生产日期", width = 30, dateFormat = "yyyy-MM-dd")
	private Date planProDate;

	/** 计划完成日期 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "计划完成日期", width = 30, dateFormat = "yyyy-MM-dd")
	private Date planComplete;

	/** $column.columnComment */
	@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
	private String atrr1;

	/** $column.columnComment */
	@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
	private String atrr2;

	/** $column.columnComment */
	@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
	private String atrr3;

	/** 0未拆分 */
	@Excel(name = "0未拆分")
	private String status;

	/** 上级工单 */
	@Excel(name = "上级工单")
	private String parentOrder;

	public String getPlanFactoryCode() {
		return planFactoryCode;
	}

	public void setPlanFactoryCode(String planFactoryCode) {
		this.planFactoryCode = planFactoryCode;
	}

	/** 产品类型 */
	@Excel(name = "产品类型")
	private String prodType;
	/** 物料型号 */
	@Excel(name = "物料名称")
	private String prodSpc;

	public String getProdSpc() {
		return prodSpc;
	}

	public void setProdSpc(String prodSpc) {
		this.prodSpc = prodSpc;
	}


	public void setId(String id) {
		this.id = id;
	}

	public String getId() {
		return id;
	}
	public void setFactoryCode(String factoryCode) {
		this.factoryCode = factoryCode;
	}

	public String getFactoryCode() {
		return factoryCode;
	}
	public void setOrderType(String orderType) {
		this.orderType = orderType;
	}

	public String getOrderType() {
		return orderType;
	}
	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public String getOrderCode() {
		return orderCode;
	}
	public void setProdCode(String prodCode) {
		this.prodCode = prodCode;
	}

	public String getProdCode() {
		return prodCode;
	}
	public void setProdDesc(String prodDesc) {
		this.prodDesc = prodDesc;
	}

	public String getProdDesc() {
		return prodDesc;
	}
	public void setQuantity(Long quantity) {
		this.quantity = quantity;
	}

	public Long getQuantity() {
		return quantity;
	}
	public void setUnit(String unit) {
		this.unit = unit;
	}

	public String getUnit() {
		return unit;
	}
	public void setWorkerOrder(String workerOrder) {
		this.workerOrder = workerOrder;
	}

	public String getWorkerOrder() {
		return workerOrder;
	}
	public void setPlanProDate(Date planProDate) {
		this.planProDate = planProDate;
	}

	public Date getPlanProDate() {
		return planProDate;
	}
	public void setPlanComplete(Date planComplete) {
		this.planComplete = planComplete;
	}

	public Date getPlanComplete() {
		return planComplete;
	}
	public void setAtrr1(String atrr1) {
		this.atrr1 = atrr1;
	}

	public String getAtrr1() {
		return atrr1;
	}
	public void setAtrr2(String atrr2) {
		this.atrr2 = atrr2;
	}

	public String getAtrr2() {
		return atrr2;
	}
	public void setAtrr3(String atrr3) {
		this.atrr3 = atrr3;
	}

	public String getAtrr3() {
		return atrr3;
	}
	public void setStatus(String status) {
		this.status = status;
	}

	public String getStatus() {
		return status;
	}
	public void setParentOrder(String parentOrder) {
		this.parentOrder = parentOrder;
	}

	public String getParentOrder() {
		return parentOrder;
	}
	public void setProdType(String prodType) {
		this.prodType = prodType;
	}

	public String getProdType() {
		return prodType;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
			.append("id", getId())
			.append("factoryCode", getFactoryCode())
			.append("orderType", getOrderType())
			.append("orderCode", getOrderCode())
			.append("prodCode", getProdCode())
			.append("prodDesc", getProdDesc())
			.append("quantity", getQuantity())
			.append("unit", getUnit())
			.append("workerOrder", getWorkerOrder())
			.append("planProDate", getPlanProDate())
			.append("planComplete", getPlanComplete())
			.append("atrr1", getAtrr1())
			.append("atrr2", getAtrr2())
			.append("atrr3", getAtrr3())
			.append("status", getStatus())
			.append("parentOrder", getParentOrder())
			.append("createBy", getCreateBy())
			.append("createTime", getCreateTime())
			.append("updateBy", getUpdateBy())
			.append("updateTime", getUpdateTime())
			.append("prodType", getProdType())
			.append("prodSpc", getProdSpc())
			.toString();
	}
}
