QueryInvoiceResultDTO.java 11 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.uas.eis.dto;
  2. //import com.uas.eis.core.enums.ElecISpecificFactor;
  3. import com.uas.eis.core.enums.ElecInVoiceSpecificFactor;
  4. import com.uas.eis.utils.StringUtil;
  5. import lombok.Data;
  6. import java.util.List;
  7. @Data
  8. public class QueryInvoiceResultDTO extends QSqlDTO {
  9. private String serialNo;//描述:发票请求流水号 示例值:19010211130401000000
  10. private String orderNo;//描述:订单编号 示例值:1001000011161
  11. private String status;//描述:发票状态: 2 :开票完成( 最终状 态),其他状态分别为: 20:开票中; 21:开票成功签章中;22:开票失败;24: 开票成功签章失败;3:发票已作废 31: 发票作废中 备注:22、24状态时,无需再查询,请确认开票失败原因以及签章失败原因; 注:请以该状态码区分发票状态 示例值:2
  12. private String statusMsg;//描述:发票状态描述 示例值:开票完成(最终状态)
  13. private String failCause;//描述:失败原因 示例值:
  14. private String pdfUrl;//描述:发票pdf地址(若同时返回了ofdUrl与pdfUrl,则pdf文件不能做为原始凭证,请用ofd文件做为原始凭证) 示例值:https://invtest.jss.com.cn/group1/M00/0D/A4/wKjScVwsK6CAFzLgAABsVO-OKaE630.pdf
  15. private String pictureUrl;//描述:发票图片地址 示例值:nnfpkf.jss.com.cn/ArQ6dFE3-9o5x4B
  16. private String invoiceTime;//描述:开票时间 示例值:1546398919000
  17. private String invoiceCode;//描述:发票代码(数电电票时为空,数电纸票时有值) 示例值:131880930199
  18. private String invoiceNo;//描述:发票号码(数电电票时返回原来的20位数电票号码,数电纸票时为8位的纸票号码) 示例值:19902643
  19. private String allElectronicInvoiceNumber;//描述:allElectronicInvoiceNumber 数电票号码(数电电票、数电纸票时均返回20位数电票号码) 示例值:22310000000000000000
  20. private String exTaxAmount;//描述:不含税金额 示例值:0.38
  21. private String taxAmount;//描述:合计税额 示例值:0.02
  22. private String orderAmount;//描述:价税合计 示例值:0.4
  23. private String payerName;//描述:购方名称(付款方名称) 示例值:个人2
  24. private String payerTaxNo;//描述:购方税号(付款方税号) 示例值:110101TRDX8RQU1
  25. private String address;//描述:购方地址 示例值:杭州西湖区
  26. private String telephone;//描述:购方电话 示例值:13000000000
  27. private String bankAccount;//描述:购方开户行及账号 示例值:中国工商银行000001
  28. private String invoiceKind;//描述:发票种类,包含:增值税电子普通发票、增值税普通发票、专用发票(电子)、增值税专用发票、收购发票(电子)、收购发票(纸质)、增值税普通发票(卷式)、机动车销售统一发票、二手车销售统一发票、电子发票(增值税专用发票)、电子发票(普通发票)、全电纸质发票(增值税专用发票)、全电纸质发票(普通发票); 备注:电子发票(增值税专用发票)即 数电专票(电子),电子发票(普通发票)即 数电普票(电子) 示例值:增值税电子普通发票
  29. private String checkCode;//描述:校验码(数电票时为空) 示例值:7.29697198825231E+19
  30. private String qrCode;//描述:二维码 示例值:
  31. private String machineCode;//描述:税控设备号(机器编码);数电票时为空 示例值:
  32. private String cipherText;//描述:发票密文(数电票时为空) 示例值:
  33. private String paperPdfUrl;//描述:含底图纸票pdf地址 示例值:http://invtest.nntest.cn/group1/M00/01/8B/wKjScV6-P0aAKKPHAAH965KBApQ812.pdf
  34. private String ofdUrl;//描述:发票ofd地址(公共服务平台签章及数电电票时返回) 示例值:
  35. private String xmlUrl;//描述:发票xml地址(数电电票且企业配置成支持获取xml时返回) 示例值:
  36. private String clerk;//描述:开票员 示例值:张三
  37. private String payee;//描述:收款人 示例值:李四
  38. private String checker;//描述:复核人 示例值:王五
  39. private String salerAccount;//描述:销方银行账号 示例值:2000098287777
  40. private String salerTel;//描述:销方电话 示例值:0937-9384
  41. private String salerAddress;//描述:销方地址 示例值:杭州西湖
  42. private String salerTaxNum;//描述:销方税号 示例值:150301199811285000
  43. private String saleName;//描述:销方名称 示例值:浙江诺诺网
  44. private String remark;//描述:备注 示例值:备注mlk
  45. private String productOilFlag;//描述:成品油标志:0非成品油,1成品油 示例值:0
  46. private String imgUrls;//描述:图片地址(多个图片以逗号隔开) 示例值:http://invtest.nntest.cn/group1/M00/01/8B/wKjScV6-P0WAHjKkAAC17-oX9RE037.jpg
  47. private String extensionNumber;//描述:分机号 示例值:1
  48. private String terminalNumber;//描述:终端号 示例值:
  49. private String deptId;//描述:部门门店id(诺诺系统中的id) 示例值:1
  50. private String clerkId;//描述:开票员id(诺诺系统中的id) 示例值:1
  51. private String oldInvoiceCode;//描述:对应蓝票发票代码,红票时有值(蓝票为数电电票时为空,数电纸票时有值) 示例值:
  52. private String oldInvoiceNo;//描述:对应蓝票发票号码,红票时有值(蓝票为数电电票时返回原来的20位数电票号码,数电纸票时为8位的纸票号码) 示例值:
  53. private String oldEleInvoiceNumber;//描述:对应蓝票数电票号码,红票时有值(蓝票为数电票(电子+纸质)时 20位) 示例值:
  54. private String listFlag;//描述:清单标志:0,非清单;1,清单票 示例值:0
  55. private String listName;//描述:清单项目名称:打印清单时对应发票票面项目名称,注意:税总要求清单项目名称为(详见销货清单) 示例值:
  56. private String phone;//描述:购方手机(开票成功会短信提醒购方) 示例值:
  57. private String notifyEmail;//描述:购方邮箱推送邮箱(开票成功会邮件提醒购方) 示例值:
  58. private String vehicleFlag;//描述:是否机动车类专票 0-否 1-是 示例值:0
  59. private String createTime;//描述:数据创建时间(回传其他信息时返回) 示例值:
  60. private String updateTime;//描述:数据更新时间(回传其他信息时返回) 示例值:
  61. private String stateUpdateTime;//描述:发票状态更新时间(回传其他信息时返回;涉及状态:开票中、开票失败、开票成功签章中、开票成功签章失败、开票完成、发票作废中、发票已作废) 示例值:
  62. private String proxyInvoiceFlag;//描述:代开标志 0-非代开 1-代开(回传其他信息时返回) 示例值:
  63. private String invoiceDate;//描述:用于开票的订单的时间(回传其他信息时返回) 示例值:
  64. private String invoiceType;//描述:开票类型 1-蓝票 2-红票(回传其他信息时返回) 示例值:1
  65. private String redReason;//描述:冲红原因 1:销货退回;2:开票有误;3:服务中止;4:发生销售折让(红票且票种为p、c、e、f、r(成品油发票除外)且回传其他信息时返回) 示例值:1
  66. private String invalidTime;//描述:作废时间(已作废状态下的发票,且回传其他信息时返回) 示例值:1625475746
  67. private String invalidSource;//描述:作废来源 1-诺诺工作台 2-API接口 3-开票软件 4-验签失败作废 5-其他(已作废状态下的发票,且回传其他信息时返回) 示例值:1
  68. private String invalidReason;//描述:数电纸票作废原因 1:销货退回;2:开票有误;3:服务中止;4:其他(已作废状态下的发票,且票为数电纸票且回传其他信息时返回) 示例值:
  69. private String specificReason;//描述:其他作废原因详情(作废原因为4 且回传其他信息时返回) 示例值:
  70. private Integer specificFactor;//描述:发票特定要素:(后续枚举值会有扩展,回传其他信息时返回)0-普通 1-成品油发票 3-建筑服务 4-货物运输服务 6-不动产经营租赁服务 9-旅客运输服务 16-农产品收购 31-建安发票 32-房地产销售发票 33-二手车发票反向开具 34-电子烟 35-矿产品 示例值:0
  71. private String emailNotifyStatus;//描述:邮箱交付状态(0-未交付,1-交付成功,2-交付失败,3-交付中,4-不会交付;注:回传其他信息时返回) 示例值:
  72. private String phoneNotifyStatus;//描述:手机交付状态(0-未交付,1-交付成功,2-交付失败,3-交付中,4-不会交付;注:回传其他信息时返回) 示例值:
  73. private String buyerManagerName;//描述:购买方经办人姓名(数电票特有字段) 示例值:张三
  74. private String managerCardType;//描述:经办人证件类型:101-组织机构代码证, 102-营业执照, 103-税务登记证, 199-其他单位证件, 201-居民身份证, 202-军官证, 203-武警警官证, 204-士兵证, 205-军队离退休干部证, 206-残疾人证, 207-残疾军人证(1-8级), 208-外国护照, 210-港澳居民来往内地通行证, 212-中华人民共和国往来港澳通行证, 213-台湾居民来往大陆通行证, 214-大陆居民往来台湾通行证, 215-外国人居留证, 216-外交官证 299-其他个人证件(数电票特有) 示例值:201
  75. private String managerCardNo;//描述:经办人证件号码(数电票特有字段) 示例值:
  76. private String bField1;//描述:业务方自定义字段1 示例值:
  77. private String bField2;//描述:业务方自定义字段2 示例值:
  78. private String bField3;//描述:业务方自定义字段3 示例值:
  79. private String naturalPersonFlag;//描述:购买方自然人标志:0-否,1-是(数电普票(电子)时才有可能返回,为1时,版式文件上在购方名称最后面会额外显示 (个人) ) 示例值:
  80. public String updatePdfUrlSql(){//更新 红票PDFURL附件
  81. String sql = "";
  82. if(StringUtil.hasText(serialNo)){
  83. sql= "update ElecInvoice set EI_REDPDFURL = "+stringField(pdfUrl)+ "||(case when EI_REDPDFURL is not null then ';'||EI_REDPDFURL else '' end) where ei_allelectronicinvoicenumber = "+getBlueRefno()
  84. +" and ei_relativerefno like "+((allElectronicInvoiceNumber == null || "".equals(allElectronicInvoiceNumber) || "NULL".equals(allElectronicInvoiceNumber.toUpperCase())) ? "null" : "'%"+allElectronicInvoiceNumber+"%'");
  85. }
  86. return sql;
  87. }
  88. private String getBlueRefno(){
  89. return stringField(StringUtil.nvl(oldEleInvoiceNumber,oldInvoiceNo));
  90. }
  91. }