|
@@ -0,0 +1,557 @@
|
|
|
|
|
+package com.uas.platform.b2b.model;
|
|
|
|
|
+
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+import java.util.HashSet;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
+
|
|
|
|
|
+import javax.persistence.CascadeType;
|
|
|
|
|
+import javax.persistence.Column;
|
|
|
|
|
+import javax.persistence.Entity;
|
|
|
|
|
+import javax.persistence.FetchType;
|
|
|
|
|
+import javax.persistence.GeneratedValue;
|
|
|
|
|
+import javax.persistence.GenerationType;
|
|
|
|
|
+import javax.persistence.Id;
|
|
|
|
|
+import javax.persistence.JoinColumn;
|
|
|
|
|
+import javax.persistence.ManyToOne;
|
|
|
|
|
+import javax.persistence.OneToMany;
|
|
|
|
|
+import javax.persistence.OneToOne;
|
|
|
|
|
+import javax.persistence.OrderBy;
|
|
|
|
|
+import javax.persistence.SequenceGenerator;
|
|
|
|
|
+import javax.persistence.Table;
|
|
|
|
|
+
|
|
|
|
|
+import org.codehaus.jackson.annotate.JsonIgnore;
|
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
+
|
|
|
|
|
+import com.alibaba.fastjson.annotation.JSONField;
|
|
|
|
|
+import com.uas.platform.b2b.core.util.DateUtils;
|
|
|
|
|
+import com.uas.platform.core.model.Constant;
|
|
|
|
|
+import com.uas.platform.core.model.Status;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 平台里面,以供应商的角度来查看采购询价单明细
|
|
|
|
|
+ *
|
|
|
|
|
+ * @author yingp
|
|
|
|
|
+ *
|
|
|
|
|
+ */
|
|
|
|
|
+@Table(name = "purc$inquiryitems")
|
|
|
|
|
+@Entity
|
|
|
|
|
+public class PurchaseInquiryItemInfo {
|
|
|
|
|
+
|
|
|
|
|
+ @Id
|
|
|
|
|
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "purc$inquiryitems_gen")
|
|
|
|
|
+ @SequenceGenerator(name = "purc$inquiryitems_gen", sequenceName = "purc$inquiryitems_seq", allocationSize = 1)
|
|
|
|
|
+ @Column(name = "id_id")
|
|
|
|
|
+ private Long id;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 来源(买家ERP采购询价明细)的ID
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_sourceid", updatable = false)
|
|
|
|
|
+ private Long sourceId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 序号
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_number")
|
|
|
|
|
+ private Short number;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 询价单
|
|
|
|
|
+ */
|
|
|
|
|
+ @ManyToOne(cascade = CascadeType.ALL, optional = true)
|
|
|
|
|
+ @JoinColumn(name = "id_inid", nullable = false)
|
|
|
|
|
+ private PurchaseInquiryInfo inquiry;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 买家采购员UU
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_useruu")
|
|
|
|
|
+ private Long userUU;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 产品
|
|
|
|
|
+ */
|
|
|
|
|
+ @OneToOne(cascade = { CascadeType.REFRESH })
|
|
|
|
|
+ @JoinColumn(name = "id_prid", insertable = false, updatable = false)
|
|
|
|
|
+ private Product product;
|
|
|
|
|
+
|
|
|
|
|
+ @Column(name = "id_prid")
|
|
|
|
|
+ private Long productId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 币种
|
|
|
|
|
+ */
|
|
|
|
|
+ @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;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 被询价企业
|
|
|
|
|
+ */
|
|
|
|
|
+ @OneToOne(cascade = { CascadeType.MERGE, CascadeType.REFRESH })
|
|
|
|
|
+ @JoinColumn(name = "id_venduu", insertable = false, updatable = false)
|
|
|
|
|
+ private EnterpriseInfo enterprise;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 供应商联系人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 Set<PurchaseInquiryReply> replies;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * {未回复、已回复}
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_status")
|
|
|
|
|
+ private Short status;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * (针对卖家的)询价传输状态{待上传、已下载}
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_sendstatus")
|
|
|
|
|
+ private Short sendStatus;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * (针对买家的)报价信息传输状态{待上传、已下载}
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_backstatus")
|
|
|
|
|
+ private Short backStatus;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * (针对卖家的)报价信息传输状态{待上传、已下载}
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_replysendstatus")
|
|
|
|
|
+ private Short replySendStatus;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 是否采纳
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_agreed")
|
|
|
|
|
+ private Short agreed;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * (针对卖家的)是否采纳信息传输状态{待上传、已下载}
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_decidestatus")
|
|
|
|
|
+ private Short decideStatus;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 是否买家已设置分段数
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_custlap")
|
|
|
|
|
+ private Short custLap;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保存erp传入数据的时间
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_erpdate")
|
|
|
|
|
+ private Date erpDate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * search项目进行是否已过期时实际根据主表中enddate与当前时间的比较获取,但是数据库无字段会报“标识符无效”的错误
|
|
|
|
|
+ * 所以建立此字段,但是此字段不会赋值。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_overdue")
|
|
|
|
|
+ private Short overdue;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 应用来源ERP、B2B
|
|
|
|
|
+ */
|
|
|
|
|
+ @Column(name = "id_sourceapp")
|
|
|
|
|
+ private String sourceApp;
|
|
|
|
|
+
|
|
|
|
|
+ public Long getId() {
|
|
|
|
|
+ return id;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setId(Long id) {
|
|
|
|
|
+ this.id = id;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @JsonIgnore
|
|
|
|
|
+ @JSONField(serialize = false)
|
|
|
|
|
+ public Long getSourceId() {
|
|
|
|
|
+ return sourceId;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setSourceId(Long sourceId) {
|
|
|
|
|
+ this.sourceId = sourceId;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getNumber() {
|
|
|
|
|
+ return number;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setNumber(Short number) {
|
|
|
|
|
+ this.number = number;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @JsonIgnore
|
|
|
|
|
+ @JSONField(serialize = false)
|
|
|
|
|
+ public PurchaseInquiryInfo getInquiry() {
|
|
|
|
|
+ return inquiry;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setInquiry(PurchaseInquiryInfo inquiry) {
|
|
|
|
|
+ this.inquiry = inquiry;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Product getProduct() {
|
|
|
|
|
+ return product;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setProduct(Product product) {
|
|
|
|
|
+ this.product = product;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Long getProductId() {
|
|
|
|
|
+ return productId;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setProductId(Long productId) {
|
|
|
|
|
+ this.productId = productId;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ 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 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 Long getVendUU() {
|
|
|
|
|
+ return vendUU;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setVendUU(Long vendUU) {
|
|
|
|
|
+ this.vendUU = vendUU;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Set<PurchaseInquiryReply> getReplies() {
|
|
|
|
|
+ return replies;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setReplies(Set<PurchaseInquiryReply> replies) {
|
|
|
|
|
+ this.replies = replies;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Long getVendUserUU() {
|
|
|
|
|
+ return vendUserUU;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setVendUserUU(Long vendUserUU) {
|
|
|
|
|
+ this.vendUserUU = vendUserUU;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getAgreed() {
|
|
|
|
|
+ return agreed;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setAgreed(Short agreed) {
|
|
|
|
|
+ this.agreed = agreed;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getStatus() {
|
|
|
|
|
+ return status;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setStatus(Short status) {
|
|
|
|
|
+ this.status = status;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getSendStatus() {
|
|
|
|
|
+ return sendStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setSendStatus(Short sendStatus) {
|
|
|
|
|
+ this.sendStatus = sendStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ 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 Short getBackStatus() {
|
|
|
|
|
+ return backStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setBackStatus(Short backStatus) {
|
|
|
|
|
+ this.backStatus = backStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getReplySendStatus() {
|
|
|
|
|
+ return replySendStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setReplySendStatus(Short replySendStatus) {
|
|
|
|
|
+ this.replySendStatus = replySendStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getDecideStatus() {
|
|
|
|
|
+ return decideStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setDecideStatus(Short decideStatus) {
|
|
|
|
|
+ this.decideStatus = decideStatus;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Short getCustLap() {
|
|
|
|
|
+ return custLap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setCustLap(Short custLap) {
|
|
|
|
|
+ this.custLap = custLap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public Long getUserUU() {
|
|
|
|
|
+ return userUU;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setUserUU(Long userUU) {
|
|
|
|
|
+ this.userUU = userUU;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ 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 Date getErpDate() {
|
|
|
|
|
+ return erpDate;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setErpDate(Date erpDate) {
|
|
|
|
|
+ this.erpDate = erpDate;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public String getSourceApp() {
|
|
|
|
|
+ return sourceApp;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setSourceApp(String sourceApp) {
|
|
|
|
|
+ this.sourceApp = sourceApp;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public EnterpriseInfo getEnterprise() {
|
|
|
|
|
+ return enterprise;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void setEnterprise(EnterpriseInfo enterprise) {
|
|
|
|
|
+ this.enterprise = enterprise;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 回复记录的描述
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public String replyDescription() {
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(this.replies)) {
|
|
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
|
|
+ for (PurchaseInquiryReply reply : this.replies)
|
|
|
|
|
+ sb.append("分段数:").append(reply.getLapQty()).append(",").append("价格:").append(reply.getPrice())
|
|
|
|
|
+ .append(";");
|
|
|
|
|
+ return sb.toString();
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 是否可报价
|
|
|
|
|
+ * <p>
|
|
|
|
|
+ * 1.未报价,未截止报价
|
|
|
|
|
+ * </p>
|
|
|
|
|
+ * <p>
|
|
|
|
|
+ * 2.已报价,未截止报价,客户未提交
|
|
|
|
|
+ * </p>
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public boolean isReplyable() {
|
|
|
|
|
+ if (this.inquiry.getEndDate() != null) {
|
|
|
|
|
+ return DateUtils
|
|
|
|
|
+ .compare(this.inquiry.getEndDate(), new Date(),
|
|
|
|
|
+ DateUtils.COMPARE_DAY) >= 0
|
|
|
|
|
+ && (this.status == Status.NOT_REPLY.value() || (this.status == Status.REPLIED.value()
|
|
|
|
|
+ && (this.inquiry.getCheck() == null || this.inquiry.getCheck() != Constant.YES)
|
|
|
|
|
+ && this.agreed == null));
|
|
|
|
|
+ }
|
|
|
|
|
+ return this.status == Status.NOT_REPLY.value();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public static List<PurchaseInquiryItemInfo> distinct(List<PurchaseInquiryItemInfo> purcitems) {
|
|
|
|
|
+ List<PurchaseInquiryItemInfo> inquiryItems = new ArrayList<>();
|
|
|
|
|
+ Set<Long> keys = new HashSet<>();
|
|
|
|
|
+ for (PurchaseInquiryItemInfo item : purcitems) {
|
|
|
|
|
+ if (!keys.contains(item.getInquiry().getId())) {
|
|
|
|
|
+ inquiryItems.add(item);
|
|
|
|
|
+ keys.add(item.getInquiry().getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return inquiryItems;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|