package com.jwipc.finance.dto;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author shenyang.ou
 * @date 2024/3/20 10:01
 * @desc
 */
@Data
public class ReceiptVoucherApiDTO implements Serializable {
    /**
     * 物料凭证编号
     */
    @JSONField(name="MBLNR")
    private String mvCode;

    /**
     * 物料凭证的年份
     */
    @JSONField(name="MJAHR")
    private String mvYear;

    /**
     * 凭证中的过帐日期
     */
    @JSONField(name="BUDAT")
    private String mvPostDateStr;

    /**
     * 质检入库日期
     */
    @JSONField(name="BUDAT1")
    private String purPostDateStr;

    /**
     * 免检标识
     */
    @JSONField(name="ZMJBS")
    private String extendFiled1;

    /**
     * 凭证日期
     */
    @JSONField(name="CPUDT")
    private String mvDateStr;

    /**
     * 凭证抬头文本
     */
    @JSONField(name="BKTXT")
    private String headUpText;

    /**
     * 制单人
     */
    @JSONField(name="USNAM")
    private String creator;

    /**
     * 物料凭证行号
     */
    @JSONField(name="ZEILE")
    private String mvItemNo;

    /**
     * 移动类型
     */
    @JSONField(name="BWART")
    private String sapMoveType;

    /**
     * 特殊库存标识
     */
    @JSONField(name="SOBKZ")
    private String specialInventoryFlag;

    /**
     * MIRO凭证号(发票凭证编号)
     */
    @JSONField(name="BELNR")
    private String invoicedCode;

    /**
     * 付款到期日
     */
    @JSONField(name="ZFBDT")
    private String paymentExpireDateStr;

    /**
     * 借代项
     */
    @JSONField(name="SHKZG")
    private String metonymyItem;

    /**
     * 采购凭证编号(SAP订单号)
     */
    @JSONField(name="EBELN")
    private String poCode;

    /**
     * 采购凭证的项目编号(采购订单行号)
     */
    @JSONField(name="EBELP")
    private String poItemNo;

    /**
     * 送货单号
     */
    @JSONField(name="ZZSHDH")
    private String deliveryOrderNo;

    /**
     * 送货单行号
     */
    @JSONField(name="ZZSHDHXM")
    private String deliveryItemNo;

    /**
     * 工厂
     */
    @JSONField(name="WERKS")
    private String factoryCode;

    /**
     * 库存地点
     */
    @JSONField(name="LGORT")
    private String inventoryLocation;

    /**
     * 物料编码
     */
    @JSONField(name="MATNR")
    private String materialCode;

    /**
     * 物料组编码
     */
    @JSONField(name="MATKL")
    private String materialGroupCode;

    /**
     * 物料名称
     */
    @JSONField(name="ZTDLINE")
    private String materialName;

    /**
     * 物料描述
     */
    @JSONField(name="MAKTX")
    private String materialDesc;

    /**
     * 入库批次
     */
    @JSONField(name="CHARG")
    private String batch;

    /**
     * 入库基本单位数量
     */
    @JSONField(name="MENGE")
    private BigDecimal mvBasicNum;

    /**
     * 入库基本单位数量
     */
    @JSONField(name="ELIKZ")
    private String finishFlag;

    /**
     * 基本单位
     */
    @JSONField(name="MEINS")
    private String poMeterUnit;

    /**
     * 入库数量-辅助数量（订单数量）
     */
    @JSONField(name="ERFMG")
    private BigDecimal mvNum;

    /**
     * 入库数量-辅助单位（订单单位）
     */
    @JSONField(name="ERFME")
    private String poPriceUnit;

    /**
     * 入库金额
     */
    @JSONField(name="DMBTR")
    private BigDecimal notTaxAmount;

    /**
     * 币种
     */
    @JSONField(name="WAERS")
    private String currencyCode;

    /**
     * 含税金额
     */
    @JSONField(name="KWERT")
    private BigDecimal taxAmount;

    /**
     * 含税单价
     */
    @JSONField(name="ZHSDJ")
    private BigDecimal taxPrice;

    /**
     * 税率
     */
    @JSONField(name="MWSKZ")
    private String taxCode;

    /**
     * 订单已收货数量
     */
    @JSONField(name="WEMNG")
    private BigDecimal receivedNum;

    /**
     * 供应商编码
     */
    @JSONField(name="LIFNR")
    private String supplierCode;

    /**
     * 项目文本
     */
    @JSONField(name="SGTXT")
    private String sapRemark;

    /**
     * 质检单号
     */
    @JSONField(name="PRUEFLOS")
    private String qualityTestingNo;

    /**
     * 参考凭证的凭证号
     */
    @JSONField(name="LFBNR")
    private String cvCode;

    /**
     * 参考凭证项目
     */
    @JSONField(name="LFPOS")
    private String cvItemNo;

    /**
     * 参考凭证年度
     */
    @JSONField(name="LFBJA")
    private String cvYear;

    /**
     * 不良原因
     */
    @JSONField(name="ZREMARK")
    private String adverseCauses;



}
