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

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-11-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("IC_SALEOUT_B_SEQ")
@TableName("IC_SALEOUT_B")
public class IcSaleoutB extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

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

    /**
     * 销售订单主键
     */
    @TableField("PK_SA_ORDER")
    private Long pkSaOrder;

    /**
     * 销售订单明细主键
     */
    @TableField("PK_SA_ORDER_ITEMS")
    private Long pkSaOrderItems;

    /**
     * 发货单主键
     */
    @TableField("PK_DELIVERY")
    private Long pkDelivery;

    /**
     * 发货单明细主键
     */
    @TableField("PK_DELIVER_ITEMS")
    private Long pkDeliverItems;

    /**
     * 销售出库主表
     */
    @TableField("PK_SOURCE")
    private Long pkSource;

    /**
     * 销售出库明细表
     */
    @TableField("PK_SOURCE_B")
    private Long pkSourceB;

    /**
     * 主表主键
     */
    @TableField("PK_SALEOUT")
    private Long pkSaleout;

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

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

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

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

    /**
     * 仓库
     */
    @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("IS_GIFT")
    private Integer isGift;

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