package com.jwipc.order.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

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

/**
 * <p>
 * 采购订单明细
 * </p>
 *
 * @author zhangjie
 * @since 2024-03-05
 */
@Getter
@Setter
@TableName("t_purchase_order_detail")
public class PurchaseOrderDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 订单编号，SRM生成
     */
    private String orderCode;

    /**
     * 订单行号，系统生成
     */
    private String orderRow;

    /**
     * 科目类别 【po_item_subject】 A-资产,C-销售订单,E-有KD-CO的客户,K-成本中心
     */
    private String subjectTypeCode;

    /**
     * 项目类型 【po_item_type】
     */
    private String rowTypeCode;

    /**
     * 物料组 t_product_group.material_group
     */
    private String materialGroupCode;

    /**
     * 物料组
     */
    private String materialGroupName;

    /**
     * 物料编号
     */
    private String materialCode;

    /**
     * 物料名称
     */
    private String materialName;

    /**
     * 订单单位编码
     */
    private String unitCode;

    /**
     * 订单单位名称
     */
    private String unitName;

    /**
     * 下单数量
     */
    private BigDecimal num;

    /**
     * 含税单价
     */
    private BigDecimal price;
    private BigDecimal netPrice;

    /**
     * 税率代码
     */
    private String taxCode;

    /**
     * 税率名称
     */
    private String taxName;

    /**
     * 税率数值 13% -> 13
     */
    private BigDecimal taxValue;

    /**
     * 未税金额 = num * price
     */
    private BigDecimal amount;

    /**
     * 含税金额 = num * price
     */
    private BigDecimal taxAmount;

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

    /**
     * 工厂 t_factory.code
     */
    private String factoryCode;

    /**
     * 工厂名称
     */
    private String factoryName;

    /**
     * 库存地点 basis_stock_location.location_code
     */
    private String stockCode;

    private String stockName;

    /**
     * sap订单号 非采购订单号
     */
    private String sapOrderNo;

    /**
     * 退货项目 X - 是
     */
    private String returnFlag;

    /**
     * 免费项目 X - 是
     */
    private String freeFlag;

    private Integer state;

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


    /**
     * 创建人名称
     */
    private String createName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

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

    /**
     * 来源 0-新建或物料 1-采购申请
     */
    private Integer source;

    /**
     * 来源记录id
     */
    private Long sourceId;

    /**
     * 回复交期 yyyy-MM-dd
     */
    private LocalDate replayRequireDate;

    /**
     * 回复数量
     */
    private BigDecimal replayNum;

    /**
     * 回复备注
     */
    private String replayRemark;

    /**
     * 供应商回复时间
     */
    private LocalDateTime replayTime;

    /**
     * 价格单位 1 10 100 1000 10000
     */
    private Integer priceUnit;

    /**
     * 冗余单头 供应商编码
     */
    private String supplierErpCode;

    /**
     * 报价说明
     */
    private String priceInfoRemark;

    /**
     * 未清数量
     */
    private BigDecimal noClearNum;

    /**
     * 需求部门编码
     */
    private String demandDepartmentCode;

    /**
     * 需求部门
     */
    private String demandDepartment;

    /**
     * 规格
     */
    private String specs;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 已收货数量
     */
    private String receivedNum;

    /**
     * 到货日期
     */
    private String receivedDate;

    /**
     * 采购申请号
     */
    private String purchApplyNo;

    /**
     * 采购申请行
     */
    private String purchApplyRow;

    /**
     * 合同编码
     */
    private String contractNum;

    /**
     * 交货已完成 （Y-是；N-否）
     */
    private String finishFlag;

    /**
     * 采购申请备注
     */
    private String purchaseApplyRemark;

    /**
     * 单一物料采购总含税金额
     */
    private BigDecimal sumTaxMoney;

    /**
     * 告警标记
     */
    private Integer warningFlag;

    /**
     * 需求跟踪号
     */
    private String demandNum;

    /**
     * 采购凭证的项目编号
     */
    private String ebelp;

    /**
     * 紧急程度
     */
    private String zjjcd;

    /**
     * 默认储位
     */
    private String defaultStock;

    /**
     * MRP控制者
     */
    private String mrp;
    /**
     * 价格信息记录编号
     */
    private String priceInfoCode;

    private BigDecimal enableNum;

    /**
     * 物料中类
     */
    private String middleClass;

    private Integer unlockFlag;
    private BigDecimal unlockNum;
    private String unlockRemark;
    private LocalDate unlockDate;

    private String tariff;
    private String webre;
    /**
     * 打印序列号
     */
    private Integer printSequence;
}
