package com.aucma.base.domain;

import com.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 工艺文档对象 process_document
 *
 * @author Yinq
 * @date 2025-12-30
 */
public class ProcessDocument extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 文档ID */
    private Long docId;

    /** 文档编号 */
    @Excel(name = "文档编号")
    private String docCode;

    /** 文档名称 */
    @Excel(name = "文档名称")
    private String docName;

    /** 文档类型(SOP/参数要求/作业指导书) */
    @Excel(name = "文档类型")
    private String docType;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String productCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String deviceCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 模具编码 */
    @Excel(name = "模具编码")
    private String moldCode;

    /** 模具名称 */
    @Excel(name = "模具名称")
    private String moldName;

    /** 文档版本 */
    @Excel(name = "文档版本")
    private String docVersion;

    /** 文件路径 */
    private String filePath;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 文件大小(字节) */
    private Long fileSize;

    /** 文档状态(0草稿/1发布/2作废) */
    @Excel(name = "文档状态", readConverterExp = "0=草稿,1=发布,2=作废")
    private String docStatus;

    /** 是否有效(1有效/0无效) */
    @Excel(name = "是否有效", readConverterExp = "1=有效,0=无效")
    private String isFlag;

    public void setDocId(Long docId) {
        this.docId = docId;
    }

    public Long getDocId() {
        return docId;
    }

    public void setDocCode(String docCode) {
        this.docCode = docCode;
    }

    public String getDocCode() {
        return docCode;
    }

    public void setDocName(String docName) {
        this.docName = docName;
    }

    public String getDocName() {
        return docName;
    }

    public void setDocType(String docType) {
        this.docType = docType;
    }

    public String getDocType() {
        return docType;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductName() {
        return productName;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setMoldCode(String moldCode) {
        this.moldCode = moldCode;
    }

    public String getMoldCode() {
        return moldCode;
    }

    public void setMoldName(String moldName) {
        this.moldName = moldName;
    }

    public String getMoldName() {
        return moldName;
    }

    public void setDocVersion(String docVersion) {
        this.docVersion = docVersion;
    }

    public String getDocVersion() {
        return docVersion;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setDocStatus(String docStatus) {
        this.docStatus = docStatus;
    }

    public String getDocStatus() {
        return docStatus;
    }

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

    public String getIsFlag() {
        return isFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("docId", getDocId())
                .append("docCode", getDocCode())
                .append("docName", getDocName())
                .append("docType", getDocType())
                .append("productCode", getProductCode())
                .append("productName", getProductName())
                .append("deviceCode", getDeviceCode())
                .append("deviceName", getDeviceName())
                .append("moldCode", getMoldCode())
                .append("moldName", getMoldName())
                .append("docVersion", getDocVersion())
                .append("filePath", getFilePath())
                .append("fileName", getFileName())
                .append("fileSize", getFileSize())
                .append("docStatus", getDocStatus())
                .append("isFlag", getIsFlag())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
