Просмотр исходного кода

更新平台询价单详情索引

hejq 9 лет назад
Родитель
Сommit
80a8625172

+ 11 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/PurcInquiryItemSimpleInfo2Dao.java

@@ -0,0 +1,11 @@
+package com.uas.search.console.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import com.uas.search.console.b2b.model.PurcInquiryItemSimpleInfo2;
+
+public interface PurcInquiryItemSimpleInfo2Dao
+		extends JpaRepository<PurcInquiryItemSimpleInfo2, Long>, JpaSpecificationExecutor<PurcInquiryItemSimpleInfo2> {
+
+}

+ 1 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquiryItemSimpleInfo.java

@@ -16,7 +16,7 @@ import javax.persistence.Table;
  * @time 创建时间:2017年4月17日
  */
 @Entity
-@Table(name = "purc$puinquirytimes")
+@Table(name = "PURC$PUINQUIRYITEMS")
 public class PurcInquiryItemSimpleInfo {
 
 	@Id

+ 127 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquiryItemSimpleInfo2.java

@@ -0,0 +1,127 @@
+package com.uas.search.console.b2b.model;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+/**
+ * 平台里面,以供应商的角度来查看采购询价单明细
+ * 
+ * @author yingp
+ *
+ */
+@Table(name = PurcInquiryItemSimpleInfo2.TABLE_NAME)
+@Entity
+public class PurcInquiryItemSimpleInfo2 {
+
+	/**
+	 * 表名
+	 */
+	public static final String TABLE_NAME = "PURC$PUINQUIRYITEMS";
+
+	public static final String ID_FIELD = "id_id";
+
+	public static final String PRODUCT_FIELD = "id_prid";
+
+	public static final String INQUIRY_FIELD = "id_inid";
+
+	public static final String OVERDUE_FIELD = "id_overdue";
+
+	@Id
+	@Column(name = ID_FIELD)
+	private Long id;
+
+	/**
+	 * 产品
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = PRODUCT_FIELD, insertable = false, updatable = false)
+	private ProductSimpleInfo product;
+
+	/**
+	 * 询价单
+	 */
+	@ManyToOne(cascade = CascadeType.ALL, optional = true)
+	@JoinColumn(name = INQUIRY_FIELD, nullable = false)
+	private PurcInquirySimpleInfo2 inquiry;
+
+	/**
+	 * 是否过期
+	 * 
+	 * @return
+	 */
+	private Short id_overdue;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public ProductSimpleInfo getProduct() {
+		return product;
+	}
+
+	public void setProduct(ProductSimpleInfo product) {
+		this.product = product;
+	}
+
+	public PurcInquirySimpleInfo2 getInquiry() {
+		return inquiry;
+	}
+
+	public void setInquiry(PurcInquirySimpleInfo2 inquiry) {
+		this.inquiry = inquiry;
+	}
+
+	@SuppressWarnings("deprecation")
+	public Short getOverdue() {
+		if (this.getInquiry().getEndDate() == null) {
+			return null;
+		}
+		Date date = new Date();
+		Calendar now = Calendar.getInstance();
+		now.set(Calendar.YEAR, date.getYear());
+		now.set(Calendar.MONTH, date.getMonth());
+		now.set(Calendar.DAY_OF_MONTH, date.getDate());
+		Calendar end = Calendar.getInstance();
+		end.set(Calendar.YEAR, this.getInquiry().getEndDate().getYear());
+		end.set(Calendar.MONTH, this.getInquiry().getEndDate().getMonth());
+		end.set(Calendar.DAY_OF_MONTH, this.getInquiry().getEndDate().getDate());
+		if (now.compareTo(end) > 0) {
+			return 1;
+		} else {
+			return 0;
+		}
+	}
+
+	public void setOverdue(Short overdue) {
+		this.id_overdue = overdue;
+	}
+
+	public static List<String> getKeywordFields() {
+		List<String> fields = new ArrayList<>();
+		fields.add(PRODUCT_FIELD);
+		fields.add(INQUIRY_FIELD);
+		return fields;
+	}
+
+	@Override
+	public String toString() {
+		return "PurcInquiryItemSimpleInfo2 [id=" + id + ", product=" + product + ", inquiry=" + inquiry
+				+ ", id_overdue=" + id_overdue + "]";
+	}
+
+}

+ 6 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquirySimpleInfo.java

@@ -16,6 +16,12 @@ import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
 
+/**
+ * 平台新增询价单
+ * 
+ * @author hejq
+ * @time 创建时间:2017年4月28日
+ */
 @Entity
 @Table(name = PurcInquirySimpleInfo.TABLE_NAME)
 public class PurcInquirySimpleInfo {

+ 148 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquirySimpleInfo2.java

@@ -0,0 +1,148 @@
+package com.uas.search.console.b2b.model;
+
+import java.util.Date;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+/**
+ * 平台新增询价单中间表
+ * 
+ * @author hejq
+ * @time 创建时间:2017年4月17日
+ */
+@Entity
+@Table(name = "PURC$PUINQUIRY")
+public class PurcInquirySimpleInfo2 {
+
+	@Id
+	@Column(name = "in_id")
+	private Long id;
+
+	/**
+	 * 询价单所属企业UU
+	 */
+	@Column(name = "in_enuu")
+	private Long enUU;
+
+	/**
+	 * 询价单所属用户UU
+	 */
+	@Column(name = "in_recorderuu")
+	private Long recorderUU;
+
+	/**
+	 * 询价企业
+	 */
+	@OneToOne(cascade = { CascadeType.MERGE, CascadeType.REFRESH })
+	@JoinColumn(name = "in_enuu", insertable = false, updatable = false)
+	private EnterpriseSimpleInfo enterprise;
+
+	/**
+	 * 流水号
+	 */
+	@Column(name = "in_code")
+	private String code;
+
+	/**
+	 * 单据状态(已提交、在录入)
+	 */
+	@Column(name = "in_enterystatus")
+	private Integer enteryStatus;
+
+	/**
+	 * 报价截止日期
+	 */
+	@Column(name = "in_enddate")
+	private Date endDate;
+
+	/**
+	 * 是否过期
+	 */
+	@Column(name = "in_overdue", insertable = false, updatable = false)
+	private Short overdue;
+
+	/**
+	 * 是否公开
+	 */
+	@Column(name = "in_isopen")
+	private Short isOpen;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnUU() {
+		return enUU;
+	}
+
+	public void setEnUU(Long enUU) {
+		this.enUU = enUU;
+	}
+
+	public Long getRecorderUU() {
+		return recorderUU;
+	}
+
+	public void setRecorderUU(Long recorderUU) {
+		this.recorderUU = recorderUU;
+	}
+
+	public EnterpriseSimpleInfo getEnterprise() {
+		return enterprise;
+	}
+
+	public void setEnterprise(EnterpriseSimpleInfo enterprise) {
+		this.enterprise = enterprise;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Integer getEnteryStatus() {
+		return enteryStatus;
+	}
+
+	public void setEnteryStatus(Integer enteryStatus) {
+		this.enteryStatus = enteryStatus;
+	}
+
+	public Short getOverdue() {
+		return overdue;
+	}
+
+	public void setOverdue(Short overdue) {
+		this.overdue = overdue;
+	}
+
+	public Short getIsOpen() {
+		return isOpen;
+	}
+
+	public void setIsOpen(Short isOpen) {
+		this.isOpen = isOpen;
+	}
+
+	public Date getEndDate() {
+		return endDate;
+	}
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+
+}

+ 4 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ClassAndTableNameUtils.java

@@ -24,6 +24,7 @@ import com.uas.search.console.b2b.dao.PagingReleaseDetailSimpleInfoDao;
 import com.uas.search.console.b2b.dao.ProdSimpleInfoDao;
 import com.uas.search.console.b2b.dao.ProductBrandSimpleInfoDao;
 import com.uas.search.console.b2b.dao.ProductComponentSimpleInfoDao;
+import com.uas.search.console.b2b.dao.PurcInquiryItemSimpleInfo2Dao;
 import com.uas.search.console.b2b.dao.PurcInquirySimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurcProofingapprovalSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurcProofingsendSimpleInfoDao;
@@ -56,6 +57,7 @@ import com.uas.search.console.b2b.model.PagingReleaseDetailSimpleInfo;
 import com.uas.search.console.b2b.model.ProdSimpleInfo;
 import com.uas.search.console.b2b.model.ProductBrandSimpleInfo;
 import com.uas.search.console.b2b.model.ProductComponentSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquiryItemSimpleInfo2;
 import com.uas.search.console.b2b.model.PurcInquirySimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingapprovalSimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingsendSimpleInfo;
@@ -136,6 +138,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(ProductBrandSimpleInfo.class);
 		entityClasses.add(UserSpaceDetailSimpleInfo.class);
 		entityClasses.add(PurcInquirySimpleInfo.class);
+		entityClasses.add(PurcInquiryItemSimpleInfo2.class);
 		// TODO 其他表
 
 		// entityClasses和entityDaoClasses对于表的添加顺序必须一致
@@ -173,6 +176,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(ProductBrandSimpleInfoDao.class);
 		entityDaoClasses.add(UserSpaceDetailSimpleInfoDao.class);
 		entityDaoClasses.add(PurcInquirySimpleInfoDao.class);
+		entityDaoClasses.add(PurcInquiryItemSimpleInfo2Dao.class);
 		// TODO 其他表的Dao
 	}
 

+ 34 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/DocumentToObjectUtils.java

@@ -28,7 +28,9 @@ import com.uas.search.console.b2b.model.ProductBrandSimpleInfo;
 import com.uas.search.console.b2b.model.ProductComponentSimpleInfo;
 import com.uas.search.console.b2b.model.ProductSimpleInfo;
 import com.uas.search.console.b2b.model.PurcInquiryItemSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquiryItemSimpleInfo2;
 import com.uas.search.console.b2b.model.PurcInquirySimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquirySimpleInfo2;
 import com.uas.search.console.b2b.model.PurcProofingapprovalSimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingsendSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseAcceptItemSimpleInfo;
@@ -157,6 +159,8 @@ public class DocumentToObjectUtils {
 			return (T) toUserSpaceDetail(document);
 		} else if (clazz == PurcInquirySimpleInfo.class) {
 			return (T) toPurcInquiry(document);
+		} else if (clazz == PurcInquiryItemSimpleInfo2.class) {
+			return (T) toPurcInquirySimpleInfo(document);
 		}
 
 
@@ -166,6 +170,36 @@ public class DocumentToObjectUtils {
 		}
 	}
 
+	private static PurcInquiryItemSimpleInfo2 toPurcInquirySimpleInfo(Document document) {
+		if (document == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PurcInquiryItemSimpleInfo2.class);
+		PurcInquiryItemSimpleInfo2 purcInquiryItem = new PurcInquiryItemSimpleInfo2();
+		purcInquiryItem.setId(Long.valueOf(
+				document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.ID_FIELD))));
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.PRODUCT_FIELD))) {
+			purcInquiryItem.setProduct(JSONObject.parseObject(
+					document.get(
+							ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.PRODUCT_FIELD)),
+					ProductSimpleInfo.class));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.OVERDUE_FIELD))) {
+			purcInquiryItem.setOverdue(Short.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.OVERDUE_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.INQUIRY_FIELD))) {
+			purcInquiryItem.setInquiry(JSONObject.parseObject(
+					document.get(
+							ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.INQUIRY_FIELD)),
+					PurcInquirySimpleInfo2.class));
+		}
+		return purcInquiryItem;
+	}
+
 	private static PurcInquirySimpleInfo toPurcInquiry(Document document) {
 		if (document == null) {
 			return null;

+ 42 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -23,6 +23,7 @@ import com.uas.search.console.b2b.model.PagingReleaseDetailSimpleInfo;
 import com.uas.search.console.b2b.model.ProdSimpleInfo;
 import com.uas.search.console.b2b.model.ProductBrandSimpleInfo;
 import com.uas.search.console.b2b.model.ProductComponentSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquiryItemSimpleInfo2;
 import com.uas.search.console.b2b.model.PurcInquirySimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingapprovalSimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingsendSimpleInfo;
@@ -134,6 +135,8 @@ public class ObjectToDocumentUtils {
 			return toDocument((UserSpaceDetailSimpleInfo) object);
 		} else if (object instanceof PurcInquirySimpleInfo) {
 			return toDocument((PurcInquirySimpleInfo) object);
+		} else if (object instanceof PurcInquiryItemSimpleInfo2) {
+			return toDocument((PurcInquiryItemSimpleInfo2) object);
 		}
 		// TODO 其他表
 		else {
@@ -2041,4 +2044,43 @@ public class ObjectToDocumentUtils {
 
 		return document;
 	}
+
+	/**
+	 * 将PurchaseInquiryItemSimpleInfo转换成Document
+	 * 
+	 * @param saleArcheck
+	 * @return
+	 */
+	public static Document toDocument(PurcInquiryItemSimpleInfo2 inquiryItem) {
+		if (inquiryItem == null || inquiryItem.getId() == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PurcInquiryItemSimpleInfo2.class);
+		Document document = new Document();
+		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+		// doc)无法根据id进行更新
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.ID_FIELD),
+						String.valueOf(inquiryItem.getId()), Store.YES));
+		if (null != inquiryItem.getOverdue()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.OVERDUE_FIELD),
+					String.valueOf(inquiryItem.getOverdue()), Store.YES));
+		}
+		if (inquiryItem.getInquiry() != null) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.INQUIRY_FIELD),
+					JSONObject.toJSONString(inquiryItem.getInquiry()), Store.YES));
+		}
+		if (inquiryItem.getProduct() != null) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.PRODUCT_FIELD),
+					JSONObject.toJSONString(inquiryItem.getProduct()), Store.YES));
+		}
+		// 排序字段
+		document.add(new NumericDocValuesField(
+				ClassAndTableNameUtils.combineField(tableName, PurcInquiryItemSimpleInfo2.ID_FIELD),
+				inquiryItem.getId()));
+		return document;
+	}
 }