package com.hzs.common.domain.scm.trans;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hzs.common.core.web.domain.BaseEntity;
import com.hzs.common.domain.scm.pub.ScmItemSpecs;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 采购订单明细
 * </p>
 *
 * @author hzs
 * @since 2023-12-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("IC_TRANSIN_B_SEQ")
@TableName("IC_TRANSIN_B")
public class IcTransInB extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 单位
     */
    @TableField("PK_UNIT")
    private Integer pkUnit;

    /**
     * 调拨出库单主键
     */
    @TableField("PK_TRANSFER_OUT")
    private Long pkTransferOut;

    /**
     * 调拨出库单明细主键
     */
    @TableField("PK_TRANSFER_OUT_B")
    private Long pkTransferOutB;

    /**
     * 主表主键
     */
    @TableField("PK_TRANSFER_IN")
    private Long pkTransferIn;

    /**
     * 货位
     */
    @TableField("PK_CLOCATION")
    private Integer pkClocation;

    /**
     * 产品基础信息主键
     */
    @TableField("PK_PRODUCT_BAS")
    private Integer pkProductBas;

    /**
     * 产品信息主键
     */
    @TableField("PK_PRODUCT")
    private Integer pkProduct;

    /**
     * 出入口类型 1=入库 2=出库
     */
    @TableField("TRANS_TYPE")
    private Integer transType;

    /**
     * 入库日期
     */
    @TableField("BIZ_DATE")
    private Date bizDate;

    /**
     * 供应商
     */
    @TableField("PK_CUBASDOC")
    private Integer pkCubasdoc;

    /**
     * 客户
     */
    @TableField("PK_CUSTOMER")
    private Integer pkCustomer;

    /**
     * 调出仓库
     */
    @TableField("PK_OUT_STOREHOUSE")
    private Integer pkOutStorehouse;

    /**
     * 库存仓库
     */
    @TableField("PK_STOREHOUSE")
    private Integer pkStorehouse;

    /**
     * 汇率
     */
    @TableField("PK_RATE")
    private Integer pkRate;

    /**
     * 数量
     */
    @TableField("NNUM")
    private BigDecimal nnum;

    /**
     * 无税单价
     */
    @TableField("NORIGPRICE")
    private BigDecimal norigprice;

    /**
     * 税率
     */
    @TableField("NTAXRATE")
    private BigDecimal ntaxrate;

    /**
     * 含税单价  = 无税单价*（1+税率）
     */
    @TableField("NORIGTAXPRICE")
    private BigDecimal norigtaxprice;

    /**
     * 无税金额  = 无税单价*数量
     */
    @TableField("NORIGMNY")
    private BigDecimal norigmny;

    /**
     * 税额 =无税单价*数量
     */
    @TableField("NTAX")
    private BigDecimal ntax;

    /**
     * 价税合计 含税单价*数量
     */
    @TableField("NORIGTAXMNY")
    private BigDecimal norigtaxmny;

    /**
     * 批次主键
     */
    @TableField("PK_BATCH_CODE")
    private Long pkBatchCode;

    @TableField(exist=false)
    private List<ScmItemSpecs> scmItemSpecsList;
}
