package com.ankaibei.workFlow.webadmin.ankaibei.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

/**
 * @author
 * @version 1.0
 * @description:项目表
 * @date 2022/9/14 11:01
 */
@Entity
@Table(name = "project_info", schema = "ankaibei")
public class ProjectInfoEntity {
    private Integer projectId;
    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目编码
     */
    private String projectCode;
    /**
     * 项目阶段
     */
    private String projectStage;
    /**
     * 项目状态
     */
    private String projectStatus;
    /**
     * 项目类型
     */
    private String projectType;
    /**
     * 关联客户
     */
    private String relevanceClient;
    /**
     * 项目金额
     */
    private String peojectMoney;
    /**
     * 人员成本
     */
    private BigDecimal staffCost;
    /**
     * 项目费用
     */
    private BigDecimal projectCost;
    /**
     * 总成本
     */
    private BigDecimal totalCost;
    /**
     * 客户联系人信息
     */
    private String linkmanPhone;
    /**
     * 项目负责人
     */
    private String projectPrincipal;
    /**
     * 项目节点
     */
    private String projectNode;
    /**
     * 描述
     */
    private String projectDescribe;
    /**
     * 立项时间
     */
    private Date createDate;
    /**
     * 进入流程后获取到的流程实例的id
     */
    private String processInstanceId;
    /**
     * 工作流任务处理状态
     */
    private Integer flowTaskStatus;
    /**
     * 流程定义Id
     */
    private String processDefinitionId;

    /**
     * 是否已删除： 1=正常，-1=已删除
     */
    private String isDelete;

    @Basic
    @Column(name = "is_delete")
    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    @Basic
    @Column(name = "process_definition_id")
    public String getProcessDefinitionId() {
        return processDefinitionId;
    }

    public void setProcessDefinitionId(String processDefinitionId) {
        this.processDefinitionId = processDefinitionId;
    }

    @Basic
    @Column(name = "process_instance_id")
    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    @Basic
    @Column(name = "flow_task_status")
    public Integer getFlowTaskStatus() {
        return flowTaskStatus;
    }

    public void setFlowTaskStatus(Integer flowTaskStatus) {
        this.flowTaskStatus = flowTaskStatus;
    }

    @Id
    @Column(name = "project_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Integer getProjectId() {
        return projectId;
    }

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

    @Basic
    @Column(name = "project_name")
    public String getProjectName() {
        return projectName;
    }

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

    @Basic
    @Column(name = "project_code")
    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    @Basic
    @Column(name = "project_stage")
    public String getProjectStage() {
        return projectStage;
    }

    public void setProjectStage(String projectStage) {
        this.projectStage = projectStage;
    }

    @Basic
    @Column(name = "project_status")
    public String getProjectStatus() {
        return projectStatus;
    }

    public void setProjectStatus(String projectStatus) {
        this.projectStatus = projectStatus;
    }

    @Basic
    @Column(name = "project_type")
    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    @Basic
    @Column(name = "relevance_client")
    public String getRelevanceClient() {
        return relevanceClient;
    }

    public void setRelevanceClient(String relevanceClient) {
        this.relevanceClient = relevanceClient;
    }

    @Basic
    @Column(name = "peoject_money")
    public String getPeojectMoney() {
        return peojectMoney;
    }

    public void setPeojectMoney(String peojectMoney) {
        this.peojectMoney = peojectMoney;
    }

    @Basic
    @Column(name = "staff_cost")
    public BigDecimal getStaffCost() {
        return staffCost;
    }

    public void setStaffCost(BigDecimal staffCost) {
        this.staffCost = staffCost;
    }

    @Basic
    @Column(name = "project_cost")
    public BigDecimal getProjectCost() {
        return projectCost;
    }

    public void setProjectCost(BigDecimal projectCost) {
        this.projectCost = projectCost;
    }

    @Basic
    @Column(name = "total_cost")
    public BigDecimal getTotalCost() {
        return totalCost;
    }

    public void setTotalCost(BigDecimal totalCost) {
        this.totalCost = totalCost;
    }

    @Basic
    @Column(name = "linkman_phone")
    public String getLinkmanPhone() {
        return linkmanPhone;
    }

    public void setLinkmanPhone(String linkmanPhone) {
        this.linkmanPhone = linkmanPhone;
    }

    @Basic
    @Column(name = "project_principal")
    public String getProjectPrincipal() {
        return projectPrincipal;
    }

    public void setProjectPrincipal(String projectPrincipal) {
        this.projectPrincipal = projectPrincipal;
    }

    @Basic
    @Column(name = "project_node")
    public String getProjectNode() {
        return projectNode;
    }

    public void setProjectNode(String projectNode) {
        this.projectNode = projectNode;
    }

    @Basic
    @Column(name = "project_describe")
    public String getProjectDescribe() {
        return projectDescribe;
    }

    public void setProjectDescribe(String projectDescribe) {
        this.projectDescribe = projectDescribe;
    }

    @Basic
    @Column(name = "create_date")
    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

}
