Browse Source

新增公共询价列表搜索功能

hejq 8 years ago
parent
commit
c9e9e007ca

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

@@ -256,7 +256,12 @@ public interface SearchService {
         /**
          * 个人产品库
          */
-        PRODUCT$USERS("PRODUCT$USERS");
+        PRODUCT$USERS("PRODUCT$USERS"),
+
+		/**
+		 * 公共询价转报价单明细
+		 */
+		PUBLIC$INQUIRYITEMS("PUBLIC$INQUIRYITEMS");
 		// TODO
 
 		private Table_name(String phrase) {

+ 10 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/PublicInquiryItemSimpleInfoDao.java

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

+ 10 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/PublicInquirySimpleInfoDao.java

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

+ 304 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PublicInquiryItemSimpleInfo.java

@@ -0,0 +1,304 @@
+package com.uas.search.console.b2b.model;
+
+import javax.persistence.*;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ *  公共询价转报价后存的数据信息明细
+ *
+ *  @author hejq 2018-01-06
+ */
+@Table(name = PublicInquiryItemSimpleInfo.TABLE_NAME)
+@Entity
+public class PublicInquiryItemSimpleInfo {
+
+	/**
+	 * 表名
+	 */
+	public static final String TABLE_NAME = "PUBLIC$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";
+
+	public static final String VENDTODATE_FIELD = "id_vendtodate";
+
+	public static final String OVERDUE_FIELD = "id_overdue";
+
+	public static final String INVALID_FIELD = "id_invalid";
+
+	public static final String SOURCEAPP_FIELD = "id_sourceapp";
+
+	public static final String AGREED_FIELD = "id_agreed";
+
+	public static final String DATE_FIELD = "id_date";
+
+	public static final String KIND_FIELD = "id_kind";
+
+	@Id
+	@Column(name = ID_FIELD)
+	private Long id;
+
+	/**
+	 * 企业UU
+	 */
+	@OneToOne
+	@JoinColumn(name = VEND_FIELD, insertable = false, updatable = false)
+	private EnterpriseSimpleInfo enterprise;
+
+	/**
+	 * 产品
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = PRODUCT_FIELD, insertable = false, updatable = false)
+	private ProductSimpleInfo product;
+
+	/**
+	 * (针对卖家的)询价传输状态{待上传、已下载}
+	 */
+	@Column(name = SENDSTATUS_FIELD)
+	private Short sendStatus;
+
+	/**
+	 * 报价有效期截止
+	 */
+	@Column(name = VENDTODATE_FIELD)
+	private Date vendToDate;
+
+	/**
+	 * 询价单
+	 */
+	@ManyToOne(cascade = CascadeType.ALL, optional = true)
+	@JoinColumn(name = INQUIRY_FIELD, nullable = false)
+	private PublicInquirySimpleInfo inquiry;
+
+	/**
+	 * 状态
+	 * 
+	 * @return
+	 */
+	@Column(name = STATUS_FIELD)
+	private Short status;
+
+	/**
+	 * 是否过期(1过期,0未过期)--1为已失效,0为未失效
+	 * 
+	 * @return
+	 */
+	private Short id_overdue;
+
+	/**
+	 * 报价是否过期 (1为报价失效,0为为未效)
+	 * 
+	 * @return
+	 */
+	private Short id_invalid;
+
+	/**
+	 * 应用来源
+	 */
+	@Column(name = SOURCEAPP_FIELD)
+	private String sourceapp;
+
+	/**
+	 * 是否采纳
+	 */
+	@Column(name = AGREED_FIELD)
+	private Short agreed;
+
+	/**
+	 * 单据归属日期
+	 */
+	@Column(name = DATE_FIELD)
+	private Date date;
+
+	/**
+	 * 单据归属日期
+	 */
+	@Column(name = KIND_FIELD)
+	private String kind;
+
+	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 Short getSendStatus() {
+		return sendStatus;
+	}
+
+	public void setSendStatus(Short sendStatus) {
+		this.sendStatus = sendStatus;
+	}
+
+	public EnterpriseSimpleInfo getEnterprise() {
+		return enterprise;
+	}
+
+	public void setEnterprise(EnterpriseSimpleInfo enterprise) {
+		this.enterprise = enterprise;
+	}
+
+	public PublicInquirySimpleInfo getInquiry() {
+		return inquiry;
+	}
+
+	public void setInquiry(PublicInquirySimpleInfo inquiry) {
+		this.inquiry = inquiry;
+	}
+
+	public Short getStatus() {
+		return status;
+	}
+
+	public void setStatus(Short status) {
+		this.status = status;
+	}
+
+	public String getSourceapp() {
+		return sourceapp;
+	}
+
+	public void setSourceapp(String sourceapp) {
+		this.sourceapp = sourceapp;
+	}
+
+	public Short getAgreed() {
+		return agreed;
+	}
+
+	public void setAgreed(Short agreed) {
+		this.agreed = agreed;
+	}
+
+	public Date getVendToDate() {
+		return vendToDate;
+	}
+
+	public void setVendToDate(Date vendToDate) {
+		this.vendToDate = vendToDate;
+	}
+
+	public Date getDate() {
+		return this.getInquiry().getDate();
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public String getKind() {
+		return kind;
+	}
+
+	public void setKind(String kind) {
+		this.kind = kind;
+	}
+
+	@SuppressWarnings("deprecation")
+	public Short getOverdue() {
+		if (this.status == 314 || this.getInvalid() == 1
+				|| (this.status == 200 && null != this.getInquiry().getCheck() && this.getInquiry().getCheck() == 1)) { // 已作废、过了报价有效期、未报价但是客户已提交的
+			return 1;
+		}
+		if (this.getInquiry().getEndDate() == null) {
+			return 0;
+		}
+		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 && this.status == 200) { // 过了截止时间未报价
+			return 1;
+		} else {
+			return 0;
+		}
+	}
+
+	public void setOverdue(Short overdue) {
+		this.id_overdue = overdue;
+	}
+
+	@SuppressWarnings("deprecation")
+	public Short getInvalid() {
+		if (this.vendToDate == null) {
+			return 0;
+		}
+		Date before = new Date();
+		Date date = new Date(before.getTime());
+		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.vendToDate.getYear());
+		end.set(Calendar.MONTH, this.vendToDate.getMonth());
+		end.set(Calendar.DAY_OF_MONTH, this.vendToDate.getDate());
+		if (now.compareTo(end) > 0) {
+			return 1;
+		} else {
+			return 0;
+		}
+	}
+
+	public void setInvalid(Short invalid) {
+		this.id_invalid = invalid;
+	}
+
+	public static List<String> getKeywordFields() {
+		List<String> fields = new ArrayList<>();
+		fields.add(PRODUCT_FIELD);
+		fields.add(VEND_FIELD);
+		fields.add(SENDSTATUS_FIELD);
+		fields.add(INQUIRY_FIELD);
+		fields.add(SOURCEAPP_FIELD);
+		fields.add(KIND_FIELD);
+		return fields;
+	}
+
+	@Override
+	public String toString() {
+		return "PublicInquiryItemSimpleInfo{" +
+				"id=" + id +
+				", enterprise=" + enterprise +
+				", product=" + product +
+				", sendStatus=" + sendStatus +
+				", vendToDate=" + vendToDate +
+				", inquiry=" + inquiry +
+				", status=" + status +
+				", id_overdue=" + id_overdue +
+				", id_invalid=" + id_invalid +
+				", sourceapp='" + sourceapp + '\'' +
+				", agreed=" + agreed +
+				", date=" + date +
+				", kind='" + kind + '\'' +
+				'}';
+	}
+}

+ 130 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PublicInquirySimpleInfo.java

@@ -0,0 +1,130 @@
+package com.uas.search.console.b2b.model;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * 公共询价单转询价单的存的相应的单据信息
+ * 
+ * <pre>
+ * 数据库虚拟列里面用到的函数,是不允许操作动态数据的;原over_sysdate函数用法存在问题;
+ * 改用视图{@code v$public$inquiry}处理
+ * </pre>
+ * 
+ * @author hejq 2018-01-06
+ * 
+ */
+@Table(name = "v$public$inquiry")
+@Entity
+public class PublicInquirySimpleInfo {
+
+	@Id
+	@Column(name = "in_id")
+	private Long id;
+
+	/**
+	 * 日期
+	 */
+	@Column(name = "in_date")
+	private Date date;
+
+	/**
+	 * 询价企业
+	 */
+	@OneToOne
+	@JoinColumn(name = "in_enuu", insertable = false, updatable = false)
+	private EnterpriseSimpleInfo vend;
+
+	/**
+	 * 流水号
+	 */
+	@Column(name = "in_code")
+	private String code;
+
+	/**
+	 * 是否过期
+	 */
+	@Column(name = "in_overdue", insertable = false, updatable = false)
+	private Short overdue;
+
+	/**
+	 * 报价截止日期
+	 */
+	@Column(name = "in_enddate")
+	private Date endDate;
+
+	/**
+	 * 客户已提交(0为未提交,1为已提交)
+	 */
+	@Column(name = "in_checked")
+	private Short check;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public EnterpriseSimpleInfo getVend() {
+		return vend;
+	}
+
+	public void setVend(EnterpriseSimpleInfo vend) {
+		this.vend = vend;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public Short getOverdue() {
+		return overdue;
+	}
+
+	public void setOverdue(Short overdue) {
+		this.overdue = overdue;
+	}
+
+	public Date getEndDate() {
+		return endDate;
+	}
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+
+	public Short getCheck() {
+		return check;
+	}
+
+	public void setCheck(Short check) {
+		this.check = check;
+	}
+
+	@Override
+	public String toString() {
+		return "PublicInquirySimpleInfo{" +
+				"id=" + id +
+				", date=" + date +
+				", vend=" + vend +
+				", code='" + code + '\'' +
+				", overdue=" + overdue +
+				", endDate=" + endDate +
+				", check=" + check +
+				'}';
+	}
+}

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

@@ -86,6 +86,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(SaleTenderQuestionSimpleInfo.class);
 		entityClasses.add(VendorPerformanceAssessSimpleInfo.class);
         entityClasses.add(ProductUsersSimpleInfo.class);
+		entityClasses.add(PublicInquiryItemSimpleInfo.class);
 		// TODO 其他表
 
 		// entityClasses和entityDaoClasses对于表的添加顺序必须一致
@@ -136,6 +137,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(SaleTenderQuestionSimpleInfoDao.class);
 		entityDaoClasses.add(VendorPerformanceAssessSimpleInfoDao.class);
         entityDaoClasses.add(ProductUsersSimpleInfoDao.class);
+		entityDaoClasses.add(PublicInquiryItemSimpleInfoDao.class);
 		// TODO 其他表的Dao
 	}
 

+ 89 - 2
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/DocumentToObjectUtils.java

@@ -126,7 +126,9 @@ public class DocumentToObjectUtils {
 			return (T) toVendorPerformanceAssessSimpleInfo(document);
 		} else if (clazz == ProductUsersSimpleInfo.class) {
             return (T) toProductUsersSimpleInfo(document);
-        }
+        } else if (clazz == PublicInquiryItemSimpleInfo.class) {
+			return (T) toPublicInquiryItemSimpleInfo(document);
+		}
 
 		// TODO 其他表
 		else {
@@ -134,7 +136,92 @@ public class DocumentToObjectUtils {
 		}
 	}
 
-    /**
+	/**
+	 * 将Document转换成PublicInquiryItemSimpleInfo
+	 *
+	 * @param document
+	 * @return
+	 * @author hejq 2018-01-06 17:53
+	 */
+	private static PublicInquiryItemSimpleInfo toPublicInquiryItemSimpleInfo(Document document) {
+		if (document == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PublicInquiryItemSimpleInfo.class);
+		PublicInquiryItemSimpleInfo pubInquiryItem = new PublicInquiryItemSimpleInfo();
+		pubInquiryItem.setId(Long.valueOf(
+				document.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.ID_FIELD))));
+		pubInquiryItem.setEnterprise(JSONObject.parseObject(
+				document.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.VEND_FIELD)),
+				EnterpriseSimpleInfo.class));
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.PRODUCT_FIELD))) {
+			pubInquiryItem
+					.setProduct(
+							JSONObject
+									.parseObject(
+											document.get(ClassAndTableNameUtils.combineField(tableName,
+													PublicInquiryItemSimpleInfo.PRODUCT_FIELD)),
+											ProductSimpleInfo.class));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.SENDSTATUS_FIELD))) {
+			pubInquiryItem.setSendStatus(Short.valueOf(document.get(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.SENDSTATUS_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.VENDTODATE_FIELD))) {
+			pubInquiryItem.setVendToDate(new Date(Long.valueOf(document.get(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.VENDTODATE_FIELD)))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.STATUS_FIELD))) {
+			pubInquiryItem.setStatus(Short.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.STATUS_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.OVERDUE_FIELD))) {
+			pubInquiryItem.setOverdue(Short.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.OVERDUE_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.INVALID_FIELD))) {
+			pubInquiryItem.setInvalid(Short.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.INVALID_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.SOURCEAPP_FIELD))) {
+			pubInquiryItem.setSourceapp(String.valueOf(document.get(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.SOURCEAPP_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.AGREED_FIELD))) {
+			pubInquiryItem.setAgreed(Short.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.AGREED_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.INQUIRY_FIELD))) {
+			pubInquiryItem
+					.setInquiry(
+							JSONObject.parseObject(
+									document.get(ClassAndTableNameUtils.combineField(tableName,
+											PublicInquiryItemSimpleInfo.INQUIRY_FIELD)),
+									PublicInquirySimpleInfo.class));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.DATE_FIELD))) {
+			pubInquiryItem.setDate(new Date(Long.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.DATE_FIELD)))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.KIND_FIELD))) {
+			pubInquiryItem.setKind(String.valueOf(document.get(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.KIND_FIELD))));
+		}
+		return pubInquiryItem;
+	}
+
+	/**
      * 用户个人产品表
      *
      * @author hejq

+ 87 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -130,7 +130,9 @@ public class ObjectToDocumentUtils {
 			return toDocument((VendorPerformanceAssessSimpleInfo) object);
 		} else if (object instanceof ProductUsersSimpleInfo) {
             return toDocument((ProductUsersSimpleInfo) object);
-        }
+        } else if (object instanceof PublicInquiryItemSimpleInfo) {
+			return toDocument((PublicInquiryItemSimpleInfo) object);
+		}
 		// TODO 其他表
 		else {
 			throw new SearchException("不支持将以下类型转换为Document:" + object.getClass().getName());
@@ -3277,4 +3279,88 @@ public class ObjectToDocumentUtils {
         return document;
     }
 
+	/**
+	 * 将PublicInquiryItemSimpleInfo转换成Document
+	 *
+	 * @param inquiryItem
+	 * @return
+	 * @author hejq 2018-01-06 17:53
+	 */
+	public static Document toDocument(PublicInquiryItemSimpleInfo 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(PublicInquiryItemSimpleInfo.class);
+		Document document = new Document();
+		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+		// doc)无法根据id进行更新
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.ID_FIELD),
+						String.valueOf(inquiryItem.getId()), Store.YES));
+		if (null != inquiryItem.getSendStatus()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.SENDSTATUS_FIELD),
+					String.valueOf(inquiryItem.getSendStatus()), Store.YES));
+		}
+		if (null != inquiryItem.getVendToDate()) {
+			document.add(new LongField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.VENDTODATE_FIELD),
+					inquiryItem.getVendToDate().getTime(), Store.YES));
+		}
+		if (null != inquiryItem.getStatus()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.STATUS_FIELD),
+					String.valueOf(inquiryItem.getStatus()), Store.YES));
+		}
+		if (null != inquiryItem.getOverdue()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.OVERDUE_FIELD),
+					String.valueOf(inquiryItem.getOverdue()), Store.YES));
+		}
+		if (null != inquiryItem.getInvalid()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.INVALID_FIELD),
+					String.valueOf(inquiryItem.getInvalid()), Store.YES));
+		}
+		document.add(new StringField(
+				ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.VEND_FIELD),
+				JSON.toJSONString(inquiryItem.getEnterprise()), Store.YES));
+		if (inquiryItem.getInquiry() != null) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.INQUIRY_FIELD),
+					JSONObject.toJSONString(inquiryItem.getInquiry()), Store.YES));
+		}
+		if (inquiryItem.getProduct() != null) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.PRODUCT_FIELD),
+					JSONObject.toJSONString(inquiryItem.getProduct()), Store.YES));
+		}
+		if (inquiryItem.getSourceapp() != null) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.SOURCEAPP_FIELD),
+					String.valueOf(inquiryItem.getSourceapp()), Store.YES));
+		}
+		if (null != inquiryItem.getAgreed()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.AGREED_FIELD),
+					String.valueOf(inquiryItem.getAgreed()), Store.YES));
+		}
+		if (null != inquiryItem.getDate()) {
+			document.add(new LongField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.DATE_FIELD),
+					Long.valueOf(inquiryItem.getDate().getTime()), Store.YES));
+		}
+		if (inquiryItem.getKind() != null) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.KIND_FIELD),
+					String.valueOf(inquiryItem.getKind()), Store.YES));
+		}
+		// 排序字段
+		document.add(new NumericDocValuesField(
+				ClassAndTableNameUtils.combineField(tableName, PublicInquiryItemSimpleInfo.ID_FIELD),
+				inquiryItem.getId()));
+		return document;
+	}
 }