package com.ozs.pm.doman;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 采购需求表历史表(PmDemandHis)å®ä½ç±»
 *
 * @author makejava
 * @since 2023-03-06 23:22:07
 */

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pm_demand_his")
@ApiModel(value = "采购需求表历史表", description = "")
public class PmDemandHis implements Serializable {
    private static final long serialVersionUID = -10048698510514416L;

    @TableId(value = "HIS_ID", type = IdType.AUTO)
    private Long hisId;


    @ApiModelProperty("主键")
    @TableField("DEMAND_ID")
    private Long demandId;


    @ApiModelProperty("计划ID")
    @TableField("PLAN_ID")
    private Long planId;


    @ApiModelProperty("采购单位（登录账号的单位）")
    @TableField("PURCHASE_DEPT_ID")
    private Long purchaseDeptId;


    @ApiModelProperty("项目名称")
    @TableField("PROJECT_NAME")
    private String projectName;


    @ApiModelProperty("项目类型（0：装备类；1：物资类；2：服务类；3：工程类）")
    @TableField("PROJECT_TYPE")
    private String projectType;


    @ApiModelProperty("需求概况")
    @TableField("DEMAND_OVERVIEW")
    private String demandOverview;


    @ApiModelProperty("预算金额(万元（保留小数点后两位）")
    @TableField("EVALUATION")
    private Double evaluation;


    @ApiModelProperty("是否为超限额计划(0:未超额，1:超额)")
    @TableField("IS_EXCESS")
    private Integer isExcess;


    @ApiModelProperty("采购服务站")
    @TableField("PURCHASE_SERVICES")
    private String purchaseServices;


    @ApiModelProperty("采购方式  (0:公开招标, 1:单一来源,2:邀请招标,3:竞争式谈判,4:询价)")
    @TableField("PURCHASE_MODE")
    private String purchaseMode;


    @ApiModelProperty("计划提报需求时间--->需求单位成功提报采购需求的日期（具体到月）")
    @TableField("PLAN_DEMAND_SUB_TIME")
    private Date planDemandSubTime;


    @ApiModelProperty("计划完成采购时间--->公示中标结果的日期，即填制中标信息的日期（具体到月）")
    @TableField("PLAN_PURCHASE_FINISH_TIME")
    private Date planPurchaseFinishTime;


    @ApiModelProperty("计划交付时间--->供应商完成并交付后，使用单位收到标的日期，即填制建设文档的日期")
    @TableField("PLAN_DELIVER_TIME")
    private Date planDeliverTime;


    @ApiModelProperty("项目属性（0:应急应战项目， 1:重大规划任务项目， 2:规划任务项目， 3:一般项目）")
    @TableField("PROJECT_ATTR")
    private String projectAttr;


    @ApiModelProperty("计划调整情况及理由--->如计划需要变更，在填写申请修改时需填写调整情况及理由，审核单位审核通过后显示该信息")
    @TableField("ADJUST_REASON")
    private String adjustReason;


    @ApiModelProperty("备注")
    @TableField("REMARKS")
    private String remarks;


    @ApiModelProperty("实际提报需求时间--->需求单位成功提报采购需求的日期（具体到日）")
    @TableField("REAL_DEMAND_COMMIT_TIME")
    private Date realDemandCommitTime;


    @ApiModelProperty("实际完成采购时间--->上传中标通知书的日期（具体到日）")
    @TableField("REAL_PURCHASE_FINISH_TIME")
    private Date realPurchaseFinishTime;


    @ApiModelProperty("实际交付（实施）时间--->供应商完成并交付后，使用单位收到标的日期，即填制建设文档的日期")
    @TableField("REAL_DELIVER_TIME")
    private Date realDeliverTime;


    @ApiModelProperty("审核时间")
    @TableField("AUDIT_TIME")
    private Date auditTime;


    @ApiModelProperty("预警状态(0:正常，1:需求提报预警，2:采购完成预警,3:计划交付预警)")
    @TableField("WARN_STATUS")
    private String warnStatus;


    @ApiModelProperty("项目状态(4:需求待填制，5:需求待提交，6:需求待审核，7:需求已退回，8:任务待下达，9:采购需求对接，10:专家意见反馈,11:采购文件编制审核,12:采购公告发布,13:标前质疑投诉,14:待开标,15:评标结果公告，16：流废标处置，17：标后质疑，18：流废标退回，19:合同待填制，20:项目建设中，21:项目已完成)")
    @TableField("PROJECT_STATUS")
    private String projectStatus;


    @ApiModelProperty("退回原因")
    @TableField("REFUSE_REASON")
    private String refuseReason;


    @ApiModelProperty("滞后原因")
    @TableField("DELAY_REASON")
    private String delayReason;


    @ApiModelProperty("调整建议")
    @TableField("ADJUST_ADVICE")
    private String adjustAdvice;


    @ApiModelProperty("抽取招标代理机构id")
    @TableField("AGENCY_ID")
    private Long agencyId;


    @ApiModelProperty("抽取招标代理机构时间")
    @TableField("EXTRACT_AGENCY_TIME")
    private Date extractAgencyTime;

    @ApiModelProperty("采购任务文号")
    @TableField("PURCHASE_TASK_DOCUMENT_NUMBER")
    private String purchaseTaskDocumentNumber;

    @ApiModelProperty("0：没有关联专家，1：有关联专家")
    @TableField("HAS_EXPERT")
    private String hasExpert;


    @ApiModelProperty("创建者")
    @TableField("CREATE_BY")
    private String createBy;

    @ApiModelProperty("任务下达时间")
    @TableField("TASK_RELEASE_TIME")
    private Date taskReleaseTime;

    @ApiModelProperty("创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;


    @ApiModelProperty("更新者")
    @TableField("UPDATE_BY")
    private String updateBy;


    @ApiModelProperty("更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty("回退序号")
    @TableField("RETURN_ORDER_NUMBER")
    private Integer returnOrderNumber;


}
