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<ContractOutBound> {
|
|
@Schema(description = "Erp出库Id")
|
@Column(columnDefinition = "bigint 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 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;
|
}
|