Bladeren bron

【搜索服务】 询价搜索改为搜索详情表

hejq 9 jaren geleden
bovenliggende
commit
4390e57741

+ 6 - 1
search-api-b2b/src/main/java/com/uas/search/b2b/service/SearchService.java

@@ -55,7 +55,12 @@ public interface SearchService {
 		/**
 		 * 采购询价单
 		 */
-		PURC$INQUIRY("PURC$INQUIRY"),
+		// PURC$INQUIRY("PURC$INQUIRY"),
+
+		/**
+		 * 采购询价单详情
+		 */
+		PURC$INQUIRYITEMS("PURC$INQUIRYITEMS"),
 
 		/**
 		 * 客户MRB

+ 11 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/PurchaseInquiryItemSimpleInfoDao.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.PurchaseInquiryItemSimpleInfo;
+
+public interface PurchaseInquiryItemSimpleInfoDao extends JpaRepository<PurchaseInquiryItemSimpleInfo, Long>,
+		JpaSpecificationExecutor<PurchaseInquiryItemSimpleInfo> {
+
+}

+ 82 - 6
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurchaseInquiryItemSimpleInfo.java

@@ -1,10 +1,15 @@
 package com.uas.search.console.b2b.model;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
 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;
 
@@ -14,34 +19,66 @@ import javax.persistence.Table;
  * @author yingp
  *
  */
-@Table(name = "purc$inquiryitems")
+@Table(name = PurchaseInquiryItemSimpleInfo.TABLE_NAME)
 @Entity
 public class PurchaseInquiryItemSimpleInfo {
 
+	/**
+	 * 表名
+	 */
+	public static final String TABLE_NAME = "PURC$INQUIRYITEMS";
+
+	public static final String ID_FIELD = "id_id";
+
+	public static final String PRODUCT_FIELD = "id_prid";
+
+	public static final String VEND_FIELD = "id_venduu";
+
+	public static final String SENDSTATUS_FIELD = "id_sendstatus";
+
+	public static final String INQUIRY_FIELD = "id_inid";
+
+	public static final String STATUS_FIELD = "id_status";
+
 	@Id
-	@Column(name = "id_id")
+	@Column(name = ID_FIELD)
 	private Long id;
 
 	/**
 	 * 企业UU
 	 */
 	@OneToOne
-	@JoinColumn(name = "id_venduu", insertable = false, updatable = false)
+	@JoinColumn(name = VEND_FIELD, insertable = false, updatable = false)
 	private EnterpriseSimpleInfo enterprise;
 
 	/**
 	 * 产品
 	 */
 	@OneToOne(cascade = { CascadeType.REFRESH })
-	@JoinColumn(name = "id_prid", insertable = false, updatable = false)
+	@JoinColumn(name = PRODUCT_FIELD, insertable = false, updatable = false)
 	private ProductSimpleInfo product;
 
 	/**
 	 * (针对卖家的)询价传输状态{待上传、已下载}
 	 */
-	@Column(name = "id_sendstatus")
+	@Column(name = SENDSTATUS_FIELD)
 	private Short sendStatus;
 
+	/**
+	 * 询价单
+	 */
+	@ManyToOne(cascade = CascadeType.ALL, optional = true)
+	@JoinColumn(name = INQUIRY_FIELD, nullable = false)
+	private PurchaseInquirySimpleInfo inquiry;
+
+	/**
+	 * 状态
+	 * 
+	 * @return
+	 */
+	@Column(name = STATUS_FIELD)
+	private Short status;
+
 	public Long getId() {
 		return id;
 	}
@@ -74,10 +111,49 @@ public class PurchaseInquiryItemSimpleInfo {
 		this.enterprise = enterprise;
 	}
 
+	public PurchaseInquirySimpleInfo getInquiry() {
+		return inquiry;
+	}
+
+	public void setInquiry(PurchaseInquirySimpleInfo inquiry) {
+		this.inquiry = inquiry;
+	}
+
+	public Short getStatus() {
+		return status;
+	}
+
+	public void setStatus(Short status) {
+		this.status = status;
+	}
+
+	public static List<String> getKeywordFields() {
+		List<String> fields = new ArrayList<>();
+		fields.add(PRODUCT_FIELD);
+		fields.add(VEND_FIELD);
+		fields.add(SENDSTATUS_FIELD);
+		return fields;
+	}
+
+	// TODO 每个主表必须重写equals方法
+	public boolean equals(Object otherObject) {
+		if (this == otherObject) {
+			return true;
+		}
+		if (otherObject == null || getClass() != otherObject.getClass()
+				|| !(otherObject instanceof PurchaseInquiryItemSimpleInfo)) {
+			return false;
+		}
+		PurchaseInquiryItemSimpleInfo other = (PurchaseInquiryItemSimpleInfo) otherObject;
+		// 不对从表的数据进行比较
+		return Objects.equals(id, other.getId()) && Objects.equals(enterprise, other.getEnterprise())
+				&& Objects.equals(sendStatus, other.getSendStatus()) && Objects.equals(status, other.getStatus());
+	}
+
 	@Override
 	public String toString() {
 		return "PurchaseInquiryItemSimpleInfo [id=" + id + ", enterprise=" + enterprise + ", product=" + product
-				+ ", sendStatus=" + sendStatus + "]";
+				+ ", sendStatus=" + sendStatus + ", inquiry=" + inquiry + ", status=" + status + "]";
 	}
 
 }

+ 6 - 76
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurchaseInquirySimpleInfo.java

@@ -1,18 +1,11 @@
 package com.uas.search.console.b2b.model;
 
-import java.util.ArrayList;
 import java.util.Date;
-import java.util.List;
-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.OneToOne;
 import javax.persistence.Table;
 
@@ -27,59 +20,33 @@ import javax.persistence.Table;
  * @author yingp
  * 
  */
-@Table(name = PurchaseInquirySimpleInfo.TABLE_NAME)
+@Table(name = "purc$inquiry")
 @Entity
 public class PurchaseInquirySimpleInfo {
 
-	/**
-	 * 表名
-	 */
-	// 每个主表必须与com.uas.search.b2b.service.SearchService.Table_name对应的单据类型的value保持一致
-	public static final String TABLE_NAME = "PURC$INQUIRY";
-
-	/**
-	 * 各字段列名(也是存储索引时的field名)
-	 */
-	public static final String ID_FIELD = "in_id";
-
-	public static final String CODE_FIELD = "in_code";
-
-	public static final String DATE_FIELD = "in_date";
-
-	public static final String VEND_FIELD = "in_enuu";
-
-	public static final String ITEMS_FIELD = "id_inid";
-
 	@Id
-	@Column(name = ID_FIELD)
+	@Column(name = "in_id")
 	private Long id;
 
 	/**
 	 * 日期
 	 */
-	@Column(name = DATE_FIELD)
+	@Column(name = "in_date")
 	private Date date;
 
 	/**
 	 * 询价企业
 	 */
 	@OneToOne
-	@JoinColumn(name = VEND_FIELD, insertable = false, updatable = false)
+	@JoinColumn(name = "in_enuu", insertable = false, updatable = false)
 	private EnterpriseSimpleInfo vend;
 
 	/**
 	 * 流水号
 	 */
-	@Column(name = CODE_FIELD)
+	@Column(name = "in_code")
 	private String code;
 
-	/**
-	 * 询价明细
-	 */
-	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
-	@JoinColumn(name = ITEMS_FIELD, updatable = false, insertable = false)
-	private Set<PurchaseInquiryItemSimpleInfo> inquiryItems;
-
 	public Long getId() {
 		return id;
 	}
@@ -112,46 +79,9 @@ public class PurchaseInquirySimpleInfo {
 		this.date = date;
 	}
 
-	public Set<PurchaseInquiryItemSimpleInfo> getInquiryItems() {
-		return inquiryItems;
-	}
-
-	public void setInquiryItems(Set<PurchaseInquiryItemSimpleInfo> inquiryItems) {
-		this.inquiryItems = inquiryItems;
-	}
-
-	/**
-	 * 获取所有可以搜索的字段列名(索引的field名)
-	 * 
-	 * @return 可以搜索的字段列名
-	 */
-	public static List<String> getKeywordFields() {
-		List<String> fields = new ArrayList<>();
-		fields.add(CODE_FIELD);
-		fields.add(VEND_FIELD);
-		fields.add(ITEMS_FIELD);
-		return fields;
-	}
-
-	// TODO 每个主表必须重写equals方法
-	public boolean equals(Object otherObject) {
-		if (this == otherObject) {
-			return true;
-		}
-		if (otherObject == null || getClass() != otherObject.getClass()
-				|| !(otherObject instanceof PurchaseInquirySimpleInfo)) {
-			return false;
-		}
-		PurchaseInquirySimpleInfo other = (PurchaseInquirySimpleInfo) otherObject;
-		// 不对从表的数据进行比较
-		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
-				&& Objects.equals(date, other.getDate());
-	}
-
 	@Override
 	public String toString() {
-		return "PurchaseInquirySimpleInfo [id=" + id + ", date=" + date + ", vend=" + vend + ", code=" + code
-				+ ", inquiryItems=" + inquiryItems + "]";
+		return "PurchaseInquirySimpleInfo [id=" + id + ", date=" + date + ", vend=" + vend + ", code=" + code + "]";
 	}
 
 }

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

@@ -26,7 +26,7 @@ import com.uas.search.console.b2b.dao.PurchaseBadinSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseBadoutSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseChangesSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseForecastSimpleInfoDao;
-import com.uas.search.console.b2b.dao.PurchaseInquirySimpleInfoDao;
+import com.uas.search.console.b2b.dao.PurchaseInquiryItemSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseMrbSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseNoticeSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseOrderSimpleInfoDao;
@@ -48,7 +48,7 @@ import com.uas.search.console.b2b.model.PurchaseBadinSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseBadoutSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseChangesSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseForecastSimpleInfo;
-import com.uas.search.console.b2b.model.PurchaseInquirySimpleInfo;
+import com.uas.search.console.b2b.model.PurchaseInquiryItemSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseMrbSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseNoticeSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseOrderSimpleInfo;
@@ -86,7 +86,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(PurchaseBadinSimpleInfo.class);
 		entityClasses.add(PurchaseBadoutSimpleInfo.class);
 		entityClasses.add(PurchaseForecastSimpleInfo.class);
-		entityClasses.add(PurchaseInquirySimpleInfo.class);
+		// entityClasses.add(PurchaseInquirySimpleInfo.class);
 		entityClasses.add(PurchaseMrbSimpleInfo.class);
 		entityClasses.add(PurchaseChangesSimpleInfo.class);
 		entityClasses.add(PurchaseProofingSimpleInfo.class);
@@ -101,6 +101,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(PurchaseApCheckSimpleInfo.class);
 		entityClasses.add(SaleArcheckSimpleInfo.class);
 		entityClasses.add(SaleQuotationSimpleInfo.class);
+		entityClasses.add(PurchaseInquiryItemSimpleInfo.class);
 		// TODO 其他表
 
 		// entityClasses和entityDaoClasses对于表的添加顺序必须一致
@@ -111,7 +112,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(PurchaseBadinSimpleInfoDao.class);
 		entityDaoClasses.add(PurchaseBadoutSimpleInfoDao.class);
 		entityDaoClasses.add(PurchaseForecastSimpleInfoDao.class);
-		entityDaoClasses.add(PurchaseInquirySimpleInfoDao.class);
+		// entityDaoClasses.add(PurchaseInquirySimpleInfoDao.class);
 		entityDaoClasses.add(PurchaseMrbSimpleInfoDao.class);
 		entityDaoClasses.add(PurchaseChangesSimpleInfoDao.class);
 		entityDaoClasses.add(PurchaseProofingSimpleInfoDao.class);
@@ -126,6 +127,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(PurchaseApcheckSimpleInfoDao.class);
 		entityDaoClasses.add(SaleArcheckSimpleInfoDao.class);
 		entityDaoClasses.add(SaleQuotationSimpleInfoDao.class);
+		entityDaoClasses.add(PurchaseInquiryItemSimpleInfoDao.class);
 		// TODO 其他表的Dao
 	}
 

+ 62 - 27
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/DocumentToObjectUtils.java

@@ -90,8 +90,6 @@ public class DocumentToObjectUtils {
 			return (T) toPurchaseBadout(document);
 		} else if (clazz == PurchaseForecastSimpleInfo.class) {
 			return (T) toPurchaseForecast(document);
-		} else if (clazz == PurchaseInquirySimpleInfo.class) {
-			return (T) toPurchaseInquiry(document);
 		} else if (clazz == PurchaseMrbSimpleInfo.class) {
 			return (T) toPurchaseMrb(document);
 		} else if (clazz == PurchaseChangesSimpleInfo.class) {
@@ -118,6 +116,8 @@ public class DocumentToObjectUtils {
 			return (T) toSaleArcheck(document);
 		} else if (clazz == PurchaseApCheckSimpleInfo.class) {
 			return (T) toPurcApcheck(document);
+		} else if (clazz == PurchaseInquiryItemSimpleInfo.class) {
+			return (T) toInquiryItem(document);
 		}
 		// TODO 其他表
 		else {
@@ -125,6 +125,38 @@ public class DocumentToObjectUtils {
 		}
 	}
 
+	/**
+	 * 将Document转换成PurchaseInquiryItemSimpleInfo
+	 * 
+	 * @param document
+	 * @return
+	 */
+	private static PurchaseInquiryItemSimpleInfo toInquiryItem(Document document) {
+		if (document == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PurchaseInquiryItemSimpleInfo.class);
+		PurchaseInquiryItemSimpleInfo purcInquiryItem = new PurchaseInquiryItemSimpleInfo();
+		purcInquiryItem.setId(Long.valueOf(
+				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.ID_FIELD))));
+		purcInquiryItem.setEnterprise(JSONObject.parseObject(
+				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.VEND_FIELD)),
+				EnterpriseSimpleInfo.class));
+		purcInquiryItem.setProduct(JSONObject.parseObject(
+				document.get(
+						ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.PRODUCT_FIELD)),
+				ProductSimpleInfo.class));
+		purcInquiryItem.setSendStatus(Short.valueOf(document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.SENDSTATUS_FIELD))));
+		purcInquiryItem.setStatus(Short.valueOf(document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.STATUS_FIELD))));
+		purcInquiryItem.setInquiry(JSONObject.parseObject(
+				document.get(
+						ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.INQUIRY_FIELD)),
+				PurchaseInquirySimpleInfo.class));
+		return null;
+	}
+
 	/**
 	 * 将Document转换成SaleQuotation
 	 * 
@@ -181,11 +213,7 @@ public class DocumentToObjectUtils {
 		String checkstatus = document
 				.get(ClassAndTableNameUtils.combineField(tableName, PurchaseApCheckSimpleInfo.CHECKSTATUS_FIELD));
 		if (!StringUtils.isEmpty(checkstatus)) {
-			if (checkstatus.equals("不同意") || checkstatus.equals("已作废")) {
-				purcApcheck.setCheckstatus("已作废");
-			} else {
-				purcApcheck.setCheckstatus(checkstatus);
-			}
+			purcApcheck.setCheckstatus(checkstatus);
 		}
 		purcApcheck.setDate(new Date(Long.valueOf(
 				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseApCheckSimpleInfo.DATE_FIELD)))));
@@ -811,26 +839,33 @@ public class DocumentToObjectUtils {
 	 * @param document
 	 * @return
 	 */
-	private static PurchaseInquirySimpleInfo toPurchaseInquiry(Document document) {
-		if (document == null) {
-			return null;
-		}
-		Table_name tableName = ClassAndTableNameUtils.toTableName(PurchaseInquirySimpleInfo.class);
-		PurchaseInquirySimpleInfo purcInquiry = new PurchaseInquirySimpleInfo();
-		purcInquiry.setId(Long.valueOf(
-				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.ID_FIELD))));
-		purcInquiry.setCode(
-				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.CODE_FIELD)));
-		purcInquiry.setDate(new Date(Long.valueOf(
-				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.DATE_FIELD)))));
-		purcInquiry.setVend(JSONObject.parseObject(
-				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.VEND_FIELD)),
-				EnterpriseSimpleInfo.class));
-		purcInquiry.setInquiryItems(toSet(
-				document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.ITEMS_FIELD)),
-				PurchaseInquiryItemSimpleInfo.class));
-		return purcInquiry;
-	}
+	// private static PurchaseInquirySimpleInfo toPurchaseInquiry(Document
+	// document) {
+	// if (document == null) {
+	// return null;
+	// }
+	// Table_name tableName =
+	// ClassAndTableNameUtils.toTableName(PurchaseInquirySimpleInfo.class);
+	// PurchaseInquirySimpleInfo purcInquiry = new PurchaseInquirySimpleInfo();
+	// purcInquiry.setId(Long.valueOf(
+	// document.get(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.ID_FIELD))));
+	// purcInquiry.setCode(
+	// document.get(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.CODE_FIELD)));
+	// purcInquiry.setDate(new Date(Long.valueOf(
+	// document.get(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.DATE_FIELD)))));
+	// purcInquiry.setVend(JSONObject.parseObject(
+	// document.get(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.VEND_FIELD)),
+	// EnterpriseSimpleInfo.class));
+	// purcInquiry.setInquiryItems(toSet(
+	// document.get(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.ITEMS_FIELD)),
+	// PurchaseInquiryItemSimpleInfo.class));
+	// return purcInquiry;
+	// }
 
 	/**
 	 * 将json字符串转为Set<T>对象

+ 84 - 30
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -24,7 +24,7 @@ import com.uas.search.console.b2b.model.PurchaseBadinSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseBadoutSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseChangesSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseForecastSimpleInfo;
-import com.uas.search.console.b2b.model.PurchaseInquirySimpleInfo;
+import com.uas.search.console.b2b.model.PurchaseInquiryItemSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseMrbSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseNoticeSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseOrderSimpleInfo;
@@ -71,8 +71,6 @@ public class ObjectToDocumentUtils {
 			return toDocument((PurchaseBadoutSimpleInfo) object);
 		} else if (object instanceof PurchaseForecastSimpleInfo) {
 			return toDocument((PurchaseForecastSimpleInfo) object);
-		} else if (object instanceof PurchaseInquirySimpleInfo) {
-			return toDocument((PurchaseInquirySimpleInfo) object);
 		} else if (object instanceof PurchaseMrbSimpleInfo) {
 			return toDocument((PurchaseMrbSimpleInfo) object);
 		} else if (object instanceof PurchaseChangesSimpleInfo) {
@@ -101,6 +99,8 @@ public class ObjectToDocumentUtils {
 			return toDocument((SaleArcheckSimpleInfo) object);
 		} else if (object instanceof PurchaseApCheckSimpleInfo) {
 			return toDocument((PurchaseApCheckSimpleInfo) object);
+		} else if (object instanceof PurchaseInquiryItemSimpleInfo) {
+			return toDocument((PurchaseInquiryItemSimpleInfo) object);
 		}
 		// TODO 其他表
 		else {
@@ -466,33 +466,42 @@ public class ObjectToDocumentUtils {
 	 * @param purcInquiry
 	 * @return 转换的Document
 	 */
-	public static Document toDocument(PurchaseInquirySimpleInfo purcInquiry) {
-		if (purcInquiry == null || purcInquiry.getId() == null || StringUtils.isEmpty(purcInquiry.getCode())
-				|| purcInquiry.getVend() == null || purcInquiry.getVend().getUu() == null
-				|| StringUtils.isEmpty(purcInquiry.getVend().getEnName())
-				|| StringUtils.isEmpty(purcInquiry.getDate())) {
-			return null;
-		}
-		Table_name tableName = ClassAndTableNameUtils.toTableName(PurchaseInquirySimpleInfo.class);
-		Document document = new Document();
-		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
-		// doc)无法根据id进行更新
-		document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.ID_FIELD),
-				String.valueOf(purcInquiry.getId()), Store.YES));
-		document.add(new TextField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.CODE_FIELD),
-				String.valueOf(purcInquiry.getCode()), Store.YES));
-		document.add(new LongField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.DATE_FIELD),
-				purcInquiry.getDate().getTime(), Store.YES));
-		// vend和items以json的格式存储
-		document.add(new TextField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.VEND_FIELD),
-				JSONObject.toJSONString(purcInquiry.getVend()), Store.YES));
-		if (!CollectionUtils.isEmpty(purcInquiry.getInquiryItems())) {
-			document.add(
-					new TextField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquirySimpleInfo.ITEMS_FIELD),
-							JSONObject.toJSONString(purcInquiry.getInquiryItems()), Store.YES));
-		}
-		return document;
-	}
+	// public static Document toDocument(PurchaseInquirySimpleInfo purcInquiry)
+	// {
+	// if (purcInquiry == null || purcInquiry.getId() == null ||
+	// StringUtils.isEmpty(purcInquiry.getCode())
+	// || purcInquiry.getVend() == null || purcInquiry.getVend().getUu() == null
+	// || StringUtils.isEmpty(purcInquiry.getVend().getEnName())
+	// || StringUtils.isEmpty(purcInquiry.getDate())) {
+	// return null;
+	// }
+	// Table_name tableName =
+	// ClassAndTableNameUtils.toTableName(PurchaseInquirySimpleInfo.class);
+	// Document document = new Document();
+	// // 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+	// // doc)无法根据id进行更新
+	// document.add(new
+	// StringField(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.ID_FIELD),
+	// String.valueOf(purcInquiry.getId()), Store.YES));
+	// document.add(new TextField(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.CODE_FIELD),
+	// String.valueOf(purcInquiry.getCode()), Store.YES));
+	// document.add(new LongField(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.DATE_FIELD),
+	// purcInquiry.getDate().getTime(), Store.YES));
+	// // vend和items以json的格式存储
+	// document.add(new TextField(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.VEND_FIELD),
+	// JSONObject.toJSONString(purcInquiry.getVend()), Store.YES));
+	// if (!CollectionUtils.isEmpty(purcInquiry.getInquiryItems())) {
+	// document.add(
+	// new TextField(ClassAndTableNameUtils.combineField(tableName,
+	// PurchaseInquirySimpleInfo.ITEMS_FIELD),
+	// JSONObject.toJSONString(purcInquiry.getInquiryItems()), Store.YES));
+	// }
+	// return document;
+	// }
 
 	/**
 	 * PurchaseMrbSimpleInfo对象转为Document
@@ -1055,4 +1064,49 @@ public class ObjectToDocumentUtils {
 		}
 		return document;
 	}
+
+	/**
+	 * 将PurchaseInquiryItemSimpleInfo转换成Document
+	 * 
+	 * @param saleArcheck
+	 * @return
+	 */
+	public static Document toDocument(PurchaseInquiryItemSimpleInfo inquiryItem) {
+		if (inquiryItem == null || inquiryItem.getId() == null || inquiryItem.getSendStatus() == null
+				|| StringUtils.isEmpty(inquiryItem.getEnterprise().getEnName())
+				|| inquiryItem.getEnterprise().getUu() == null || inquiryItem.getStatus() == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PurchaseInquiryItemSimpleInfo.class);
+		Document document = new Document();
+		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+		// doc)无法根据id进行更新
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.ID_FIELD),
+						String.valueOf(inquiryItem.getId()), Store.YES));
+		if (null != inquiryItem.getSendStatus()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.SENDSTATUS_FIELD),
+					String.valueOf(inquiryItem.getSendStatus()), Store.YES));
+		}
+		if (null != inquiryItem.getStatus()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.STATUS_FIELD),
+					String.valueOf(inquiryItem.getStatus()), Store.YES));
+		}
+		document.add(
+				new TextField(ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.VEND_FIELD),
+						JSON.toJSONString(inquiryItem.getEnterprise()), Store.YES));
+		if (inquiryItem.getInquiry() != null) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.INQUIRY_FIELD),
+					JSONObject.toJSONString(inquiryItem.getInquiry()), Store.YES));
+		}
+		if (inquiryItem.getProduct() != null) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PurchaseInquiryItemSimpleInfo.PRODUCT_FIELD),
+					JSONObject.toJSONString(inquiryItem.getProduct()), Store.YES));
+		}
+		return document;
+	}
 }