package com.uas.ps.inquiry.model; import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonIgnore; import com.uas.ps.entity.Product; import javax.persistence.*; import java.util.*; /** * 平台新增询价单明细 * * @author hejq * @date 2018-01-13 19:19 */ @Entity @Table(name = "purc$puinquiryitems") public class PurcInquiryItem { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id_id") private Long id; /** * 序号 */ @Column(name = "id_number") private Short number; /** * 询价单 */ @ManyToOne(cascade = CascadeType.ALL, optional = true) @JoinColumn(name = "id_inid", nullable = false) private PurcInquiry inquiry; /** * 买家采购员UU */ @Column(name = "id_useruu") private Long userUU; /** * 联系人姓名 */ @Column(name = "id_username") private String userName; /** * 联系人电话 */ @Column(name = "id_usertel") private String userTel; /** * 联系人编号 */ @Column(name = "id_usercode") private String userCode; /** * 产品id */ @Column(name = "id_prid") private Long productId; /** * 产品 */ // @OneToOne(cascade = {CascadeType.ALL}) // @JoinColumn(name = "id_prid", insertable = false, updatable = false) @Transient private Product product; /** * ************* 上传的物料信息,因为可能是手动输入的,物料款不存在,需要先进行保存物料 ************* */ /** * 物料编号 */ @Column(name = "id_prodcode") private String prodCode; /** * 名称 */ @Column(name = "id_prodtitle") private String prodTitle; /** * 规格 */ @Column(name = "id_prodspec") private String spec; /** * 单位 */ @Column(name = "id_unit") private String unit; /** * 型号 */ @Column(name = "id_cmpcode") private String cmpCode; /** * 品牌 */ @Column(name = "id_inbrand") private String inbrand; /** * ******end******* */ /** * 币种 */ @Column(name = "id_currency") private String currency; /** * 税率 */ @Column(name = "id_taxrate") private Float taxrate; /** * 备注 */ @Column(name = "id_remark") private String remark; /** * 供应商UU */ @Column(name = "id_venduu") private Long vendUU; /** * 供应商联系人UU */ @Column(name = "id_venduseruu") private Long vendUserUU; /** * (买家预先提供的)有效期始 */ @Column(name = "id_fromdate") private Date fromDate; /** * (买家预先提供的)有效期止 */ @Column(name = "id_todate") private Date toDate; /** * (卖家报的)有效期始 */ @Column(name = "id_vendfromdate") private Date vendFromDate; /** * (卖家报的)有效期止 */ @Column(name = "id_vendtodate") private Date vendToDate; /** * (卖家报的)最小订购量 */ @Column(name = "id_minorderqty") private Double minOrderQty; /** * (卖家报的)最小包装量 */ @Column(name = "id_minpackqty") private Double minPackQty; /** * (卖家报的)物料品牌 */ @Column(name = "id_brand") private String brand; /** * (卖家报的)供应商物料编号 */ @Column(name = "id_vendorprodcode") private String vendorprodcode; /** * (卖家报的)交货周期(天数) */ @Column(name = "id_leadtime") private Long leadtime; /** * 分段报价明细 */ @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) @JoinColumn(name = "ir_idid") @OrderBy("lapQty") private List replies; /** * {未回复、已回复} */ @Column(name = "id_status") private Short status; /** * 是否采纳 */ @Column(name = "id_agreed") private Short agreed; /** * 是否买家已设置分段数 */ @Column(name = "id_custlap") private Short custLap; /** * search项目进行是否已过期时实际根据主表中enddate与当前时间的比较获取,但是数据库无字段会报“标识符无效”的错误 * 所以建立此字段,但是此字段不会赋值。 * * @return */ @Column(name = "id_overdue") private Short overdue; /** * 来源ERP或B2B */ @Column(name = "id_source") private String source; /** * 是否公开 */ @Column(name = "id_isopen") private Short isOpen; /** * 需求数量 */ @Column(name = "id_needquantity") private Double needquantity; /** * 来源id,可能是ERP同步过来的单据 */ @Column(name = "id_sourceid") private Long sourceid; /** * 单据日期,索引过滤需要 */ @Column(name = "id_date") private Date date; /** * 企业uu,公共询价需要这个字段做标识 */ @Transient private Long enuu; /** * 单价预算 */ @Column(name = "id_unitprice") private Double unitPrice; /** * 报价时间 */ @Column(name = "id_offertime") private Date offerTime; /** * 封装 */ @Column(name = "id_sort") private String sort; /** * 产品生产日期 */ @Column(name = "id_producedate") private String produceDate; /** * 物料报价数量(记录多少人或企业对该物料进行报价) */ @Column(name = "id_offeramount") private Integer offerAmount; /** * 封装 */ @Column(name = "id_encapsulation") private String encapsulation; /** * 截止日期 */ @Column(name = "id_enddate") private Date endDate; /** * 剩余时间 */ @Transient private Long remainingTime; /** * 买家发出公共询价单时录入的币别 */ @Column(name = "id_cust_currency") private String custCurrency; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Short getNumber() { return number; } public void setNumber(Short number) { this.number = number; } @JsonIgnore @JSONField(serialize = false) public PurcInquiry getInquiry() { return inquiry; } public void setInquiry(PurcInquiry inquiry) { this.inquiry = inquiry; } public Long getUserUU() { return userUU; } public void setUserUU(Long userUU) { this.userUU = userUU; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserTel() { return userTel; } public void setUserTel(String userTel) { this.userTel = userTel; } public Double getUnitPrice() { return unitPrice; } public void setUnitPrice(Double unitPrice) { this.unitPrice = unitPrice; } public Date getOfferTime() { return offerTime; } public void setOfferTime(Date offerTime) { this.offerTime = offerTime; } public String getUserCode() { return userCode; } public void setUserCode(String userCode) { this.userCode = userCode; } public Long getProductId() { return productId; } public void setProductId(Long productId) { this.productId = productId; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public String getCurrency() { return currency; } public void setCurrency(String currency) { this.currency = currency; } public Float getTaxrate() { return taxrate; } public void setTaxrate(Float taxrate) { this.taxrate = taxrate; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Long getVendUU() { return vendUU; } public void setVendUU(Long vendUU) { this.vendUU = vendUU; } public Long getVendUserUU() { return vendUserUU; } public void setVendUserUU(Long vendUserUU) { this.vendUserUU = vendUserUU; } public Date getFromDate() { return fromDate; } public void setFromDate(Date fromDate) { this.fromDate = fromDate; } public Date getToDate() { return toDate; } public void setToDate(Date toDate) { this.toDate = toDate; } public Date getVendFromDate() { return vendFromDate; } public void setVendFromDate(Date vendFromDate) { this.vendFromDate = vendFromDate; } public Date getVendToDate() { return vendToDate; } public void setVendToDate(Date vendToDate) { this.vendToDate = vendToDate; } public Double getMinOrderQty() { return minOrderQty; } public void setMinOrderQty(Double minOrderQty) { this.minOrderQty = minOrderQty; } public Double getMinPackQty() { return minPackQty; } public void setMinPackQty(Double minPackQty) { this.minPackQty = minPackQty; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getVendorprodcode() { return vendorprodcode; } public void setVendorprodcode(String vendorprodcode) { this.vendorprodcode = vendorprodcode; } public Long getLeadtime() { return leadtime; } public void setLeadtime(Long leadtime) { this.leadtime = leadtime; } public List getReplies() { return replies; } public void setReplies(List replies) { this.replies = replies; } public Short getStatus() { return status; } public void setStatus(Short status) { this.status = status; } public Short getAgreed() { return agreed; } public void setAgreed(Short agreed) { this.agreed = agreed; } public Short getCustLap() { return custLap; } public void setCustLap(Short custLap) { this.custLap = custLap; } public Short getOverdue() { return overdue; } public void setOverdue(Short overdue) { this.overdue = overdue; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public Short getIsOpen() { return isOpen; } public void setIsOpen(Short isOpen) { this.isOpen = isOpen; } public String getProdCode() { return prodCode; } public void setProdCode(String prodCode) { this.prodCode = prodCode; } public String getProdTitle() { return prodTitle; } public void setProdTitle(String prodTitle) { this.prodTitle = prodTitle; } public String getSpec() { return spec; } public void setSpec(String spec) { this.spec = spec; } public String getUnit() { return unit; } public void setUnit(String unit) { this.unit = unit; } public String getCmpCode() { return cmpCode; } public void setCmpCode(String cmpCode) { this.cmpCode = cmpCode; } public String getInbrand() { return inbrand; } public void setInbrand(String inbrand) { this.inbrand = inbrand; } public Double getNeedquantity() { return needquantity; } public void setNeedquantity(Double needquantity) { this.needquantity = needquantity; } public Long getSourceid() { return sourceid; } public void setSourceid(Long sourceid) { this.sourceid = sourceid; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public Long getEnuu() { return enuu; } public void setEnuu(Long enuu) { this.enuu = enuu; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } public String getProduceDate() { return produceDate; } public void setProduceDate(String produceDate) { this.produceDate = produceDate; } public Integer getOfferAmount() { return offerAmount; } public void setOfferAmount(Integer offerAmount) { this.offerAmount = offerAmount; } public String getEncapsulation() { return encapsulation; } public void setEncapsulation(String encapsulation) { this.encapsulation = encapsulation; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public String getCustCurrency() { return custCurrency; } public void setCustCurrency(String custCurrency) { this.custCurrency = custCurrency; } public Long getRemainingTime() { if (endDate != null) { return endDate.getTime() - System.currentTimeMillis(); } return null; } @Override public String toString() { return "PurcInquiryItem{" + "id=" + id + ", number=" + number + ", inquiry=" + inquiry + ", userUU=" + userUU + ", userName='" + userName + '\'' + ", userTel='" + userTel + '\'' + ", userCode='" + userCode + '\'' + ", productId=" + productId + ", product=" + product + ", prodCode='" + prodCode + '\'' + ", prodTitle='" + prodTitle + '\'' + ", spec='" + spec + '\'' + ", unit='" + unit + '\'' + ", cmpCode='" + cmpCode + '\'' + ", inbrand='" + inbrand + '\'' + ", currency='" + currency + '\'' + ", taxrate=" + taxrate + ", remark='" + remark + '\'' + ", vendUU=" + vendUU + ", vendUserUU=" + vendUserUU + ", fromDate=" + fromDate + ", toDate=" + toDate + ", vendFromDate=" + vendFromDate + ", vendToDate=" + vendToDate + ", minOrderQty=" + minOrderQty + ", minPackQty=" + minPackQty + ", brand='" + brand + '\'' + ", vendorprodcode='" + vendorprodcode + '\'' + ", leadtime=" + leadtime + ", replies=" + replies + ", status=" + status + ", agreed=" + agreed + ", custLap=" + custLap + ", overdue=" + overdue + ", source='" + source + '\'' + ", isOpen=" + isOpen + ", needquantity=" + needquantity + ", sourceid=" + sourceid + ", date=" + date + ", enuu=" + enuu + ", unitPrice=" + unitPrice + ", offerTime=" + offerTime + ", sort='" + sort + '\'' + ", produceDate='" + produceDate + '\'' + ", offerAmount=" + offerAmount + ", encapsulation='" + encapsulation + '\'' + ", endDate=" + endDate + '}'; } }