package cn.superdesk.uniorder.openapicall.thirdpart.szhtxx.electronicInvoice.dto.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;


/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/12/24 下午2:45
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/12/24 下午2:45
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Builder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
@Data
public class SingleBillingRequestBodyKpContentFptxxVo implements Serializable {

    @ApiModelProperty("fpqqlsh : 发票请求唯一流水号")
    private String fpqqlsh;

    @ApiModelProperty("kpxm : 开票项目名称")
    private String kpxm;
    @ApiModelProperty("dkbz : 代开标志 0:自开 1:代开 默认:0")
    private String dkbz;
    @ApiModelProperty("fjh : 分机号")
    private String fjh;

    @ApiModelProperty("xhfmc : 销货方名称")
    private String xhfmc;
    @ApiModelProperty("xhf_nsrsbh : 销货方纳税人识别号")
    @JsonProperty("xhf_nsrsbh")
    private String xhfNsrsbh;
    @ApiModelProperty("xhf_yhzh : 销货方银行账号")
    @JsonProperty("xhf_yhzh")
    private String xhfYhzh;
    @ApiModelProperty("xhf_dzdh : 销货方地址电话")
    @JsonProperty("xhf_dzdh")
    private String xhfDzdh;


    @ApiModelProperty("ghfmc : 购货方名称")
    private String ghfmc;
    @ApiModelProperty(" : 购货方纳税人识别号")
    @JsonProperty("ghf_nsrsbh")
    private String ghfNsrsbh;
    @ApiModelProperty("ghf_yhzh : 购货方银行账号")
    @JsonProperty("ghf_yhzh")
    private String ghfYhzh;
    @ApiModelProperty("ghf_dzdh : 购货方地址电话")
    @JsonProperty("ghf_dzdh")
    private String ghfDzdh;
    @ApiModelProperty("ghfqylx : 购货方企业类型")
    private String ghfqylx;

    @ApiModelProperty("ghf_sj : 购货方手机(发票交付手机号)")
    @JsonProperty("ghf_sj")
    private String ghfSj;
    @ApiModelProperty("ghf_email : 购货方邮箱(发票交付邮箱)")
    @JsonProperty("ghf_email")
    private String ghfEmail;


    @ApiModelProperty("kpy : 开票人")
    private String kpy;
    @ApiModelProperty("sky : 收款人")
    private String sky;
    @ApiModelProperty("fhr : 复核人")
    private String fhr;

    @ApiModelProperty("billSentSign : 交付标志")
    private String billSentSign;

    @ApiModelProperty("qd_bz : 清单标志")
    @JsonProperty("qd_bz")
    private String qdBz;
    @ApiModelProperty("qdxmmc : 清单项目名称")
    private String qdxmmc;

    @ApiModelProperty("kplx : 开票类型")
    private String kplx;

    @ApiModelProperty("yfp_dm : 原发票代码")
    @JsonProperty("yfp_dm")
    private String yfpDm;
    @ApiModelProperty("yfp_hm : 原发票号码")
    @JsonProperty("yfp_hm")
    private String yfpHm;


    @ApiModelProperty("kphjje : 价税合计")
    private String kphjje;
    @ApiModelProperty("hjbhsje : 合计不含税金额")
    private String hjbhsje;
    @ApiModelProperty("hjse : 合计税额")
    private String hjse;

    @ApiModelProperty("备注^_^增值税发票红字发票开具时,备注要求:开具负数发票,必须在备注中注明'对应正数发票代码:XXXXXXXXX号码:YYYYYYYY'字样,其中'X'为发票代码,'Y'为发票号码.")
    private String bz;

    @ApiModelProperty("冲红原因 普通发票、电子普通发票、卷票冲红需给出冲红原因。^_^1-销货退回;2-开票有误;3-服务中止;4-销售折让;对于冲红原因为 1、2、3 的，会执行本地校验和联网校验两项检查，只要其中一项检查不通过，不允许开具红票，其它:为空")
    private Integer redReason;
    @ApiModelProperty("原蓝字发票的开具日期^_^redReason不为空时，则要求填写原蓝字发票的开具日期，格式:yyyyMMdd, 如:20211230注:如果原开票软件中原蓝票的开票时间不一致时，则以开票软件的为准，不作不一致的提示。")
    private String  blueInvDate;
    @ApiModelProperty("原蓝字发票的发票类型^_^redReason不为空时，则要求填写原蓝字发票的发票类型，对应蓝字发票种类主要包括以下4类:2-普通发票;41-卷票;51-电子普通发票;999-其他普通发票(如:通行费发票)")
    private String  blueInvKind;

    @ApiModelProperty("开具理由^_^规模纳税人(含转登记)、代开、委托代开企业，自 2022-01-01 至 2022-12-31 起 3%、1%、0.5%税率降为免税，此期间依旧开具 3% 或 1% 税率的，需要传入开具理由。")
    private Integer invReason;

    @ApiModelProperty("pdf状态回调地址^_^为空时不回调,不为空时回调,若提供的接收回调地址有误,则最多回调三次,回调成功需返回格式{returnCode:'0000',returnMsg:'原因'}其他都视为失败")
    private String  callBackUrl;
    @ApiModelProperty("发票类型^_^0-专票;2-普票;41-卷票;42-二手车;51-电子票;52-电子专票;12-机动车发票;不传默认电子发票")
    private Integer invoiceType;
}
