package com.jwipc.order.dto;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 采购订单
 * </p>
 *
 * @author zhangjie
 * @since 2024-03-05
 */
@Data
public class PurchaseOrderBaseDTO implements Serializable {


    @Serial
    private static final long serialVersionUID = 6216690448553661302L;
    /**
     * 主键
     */
    private Long id;

    /**
     * 采购订单代码
     */
    private String orderCode;

    /**
     * 采购订单描述
     */
    private String orderDesc;

    /**
     * 订单类型 【po_type】
     */
    private String orderTypeCode;

    /**
     * 订单类型名称
     */
    private String orderTypeName;

    /**
     * 供应商编码，t_supplier.supplier_erp_code
     */
    private String supplierErpCode;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 供应商名称，t_supplier.supplier_name
     */
    private String supplierName;

    /**
     * 采购组织, basis_purchase_org.purchase_org_code
     */
    private String purchaseOrgCode;

    /**
     * 采购组织
     */
    private String purchaseOrgName;

    /**
     * 采购组, t_purchase_group.purchase_group_code
     */
    private String purchaseGroupCode;

    /**
     * 采购组
     */
    private String purchaseGroupName;

    /**
     * 公司代码, basis_company.company_code
     */
    private String companyCode;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 货币代码, basis_currency.currency_code  默认CNY
     */
    private String currencyCode;

    /**
     * 货币代码
     */
    private String currencyName;

    /**
     * 需求日期 yyyy-MM-dd
     */
    private LocalDateTime requireDate;

    /**
     * 备注
     */
    private String remark;

    /**
     * 订单未税总额，保存时自动计算
     */
    private BigDecimal orderAmount;

    /**
     * 订单含税总额，保存时自动计算
     */
    private BigDecimal orderTaxAmount;

    /**
     * ("1","新建"),("2","订单审批中"),("3","订单审批驳回"),	("4","GMP审批中"),("5","GMP审批驳回"),("6","待供应商确认"),("7","确认完成"),("8","收货完成");("9","删除")；("10","订单审批通过");
     */
    private Integer state;
    private Integer tmpState;

    /**
     * 1-删除
     */
    private Integer delFlag;

    /**
     * 凭证日期 YYYYMMDD
     */
    private String orderDate;

    /**
     * 是否退货
     */
    private String returnFlag;

    /**
     * 加急 1-是 0-否
     */
    private Integer isHot;

    /**
     * 付款条款
     */
    private String paymentMethod;

    /**
     * 付款条款名称
     */
    private String paymentMethodName;

    /**
     * 合同
     */
    private String actualContract;

    /**
     * 期初导出标识
     */
    private Integer isFirst;

    private String taxCode;

    private String freeFlag;

    /**
     * 订单明细中是否存在计划标识
     */
    private String markFlag;

    /**
     * 财务确认 1：已确认;0:未确认;
     */
    private Integer finConf;

    private Long finUserId;
    private LocalDateTime finTime;

    /**
     * 客户
     */
    private String zkunnr;

    /**
     * 客户名称
     */
    private String zname1;

    /**
     * SC订单号
     */
    private String zlsdh;

    /**
     * 等于R时为已审批,B时未审批
     */
    private String frgke;

    /**
     * 订单附件上传状态1:已上传;0:未上传
     */
    private Integer fileState;
    private Long createId;
    private String createWorkNo;
    private String createName;
    private LocalDateTime createTime;
    private String refusalRemark;
    private String batchNo;
    private Integer printFlag;
    private String supplierCode1;
    private String supplierName1;
    private String supplierCode2;
    private String supplierName2;
    /**
     * 工厂 t_factory.code
     */
    private String factoryCode;
    private Integer sumSignFlag;
    private LocalDateTime confirmTime;
    private Integer attachmentType;
    private LocalDateTime effectiveDate;
    /**
     * 预留字段 文件id
     */
    private String column1;

    private String column2;
    private String column3;

}
