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

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-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("PO_ORDER_ITEMS_SEQ")
@TableName("PO_ORDER_ITEMS")
public class PoOrderItems extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /**
     * 主表主键
     */
    @TableField("PK_ORDER")
    private Long pkOrder;

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

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

    /**
     * 关闭时间
     */
    @TableField("CLOSE_DATE")
    private Date closeDate;

    /**
     * 计划到货时间
     */
    @TableField("PLAN_DATE")
    private Date planDate;

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

    /**
     * 汇率
     */
    @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("NACCUMSTORENUM")
    private BigDecimal naccumstorenum;

    /**
     * 累计退货数量 
     */
    @TableField("NBACKARRVNUM")
    private BigDecimal nbackarrvnum;

    /**
     * 是否赠品
     */
    @TableField("IS_GIFT")
    private Integer isGift;

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