package com.tofly.dzfp.entity.Invoice;

import lombok.Data;

import java.util.List;

/**
 * @author lihaoli
 * @date 2024/11/15
 */
@Data
public class RedInvoiceApplyFor {
    /**
     * 红字确认单申请号，需要保持唯一，不传的话系统自动生成一个
     */
    public String billId;
    /**
     * 对应蓝票发票种类: bs:电子发票(增值税专用发票)， pc:电子发票(普通发票)，es:全电纸质发票(增值税专用发票)，
     * ec:全电纸质发票(普通发票)，p:普通发票（电票），c:普通发票（纸票），s:专用发票，b:增值税电子专用发票
     */
    public String blueInvoiceLine;
    /**
     * 申请方（录入方）身份： 0 销方 1 购方
     */
    public String applySource;
    /**
     * 对应蓝字发票号码（蓝票是增值税发票时必传，长度为8位数字，若传20位数字则视为是蓝字数电票号码）
     */
    public String blueInvoiceNumber;
    /**
     * 对应蓝字发票代码（蓝票是增值税发票时必传）
     */
    public String blueInvoiceCode;
    /**
     * 对应蓝字数电票号码（数电普票、数电专票、数纸普票、数纸专票都需要传，蓝票是增值税发票时不传）
     */
    public String blueElecInvoiceNumber;
    /**
     * 填开时间（时间戳格式），默认为当前时间
     */
    public String billTime;
    /**
     * 销方税号
     */
    public String sellerTaxNo;
    /**
     * 销方名称，申请说明为销方申请时可为空
     */
    public String sellerName;
    /**
     * 部门门店id（诺诺网系统中的id）
     */
    public String departmentId;
    /**
     * 开票员id（诺诺网系统中的id）
     */
    public String clerkId;
    /**
     * 购方税号
     */
    public String buyerTaxNo;
    /**
     * 购方名称
     */
    public String buyerName;
    /**
     * 蓝字发票增值税用途（预留字段可为空）:1 勾选抵扣 2 出口退税 3 代办出口退税 4不抵扣
     */
    public String vatUsage;
    /**
     * 蓝字发票消费税用途（预留字段可为空）
     */
    public String saleTaxUsage;
    /**
     * 发票入账状态（预留字段可为空）： 0 未入账 1 已入账
     */
    public String accountStatus;
    /**
     * 冲红原因： 1销货退回 2开票有误 3服务中止 4销售折让
     */
    public String redReason;
    /**
     * 分机号
     */
    public String extensionNumber;
    /**
     * 是否自动开票，0否（不传默认0）1是；传1时，所申请的确认单变为购销双方已确认或无需确认状态时，而自动开具红票。
     * 目前该字段不生效，电票都自动开，纸票都不自动
     */
    public String autoInvoice;
    /**
     * 若有值，则在无需确认或购销双方已确认后去自动开红票，发票的开票单号用该值
     */
    public String orderNo;
    /**
     * 交付手机，红票优先取该值，不传默认取原蓝票
     */
    public String phone;
    /**
     * 交付邮箱，红票优先取该值，不传默认取原蓝票
     */
    public String email;
    /**
     * 确认单回传地址，回调内容可联系服务人员；自动开票时，会透传到开票接口
     */
    public String callbackUrl;
    /**
     * 红字确认单明细信息列表（数电发票部分冲红时才需要传）
     */
    public List<RedInvoiceApplyForDetail> detail;
}
