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

/**
 * 质检记录管理对象 report_quality_inspection（生产模块专用）
 * 
 * 注意：此类直接从aucma-report模块复制而来，用于解决循环依赖问题
 * 原始类路径：com.aucma.report.domain.ReportQualityInspection
 * 已重命名以避免与aucma-report模块中的类产生MyBatis类型别名冲突
 *
 * @author Yinq
 * @date 2023-11-21
 */
public class ProductionReportQualityInspection extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

    /**
     * 产品条码
     */
    @Excel(name = "产品条码")
    private String barCode;

    /**
     * 物料名称
     */
    @Excel(name = "物料名称")
    private String materialName;

    /**
     * 工序编号
     */
    @Excel(name = "工序编号")
    private String processCode;

    /**
     * 工序名称
     */
    @Excel(name = "工序名称")
    private String processName;

    /**
     * 检测项编号
     */
    @Excel(name = "检测项编号")
    private String testItemCode;

    /**
     * 质量缺陷编码
     */
    @Excel(name = "质量缺陷编码")
    private String qualityDefectCode;

    /**
     * 质量缺陷名称
     */
    @Excel(name = "质量缺陷名称")
    private String qualityDefectName;

    /**
     * 处理措施（3=合格,1=返修）
     */
    @Excel(name = "处理措施")
    private String treatmentMeasure;

    /**
     * 处理结果
     */
    @Excel(name = "处理结果")
    private String processResult;

    /**
     * 是否下静态线（1-是；2-否）
     */
    @Excel(name = "是否下静态线", readConverterExp = "1=-是；2-否")
    private String isLowerLine;

    /**
     * 班组编号
     */
    @Excel(name = "班组编号")
    private String groupCode;

    /**
     * 班组名称
     */
    @Excel(name = "班组名称")
    private String groupName;

    /**
     * 检测人员编号
     */
    @Excel(name = "检测人员编号")
    private String inspectorCode;

    /**
     * 检测人员名称
     */
    @Excel(name = "检测人员名称")
    private String inspectorName;

    /**
     * 检测时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "检测时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date inspectorTime;

    /**
     * 返修次数
     */
    @Excel(name = "返修次数")
    private Long reworkNumber;

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

    /**
     * 返修结果(1=正常,2=异常)
     */
    @Excel(name = "返修结果")
    private Long isFlag;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    private String updatedBy;
    
    /**
     * 工位编码
     */
    private String stationCode;
    
    /**
     * 提交质检ID
     */
    private int submitQualtyId;
    
    /**
     * PDA工位名称
     */
    private String productLineName;

    /**
     * SAP计划编号
     */
    private String orderCode;

    /**
     * MES工单编号
     */
    private String planCode;
    
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;

    /**
     * 开始时间
     */
    private String beginBeginTime;
    
    /**
     * 结束时间
     */
    private String endBeginTime;

    public String getBeginBeginTime() {
        return beginBeginTime;
    }

    public void setBeginBeginTime(String beginBeginTime) {
        this.beginBeginTime = beginBeginTime;
    }

    public String getEndBeginTime() {
        return endBeginTime;
    }

    public void setEndBeginTime(String endBeginTime) {
        this.endBeginTime = endBeginTime;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public String getPlanCode() {
        return planCode;
    }

    public void setPlanCode(String planCode) {
        this.planCode = planCode;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getInspectorName() {
        return inspectorName;
    }

    public void setInspectorName(String inspectorName) {
        this.inspectorName = inspectorName;
    }

    public void setObjId(Long objId) {
        this.objId = objId;
    }

    public Long getObjId() {
        return objId;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public int getSubmitQualtyId() {
        return submitQualtyId;
    }

    public void setSubmitQualtyId(int submitQualtyId) {
        this.submitQualtyId = submitQualtyId;
    }

    public String getBarCode() {
        return barCode;
    }

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

    public String getStationCode() {
        return stationCode;
    }

    public void setStationCode(String stationCode) {
        this.stationCode = stationCode;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setProcessCode(String processCode) {
        this.processCode = processCode;
    }

    public String getProcessCode() {
        return processCode;
    }

    public void setTestItemCode(String testItemCode) {
        this.testItemCode = testItemCode;
    }

    public String getTestItemCode() {
        return testItemCode;
    }

    public void setQualityDefectCode(String qualityDefectCode) {
        this.qualityDefectCode = qualityDefectCode;
    }

    public String getQualityDefectCode() {
        return qualityDefectCode;
    }

    public void setQualityDefectName(String qualityDefectName) {
        this.qualityDefectName = qualityDefectName;
    }

    public String getQualityDefectName() {
        return qualityDefectName;
    }

    public void setTreatmentMeasure(String treatmentMeasure) {
        this.treatmentMeasure = treatmentMeasure;
    }

    public String getTreatmentMeasure() {
        return treatmentMeasure;
    }

    public void setProcessResult(String processResult) {
        this.processResult = processResult;
    }

    public String getProcessResult() {
        return processResult;
    }

    public void setIsLowerLine(String isLowerLine) {
        this.isLowerLine = isLowerLine;
    }

    public String getIsLowerLine() {
        return isLowerLine;
    }

    public String getProductLineName() {
        return productLineName;
    }

    public void setProductLineName(String productLineName) {
        this.productLineName = productLineName;
    }

    public void setGroupCode(String groupCode) {
        this.groupCode = groupCode;
    }

    public String getGroupCode() {
        return groupCode;
    }

    public void setInspectorCode(String inspectorCode) {
        this.inspectorCode = inspectorCode;
    }

    public String getInspectorCode() {
        return inspectorCode;
    }

    public void setInspectorTime(Date inspectorTime) {
        this.inspectorTime = inspectorTime;
    }

    public Date getInspectorTime() {
        return inspectorTime;
    }

    public void setReworkNumber(Long reworkNumber) {
        this.reworkNumber = reworkNumber;
    }

    public Long getReworkNumber() {
        return reworkNumber;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setIsFlag(Long isFlag) {
        this.isFlag = isFlag;
    }

    public Long getIsFlag() {
        return isFlag;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("objId", getObjId())
                .append("barCode", getBarCode())
                .append("materialName", getMaterialName())
                .append("processCode", getProcessCode())
                .append("testItemCode", getTestItemCode())
                .append("qualityDefectCode", getQualityDefectCode())
                .append("qualityDefectName", getQualityDefectName())
                .append("treatmentMeasure", getTreatmentMeasure())
                .append("processResult", getProcessResult())
                .append("isLowerLine", getIsLowerLine())
                .append("groupCode", getGroupCode())
                .append("inspectorCode", getInspectorCode())
                .append("inspectorTime", getInspectorTime())
                .append("reworkNumber", getReworkNumber())
                .append("finishTime", getFinishTime())
                .append("isFlag", getIsFlag())
                .append("updatedBy", getUpdatedBy())
                .append("updatedTime", getUpdatedTime())
                .toString();
    }
}
