package com.jianshui.income.domain.vo.render;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Description 远得查验返回结果
 * @Author 巩权林
 * @Date 2022/11/21 00:03
 * TODO HCBZ红冲标志，商品行，其他类型发票还未整理
 **/
@Data
public class GetInvoiceVO {
    //    @JSONField(name = "id")
//    private int id;
    // 查验人的companyid
    @JSONField(name = "company_id")
    private String company_id;
    // 批次号

    //税收分类编码
    @JSONField(name = "TaxCode")
    private String taxcode;
    @JSONField(name = "pch")
    private String pch;
    // 查验结果
    @JSONField(name = "cyjg")
    private String cyjg;
    // 查验结果信息   查询结果的信息
//    @JSONField(name = "cyjgxx")
//    private String cyjgxx;
    // 发票种类
    @JSONField(name = "Fpzl") // 单独处理
    private String fpzl;
    // 发票代码
    @JSONField(name = "Fpdm")
    private String fpdm;
    // 发票号码
    @JSONField(name = "Fphm")
    private String fphm;
    // 查验次数
    @JSONField(name = "cycs")
    private String cycs;
    // 销售方名称
    @JSONField(name = "Xfmc")
    private String xfmc;
    // 销售方识别号
    @JSONField(name = "Xfsh")
    private String xfsbh;
    // 销售方地址电
    @JSONField(name = "Xfdzdh")
    private String xfdzdh;
    // 销售方地址 2022.09.16 浪潮要求新增需求
    @JSONField(name = "Xfdz")
    private String xfdz;
    // 销售方电话 2022.09.16 浪潮要求新增需求
    @JSONField(name = "xhfdh")
    private String xfdh;
    // 销售方开户行
    @JSONField(name = "Xfyhzh")
    private String xfyhzh;
    // 购买方识别号
    @JSONField(name = "Gfsh")
    private String gmfsbh;
    // 购买方名称
    @JSONField(name = "Gfmc")
    private String gmfmc;
    // 购方地址、电话
    @JSONField(name = "Gfdzdh")
    private String gmfdzdh;
    // 购买方开户行及账号
    @JSONField(name = "Gfyhzh")
    private String gmfyhzh;
    // 开票日期   格式 YYYYMMDD
    @JSONField(name = "Kprq")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String kprq;
    // 发票金额   发票种类为 01，02，03，14 时不可为空，填写发票不含税金额
    @JSONField(name = "Je")
    private String fpje;
    // 发票税额
    @JSONField(name = "Se")
    private String fpse;
    // 价税合计
    @JSONField(name = "Jshj")
    private String jshj;
    // 备注
    @JSONField(name = "Bz")
    private String bz;
    // 机器编号
    @JSONField(name = "Jqbm")
    private String jqbh;
    // 开票人
//    @JSONField(name = "kpr")
//    private String kpr;
//     收款人
//    @JSONField(name = "skr")
//    private String skr;
//     复核人
//    @JSONField(name = "fhr")
//    private String fhr;
    // 校验码
    @JSONField(name = "JYM")
    private String jym;
    // 作废标志  Y:已作废 H:已冲红 N：未作废
    @JSONField(name = "ZFBZ")
    private String zfbz;
    @JSONField(name = "HCBZ")
    private String hcbz;
    // 作废标志  Y:已作废 H:已冲红 N：未作废
    @JSONField(name = "status")
    private String status;
    // 创建时间
    @JSONField(name = "created_at")
    private Date created_at;
    //当前税款所属期
    @JSONField(name = "dqskssq")
    private String dqskssq;
    //当前税款所属期勾选截止日
    @JSONField(name = "gxjzr")
    private String gxjzr;
    //当前税款所属期可勾选发票开票日期起
    @JSONField(name = "gxrqq")
    private String gxrqq;
    //当前税款所属期可勾选发票开票日期止
    @JSONField(name = "gxrqz")
    private String gxrqz;
    //发票状态0-正常1-失控2-作废3-红冲4-异常
    @JSONField(name = "fpzt")
    private String fpzt;
    //认证状态0-未认证 1-已认证
    @JSONField(name = "rzzt")
    private String rzzt;
    //认证日期
    @JSONField(name = "rzrq")
    private String rzrq;
    //认证归属期
    @JSONField(name = "rzsq")
    private String rzsq;
    //认证类型0-未抵扣1-抵扣2-退税3-代理退税4-不抵扣
    @JSONField(name = "rzlx")
    private String rzlx;
    //信息来源0扫描认证1系统推送2出口转内销
    @JSONField(name = "xxly")
    private String xxly;
    //有效税额当RZLX=1(抵扣)、4(不抵扣)、时不为空
    @JSONField(name = "yxse")
    private String yxse;
    //逾期可勾选标志逾期可勾选标志0默认值1 可勾选逾期
    @JSONField(name = "yqkgxbz")
    private String yqkgxbz;
    //管理状态0 正常1 异常
    @JSONField(name = "glzt")
    private String glzt;
    //认证处理状态0未认证1待认证2系统认证中3第三方认证中4认证成功5认证失败
    @JSONField(name = "rzclzt")
    private String rzclzt;
    //失败原因1 成功2 无此票3 该票异常无法认证4 该票已认证5 该票已经逾期无法认证6 该票已经申请认证7 申请认证月份不匹配8 其他异常
    // 9 该票未到期10 红票无法认证11 认证类型不匹配12 信用等级异常13 token 超过五天未获取14 该票不可勾选为逾期15 有效税额异常（有效税额大 于实际税额）
    //16 当期已锁定17 逾期不可勾选18 发票未勾选（确认）19 取消操作不匹配98 管理状态异常
    @JSONField(name = "sbyy")
    private String sbyy;

    @JSONField(name = "Sph")
    private List<GetInvoiceSphVO> Sph;

    // 二手车 start

//    @JSONField(name = "mfdwgr")
//    private String mfdwgr;

    @JSONField(name = "djzh")
    private String djzh;

//    @JSONField(name = "cyjg")
//    private String cyjg;

    @JSONField(name = "smfdwgr")
    private String smfdwgr;

    @JSONField(name = "cpxh")
    private String cpxh;

    @JSONField(name = "escsc")
    private String escsc;

//    @JSONField(name = "cycs")
//    private String cycs;

    @JSONField(name = "Gfdz")
    private String gfdz;

//    @JSONField(name = "clsbh")
//    private String clsbh;

    @JSONField(name = "smfdh")
    private String smfdh;

    @JSONField(name = "Escscdz")
    private String escscdz;

//    @JSONField(name = "smfdwgrzz")
//    private String smfdwgrzz;

//    @JSONField(name = "smfdwdmsfzh")
//    private String smfdwdmsfzh;
    @JSONField(name = "escscdh")
    private String escscdh;
    @JSONField(name = "cpzh")
    private String cpzh;

//    @JSONField(name = "escsckhyhzh")
//    private String escsckhyhzh;

    @JSONField(name = "Cjhj")
    private String cjhj;

    @JSONField(name = "xdpbz")
    private String xdpbz;

    @JSONField(name = "cllx")
    private String cllx;

    @JSONField(name = "qdbz")
    private String qdbz;

    @JSONField(name = "cpybz")
    private String cpybz;

    @JSONField(name = "zrdcgsmc")
    private String zrdcgsmc;

    @JSONField(name = "escscsbh")
    private String escscsbh;

//    @JSONField(name = "mfdwdmsfzh")
//    private String mfdwdmsfzh;

    @JSONField(name = "Gfdh")
    private String Gfdh;

    @JSONField(name = "Cjh")
    private String cjh;
    @JSONField(name = "Zrdclglsmc")
    private String zrdclglsmc;
    @JSONField(name = "Nsrsbh")
    private String nsrsbh;


    // 二手车 end

    // 机动车 start
    @JSONField(name = "xhfmc")
    private String xhfmc;

//    @JSONField(name = "hgzs")
//    private String hgzs;

    @JSONField(name = "xcrs")
    private String xcrs;

    @JSONField(name = "sl")
    private String sl;
    // 产地  机动车发票返回该信息`
    @JSONField(name = "cd")
    private String cd;

//    @JSONField(name = "skph")
//    private String skph;

    @JSONField(name = "xhfsbh")
    private String xhfsbh;

//    @JSONField(name = "khzh")
//    private String khzh;

    @JSONField(name = "jdcbz")
    private String jdcbz;

    @JSONField(name = "zgswjgmc")
    private String zgswjgmc;

    @JSONField(name = "zgswjg")
    private String zgswjgdm;

//    @JSONField(name = "fdjhm")
//    private String fdjhm;
    //机动车合格证书号
    @JSONField(name = "Hgzh")
    private String hgzh;

    //进口证书号
    @JSONField(name = "Jkzmsh")
    private String jkzmsh;

    //商检单号
    @JSONField(name = "Sjdh")
    private String sjdh;
    //发送机号码
    @JSONField(name = "Fdjhm")
    private String fdjhm;
    //车辆识别代号
    @JSONField(name = "Clsbdh")
    private String clsbdh;
    // 完税凭证号码  机动车发票返回该信息`
    @JSONField(name = "Wspzhm")
    private String wspzhm;

    // 吨位  机动车发票返回该信息`
    @JSONField(name = "Dw")
    private String dw;

    // 电话
    @JSONField(name = "Dh")
    private String dh;
    // 地址
    @JSONField(name = "Dz")
    private String dz;
    // 开户银行
    @JSONField(name = "Khyh")
    private String khyh;

    // 账号
    @JSONField(name = "Zh")
    private String zh;

    //发票类型
    @JSONField(name = "Fplx")
    private String fplx;

    // 机动车发票end

    //航空  start

    // 电子客票号
    private String dzkph;

    // 国内国际标识
    private String gngjbs;
    // GP 单号
    private String gpdh;
    //航空  end



    //铁路 start
    // 业务类型
    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 kttz;
    //铁路 end

}
