package com.dxhy.api.model.sign.openservice;

import lombok.Data;

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

/**
* @Description 开放平台查验返回数据实体-没做任何处理直接赋值
* @Author wangruwei
* @Date 2024/5/8 14:33
**/
@Data
public class OpenServiceSingleInvoiceCheck implements Serializable {

    //-------------------------返回的主体信息-----------------------------
    /**
     * 查验结果
     */
    private String cyjg;
    /**
     * 查验结果信息	查询结果的信息
     */
    private String cyjgxx;
    /**
     * 发票种类
     */
    private String fpzl;
    /**
     * 发票代码	全电发票返回为空（除数电纸质发票外）
     */
    private String fpdm;
    /**
     * 发票号码	21 和 22 返回为 20 位
     */
    private String fphm;
    /**
     * 查验次数
     */
    private String cycs;
    /**
     * 销售方名称
     */
    private String xhfmc;
    /**
     * 销售方识别号
     */
    private String xhfsbh;
    /**
     * 销售方地址电
     */
    private String xhfdzdh;
    /**
     * 销售方开户行及账号
     */
    private String xhfyhzh;
    /**
     * 购买方识别号
     */
    private String gmfsbh;
    /**
     * 购买方名称
     */
    private String gmfmc;
    /**
     * 购方地址电话
     */
    private String gmfdzdh;
    /**
     * 购买方开户行及账号
     */
    private String gmfyhzh;
    /**
     * 开票日期	"格式	YYYYMMDD"
     */
    private String kprq;
    /**
     * 发票金额
     */
    private String fpje;
    /**
     * 发票税额
     */
    private String fpse;
    /**
     * 价税合计
     */
    private String jshj;
    /**
     * 备注
     */
    private String bz;
    /**
     * 机器编号
     */
    private String jqbh;
    /**
     * 开票人
     */
    private String kpr;
    /**
     * 收款人
     */
    private String skr;
    /**
     * 复核人
     */
    private String fhr;
    /**
     * 校验码	"区块链电子发票返回 5 位
     * 数电纸质（普票/专票）返回为全电号码"
     */
    private String jym;
    /**
     * 作废标志
     */
    private String zfbz;
    /**
     * 购买方身份证号/组织机构代码	机动车发票返回该信息
     */
    private String sfzh;
    /**
     * 车辆类型	机动车、二手车发票返回该信息
     */
    private String cllx;
    /**
     * 厂牌型号	机动车、二手车发票返回该信息
     */
    private String cpxh;
    /**
     * 产地	机动车发票返回该信息
     */
    private String cd;
    /**
     * 合格证号书	机动车发票返回该信息
     */
    private String hgzs;
    /**
     * 商检单号	机动车发票返回该信息
     */
    private String sjdh;
    /**
     * 发动机号码	机动车发票返回该信息
     */
    private String fdjhm;
    /**
     * 车辆识别代号/车架号码	机动车、二手车发票返回该信息
     */
    private String clsbh;
    /**
     * 进口证明书号	机动车发票返回该信息
     */
    private String jszmsh;
    /**
     * 主管税务机关代码	机动车发票返回该信息
     */
    private String zgswjgdm;
    /**
     * 完税凭证号码	机动车发票返回该信息
     */
    private String wspzhm;
    /**
     * 限乘人数	机动车发票返回该信息
     */
    private String xcrs;
    /**
     * 主管税务机关名称	机动车发票返回该信息
     */
    private String zgswjgmc;
    /**
     * 吨位	机动车发票返回该信息
     */
    private String dw;
    /**
     * 税率	机动车发票返回该信息
     */
    private String sl;
    /**
     * 开户银行	机动车发票返回该信息
     */
    private String khyh;
    /**
     * 开户账号	机动车发票返回该信息
     */
    private String khzh;
    /**
     * 承运人名称	货运发票返回信息
     */
    private String cyrmc;
    /**
     * 承运人识别号	货运发票返回信息
     */
    private String cyrsbh;
    /**
     * 受票方名称	货运发票返回信息
     */
    private String spfmc;
    /**
     * 受票方识别号	货运发票返回信息
     */
    private String spfsbh;
    /**
     * 收货人名称	货运发票返回信息
     */
    private String shrmc;
    /**
     * 收货人识别号	货运发票返回信息
     */
    private String shrsbh;
    /**
     * 发货人名称	货运发票返回信息
     */
    private String fhrmc;
    /**
     * 发货人识别号	货运发票返回信息
     */
    private String fhrsbh;
    /**
     * 运输货物信息	货运发票返回信息
     */
    private String ysgwxx;
    /**
     * 起运地、经由、到达地	货运发票返回信息
     */
    private String qydjyddd;
    /**
     * 税控盘号	货运发票返回信息
     */
    private String skph;
    /**
     * 车种车号	货运发票返回信息
     */
    private String czch;
    /**
     * 车船吨位	货运发票返回信息
     */
    private String ccdw;
    /**
     * 通行费标志	通行费发票返回信息 Y-可抵扣通行费 N-不可抵扣通行费
     */
    private String txfbz;
    /**
     * 零税率标识	通行费发票返回信息空：非零税率 1：税率栏位显示“免税”，2：税率栏位显示“不征税”，3：零税率
     */
    private String lslbs;
    /**
     * 车牌照号	二手车发票返回信息
     */
    private String cpzh;
    /**
     * 登记证号	二手车发票返回信息
     */
    private String djzh;
    /**
     * 车价合计	二手车发票返回信息
     */
    private String cjhj;
    /**
     * 转入地车辆车管所名称	二手车发票返回信息
     */
    private String zrdcgsmc;
    /**
     * 买方单位/个人	二手车发票返回信息
     */
    private String mfdwgr;
    /**
     * 买方单位代码/身份证号	二手车发票返回信息
     */
    private String mfdwdmsfzh;
    /**
     * 买方单位/个人住址	二手车发票返回信息
     */
    private String mfdwgrdz;
    /**
     * 买方电话	二手车发票返回信息
     */
    private String mfdh;
    /**
     * 卖方单位/个人	二手车发票返回信息
     */
    private String smfdwgr;
    /**
     * 卖方单位代码/身份证号	二手车发票返回信息
     */
    private String smfdwdmsfzh;
    /**
     * 卖方单位/个人住址	二手车发票返回信息
     */
    private String smfdwgrzz;
    /**
     * 卖方电话	机动车、二手车发票返回信息
     */
    private String smfdh;
    /**
     * 经营拍卖单位	二手车发票返回信息
     */
    private String jypmdw;
    /**
     * 经营拍卖单位地址	二手车发票返回信息
     */
    private String jypmdwdz;
    /**
     * 经营拍卖单位纳税人识别号	二手车发票返回信息
     */
    private String jypmdwzsbh;
    /**
     * 开户银行及账号	二手车发票返回信息
     */
    private String khyhjzh;
    /**
     * 经营拍卖单位电话	二手车发票返回信息
     */
    private String jypmdwdh;
    /**
     * 二手车市场	二手车发票返回信息
     */
    private String escsc;
    /**
     * 二手车市场纳人识别号	二手车发票返回信息
     */
    private String escscsbh;
    /**
     * 二手车市场地址	二手车发票返回信息
     */
    private String escscdz;
    /**
     * 二手车市场开户银行及账号	二手车发票返回信息
     */
    private String escsckhyhzh;
    /**
     * 二手车市场电话	二手车发票返回信息
     */
    private String escscdh;
    /**
     * 清单标志	Y：带清单；N：无清单；备注；只有当发票种类为：专用发票，电子专用发票，电子发票，普通发票时返回此字段的值
     */
    private String qdbz;
    /**
     * 发票状态	Y:已作废； N:未作废; 3:红冲 ;7:部分红冲: 8:全额红冲
     */
    private String fpzt;
    /**
     * PDF版式文件下载链接	PDF 版式文件下载链接
     */
    private String pdfurl;
    /**
     * 版式文件 url	OFD 文件返回 url 下载地址
     */
    private String bswjurl;
    /**
     * 代开标志	Y：代开；N:非代开；代开发票返回该标志
     */
    private String dkbz;
    /**
     * 成品油标志	Y：是；N：否；成品油发票返回该标志
     */
    private String cpybz;
    /**
     * 机动车标志	Y：是；N：否；新版机动车发票返回该标志
     */
    private String jdcbz;
    /**
     * 业务类型	电子发票（铁路电子客票）返回信息枚举值：1：售；2：退
     */
    private String ywlx;
    /**
     * 姓名	电子发票（铁路电子客票）电子发票（航空运输电子客票行程单）返回信息
     */
    private String xm;
    /**
     * 证件号	电子发票（铁路电子客票）电子发票（航空运输电子客票行程单）返回信息
     */
    private String zjhm;
    /**
     * 出发站	电子发票（铁路电子客票）返回信息
     */
    private String cfz;
    /**
     * 到达站	电子发票（铁路电子客票）返回信息
     */
    private String ddz;
    /**
     * 车次	电子发票（铁路电子客票）返回信息
     */
    private String cc;
    /**
     * 乘车日期	电子发票（铁路电子客票）返回信息
     */
    private String ccrq;
    /**
     * 出发时间	电子发票（铁路电子客票）返回信息
     */
    private String cfsj;
    /**
     * 席别	电子发票（铁路电子客票）返回信息
     */
    private String xb;
    /**
     * 车厢	电子发票（铁路电子客票）返回信息
     */
    private String cx;
    /**
     * 席位	电子发票（铁路电子客票）返回信息
     */
    private String xw;
    /**
     * 票种	电子发票（铁路电子客票）返回信息
     */
    private String pz;
    /**
     * 电子客票号	电子发票（铁路电子客票）电子发票（航空运输电子客票行程单）返回信息
     */
    private String dzkph;
    /**
     * 空调特征	电子发票（铁路电子客票）返回信息
     */
    private String kttz;
    /**
     * 国内国际标识	电子发票（航空运输电子客票行程单）返回信息
     */
    private String gngjbs;
    /**
     * GP 单号	电子发票（航空运输电子客票行程单）返回信息
     */
    private String gpdh;
    /**
     * 数电票标志	1：是0：否
     */
    private String xdpbz;


    /**
     * 发票明细数据实体
     **/
    @Data
    public static class SingleInvoiceDetail {
        /**
         * 明细编号
         */
        private String mxbh;
        /**
         * 货物名称
         */
        private String hwmc;
        /**
         * 金额
         */
        private String je;
        /**
         * 数量
         */
        private String spsl;
        /**
         * 税率
         */
        private String sl;
        /**
         * 税额
         */
        private String se;
        /**
         * 含税单价
         */
        private String hsdj;
        /**
         * 含税金额
         */
        private String hsje;
        /**
         * 不含税单价
         */
        private String bhsdj;
        /**
         * 规格型号
         */
        private String ggxh;
        /**
         * 计量单位
         */
        private String jldw;
        /**
         * 费用项目	货运发票返回信息
         */
        private String fyxm;
        /**
         * 车牌号	通行费发票返回信息
         */
        private String cph;
        /**
         * 类型	通行费发票返回信息
         */
        private String lx;
        /**
         * 通行日期起	通行费发票返回信息
         */
        private String txrqq;
        /**
         * 通行日起止	通行费发票返回信息
         */
        private String txrqz;
        /**
         * 税收分类编码
         */
        private String ssflbm;
        /**
         * 航段	电子发票（航空运输电子客票行程单）返回信息
         */
        private String hd;
        /**
         * 始发站	电子发票（航空运输电子客票行程单）返回信息
         */
        private String sfz;
        /**
         * 目的站	电子发票（航空运输电子客票行程单）返回信息
         */
        private String mdz;
        /**
         * 承运人	电子发票（航空运输电子客票行程单）返回信息
         */
        private String cyr;
        /**
         * 航班号	电子发票（航空运输电子客票行程单）返回信息
         */
        private String hbh;
        /**
         * 座位等级	电子发票（航空运输电子客票行程单）返回信息
         */
        private String zwdj;
        /**
         * 承运日期	电子发票（航空运输电子客票行程单）返回信息
         */
        private String cyrq;
        /**
         * 起飞时间	电子发票（航空运输电子客票行程单）返回信息
         */
        private String qfsj;
        /**
         * 客票级别	电子发票（航空运输电子客票行程单）返回信息
         */
        private String kpjb;

    }

    @Data
    public static class SingleInvoiceHzfpDetail {
        /**
         * 红字发票代码
         **/
        private String hzfpdm;
        /**
         * 红字发票号码
         **/
        private String hzfphm;
        /**
         * 红字发票日期
         **/
        private String hzfprq;
        /**
         * 红字发票状态
         **/
        private String hzfpzt;
    }

    /**
     * 发票明细数据
     **/
    private List<SingleInvoiceDetail> detailList;
    /**
     * 红字发票数据
     **/
    private List<SingleInvoiceHzfpDetail> hzlList;



}
