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年4月29日 10:46:07 * syt */ @Data @Entity//加了才能自动生成表 @Table(appliesTo="contract_out_bound",comment = "合同出库历史")//给表加注释 @jakarta.persistence.Table(name = "contract_out_bound")//数据库创建的表明 public class ContractOutBound extends BaseModel { @Schema(description = "Erp出库Id") @Column(columnDefinition = "bigint not null comment 'Erp出库Id'") private Long OutBoundId; @Schema(description = "关联合同ID") @Column(columnDefinition = "bigint not null comment '关联合同ID'") private Long contractId; @Schema(description = "合同名称") @Column(columnDefinition = "VARCHAR(64) comment '合同名称'") private String contractName; @Schema(description = "客商名称") @Column(columnDefinition="VARCHAR(64) comment '客商名称'") private String busGuestName; @Schema(description = "客商ID") @Column(columnDefinition="bigint comment '客商ID'") private Long busGuestId; @Schema(description = "标的物名称") @Column(columnDefinition="VARCHAR(64) comment '标的物名称'") private String subjectMatterName; @Schema(description = "标的物编码") @Column(columnDefinition="VARCHAR(64) comment '标的物编码'") private String subjectMatterCode; @Schema(description = "出库数量") @Column(columnDefinition="decimal(10,0) comment '出库数量'") private BigDecimal outBoundNum; @Schema(description = "出库时间") @Column(columnDefinition="datetime comment '出库时间'") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date outBoundTime; @Schema(description = "单据名称") @Column(columnDefinition="text comment '单据名称'") private String outBoundAttNames; @Schema(description = "单据路径") @Column(columnDefinition="text comment '单据路径'") private String outBoundAttPaths; @Schema(description = "到货时间") @Column(columnDefinition="datetime comment '到货时间'") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date arrivalTime; @Schema(description = "到货单据名称") @Column(columnDefinition="text comment '到货单据名称'") private String arrivalAttNames; @Schema(description = "到货单据路径") @Column(columnDefinition="text comment '到货单据路径'") private String arrivalAttPaths; //以下开票相关 @Schema(description = "销售挂账id") @Column(columnDefinition = "bigint default null comment '销售挂账id'") private Long saleCreditId; @Schema(description = "开票状态(0-未开票 1-开票中 2-已开票)") @Column(columnDefinition = "tinyint(2) default 0 comment '开票状态(0-未开票 1-开票中 2-已开票)'") private Integer invoiceSatus; @Schema(description = "总单价") @Column(columnDefinition = "decimal(10,0) comment '出库数量'") private BigDecimal totalPrice; @Schema(description = "总税额") @Column(columnDefinition = "decimal(10,0) comment '总税额'") private BigDecimal totalTax; //产品信息 @Schema(description = "产品id") @Column(columnDefinition = "bigint not null comment '产品id'") private Long productId; @Schema(description = "税率(百分比,如13表示13%)") @Column(columnDefinition = "double default 0.00 comment '税率'") private Double taxRate; @Schema(description = "税收分类") @Column(columnDefinition = "VARCHAR(50) comment '税收分类'") private String taxClass; @Schema(description = "税收编码") @Column(columnDefinition = "VARCHAR(80) comment '税收编码'") private String taxCode; //合同标的物中信息 @Schema(description = "标的物规格/型号") @Column(columnDefinition = "VARCHAR(200) comment '标的物规格/型号'") private String specification; @Schema(description = "计量单位(个/台/吨/项/套等)") @Column(columnDefinition = "VARCHAR(20) comment '计量单位'") private String unit; @Schema(description = "单价") @Column(columnDefinition = "decimal(10,2) comment '单价'") private BigDecimal unitPrice; }