package cn.superdesk.uniorder.dto.vo.order;

import lombok.Data;
import lombok.ToString;
import org.springframework.data.annotation.Transient;

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

@Data
@ToString
public class UnifiedOrderGoodsDebugVo implements Serializable {

    private Long id;

    private String orderSn;

    private String goodsName;

    /**
     * 商品名称 别名
     */
    private String goodsAlias;

    private Long goodsId;

    private Long outSnapshotOrderGoodsId;

    /**
     * 商品类型:1-商品;2-运费;3-杂费;4-赠品;
     */
    private Integer goodsType;

    private Integer quantity;

    /**
     * 商品单位
     */
    private String unit;

    private BigDecimal price;

    private BigDecimal costPrice;

    /**
     * 财务编码
     */
    private String fiscalCode;

    /**
     * 税务编码
     */
    private String taxCode;

    /**
     * 税率 %
     */
    private BigDecimal taxRate;

    /**
     * 商户税率ID-20210413-添加
     */
    private Long merchTaxId;

    /**
     * 商户税率编码-20210413-添加
     */
    private String merchTaxCode;

    /**
     * 商户税率-20210413-添加
     */
    private BigDecimal merchTaxRate;

    /**
     * 平台税率ID-20210413-添加
     */
    private Long operationTaxId;

    /**
     * 平台税率编码-20210413-添加
     */
    private String operationTaxCode;

    /**
     * 平台税率-20210413-添加
     */
    private BigDecimal operationTaxRate;

    private Long cateIdLv1;

    private String cateNameLv1;

    private Long cateIdLv2;

    private String cateNameLv2;

    private Long cateIdLv3;

    /**
     * 分类名称
     */
    private String cateNameLv3;

    /**
     * 商品规格 add at 20201028
     */
    private String selfOption;

    private Integer direction;

    /**
     * 客户对账锁定:0-正常;1-销定
     */
    private Integer goodsLockingCustomer;

    /**
     * 供应商对账锁定:0-正常;1-销定
     */
    private Integer goodsLockingSupplier;

    /**
     * 客户对账:1-已对账;2-未对账;7-集采已对账 8-集采已对账
     */
    private Integer accountingStateCustomer;

    /**
     * 供应商对账:1-已对账;2-未对账;7-集采已对账 8-集采已对账
     */
    private Integer accountingStateSupplier;

    /**
     * 0-未回款;1-已回款;
     */
    private Integer backAccountStatus;

    /**
     * 应收统计状态 9历史 0未统计 1已统计
     */
    //private Integer receivableStatisticsState;

    /**
     * 应付统计状态 9历史 0未统计 1已统计
     */
    //private Integer payableStatisticsState;


    /**
     * 退单号
     */
    private String refundOrderSn;

    private Date createTime;

    private Long createUserId;

    private Date updateTime;

    private Long updateUserId;

    private String goodsParams;

    @Transient
    private Long qchjcGoodsId;

    /**
     * 应收统计状态 9历史 0未统计 1已统计
     */
    //private Integer receivableStatisticsState;

    /**
     * 应付统计状态 9历史 0未统计 1已统计
     */
    //private Integer payableStatisticsState;


    /**
     * 应付冲销状态：1-未冲销 2-部分冲销 3-全部冲销
     */
    private Integer payableChargeState;

    private static final long serialVersionUID = 1L;
}
