package com.zfire.mall.manager.bean.invoice;

import com.zfire.mall.manager.plus.entity.InvoiceApplication;
import com.zfire.mall.manager.plus.entity.SalesOrderPicture;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author change
 */
@ApiModel
@Data
public class InvoiceProjectBean extends InvoiceApplication {


    @ApiModelProperty(value = "引用记录")
    private Integer useRefCount;

    @ApiModelProperty(value = "销售类型id")
    private String saleTypeId;

    @ApiModelProperty(value = "金蝶物料id")
    private String materialId;

    @ApiModelProperty(value = "工程单单价")
    private BigDecimal enginPrice;

    @ApiModelProperty(value = "工程单金额")
    private BigDecimal enginTotality;

    @ApiModelProperty(value = "工程单记录数量")
    private Integer enginNum;

    @ApiModelProperty(value = "数量")
    private Integer qty;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ApiModelProperty(value = "折扣金额")
    private BigDecimal discAmount;

    @ApiModelProperty(value = "应付金额")
    private BigDecimal mustTotalAmount;

    @ApiModelProperty(value = "实付金额")
    private BigDecimal realTotalAmount;

    @ApiModelProperty(value = "返利使用比例")
    private String walletRebateId;

    @ApiModelProperty(value = "返利金额")
    private BigDecimal rebateAmount;

    @ApiModelProperty(value = "钱包id")
    private String walletId;

    @ApiModelProperty(value = "是否直调 false=否 true=是")
    private Boolean isDirectTransfer;

    @ApiModelProperty(value = "直调数量")
    private Integer directTransferQty;

    @ApiModelProperty(value = "应出数量")
    private Integer mustQty;

    @ApiModelProperty(value = "实出数量")
    private Integer realQty;

    @ApiModelProperty(value = "退订数量")
    private Integer refundQty;

    @ApiModelProperty(value = "税率")
    private BigDecimal taxRate;

    @ApiModelProperty(value = "主订单id")
    private String mainOrderId;

    @ApiModelProperty(value = "订单商品id")
    private String orderId;

    @ApiModelProperty(value = "申请发货订单号")
    private String invoiceId;

    @ApiModelProperty(value = "申请数量")
    private Integer invoiceNum;

    @ApiModelProperty(value = "审批数量")
    private Integer approvalNumber;

    @ApiModelProperty(value = "可退数量")
    private Integer refundableQty;

    @ApiModelProperty(value = "已退数量")
    private Integer retiredQty;

    @ApiModelProperty(value = "订单类型 TRADE=商用 HOME=家用 RETAIL=零售单 RETAIL_POLICY 销售政策单  PERMU_HOME = 置换单家用        PERMU_TRADE 置换商用   PERMU_RETAIL  置换零售   PERMU_RETAIL_POLICY 置换销售政策单")
    private String orderType;

    @ApiModelProperty(value = "销售类型编号")
    private String saleTypeCode;

    @ApiModelProperty(value = "销售类型名称")
    private String saleTypeName;

    @ApiModelProperty(value = "单据日期")
    private Date theTime;

    @ApiModelProperty(value = "旧物料编码")
    private String materialOldNumber;

    @ApiModelProperty(value = "物料编号")
    private String materialCode;

    @ApiModelProperty(value = "物料名称")
    private String materialName;

    @ApiModelProperty(value = "物料规格型号")
    private String specification;

    @ApiModelProperty(value = "单位")
    private String unit;

    @ApiModelProperty(value = "实付金额(订单金额-返利金额-折扣金额-不够扣的返利金额)")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "税率例如: 0.13")
    private BigDecimal tax;

    @ApiModelProperty(value = "税后单价")
    private BigDecimal afterTaxPrice;

    @ApiModelProperty(value = "无税金额")
    private BigDecimal noTotalAmount;

    @ApiModelProperty(value = "实际扣除的返利金额")
    private BigDecimal payRebateAmount;

    @ApiModelProperty(value = "总的格力折扣金额")
    private BigDecimal totalDiscAmount;


    @ApiModelProperty(value = "1正常")
    private Boolean refundStatus;

    @ApiModelProperty(value = "单个商品的实际支付金额(实际支付金额/qty)")
    private BigDecimal singlePayPrice;

    @ApiModelProperty(value = "单个商品的押金金额(单个商品的实际支付金额*押金比例)")
    private BigDecimal singleDepositAmount;

    @ApiModelProperty(value = "业务员id(对应admin_user表的id)")
    private String serviceId;

    @ApiModelProperty(value = "业务员名称")
    private String serviceName;


    @ApiModelProperty(value = "金蝶行号")
    private String kingDeeSeq;

    @ApiModelProperty(value = "金蝶内码")
    private String kingDeeEntryId;

    @ApiModelProperty(value = "金蝶销售出库单id")
    private String kingSaleId;

    @ApiModelProperty(value = "金蝶销售出库单行号")
    private String kingDeeOrderSeq;

    @ApiModelProperty(value = "金蝶销售出库单内码")
    private String kingDeeOrderId;

    @ApiModelProperty(value = "金蝶销售出库number")
    private String kingBillNo;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "单个商品的返利金额(实际扣除的返利金额/qty)")
    private BigDecimal singleRebateAmount;

    @ApiModelProperty(value = "表头备注")
    private String headerRemark;

    @ApiModelProperty(value = "产品详细备注")
    private String invoiceRemark;

    @ApiModelProperty(value = "表头业务员id")
    private String k3ServiceId;

    @ApiModelProperty(value = "表头业务员名称")
    private String k3ServiceName;

    @ApiModelProperty(value = "配件型号1")
    private String pjxh1Text;

    @ApiModelProperty(value = "配件型号1")
    private String itemFileNo;

    @ApiModelProperty(value = "产品类别")
    private String categoryName;

    @ApiModelProperty(value = "物料分组")
    private String materialGroupName;

    @ApiModelProperty(value = "图片")
    private List<SalesOrderPicture> salesOrderPictures;
}
