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("TRANSFER_ORDER_ITEMS_SEQ")
@TableName("TRANSFER_ORDER_ITEMS")
public class TransferOrderItems extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /**
     * 主表主键
     */
    @TableField("PK_TRANSFER")
    private Long pkTransfer;

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

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

    /**
     * 计划出库日期
     */
    @TableField("PLAN_DATE")
    private Date planDate;

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

    /**
     * 调入仓库
     */
    @TableField("PK_IN_STOREHOUSE")
    private Integer pkInStorehouse;

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

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

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

    /**
     * 累计调入数量
     */
    @TableField("TOTAL_TRANS_IN_NUM")
    private BigDecimal totalTransInNum;

    /**
     * 是否出库完成
     */
    @TableField("OUT_END")
    private Integer outEnd;

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