package com.by4cloud.platformx.business.entity; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.persistence.Column; import jakarta.persistence.Entity; import lombok.Data; import org.hibernate.annotations.Table; import java.math.BigDecimal; import java.util.Date; /** * 2026年6月5日 10:59:02 * syt */ @Data @Entity//加了才能自动生成表 @Table(appliesTo="contract_invoice",comment = "合同发票")//给表加注释 @jakarta.persistence.Table(name = "contract_invoice")//数据库创建的表明 public class ContractInvoice extends BaseModel { @Schema(description = "关联合同ID") @Column(columnDefinition = "bigint not null comment '关联合同ID'") private Long contractId; @Schema(description = "发票类型") @Column(columnDefinition="char comment '发票类型 1/蓝 2/红'") private String invoiceCategory; @Schema(description = "开票金额(不含税)") @Column(columnDefinition="decimal(10,2) comment '开票金额(含税'") private BigDecimal invoiceTotalPrice; @Schema(description = "开票税额") @Column(columnDefinition="decimal(10,2) comment '开票税额'") private BigDecimal invoiceTotalTax; @Schema(description = "开票金额(含税)") @Column(columnDefinition="decimal(10,2) comment '开票金额(含税)'") private BigDecimal invoiceTotalPriceTax; @Schema(description = "开票时间") @Column(columnDefinition="datetime comment '开票时间'") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date invoiceTime; @Schema(description = "发票状态") @Column(columnDefinition="char comment '发票状态 1/开票中 2/已开票'") private String invoiceStatus; @Schema(description = "发票地址") @Column(columnDefinition="varchar(256) comment '开票时间'") private String invoicePath; @Schema(description = "合同出库单ID") @Column(columnDefinition="text comment '合同出库单ID'") private String outBoundId; @Schema(description = "发票预览参数") @Column(columnDefinition="text comment '发票预览参数'") private String invoicePreviewParam; @Schema(description = "红冲标识") @Column(columnDefinition="char comment '红冲标识 1/是 0/否 2/审核中 3/红冲待确认'") private String redReversal; @Schema(description = "发票号码") @Column(columnDefinition="varchar(64) comment '开票流水号'") private String invoiceNo; @Schema(description = "开票流水号") @Column(columnDefinition="varchar(64) comment '开票流水号'") private String serialNo; @Schema(description = "机构税号") @Column(columnDefinition="varchar(64) comment '机构税号'") private String texNo; @Schema(description = "销售方名称") @Column(columnDefinition="varchar(128) comment '销售方名称'") private String sellerTaxName; @Schema(description = "购买方名称") @Column(columnDefinition="varchar(128) comment '购买方名称'") private String buyerTaxName; @Schema(description = "发票预览信息") @Column(columnDefinition="text comment '发票预览信息'") private String invoicePreview; @Schema(description = "审批状态") @Column(columnDefinition="char comment '审批状态 1/审批通过 0/审批中 2/审批失败'") private String approvalStatus; @Schema(description = "关联蓝票ID") @Column(columnDefinition = "bigint comment '关联蓝票ID'") private Long blueInvoiceId; @Schema(description = "bip推送标识") @Column(columnDefinition="char comment 'bip推送标识 1/已推送 0/未推送'") private String bipPush; @Schema(description = "bip推送成功后返回数据ID") @Column(columnDefinition="bigint comment 'bip推送标识 1/已推送 0/未推送'") private Long bipId; @Schema(description = "发票预览bip推送成功后返回的数据结构") @Column(columnDefinition="text comment '发票预览信息'") private String bipBody; }