package com.aucma.report.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.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;

/**
 * 物料过点记录对象 material_completion
 *
 * @author Yinq
 * @date 2024-03-14
 */
public class MaterialCompletion extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long objId;

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

    /**
     * 物料条码（箱体码）
     */
    @Excel(name = "物料条码", readConverterExp = "箱=体码")
    private String materialBarcode;

    /**
     * 物料编码
     */
    @Excel(name = "物料编码")
    private String materialCode;

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

    /**
     * 过点工位编号
     */
    @Excel(name = "过点工位编号")
    private String stationName;

    /**
     * 完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeDate;

    /**
     * MES工单编号
     */
    @Excel(name = "MES工单编号")
    private String planCode;

    /**
     * 产线编号
     */
    @Excel(name = "产线编号")
    private String productLineCode;

    /**
     * 是否成品下线(0-否;1-是)
     */
    @Excel(name = "是否成品下线(0-否;1-是)")
    private Long isDownLine;

    /**
     * 成品SN码
     */
    @Excel(name = "成品SN码")
    private String productionCode;

    public void setObjId(Long objId) {
        this.objId = objId;
    }

    public Long getObjId() {
        return objId;
    }

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

    public String getOrderCode() {
        return orderCode;
    }

    public void setMaterialBarcode(String materialBarcode) {
        this.materialBarcode = materialBarcode;
    }

    public String getMaterialBarcode() {
        return materialBarcode;
    }

    public void setMaterialCode(String materialCode) {
        this.materialCode = materialCode;
    }

    public String getMaterialCode() {
        return materialCode;
    }

    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getStationName() {
        return stationName;
    }

    public void setCompleteDate(Date completeDate) {
        this.completeDate = completeDate;
    }

    public Date getCompleteDate() {
        return completeDate;
    }

    public void setPlanCode(String planCode) {
        this.planCode = planCode;
    }

    public String getPlanCode() {
        return planCode;
    }

    public void setProductLineCode(String productLineCode) {
        this.productLineCode = productLineCode;
    }

    public String getProductLineCode() {
        return productLineCode;
    }

    public void setIsDownLine(Long isDownLine) {
        this.isDownLine = isDownLine;
    }

    public Long getIsDownLine() {
        return isDownLine;
    }

    public void setProductionCode(String productionCode) {
        this.productionCode = productionCode;
    }

    public String getProductionCode() {
        return productionCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("objId", getObjId())
                .append("orderCode", getOrderCode())
                .append("materialBarcode", getMaterialBarcode())
                .append("materialCode", getMaterialCode())
                .append("materialName", getMaterialName())
                .append("stationName", getStationName())
                .append("completeDate", getCompleteDate())
                .append("planCode", getPlanCode())
                .append("productLineCode", getProductLineCode())
                .append("isDownLine", getIsDownLine())
                .append("productionCode", getProductionCode())
                .toString();
    }
}
