package com.hw.mes.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.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;

/**
 * 项目信息对象 mes_project_info
 *
 * @author Yinq
 * @date 2024-02-19
 */
public class MesProjectInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

    /**
     * ERP主键
     */
    @Excel(name = "ERP主键")
    private Long erpId;

    /**
     * 项目编码;对应FNumber
     */
    @Excel(name = "项目编码")
    private String projectNo;

    /**
     * 项目名称;对应FName'
     */
    @Excel(name = "项目名称")
    private String projectName;

    /**
     * 单据状态;对应FDocumentStatus
     */
    @Excel(name = "单据状态")
    private String documentStatus;

    /**
     * 禁用状态;对应FForbidStatus
     */
    @Excel(name = "禁用状态")
    private String forbidStatus;

    /**
     * 审核日期;对应FAuditDate
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditDate;

    /**
     * ERP最后修改日期;对应FModifyDate
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "ERP最后修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date erpModifyDate;

    /**
     * 计划开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /**
     * 计划结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 项目状态(1待开始2已开始3已完成)
     */
    @Excel(name = "项目状态")
    private String orderStatus;

    /**
     * 完成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeDate;

    /**
     * 是否标识;1-是；0-否
     */
    @Excel(name = "是否标识")
    private String isFlag;

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setErpId(Long erpId) {
        this.erpId = erpId;
    }

    public Long getErpId() {
        return erpId;
    }

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

    public String getProjectNo() {
        return projectNo;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setDocumentStatus(String documentStatus) {
        this.documentStatus = documentStatus;
    }

    public String getDocumentStatus() {
        return documentStatus;
    }

    public void setForbidStatus(String forbidStatus) {
        this.forbidStatus = forbidStatus;
    }

    public String getForbidStatus() {
        return forbidStatus;
    }

    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    public Date getAuditDate() {
        return auditDate;
    }

    public void setErpModifyDate(Date erpModifyDate) {
        this.erpModifyDate = erpModifyDate;
    }

    public Date getErpModifyDate() {
        return erpModifyDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setCompleteDate(Date completeDate) {
        this.completeDate = completeDate;
    }

    public Date getCompleteDate() {
        return completeDate;
    }

    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("projectId", getProjectId())
                .append("erpId", getErpId())
                .append("projectNo", getProjectNo())
                .append("projectName", getProjectName())
                .append("documentStatus", getDocumentStatus())
                .append("forbidStatus", getForbidStatus())
                .append("auditDate", getAuditDate())
                .append("erpModifyDate", getErpModifyDate())
                .append("beginDate", getBeginDate())
                .append("endDate", getEndDate())
                .append("orderStatus", getOrderStatus())
                .append("completeDate", getCompleteDate())
                .append("isFlag", getIsFlag())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
