package com.hw.wms.domain;

import java.util.List;
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;

/**
 * 原材料入库记录对象 wms_raw_instock
 * 
 * @author xs
 * @date 2023-12-21
 */
public class WmsRawInstock extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 原材料入库记录ID */
    private Long rawInstockId;

    /** 任务编号;移库时必须 */
    @Excel(name = "任务编号;移库时必须")
    private String taskCode;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String locationCode;

    /** 采购订单号，入库扫描条码时获取唯一条码 */
    @Excel(name = "采购订单号，入库扫描条码时获取唯一条码")
    private String poNo;

    /** 操作类型(0自动,1手动,2强制,3调度) */
    @Excel(name = "操作类型(0自动,1手动,2强制,3调度)")
    private String operationType;

    /** 入库类型(1采购入库,2移库入库,3合库入库,9其他入库) */
    @Excel(name = "入库类型(1采购入库,2移库入库,3合库入库,9其他入库)")
    private String instockType;

    /** 申请原因 */
    @Excel(name = "申请原因")
    private String applyReason;

    /** 审核原因 */
    @Excel(name = "审核原因")
    private String auditReason;

    /** 审核状态(0待审核,1审核通过,2审核未通过) */
    @Excel(name = "审核状态(0待审核,1审核通过,2审核未通过)")
    private String auditStatus;

    /** 执行状态(0待执行,1执行中,2执行完成) */
    @Excel(name = "执行状态(0待执行,1执行中,2执行完成)")
    private String executeStatus;

    /** 申请人 */
    @Excel(name = "申请人")
    private String applyBy;

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

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditBy;

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

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

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

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

    /** 原材料入库记录明细信息 */
    private List<WmsRawInstockDetail> wmsRawInstockDetailList;

    public void setRawInstockId(Long rawInstockId) 
    {
        this.rawInstockId = rawInstockId;
    }

    public Long getRawInstockId() 
    {
        return rawInstockId;
    }
    public void setTaskCode(String taskCode) 
    {
        this.taskCode = taskCode;
    }

    public String getTaskCode() 
    {
        return taskCode;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setLocationCode(String locationCode) 
    {
        this.locationCode = locationCode;
    }

    public String getLocationCode() 
    {
        return locationCode;
    }
    public void setPoNo(String poNo) 
    {
        this.poNo = poNo;
    }

    public String getPoNo() 
    {
        return poNo;
    }
    public void setOperationType(String operationType) 
    {
        this.operationType = operationType;
    }

    public String getOperationType() 
    {
        return operationType;
    }
    public void setInstockType(String instockType) 
    {
        this.instockType = instockType;
    }

    public String getInstockType() 
    {
        return instockType;
    }
    public void setApplyReason(String applyReason) 
    {
        this.applyReason = applyReason;
    }

    public String getApplyReason() 
    {
        return applyReason;
    }
    public void setAuditReason(String auditReason) 
    {
        this.auditReason = auditReason;
    }

    public String getAuditReason() 
    {
        return auditReason;
    }
    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }
    public void setExecuteStatus(String executeStatus) 
    {
        this.executeStatus = executeStatus;
    }

    public String getExecuteStatus() 
    {
        return executeStatus;
    }
    public void setApplyBy(String applyBy) 
    {
        this.applyBy = applyBy;
    }

    public String getApplyBy() 
    {
        return applyBy;
    }
    public void setApplyDate(Date applyDate) 
    {
        this.applyDate = applyDate;
    }

    public Date getApplyDate() 
    {
        return applyDate;
    }
    public void setAuditBy(String auditBy) 
    {
        this.auditBy = auditBy;
    }

    public String getAuditBy() 
    {
        return auditBy;
    }
    public void setAuditDate(Date auditDate) 
    {
        this.auditDate = auditDate;
    }

    public Date getAuditDate() 
    {
        return auditDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setBeginTime(Date beginTime) 
    {
        this.beginTime = beginTime;
    }

    public Date getBeginTime() 
    {
        return beginTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public List<WmsRawInstockDetail> getWmsRawInstockDetailList()
    {
        return wmsRawInstockDetailList;
    }

    public void setWmsRawInstockDetailList(List<WmsRawInstockDetail> wmsRawInstockDetailList)
    {
        this.wmsRawInstockDetailList = wmsRawInstockDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("rawInstockId", getRawInstockId())
            .append("taskCode", getTaskCode())
            .append("warehouseId", getWarehouseId())
            .append("locationCode", getLocationCode())
            .append("poNo", getPoNo())
            .append("operationType", getOperationType())
            .append("instockType", getInstockType())
            .append("applyReason", getApplyReason())
            .append("auditReason", getAuditReason())
            .append("auditStatus", getAuditStatus())
            .append("executeStatus", getExecuteStatus())
            .append("applyBy", getApplyBy())
            .append("applyDate", getApplyDate())
            .append("auditBy", getAuditBy())
            .append("auditDate", getAuditDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("beginTime", getBeginTime())
            .append("endTime", getEndTime())
            .append("wmsRawInstockDetailList", getWmsRawInstockDetailList())
            .toString();
    }
}
