69 lines
1.8 KiB
Java
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;
|
|
}
|