package cn.superdesk.uniorder.dto.param.invoice.customer;

import cn.superdesk.uniorder.common.enums.accounting.AccountingOrderDimCreateByEnum;
import cn.superdesk.uniorder.common.enums.accounting.AccountingOrderTypeDimEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Description: 开票申请 - 提交创建
 * @Author: linjinyu
 * @CreateDate: 2021/7/12 上午11:16
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/7/12 上午11:16
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class InvoiceApplyFocusScoreOpApplyForm implements Serializable {

    @ApiModelProperty(value = "对账单-Id")
    private Long   accountingOrderId;
    @ApiModelProperty(value = "对账单-编号")
    private String accountingOrderSn;

    @ApiModelProperty("对账单类型:1-一般订单;2-积分订单;")
    private Integer accountingOrderTypeDim = AccountingOrderTypeDimEnum.积分订单.getKey();
    @ApiModelProperty("对账单创建维度:0-订单;1-商品;2-流水;")
    private Integer dimCreateBy            = AccountingOrderDimCreateByEnum.流水.getKey();

    @ApiModelProperty("订单来源 引用Enum CommonServiceNoEnum")
    private String serviceNo;
    @ApiModelProperty("操作来源 引用Enum CommonSourceFromEnum")
    private String sourceFrom;


    @Deprecated
    @ApiModelProperty("发票抬头 之前名称 invoiceCompanyName - 并用 - 积分结算2.0 - sysEnterpriseExtInvoiceId sys_enterprise_ext_invoice.id")
    private String invoiceTitle;

    @ApiModelProperty("企业信息扩展发票信息.id sysEnterpriseExtInvoiceId")
    private Long   sysEnterpriseExtInvoiceId;
    @ApiModelProperty("发票申请-发票信息-发票种类(关联表:表.invoice_type):1-增值税普票;2-增值税专票;")
    private Long   invoiceType;
    @ApiModelProperty("税率 外键 表.invoice_tax_rate.id")
    private String taxRate;

    @ApiModelProperty("开票申请金额:商品或流水累加")
    private BigDecimal invoiceApplyAmount;
    @ApiModelProperty("减免金额")
    private BigDecimal freeAmount;
    @ApiModelProperty("实际金额")
    private BigDecimal realAmount;
    @ApiModelProperty("初始为真实金额(开票申请金额-减免金额),如果有回款,这个数值是会相映的减的")
    private BigDecimal noCheckCount;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("之前的orderGoodsObj,之前是json字符串,现在直接对象就行")
    private List<InvoiceApplyOpCreateSelectedCreditParams> applyOrderGoodsCreditParamsList;

}
