package com.uas.search.console.model; import java.io.Serializable; import java.util.Date; import java.util.Objects; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; /** * 商城采购订单的发货单 * * @author sunyj * @since 2016年10月14日 上午10:32:37 */ @Entity @Table(name = "trade$invoice_fmpu") public class PurchaseInvoiceSimpleInfo implements Serializable { private static final long serialVersionUID = 1L; @Id @Column(name = "id") private Long id; /** * 发货单号,因易与id命名混淆,其他类、lucenne建索引时该字段难以区分,特以此命名 */ @Column(name = "in_id", unique = true) private String code; /** * 卖方企业uu * * @Tip 这里因为平台作为中间商,所以发货单都由平台下达 */ @Column(name = "in_sellerenuu") private Long sellerenuu; /** * 卖方企业名称 */ @Column(name = "in_sellername") private String sellerenname; /** * 单生成时间 */ @Column(name = "in_creattime") private Date createtime; /** * 单据状态(1->2->3) * * @Tip 必须严格按照顺序流转 1、TOBESHIPPED(406, "待出货"), 2、INBOUND(404, "待收货") * 3、RECEIVED(405, "已收货"), 4、TORECEIVEMONEY(506, "待收款"), * 5、MONEYRECEIVED(505, "已收款"), */ @Column(name = "in_status") private Integer status; /** * 发货单明细 */ @OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER) @JoinColumn(name = "invoice_id", updatable = false, insertable = false) @OrderBy("detno") private Set details; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public Long getSellerenuu() { return sellerenuu; } public void setSellerenuu(Long sellerenuu) { this.sellerenuu = sellerenuu; } public String getSellerenname() { return sellerenname; } public void setSellerenname(String sellerenname) { this.sellerenname = sellerenname; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Set getDetails() { return details; } public void setDetails(Set details) { this.details = details; } public boolean equals(Object otherObject) { if (this == otherObject) { return true; } if (otherObject == null || getClass() != otherObject.getClass() || !(otherObject instanceof PurchaseInvoiceSimpleInfo)) { return false; } PurchaseInvoiceSimpleInfo other = (PurchaseInvoiceSimpleInfo) otherObject; return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode()) && Objects.equals(sellerenuu, other.getSellerenuu()) && Objects.equals(sellerenname, other.getSellerenname()) && Objects.equals(createtime, other.getCreatetime()) && Objects.equals(status, other.getStatus()); } @Override public String toString() { return "PurchaseInvoiceSimpleInfo [id=" + id + ", code=" + code + ", sellerenuu=" + sellerenuu + ", sellerenname=" + sellerenname + ", createtime=" + createtime + ", status=" + status + ", details=" + details + "]"; } }