package com.zt.plat.module.contractorder.dal.dataobject.entrustorder;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
    import java.math.BigDecimal;
    import java.math.BigDecimal;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
    import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 委托加工订单明细 DO
*
* @author 后台管理-1
*/
@TableName("bse_entt_ord_dtl")
@KeySequence("bse_entt_ord_dtl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承：isBusiness=true 时继承 BusinessBaseDO，否则继承 BaseDO
*/
public class EntrustOrderDetailDO extends BusinessBaseDO {



    /**
    * 主键ID
    */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
    * 委托加工订单ID
    */
    @TableField("ORD_ID")
    private Long orderId;
    /**
     * 发货工厂名称
     */
    @TableField("SND_FACT_NAME")
    private String sendFactoryName;
    /**
     * 发货工厂编码
     */
    @TableField("SND_FACT_NUM")
    private String sendFactoryNumber;
    /**
     * 发货库位名称
     */
    @TableField("SND_WRH_NAME")
    private String sendWarehouseName;
    /**
     * 发货库位编码
     */
    @TableField("SND_WRH_NUM")
    private String sendWarehouseNumber;
    /**
    * 收货工厂名称
    */
    @TableField("RCV_FACT_NAME")
    private String receiveFactoryName;
    /**
    * 收货工厂编码
    */
    @TableField("RCV_FACT_NUM")
    private String receiveFactoryNumber;
    /**
    * 收货库位名称
    */
    @TableField("RCV_WRH_NAME")
    private String receiveWarehouseName;
    /**
    * 收货库位编码
    */
    @TableField("RCV_WRH_NUM")
    private String receiveWarehouseNumber;
    /**
    * 发货物料名称
    */
    @TableField("SND_MTRL_NAME")
    private String sendMaterialName;
    /**
    * 发货物料编码
    */
    @TableField("SND_MTRL_NUM")
    private String sendMaterialNumber;
    /**
    * 收货物料名称
    */
    @TableField("RCV_MTRL_NAME")
    private String receiveMaterialName;
    /**
    * 收货物料编码
    */
    @TableField("RCV_MTRL_NUM")
    private String receiveMaterialNumber;
    /**
    * 发货计量单位
    */
    @TableField("SND_UOM")
    private String sendUnit;
    /**
    * 收货计量单位
    */
    @TableField("RCV_UOM")
    private String receiveUnit;
    /**
    * 暂估数量
    */
    @TableField("FRCST_QTY")
    private BigDecimal forecastQuantity;
    /**
    * 含税单价
    */
    @TableField("IN_TAX_UPRC")
    private BigDecimal inTaxUnitPrice;
    /**
    * 交货起始日期
    */
    @TableField("DLVY_CGO_BGN_DT")
    private LocalDateTime deliveryCargoBeginDate;
    /**
    * 交货截止日期
    */
    @TableField("DLVY_CGO_END_DT")
    private LocalDateTime deliveryCargoEndDate;
    /**
    * 是否启用
    */
    @TableField("IS_ENB")
    private String isEnable;
    /**
    * 短文本
    */
    @TableField("SHRT_TXT")
    private String shortText;

    /**
    * 税码
    */
    @TableField("TAX_NUM")
    private String taxNumber;
    //科目类别
    @TableField("ACTS_CTGR")
    private String accountingItemType;
    //MTRL_CPNT_NUM 物料组
    @TableField("MTRL_CPNT_NUM")
    private String materialGroup;
    //RET_ITM  退货标识
    @TableField("RET_ITM")
    private String returnItem;
    //免费标识FREE_ITM
    @TableField("FREE_ITM")
    private String freeItem;
    //VNDB 外部行号
    @TableField("VNDB")
    private String externalLineNumber;
    //ACTS_CTGR_DTL 科目分配
    @TableField("ACTS_CTGR_DTL")
    private String accountingItemAllocation;
    @TableField("RMK")
    private String remark;

    @TableField("TAX_RTE")
    private BigDecimal taxRate;

    @TableField("RCV_RTE")
    private BigDecimal recoveryRate;

    @TableField("LINE_NUM")
    private Integer lineNumber;

    /**
     * 金属元素缩写
     */
    @TableField("ELEM_ABBR")
    private String elementAbbreviation;
    /**
     * 金属元素名称
     */
    @TableField("ELEM_NAME")
    private String elementName;
    /**
     * 金属元素编码
     */
    @TableField("ELEM_NUM")
    private String elementNumber;
}