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_component_weekly_req
 *
 * @author Yinq
 * @date 2026-01-05
 */
public class MrpComponentWeeklyReq 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 String itemCode;

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

    /** 周一需求量 */
    @Excel(name = "周一需求量", type = Excel.Type.ALL)
    private BigDecimal reqMon;

    /** 周二需求量 */
    @Excel(name = "周二需求量", type = Excel.Type.ALL)
    private BigDecimal reqTue;

    /** 周三需求量 */
    @Excel(name = "周三需求量", type = Excel.Type.ALL)
    private BigDecimal reqWed;

    /** 周四需求量 */
    @Excel(name = "周四需求量", type = Excel.Type.ALL)
    private BigDecimal reqThu;

    /** 周五需求量 */
    @Excel(name = "周五需求量", type = Excel.Type.ALL)
    private BigDecimal reqFri;

    /** 周六需求量 */
    @Excel(name = "周六需求量", type = Excel.Type.ALL)
    private BigDecimal reqSat;

    /** 周日需求量 */
    @Excel(name = "周日需求量", type = Excel.Type.ALL)
    private BigDecimal reqSun;

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

    /** 创建时间 */
    @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 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 setReqMon(BigDecimal reqMon)
            {
            this.reqMon = reqMon;
            }

    public BigDecimal getReqMon()
            {
            return reqMon;
            }
    public void setReqTue(BigDecimal reqTue)
            {
            this.reqTue = reqTue;
            }

    public BigDecimal getReqTue()
            {
            return reqTue;
            }
    public void setReqWed(BigDecimal reqWed)
            {
            this.reqWed = reqWed;
            }

    public BigDecimal getReqWed()
            {
            return reqWed;
            }
    public void setReqThu(BigDecimal reqThu)
            {
            this.reqThu = reqThu;
            }

    public BigDecimal getReqThu()
            {
            return reqThu;
            }
    public void setReqFri(BigDecimal reqFri)
            {
            this.reqFri = reqFri;
            }

    public BigDecimal getReqFri()
            {
            return reqFri;
            }
    public void setReqSat(BigDecimal reqSat)
            {
            this.reqSat = reqSat;
            }

    public BigDecimal getReqSat()
            {
            return reqSat;
            }
    public void setReqSun(BigDecimal reqSun)
            {
            this.reqSun = reqSun;
            }

    public BigDecimal getReqSun()
            {
            return reqSun;
            }
    public void setReqWeekTotal(BigDecimal reqWeekTotal)
            {
            this.reqWeekTotal = reqWeekTotal;
            }

    public BigDecimal getReqWeekTotal()
            {
            return reqWeekTotal;
            }
    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("itemCode",getItemCode())
            .append("itemDesc",getItemDesc())
            .append("reqMon",getReqMon())
            .append("reqTue",getReqTue())
            .append("reqWed",getReqWed())
            .append("reqThu",getReqThu())
            .append("reqFri",getReqFri())
            .append("reqSat",getReqSat())
            .append("reqSun",getReqSun())
            .append("reqWeekTotal",getReqWeekTotal())
            .append("createdAt",getCreatedAt())
            .append("updatedAt",getUpdatedAt())
        .toString();
        }
        }
