package models

// InvoiceReply 普通发票
type InvoiceReply struct {
	Cycs     string    `json:"cycs"`     //查验次数
	Cysj     string    `json:"cysj"`     //查验时间
	Fpdm     string    `json:"fpdm"`     //发票代码
	Fphm     string    `json:"fphm"`     //发票号码
	Fpzt     string    `json:"fpzt"`     //发票状态
	Dphm     string    `json:"dphm"`     //为了处理大连税局bug
	TypeName string    `json:"typeName"` //发票类型名称 增值税专用发票
	Fpcc     string    `json:"fpcc"`     //发票类型详细名称 山东省增值税专用发票
	Type     string    `json:"type"`     //发票类型：01-增值税专用发票；03-机动车销售统一发票；04-增值税普通发票；08-增值税电子专用发票；10-增值税电子普通发票；11-卷式普通发票；14-电子普通[通行费]发票；15-二手车统一发票
	Kprq     string    `json:"kprq"`     //开票日期
	Jym      string    `json:"jym"`      //校验码
	Jqbh     string    `json:"jqbh"`     //机器编号
	Jdhm     string    `json:"jdhm"`     //机打号码
	Gfmc     string    `json:"gfmc"`     //购买方 名称
	Gfsbh    string    `json:"gfsbh"`    //购买方 纳税人识别号
	Gfdzdh   string    `json:"gfdzdh"`   //购买方 地址、电话
	Gfyhzh   string    `json:"gfyhzh"`   //购买方 开户行及账号
	Xfmc     string    `json:"xfmc"`     //销售方 名称
	Xfsbh    string    `json:"xfsbh"`    //销售方 纳税人识别号
	Xfdzdh   string    `json:"xfdzdh"`   //销售方 地址、电话
	Xfyhzh   string    `json:"xfyhzh"`   //销售方 开户行及账号
	Jshj     string    `json:"jshj"`     //价税合计
	Jshjdx   string    `json:"jshjdx"`   //价税合计 大写
	Jshjxx   string    `json:"jshjxx"`   //价税合计 小写
	Se       string    `json:"se"`       //税额
	Je       string    `json:"je"`       //金额
	Kce      string    `json:"kce"`      //扣除额
	Bz       string    `json:"bz"`       //备注
	Zfbz     int       `json:"zfbz"`     //作废标志
	Summarys []Summary `json:"summarys"` //发票明细
	//YsfwItem []YsfwItem `json:"ysfwItem"` //发票明细
	PdfUrl string `json:"pdfUrl"`           //pdf路径
	Skm    string `json:"skm"`              //密码区
	Kpr    string `json:"kpr"`              //开票人
	Skr    string `json:"skr"`              //收款人
	Fhr    string `json:"fhr"`              //复核人
	Tdywlx string `json:"tdywlx"`           //特定业务类型
	CtpPdf string `json:"ctpPdf,omitempty"` //
	CtpImg string `json:"ctpImg,omitempty"` //
}

// InvoicePdf 普通发票
type InvoicePdf struct {
	Fphm   string `json:"fphm"`   //发票号码
	PdfUrl string `json:"pdfUrl"` //pdf路径
	OfdUrl string `json:"ofdUrl"` //ofd路径
	XmlUrl string `json:"xmlUrl"` //xml路径
}
type YsfwItem struct {
	//运输票
	Ysgjzl string `json:"ysgjzl,omitempty"` //运输工具种类
	Ysgjph string `json:"ysgjph,omitempty"` //运输工具牌号
	Qyd    string `json:"qyd,omitempty"`    //起运地
	Ddd    string `json:"ddd,omitempty"`    //到达地
	Yshwmc string `json:"yshwmc,omitempty"` //运输货物名称
}

type Summary struct {
	Index     int    `json:"index"`     //栏次
	Name      string `json:"name"`      //货物或应税劳务、服务名称|项目名称
	Spec      string `json:"spec"`      //规格型号|车牌号
	Unit      string `json:"unit"`      //单位|类型
	Amount    string `json:"amount"`    //数量|通行日期起
	PriceUnit string `json:"priceUnit"` //单价|通行日期止
	PriceSum  string `json:"priceSum"`  //金额|金额
	TaxRate   string `json:"taxRate"`   //税率|税率
	TaxSum    string `json:"taxSum"`    //税额|税额
	Flbm      string `jsson:"flbm"`     //税收分类编码|税收分类编码
	JzfwFsd   string `json:"jzfwFsd"`   //建筑服务发生地
	JzxmMc    string `json:"jzxmMc"`    //建筑项目名称
	//铁路客运相关（这块应该弄个单独的结构体 但是他们那边说麻烦就一个一个传
	Cfz   string `json:"cfz,omitempty"`   //出发地
	Cfzpy string `json:"cfzPy,omitempty"` //出发地拼音
	Ddz   string `json:"ddz,omitempty"`   //到达地
	Ddzpy string `json:"ddzPy,omitempty"` //到达地拼音
	Cccc  string `json:"cccc,omitempty"`  //车列
	Rq    string `json:"rq,omitempty"`    //日期
	Cfsj1 string `json:"cfsj1,omitempty"` //railway launch time
	Xb1   string `json:"xb1,omitempty"`   //座位等级
	Cx    string `json:"cx,omitempty"`    //车号
	Xw    string `json:"xw,omitempty"`    //座号
	Dzkph string `json:"dzkph,omitempty"` //电子客票号
	Zjhm  string `json:"zjhm,omitempty"`  //证件号码
	Xm    string `json:"xm,omitempty"`    //姓名
	Tsxxq string `json:"tsxxq,omitempty"` //提示信息
	Txrqq string `json:"txrqq,omitempty"` //通行日期起
	Txrqz string `json:"txrqz,omitempty"` //通行日期止
}

// InvoiceReply 机动车发票
type InvoiceJdcfpReply struct {
	// Cycs     string `json:"cycs"`     //查验次数
	// Cysj     string `json:"cysj"`     //查验时间
	Fpdm        string `json:"fpdm"`        //发票代码
	Fphm        string `json:"fphm"`        //发票号码
	Dphm        string `json:"dphm"`        //数电票号码
	Fpcc        string `json:"fpcc"`        //发票类型名称
	Kprq        string `json:"kprq"`        //开票日期
	Kpr         string `json:"kpr"`         //开票人
	Jddm        string `json:"jddm"`        //机打代码
	Skm         string `json:"skm"`         //税控码
	Jdhm        string `json:"jdhm"`        //机打号码
	Jqbm        string `json:"jqbm"`        //机器编号
	Ghdw        string `json:"ghdw"`        //购买方名称
	Sfzhm       string `json:"sfzhm"`       //身份证号码/组织机构代码
	Gfsbh       string `json:"gfsbh"`       //购方纳税人识别号
	Gfdz        string `json:"gfdz"`        //购方地址
	Gfdh        string `json:"gfdh"`        //购方电话
	Xfdz        string `json:"xfdz"`        //销方地址
	Xfdh        string `json:"xfdh"`        //销方电话
	Xfzh        string `json:"xfzh"`        //销方账号
	Xfkhyh      string `json:"xfkhyh"`      //销方开户银行
	XfZgswjgmc  string `json:"xfZgswjgmc"`  //销方主管税务机关名称
	XfZgswjgdm  string `json:"xfZgswjgdm"`  //销方主管税务机关代码
	Cllx        string `json:"cllx"`        //车辆类型
	Cpxh        string `json:"cpxh"`        //厂牌型号
	Scqymc      string `json:"scqymc"`      //生产企业名称
	Cpzh        string `json:"cpzh"`        //车拍照号
	Djzh        string `json:"djzh"`        //登记证号
	Zrdcgs      string `json:"zrdcgs"`      //转入地车管所名称
	Cd          string `json:"cd"`          //产地  //对应二手车的 二手车市场
	EscSbh      string `json:"escScSbh"`    //二手车市场纳税人识别号
	EscMc       string `json:"escScMc"`     //二手车市场名称
	EscScKhyh   string `json:"escScKhyh"`   //二手车市场开户银行
	EscScKhzh   string `json:"escScKhzh"`   //二手车市场开户账号
	EscScDz     string `json:"escScDz"`     //二手车市场地址
	Escsckhyhzh string `json:"escsckhyhzh"` ////二手车市场开户银行账号 有的是连起来的这个字段
	EscScDh     string `json:"escScDh"`     //二手车市场电话
	Hgzs        string `json:"hgzs"`        //合格证号  //对应二手车的 登记证号
	Jshjxx      string `json:"jshjxx"`      //价税合计 小写
	Jshjdx      string `json:"jshjdx"`      //价税合计 大写
	Sjdh        string `json:"sjdh"`        //商检单号
	Fdjhm       string `json:"fdjhm"`       //发动机号码
	Cjhm        string `json:"cjhm"`        //车辆识别代号/车架号码
	Jkzmsh      string `json:"jkzmsh"`      //进口证明书号
	Xhdwmc      string `json:"xhdwmc"`      //销货单位名称
	Dh          string `json:"dh"`          //电话
	Nsrsbh      string `json:"nsrsbh"`      //销货方纳税人识别号
	Zh          string `json:"zh"`          //销货方账号
	Dz          string `json:"dz"`          //地址
	Khyh        string `json:"khyh"`        //开户银行
	Zzssl       string `json:"zzssl"`       //增值税税率或征收率
	Zzsse       string `json:"zzsse"`       //增值税税额
	SwjgDm      string `json:"swjg_dm"`     //主管税务机关及代码
	Cjfy        string `json:"cjfy"`        //不含税价 小写
	Wspzhm      string `json:"wspzhm"`      //完税凭证号码
	Dw          string `json:"dw"`          //吨位
	Xcrs        string `json:"xcrs"`        //限乘人数
	Zfbz        int    `json:"zfbz"`        //作废标志
	Type        string `json:"type"`        //发票类型，01：增值税专票，02：货物运输业增值税专用发票，04：增值税普通发票，03：机动车销售统一发票，10：电子发票，11：卷式普通发票，14：电子普通[通行费]发票 20：国税，30：地税
	TypeName    string `json:"typeName"`    // 发票类型名称
	Flbm        string `json:"flbm"`        //税收分类编码|税收分类编码
	Bz          string `json:"bz"`          // 备注
	Tdywlx      string `json:"tdywlx"`      //特定业务类型
}

// 页面上的简易信息
type PageInv struct {
	Fpdm string `json:"fpdm"` //发票代码
	Fphm string `json:"fphm"` //发票号码
	Dphm string `json:"dphm"` //数电票号码
	Jshj string `json:"jshj"` //价税合计
	Se   string `json:"se"`   //税额
	Je   string `json:"je"`   //金额
}
