Files
guoju0808/ry-ocr-java/src/main/java/com/ruoyi/ocr/model/InvoiceFields.java
T

69 lines
1.8 KiB
Java

package com.ruoyi.ocr.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 发票结构化字段 — 对齐 Python app.models.schemas.InvoiceFields
* <p>
* QR 权威字段 (QR 命中时覆盖 OCR 结果): invoice_no / invoice_date / amount
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class InvoiceFields {
/** 发票类型, 如 增值税电子普通发票 / 增值税专用发票 / 数电票 */
@JsonProperty("invoice_type")
private String invoiceType;
/** 发票号码 — QR 权威 / OCR */
@JsonProperty("invoice_no")
private String invoiceNo;
/** 发票代码 — OCR (数电票此字段为空) */
@JsonProperty("invoice_code")
private String invoiceCode;
/** 开票日期 YYYY-MM-DD — QR 权威 / OCR */
@JsonProperty("invoice_date")
private String invoiceDate;
/** 价税合计 (小写) — QR 权威 / OCR */
private Double amount;
/** 价税合计 (大写中文) — OCR */
@JsonProperty("amount_cn")
private String amountCn;
/** 不含税金额 — OCR */
@JsonProperty("amount_pretax")
private Double amountPretax;
/** 税额 — OCR */
@JsonProperty("tax_amount")
private Double taxAmount;
/** 销售方名称 — OCR */
@JsonProperty("seller_name")
private String sellerName;
/** 销售方纳税人识别号 — OCR */
@JsonProperty("seller_tax_no")
private String sellerTaxNo;
/** 购买方名称 — OCR */
@JsonProperty("buyer_name")
private String buyerName;
/** 购买方纳税人识别号 — OCR */
@JsonProperty("buyer_tax_no")
private String buyerTaxNo;
/** 大写金额与小数金额一致性 (null=未能比对) */
@JsonProperty("amount_match")
private Boolean amountMatch;
}