package com.aucma.production.domain;

import java.math.BigDecimal;
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;

/**
 * 周排产计划对象 mrp_prod_weekly_plan
 *
 * @author Yinq
 * @date 2026-01-05
 */
public class MrpProdWeeklyPlan extends BaseEntity
        {
private static final long serialVersionUID=1L;

    /** $column.columnComment */
    private Long id;

    /** 年第周（如 202501） */
    @Excel(name = "年第周", type = Excel.Type.EXPORT)
    private String yearWeek;

    /** 周一日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "周一日期", width = 15, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date weekStartDate;

    /** 序号 */
    @Excel(name = "序号", type = Excel.Type.ALL)
    private BigDecimal seqNo;

    /** 编码/型号 */
    @Excel(name = "编码", type = Excel.Type.ALL)
    private String itemCode;

    /** 描述 */
    @Excel(name = "描述", type = Excel.Type.ALL)
    private String itemDesc;

    /** 工厂 */
    @Excel(name = "工厂", type = Excel.Type.ALL)
    private String plantCode;

    /** 订单号 */
    @Excel(name = "订单号", type = Excel.Type.ALL)
    private String orderNo;

    /** 行号 */
    @Excel(name = "行号", type = Excel.Type.ALL)
    private String orderLineNo;

    /** 1日计划量 */
    @Excel(name = "1日", type = Excel.Type.ALL)
    private BigDecimal planD1;

    /** 2日计划量 */
    @Excel(name = "2日", type = Excel.Type.ALL)
    private BigDecimal planD2;

    /** 3日计划量 */
    @Excel(name = "3日", type = Excel.Type.ALL)
    private BigDecimal planD3;

    /** 4日计划量 */
    @Excel(name = "4日", type = Excel.Type.ALL)
    private BigDecimal planD4;

    /** 5日计划量 */
    @Excel(name = "5日", type = Excel.Type.ALL)
    private BigDecimal planD5;

    /** 6日计划量 */
    @Excel(name = "6日", type = Excel.Type.ALL)
    private BigDecimal planD6;

    /** 7日计划量 */
    @Excel(name = "7日", type = Excel.Type.ALL)
    private BigDecimal planD7;

    /** 周合计计划量（虚拟列） */
    @Excel(name = "周合计", type = Excel.Type.EXPORT)
    private BigDecimal planWeekTotal;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

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

    public Long getId()
            {
            return id;
            }
    public void setYearWeek(String yearWeek)
            {
            this.yearWeek = yearWeek;
            }

    public String getYearWeek()
            {
            return yearWeek;
            }
    public void setWeekStartDate(Date weekStartDate)
            {
            this.weekStartDate = weekStartDate;
            }

    public Date getWeekStartDate()
            {
            return weekStartDate;
            }
    public void setSeqNo(BigDecimal seqNo)
            {
            this.seqNo = seqNo;
            }

    public BigDecimal getSeqNo()
            {
            return seqNo;
            }
    public void setItemCode(String itemCode)
            {
            this.itemCode = itemCode;
            }

    public String getItemCode()
            {
            return itemCode;
            }
    public void setItemDesc(String itemDesc)
            {
            this.itemDesc = itemDesc;
            }

    public String getItemDesc()
            {
            return itemDesc;
            }
    public void setPlantCode(String plantCode)
            {
            this.plantCode = plantCode;
            }

    public String getPlantCode()
            {
            return plantCode;
            }
    public void setOrderNo(String orderNo)
            {
            this.orderNo = orderNo;
            }

    public String getOrderNo()
            {
            return orderNo;
            }
    public void setOrderLineNo(String orderLineNo)
            {
            this.orderLineNo = orderLineNo;
            }

    public String getOrderLineNo()
            {
            return orderLineNo;
            }
    public void setPlanD1(BigDecimal planD1)
            {
            this.planD1 = planD1;
            }

    public BigDecimal getPlanD1()
            {
            return planD1;
            }
    public void setPlanD2(BigDecimal planD2)
            {
            this.planD2 = planD2;
            }

    public BigDecimal getPlanD2()
            {
            return planD2;
            }
    public void setPlanD3(BigDecimal planD3)
            {
            this.planD3 = planD3;
            }

    public BigDecimal getPlanD3()
            {
            return planD3;
            }
    public void setPlanD4(BigDecimal planD4)
            {
            this.planD4 = planD4;
            }

    public BigDecimal getPlanD4()
            {
            return planD4;
            }
    public void setPlanD5(BigDecimal planD5)
            {
            this.planD5 = planD5;
            }

    public BigDecimal getPlanD5()
            {
            return planD5;
            }
    public void setPlanD6(BigDecimal planD6)
            {
            this.planD6 = planD6;
            }

    public BigDecimal getPlanD6()
            {
            return planD6;
            }
    public void setPlanD7(BigDecimal planD7)
            {
            this.planD7 = planD7;
            }

    public BigDecimal getPlanD7()
            {
            return planD7;
            }
    public void setPlanWeekTotal(BigDecimal planWeekTotal)
            {
            this.planWeekTotal = planWeekTotal;
            }

    public BigDecimal getPlanWeekTotal()
            {
            return planWeekTotal;
            }
    public void setCreatedAt(Date createdAt)
            {
            this.createdAt = createdAt;
            }

    public Date getCreatedAt()
            {
            return createdAt;
            }
    public void setUpdatedAt(Date updatedAt)
            {
            this.updatedAt = updatedAt;
            }

    public Date getUpdatedAt()
            {
            return updatedAt;
            }

@Override
public String toString(){
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id",getId())
            .append("yearWeek",getYearWeek())
            .append("weekStartDate",getWeekStartDate())
            .append("seqNo",getSeqNo())
            .append("itemCode",getItemCode())
            .append("itemDesc",getItemDesc())
            .append("plantCode",getPlantCode())
            .append("orderNo",getOrderNo())
            .append("orderLineNo",getOrderLineNo())
            .append("planD1",getPlanD1())
            .append("planD2",getPlanD2())
            .append("planD3",getPlanD3())
            .append("planD4",getPlanD4())
            .append("planD5",getPlanD5())
            .append("planD6",getPlanD6())
            .append("planD7",getPlanD7())
            .append("planWeekTotal",getPlanWeekTotal())
            .append("createdAt",getCreatedAt())
            .append("updatedAt",getUpdatedAt())
        .toString();
        }
        }
