package com.hw.qms.domain;

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

/**
 * 质检结果对象 qms_check_result
 *
 * @author xins
 * @date 2024-01-23
 */
public class QmsCheckResult extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 质检结果ID */
    private Long checkResultId;

    /** 质检规则ID */
    private Long checkRuleId;

    /** 物料类型(1:原材料,2:半成品,3:成品) */
    @Excel(name = "物料类型(1:原材料,2:半成品,3:成品)")
    private String materialType;

    /** 检验物料ID，关联物料表的ID字段 */
    @Excel(name = "检验物料ID，关联物料表的ID字段")
    private Long materialId;

    /** 检验批次，关联条码信息的batch_code */
    @Excel(name = "检验批次，关联条码信息的batch_code")
    private String materialBatch;

    /** 检验方式(1,全检2,抽检) */
    @Excel(name = "检验方式(1,全检2,抽检)")
    private String checkMode;

    /** 抽检比例 */
    @Excel(name = "抽检比例")
    private BigDecimal checkSample;

    /** 生产计划编号 */
    @Excel(name = "生产计划编号")
    private String planCode;

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

    /** 销售订单ID */
    @Excel(name = "销售订单ID")
    private String saleOrderId;

    /** 销售订单编号 */
    @Excel(name = "销售订单编号")
    private String saleorderCode;

    /** 采购订单 */
    @Excel(name = "采购订单")
    private String poNo;

    /** 采购订单行号 */
    @Excel(name = "采购订单行号")
    private String poLine;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNo;

    /** 检验状态(0待检验,1检验中,2质检通过,3质检不通过) */
    @Excel(name = "检验状态(0待检验,1检验中,2质检通过,3质检不通过)")
    private String checkStatus;

    @Excel(name = "检验规则名称")
    private String checkRuleName;

    /**检验规则类型(1来料检验,2,半成品检验，3成品检验,4工序检验)*/
    private String checkRuleType;

    private String materialCode;

    private String materialName;

    /** 质检结果详情信息 */
    private List<QmsCheckResultDetail> qmsCheckResultDetailList;

    public void setCheckResultId(Long checkResultId)
    {
        this.checkResultId = checkResultId;
    }

    public Long getCheckResultId()
    {
        return checkResultId;
    }

    public Long getCheckRuleId() {
        return checkRuleId;
    }

    public void setCheckRuleId(Long checkRuleId) {
        this.checkRuleId = checkRuleId;
    }

    public void setMaterialType(String materialType)
    {
        this.materialType = materialType;
    }

    public String getMaterialType()
    {
        return materialType;
    }
    public void setMaterialId(Long materialId)
    {
        this.materialId = materialId;
    }

    public Long getMaterialId()
    {
        return materialId;
    }
    public void setMaterialBatch(String materialBatch)
    {
        this.materialBatch = materialBatch;
    }

    public String getMaterialBatch()
    {
        return materialBatch;
    }
    public void setCheckMode(String checkMode)
    {
        this.checkMode = checkMode;
    }

    public String getCheckMode()
    {
        return checkMode;
    }
    public void setCheckSample(BigDecimal checkSample)
    {
        this.checkSample = checkSample;
    }

    public BigDecimal getCheckSample()
    {
        return checkSample;
    }
    public void setPlanCode(String planCode)
    {
        this.planCode = planCode;
    }

    public String getPlanCode()
    {
        return planCode;
    }
    public void setPlanDetailCode(String planDetailCode)
    {
        this.planDetailCode = planDetailCode;
    }

    public String getPlanDetailCode()
    {
        return planDetailCode;
    }

    public String getSaleOrderId() {
        return saleOrderId;
    }

    public void setSaleOrderId(String saleOrderId) {
        this.saleOrderId = saleOrderId;
    }

    public void setSaleorderCode(String saleorderCode)
    {
        this.saleorderCode = saleorderCode;
    }

    public String getSaleorderCode()
    {
        return saleorderCode;
    }
    public void setPoNo(String poNo)
    {
        this.poNo = poNo;
    }

    public String getPoNo()
    {
        return poNo;
    }
    public void setPoLine(String poLine)
    {
        this.poLine = poLine;
    }

    public String getPoLine()
    {
        return poLine;
    }
    public void setProjectNo(String projectNo)
    {
        this.projectNo = projectNo;
    }

    public String getProjectNo()
    {
        return projectNo;
    }
    public void setCheckStatus(String checkStatus)
    {
        this.checkStatus = checkStatus;
    }

    public String getCheckStatus()
    {
        return checkStatus;
    }

    public String getCheckRuleName() {
        return checkRuleName;
    }

    public void setCheckRuleName(String checkRuleName) {
        this.checkRuleName = checkRuleName;
    }

    public String getCheckRuleType() {
        return checkRuleType;
    }

    public void setCheckRuleType(String checkRuleType) {
        this.checkRuleType = checkRuleType;
    }

    public List<QmsCheckResultDetail> getQmsCheckResultDetailList()
    {
        return qmsCheckResultDetailList;
    }

    public void setQmsCheckResultDetailList(List<QmsCheckResultDetail> qmsCheckResultDetailList)
    {
        this.qmsCheckResultDetailList = qmsCheckResultDetailList;
    }

    public String getMaterialCode() {
        return materialCode;
    }

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

    public String getMaterialName() {
        return materialName;
    }

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

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("checkResultId", getCheckResultId())
            .append("materialType", getMaterialType())
            .append("materialId", getMaterialId())
            .append("materialBatch", getMaterialBatch())
            .append("checkMode", getCheckMode())
            .append("checkSample", getCheckSample())
            .append("planCode", getPlanCode())
            .append("planDetailCode", getPlanDetailCode())
            .append("saleorderCode", getSaleorderCode())
            .append("poNo", getPoNo())
            .append("poLine", getPoLine())
            .append("projectNo", getProjectNo())
            .append("checkStatus", getCheckStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("checkRuleName", getCheckRuleName())
            .append("qmsCheckResultDetailList", getQmsCheckResultDetailList())
            .toString();
    }
}
