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

/**
 * 生产计划明细对象 mes_product_plan_detail
 *
 * @author xins
 * @date 2024-02-21
 */
public class MesProductPlanDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键标识 */
    private Long planDetailId;

    /** 明细编号 */
    @Excel(name = "明细编号")
    private String planDetailCode;

    /** 生产计划ID */
    @Excel(name = "生产计划ID")
    private Long planId;

    /** 计划编号,关联mes_product_plan_info的plan_code */
    @Excel(name = "计划编号,关联mes_product_plan_info的plan_code")
    private String planCode;

    /** 操作人员ID，关联sys_user的user_id;如果后续一个工位有多个人，则一个明细有多个人执行，则可以保存执行记录信息，需要新增表 */
    @Excel(name = "操作人员ID，关联sys_user的user_id;如果后续一个工位有多个人，则一个明细有多个人执行，则可以保存执行记录信息，需要新增表")
    private Long userId;

    /** 操作人员名称，关联sys_user的user_name */
    @Excel(name = "操作人员名称，关联sys_user的user_name")
    private String userName;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realBeginTime;

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

    private Long attachId;

    /** 明细状态：1-未开始；2-已开始；3-已完成 */
    @Excel(name = "明细状态：1-未开始；2-已开始；3-已完成")
    private String planDetailStatus;

    /** 是否标识：1-是；0-否 */
    @Excel(name = "是否标识：1-是；0-否")
    private String isFlag;

    private Long stationId;

    private String attachName;

    private String materialBarcode;

    public void setPlanDetailId(Long planDetailId)
    {
        this.planDetailId = planDetailId;
    }

    public Long getPlanDetailId()
    {
        return planDetailId;
    }
    public void setPlanDetailCode(String planDetailCode)
    {
        this.planDetailCode = planDetailCode;
    }

    public String getPlanDetailCode()
    {
        return planDetailCode;
    }
    public void setPlanId(Long planId)
    {
        this.planId = planId;
    }

    public Long getPlanId()
    {
        return planId;
    }
    public void setPlanCode(String planCode)
    {
        this.planCode = planCode;
    }

    public String getPlanCode()
    {
        return planCode;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setRealBeginTime(Date realBeginTime)
    {
        this.realBeginTime = realBeginTime;
    }

    public Date getRealBeginTime()
    {
        return realBeginTime;
    }
    public void setRealEndTime(Date realEndTime)
    {
        this.realEndTime = realEndTime;
    }

    public Date getRealEndTime()
    {
        return realEndTime;
    }

    public Long getAttachId() {
        return attachId;
    }

    public void setAttachId(Long attachId) {
        this.attachId = attachId;
    }

    public void setPlanDetailStatus(String planDetailStatus)
    {
        this.planDetailStatus = planDetailStatus;
    }

    public String getPlanDetailStatus()
    {
        return planDetailStatus;
    }
    public void setIsFlag(String isFlag)
    {
        this.isFlag = isFlag;
    }

    public String getIsFlag()
    {
        return isFlag;
    }

    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public String getAttachName() {
        return attachName;
    }

    public void setAttachName(String attachName) {
        this.attachName = attachName;
    }

    public String getMaterialBarcode() {
        return materialBarcode;
    }

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

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planDetailId", getPlanDetailId())
            .append("planDetailCode", getPlanDetailCode())
            .append("planId", getPlanId())
            .append("planCode", getPlanCode())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("realBeginTime", getRealBeginTime())
            .append("realEndTime", getRealEndTime())
            .append("planDetailStatus", getPlanDetailStatus())
            .append("isFlag", getIsFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
