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

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.*;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 采购入库明细
 * </p>
 *
 * @author hzs
 * @since 2023-11-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("IC_PURCHASEIN_B_SEQ")
@TableName("IC_PURCHASEIN_B")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class IcPurchaseInB extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

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

    /**
     * 采购订单主键
     */
    @TableField("PK_PO_ORDER")
    private Long pkPoOrder;

    /**
     * 采购订单明细主键
     */
    @TableField("PK_PO_ORDER_ITEMS")
    private Long pkPoOrderItems;

    /**
     * 采购入库主表 用于退货
     */
    @TableField("PK_SOURCE")
    private Long pkSource;

    /**
     * 购入库明细表 用于退货
     */
    @TableField("PK_SOURCE_B")
    private Long pkSourceB;

    /**
     * 主表主键
     */
    @TableField("PK_PURCHASE")
    private Long pkPurchase;

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

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

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

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

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

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

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

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

    /**
     * 累计入库数量
     */
    @TableField("NASSISTNUM")
    private BigDecimal nassistnum;

    /**
     * 无税单价 
     */
    @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("IS_GIFT")
    private Integer isGift;

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