فهرست منبع

B2C商城单据搜索支持对订单状态进行过滤

sunyj 9 سال پیش
والد
کامیت
79dd3b72b8

+ 4 - 1
search-console/src/main/java/com/uas/search/console/controller/OrderSearchController.java

@@ -82,7 +82,7 @@ public class OrderSearchController {
 	@RequestMapping("orderIds")
 	@ResponseBody
 	public SPage<BaseOrder> getOrderIdsWithDetail(String keyword, String tableName, Integer page, Integer size,
-			Long buyeruu, Long buyerenuu, Long sellerenuu, String mintime, String maxtime) {
+			Integer status, Long buyeruu, Long buyerenuu, Long sellerenuu, String mintime, String maxtime) {
 		Table_name tbName = null;
 		if (!StringUtils.isEmpty(tableName)) {
 			tbName = Table_name.valueOf(tableName);
@@ -96,6 +96,9 @@ public class OrderSearchController {
 			params.setSize(size);
 		}
 		Map<String, Object> filters = new HashMap<>();
+		if (status != null) {
+			filters.put(OrderSearchConstants.STATUS_KEY, status);
+		}
 		if (buyeruu != null) {
 			filters.put(OrderSearchConstants.BUYER_UU_KEY, buyeruu);
 		}

+ 16 - 2
search-console/src/main/java/com/uas/search/console/model/OrderDetailSimpleInfo.java

@@ -57,6 +57,12 @@ public class OrderDetailSimpleInfo {
 	@Column(name = "br_name")
 	private String brName;
 
+	/**
+	 * 订单明细状态
+	 */
+	@Column(name = "detail_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -113,6 +119,14 @@ public class OrderDetailSimpleInfo {
 		this.brName = brName;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -125,13 +139,13 @@ public class OrderDetailSimpleInfo {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(orderid, other.getOrderid()) && Objects.equals(detno, other.getDetno())
 				&& Objects.equals(cmpCode, other.getCmpCode()) && Objects.equals(kiName, other.getKiName())
-				&& Objects.equals(brName, other.getBrName());
+				&& Objects.equals(brName, other.getBrName()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "OrderDetailSimpleInfo [id=" + id + ", orderid=" + orderid + ", detno=" + detno + ", code=" + code
-				+ ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + "]";
+				+ ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + ", status=" + status + "]";
 	}
 
 }

+ 17 - 2
search-console/src/main/java/com/uas/search/console/model/OrderInvoiceDetailSimpleInfo.java

@@ -57,6 +57,12 @@ public class OrderInvoiceDetailSimpleInfo {
 	@Column(name = "br_name")
 	private String brName;
 
+	/**
+	 * 发货单明细状态
+	 */
+	@Column(name = "detail_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -113,6 +119,14 @@ public class OrderInvoiceDetailSimpleInfo {
 		this.brName = brName;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -125,13 +139,14 @@ public class OrderInvoiceDetailSimpleInfo {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(invoiceid, other.getInvoiceid()) && Objects.equals(detno, other.getDetno())
 				&& Objects.equals(cmpCode, other.getCmpCode()) && Objects.equals(kiName, other.getKiName())
-				&& Objects.equals(brName, other.getBrName());
+				&& Objects.equals(brName, other.getBrName()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "OrderInvoiceDetailSimpleInfo [id=" + id + ", invoiceid=" + invoiceid + ", detno=" + detno + ", code="
-				+ code + ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + "]";
+				+ code + ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + ", status=" + status
+				+ "]";
 	}
 
 }

+ 19 - 2
search-console/src/main/java/com/uas/search/console/model/OrderInvoiceSimpleInfo.java

@@ -62,6 +62,14 @@ public class OrderInvoiceSimpleInfo implements Serializable {
 	@Column(name = "in_creattime")
 	private Date createtime;
 
+	/**
+	 * 订单状态(1->2)
+	 * 
+	 * @Tip 必须严格按照顺序流转 1、INBOUND(404, "待收货") 2、RECEIVED(405, "已收货"),
+	 */
+	@Column(name = "in_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -110,6 +118,14 @@ public class OrderInvoiceSimpleInfo implements Serializable {
 		this.buyerEnterprise = buyerEnterprise;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -122,13 +138,14 @@ public class OrderInvoiceSimpleInfo implements Serializable {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(buyeruu, other.getBuyeruu()) && Objects.equals(buyername, other.getBuyername())
 				&& Objects.equals(buyerEnterprise, other.getBuyerEnterprise())
-				&& Objects.equals(createtime, other.getCreatetime());
+				&& Objects.equals(createtime, other.getCreatetime()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "OrderInvoiceSimpleInfo [id=" + id + ", code=" + code + ", buyeruu=" + buyeruu + ", buyername="
-				+ buyername + ", buyerEnterprise=" + buyerEnterprise + ", createtime=" + createtime + "]";
+				+ buyername + ", buyerEnterprise=" + buyerEnterprise + ", createtime=" + createtime + ", status="
+				+ status + "]";
 	}
 
 }

+ 21 - 2
search-console/src/main/java/com/uas/search/console/model/OrderSimpleInfo.java

@@ -71,6 +71,17 @@ public class OrderSimpleInfo implements Serializable {
 	@Column(name = "or_creattime")
 	private Date createtime;
 
+	/**
+	 * 订单状态(1->2->3->4->5->6->7->8->9)
+	 * 
+	 * @Tip 必须严格按照顺序流转 1、TOBECONFIRMED(501, "待确认"), 2、TOBEPAID(503, "待付款"),
+	 *      3、PAID(505, "已付款"), 4、TOBESHIPPED(406, "待出货"), 5、SHIPPINGIN(403,
+	 *      "出货中"), 6、SHIPPED(407, "已出货"), 7、SENDING(408, "发货中"), 8、INBOUND(404,
+	 *      "待收货") 9、RECEIVED(405, "已收货"), 10、UNAVAILABLE(602, "无效的");
+	 */
+	@Column(name = "or_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -127,6 +138,14 @@ public class OrderSimpleInfo implements Serializable {
 		this.createtime = createtime;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -139,14 +158,14 @@ public class OrderSimpleInfo implements Serializable {
 				&& Objects.equals(buyeruu, other.getBuyeruu()) && Objects.equals(buyername, other.getBuyername())
 				&& Objects.equals(buyerEnterprise, other.getBuyerEnterprise())
 				&& Objects.equals(sellerEnterprise, other.getSellerEnterprise())
-				&& Objects.equals(createtime, other.getCreatetime());
+				&& Objects.equals(createtime, other.getCreatetime()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "OrderSimpleInfo [id=" + id + ", code=" + code + ", buyeruu=" + buyeruu + ", buyername=" + buyername
 				+ ", buyerEnterprise=" + buyerEnterprise + ", sellerEnterprise=" + sellerEnterprise + ", createtime="
-				+ createtime + "]";
+				+ createtime + ", status=" + status + "]";
 	}
 
 }

+ 17 - 2
search-console/src/main/java/com/uas/search/console/model/PurchaseDetailSimpleInfo.java

@@ -57,6 +57,12 @@ public class PurchaseDetailSimpleInfo {
 	@Column(name = "br_name")
 	private String brName;
 
+	/**
+	 * 采购单明细状态
+	 */
+	@Column(name = "detail_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -113,6 +119,14 @@ public class PurchaseDetailSimpleInfo {
 		this.brName = brName;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -125,13 +139,14 @@ public class PurchaseDetailSimpleInfo {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(purchaseid, other.getPurchaseid()) && Objects.equals(detno, other.getDetno())
 				&& Objects.equals(cmpCode, other.getCmpCode()) && Objects.equals(kiName, other.getKiName())
-				&& Objects.equals(brName, other.getBrName());
+				&& Objects.equals(brName, other.getBrName()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "PurchaseDetailSimpleInfo [id=" + id + ", purchaseid=" + purchaseid + ", detno=" + detno + ", code="
-				+ code + ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + "]";
+				+ code + ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + ", status=" + status
+				+ "]";
 	}
 
 }

+ 17 - 2
search-console/src/main/java/com/uas/search/console/model/PurchaseInvoiceDetailSimpleInfo.java

@@ -57,6 +57,12 @@ public class PurchaseInvoiceDetailSimpleInfo {
 	@Column(name = "br_name")
 	private String brName;
 
+	/**
+	 * 发货单明细状态
+	 */
+	@Column(name = "detail_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -113,6 +119,14 @@ public class PurchaseInvoiceDetailSimpleInfo {
 		this.brName = brName;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -125,13 +139,14 @@ public class PurchaseInvoiceDetailSimpleInfo {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(invoiceid, other.getInvoiceid()) && Objects.equals(detno, other.getDetno())
 				&& Objects.equals(cmpCode, other.getCmpCode()) && Objects.equals(kiName, other.getKiName())
-				&& Objects.equals(brName, other.getBrName());
+				&& Objects.equals(brName, other.getBrName()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "PurchaseInvoiceDetailSimpleInfo [id=" + id + ", invoiceid=" + invoiceid + ", detno=" + detno + ", code="
-				+ code + ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + "]";
+				+ code + ", cmpCode=" + cmpCode + ", kiName=" + kiName + ", brName=" + brName + ", status=" + status
+				+ "]";
 	}
 
 }

+ 20 - 2
search-console/src/main/java/com/uas/search/console/model/PurchaseInvoiceSimpleInfo.java

@@ -51,6 +51,16 @@ public class PurchaseInvoiceSimpleInfo implements Serializable {
 	@Column(name = "in_creattime")
 	private Date createtime;
 
+	/**
+	 * 单据状态(1->2->3)
+	 * 
+	 * @Tip 必须严格按照顺序流转 1、TOBESHIPPED(406, "待出货"), 2、INBOUND(404, "待收货")
+	 *      3、RECEIVED(405, "已收货"), 4、TORECEIVEMONEY(506, "待收款"),
+	 *      5、MONEYRECEIVED(505, "已收款"),
+	 */
+	@Column(name = "in_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -91,6 +101,14 @@ public class PurchaseInvoiceSimpleInfo implements Serializable {
 		this.createtime = createtime;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -103,13 +121,13 @@ public class PurchaseInvoiceSimpleInfo implements Serializable {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(sellerenuu, other.getSellerenuu())
 				&& Objects.equals(sellerenname, other.getSellerenname())
-				&& Objects.equals(createtime, other.getCreatetime());
+				&& Objects.equals(createtime, other.getCreatetime()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "PurchaseInvoiceSimpleInfo [id=" + id + ", code=" + code + ", sellerenuu=" + sellerenuu
-				+ ", sellerenname=" + sellerenname + ", createtime=" + createtime + "]";
+				+ ", sellerenname=" + sellerenname + ", createtime=" + createtime + ", status=" + status + "]";
 	}
 
 }

+ 19 - 2
search-console/src/main/java/com/uas/search/console/model/PurchaseSimpleInfo.java

@@ -50,6 +50,15 @@ public class PurchaseSimpleInfo implements Serializable {
 	@Column(name = "pu_createtime")
 	private Date createtime;
 
+	/**
+	 * 订单状态(1->2->3)
+	 * 
+	 * @Tip 必须严格按照顺序流转 1、TOBESHIPPED(406, "待出货"), 2、INBOUND(404, "待收货"),
+	 *      3、RECEIVED(405, "已收货"), 4、TOBEPAID(503, "待付款"), 5、PAID(504, "已付款"),
+	 */
+	@Column(name = "pu_status")
+	private Integer status;
+
 	public Long getId() {
 		return id;
 	}
@@ -90,6 +99,14 @@ public class PurchaseSimpleInfo implements Serializable {
 		this.createtime = createtime;
 	}
 
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
 	public boolean equals(Object otherObject) {
 		if (this == otherObject) {
 			return true;
@@ -102,13 +119,13 @@ public class PurchaseSimpleInfo implements Serializable {
 		return Objects.equals(id, other.getId()) && Objects.equals(code, other.getCode())
 				&& Objects.equals(sellerenuu, other.getSellerenuu())
 				&& Objects.equals(sellerenname, other.getSellerenname())
-				&& Objects.equals(createtime, other.getCreatetime());
+				&& Objects.equals(createtime, other.getCreatetime()) && Objects.equals(status, other.getStatus());
 	}
 
 	@Override
 	public String toString() {
 		return "PurchaseSimpleInfo [id=" + id + ", code=" + code + ", sellerenuu=" + sellerenuu + ", sellerenname="
-				+ sellerenname + ", createtime=" + createtime + "]";
+				+ sellerenname + ", createtime=" + createtime + ", status=" + status + "]";
 	}
 
 }

+ 17 - 0
search-console/src/main/java/com/uas/search/console/service/impl/OrderSearchServiceImpl.java

@@ -154,6 +154,13 @@ public class OrderSearchServiceImpl implements OrderSearchService, InnerOrderSea
 
 			Map<String, Object> filters = params.getFilters();
 			if (!CollectionUtils.isEmpty(filters)) {
+				// 如果filter中有订单状态
+				if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.STATUS_KEY))) {
+					booleanQuery.add(
+							new TermQuery(new Term(OrderSearchUtils.getStatusField(tableName),
+									filters.get(OrderSearchConstants.STATUS_KEY).toString())),
+							BooleanClause.Occur.MUST);
+				}
 				// 如果filter中有买方个人uu
 				if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.BUYER_UU_KEY))) {
 					booleanQuery.add(
@@ -303,6 +310,16 @@ public class OrderSearchServiceImpl implements OrderSearchService, InnerOrderSea
 			} else {
 				sPage.setSize(PAGE_SIZE);
 			}
+			Map<String, Object> filters = params.getFilters();
+			if (!CollectionUtils.isEmpty(filters)) {
+				// 如果filter中有订单状态
+				if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.STATUS_KEY))) {
+					booleanQuery.add(
+							new TermQuery(new Term(OrderSearchUtils.getStatusField(tableName),
+									filters.get(OrderSearchConstants.STATUS_KEY).toString())),
+							BooleanClause.Occur.MUST);
+				}
+			}
 		}
 		logger.info(booleanQuery);
 

+ 49 - 41
search-console/src/main/java/com/uas/search/console/util/DocumentToObjectUtils.java

@@ -105,6 +105,7 @@ public class DocumentToObjectUtils {
 		order.setSellerEnterprise(sellerEnterprise);
 		Date createtime = new Date(Long.valueOf(document.get(SearchConstants.ORDER_CREATETIME_FIELD)));
 		order.setCreatetime(createtime);
+		order.setStatus(Integer.valueOf(document.get(SearchConstants.ORDER_STATUS_FIELD)));
 		return order;
 	}
 
@@ -126,6 +127,7 @@ public class DocumentToObjectUtils {
 		orderDetail.setCmpCode(document.get(SearchConstants.ORDER_DETAIL_COMPONENTCODE_FIELD));
 		orderDetail.setKiName(document.get(SearchConstants.ORDER_DETAIL_KINDNAME_FIELD));
 		orderDetail.setBrName(document.get(SearchConstants.ORDER_DETAIL_BRANDNAME_FIELD));
+		orderDetail.setStatus(Integer.valueOf(document.get(SearchConstants.ORDER_DETAIL_STATUS_FIELD)));
 		return orderDetail;
 	}
 
@@ -150,6 +152,7 @@ public class DocumentToObjectUtils {
 		orderInvoice.setBuyerEnterprise(buyerEnterprise);
 		Date createtime = new Date(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_CREATETIME_FIELD)));
 		orderInvoice.setCreatetime(createtime);
+		orderInvoice.setStatus(Integer.valueOf(document.get(SearchConstants.ORDER_INVOICE_STATUS_FIELD)));
 		return orderInvoice;
 	}
 
@@ -163,15 +166,16 @@ public class DocumentToObjectUtils {
 		if (document == null) {
 			return null;
 		}
-		OrderInvoiceDetailSimpleInfo orderDetail = new OrderInvoiceDetailSimpleInfo();
-		orderDetail.setId(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_ID_FIELD)));
-		orderDetail.setCode(document.get(SearchConstants.ORDER_INVOICE_DETAIL_CODE_FIELD));
-		orderDetail.setInvoiceid(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_INVOICEID_FIELD)));
-		orderDetail.setDetno(Short.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_DETNO_FIELD)));
-		orderDetail.setCmpCode(document.get(SearchConstants.ORDER_INVOICE_DETAIL_COMPONENTCODE_FIELD));
-		orderDetail.setKiName(document.get(SearchConstants.ORDER_INVOICE_DETAIL_KINDNAME_FIELD));
-		orderDetail.setBrName(document.get(SearchConstants.ORDER_INVOICE_DETAIL_BRANDNAME_FIELD));
-		return orderDetail;
+		OrderInvoiceDetailSimpleInfo orderInvoiceDetail = new OrderInvoiceDetailSimpleInfo();
+		orderInvoiceDetail.setId(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_ID_FIELD)));
+		orderInvoiceDetail.setCode(document.get(SearchConstants.ORDER_INVOICE_DETAIL_CODE_FIELD));
+		orderInvoiceDetail.setInvoiceid(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_INVOICEID_FIELD)));
+		orderInvoiceDetail.setDetno(Short.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_DETNO_FIELD)));
+		orderInvoiceDetail.setCmpCode(document.get(SearchConstants.ORDER_INVOICE_DETAIL_COMPONENTCODE_FIELD));
+		orderInvoiceDetail.setKiName(document.get(SearchConstants.ORDER_INVOICE_DETAIL_KINDNAME_FIELD));
+		orderInvoiceDetail.setBrName(document.get(SearchConstants.ORDER_INVOICE_DETAIL_BRANDNAME_FIELD));
+		orderInvoiceDetail.setStatus(Integer.valueOf(document.get(SearchConstants.ORDER_INVOICE_DETAIL_STATUS_FIELD)));
+		return orderInvoiceDetail;
 	}
 
 	/**
@@ -184,14 +188,15 @@ public class DocumentToObjectUtils {
 		if (document == null) {
 			return null;
 		}
-		PurchaseSimpleInfo order = new PurchaseSimpleInfo();
-		order.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_ID_FIELD)));
-		order.setCode(document.get(SearchConstants.PURCHASE_CODE_FIELD));
-		order.setSellerenuu(Long.valueOf(document.get(SearchConstants.PURCHASE_SELLERENUU_FIELD)));
-		order.setSellerenname(document.get(SearchConstants.PURCHASE_SELLERENNAME_FIELD));
+		PurchaseSimpleInfo purchase = new PurchaseSimpleInfo();
+		purchase.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_ID_FIELD)));
+		purchase.setCode(document.get(SearchConstants.PURCHASE_CODE_FIELD));
+		purchase.setSellerenuu(Long.valueOf(document.get(SearchConstants.PURCHASE_SELLERENUU_FIELD)));
+		purchase.setSellerenname(document.get(SearchConstants.PURCHASE_SELLERENNAME_FIELD));
 		Date createtime = new Date(Long.valueOf(document.get(SearchConstants.PURCHASE_CREATETIME_FIELD)));
-		order.setCreatetime(createtime);
-		return order;
+		purchase.setCreatetime(createtime);
+		purchase.setStatus(Integer.valueOf(document.get(SearchConstants.PURCHASE_STATUS_FIELD)));
+		return purchase;
 	}
 
 	/**
@@ -204,15 +209,16 @@ public class DocumentToObjectUtils {
 		if (document == null) {
 			return null;
 		}
-		PurchaseDetailSimpleInfo orderDetail = new PurchaseDetailSimpleInfo();
-		orderDetail.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_ID_FIELD)));
-		orderDetail.setCode(document.get(SearchConstants.PURCHASE_DETAIL_CODE_FIELD));
-		orderDetail.setPurchaseid(Long.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_PURCHASEID_FIELD)));
-		orderDetail.setDetno(Short.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_DETNO_FIELD)));
-		orderDetail.setCmpCode(document.get(SearchConstants.PURCHASE_DETAIL_COMPONENTCODE_FIELD));
-		orderDetail.setKiName(document.get(SearchConstants.PURCHASE_DETAIL_KINDNAME_FIELD));
-		orderDetail.setBrName(document.get(SearchConstants.PURCHASE_DETAIL_BRANDNAME_FIELD));
-		return orderDetail;
+		PurchaseDetailSimpleInfo purchaseDetail = new PurchaseDetailSimpleInfo();
+		purchaseDetail.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_ID_FIELD)));
+		purchaseDetail.setCode(document.get(SearchConstants.PURCHASE_DETAIL_CODE_FIELD));
+		purchaseDetail.setPurchaseid(Long.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_PURCHASEID_FIELD)));
+		purchaseDetail.setDetno(Short.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_DETNO_FIELD)));
+		purchaseDetail.setCmpCode(document.get(SearchConstants.PURCHASE_DETAIL_COMPONENTCODE_FIELD));
+		purchaseDetail.setKiName(document.get(SearchConstants.PURCHASE_DETAIL_KINDNAME_FIELD));
+		purchaseDetail.setBrName(document.get(SearchConstants.PURCHASE_DETAIL_BRANDNAME_FIELD));
+		purchaseDetail.setStatus(Integer.valueOf(document.get(SearchConstants.PURCHASE_DETAIL_STATUS_FIELD)));
+		return purchaseDetail;
 	}
 
 	/**
@@ -225,14 +231,15 @@ public class DocumentToObjectUtils {
 		if (document == null) {
 			return null;
 		}
-		PurchaseInvoiceSimpleInfo orderInvoice = new PurchaseInvoiceSimpleInfo();
-		orderInvoice.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_ID_FIELD)));
-		orderInvoice.setCode(document.get(SearchConstants.PURCHASE_INVOICE_CODE_FIELD));
-		orderInvoice.setSellerenuu(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_SELLERENUU_FIELD)));
-		orderInvoice.setSellerenname(document.get(SearchConstants.PURCHASE_INVOICE_SELLERENNAME_FIELD));
+		PurchaseInvoiceSimpleInfo purchaseInvoice = new PurchaseInvoiceSimpleInfo();
+		purchaseInvoice.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_ID_FIELD)));
+		purchaseInvoice.setCode(document.get(SearchConstants.PURCHASE_INVOICE_CODE_FIELD));
+		purchaseInvoice.setSellerenuu(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_SELLERENUU_FIELD)));
+		purchaseInvoice.setSellerenname(document.get(SearchConstants.PURCHASE_INVOICE_SELLERENNAME_FIELD));
 		Date createtime = new Date(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_CREATETIME_FIELD)));
-		orderInvoice.setCreatetime(createtime);
-		return orderInvoice;
+		purchaseInvoice.setCreatetime(createtime);
+		purchaseInvoice.setStatus(Integer.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_STATUS_FIELD)));
+		return purchaseInvoice;
 	}
 
 	/**
@@ -245,15 +252,16 @@ public class DocumentToObjectUtils {
 		if (document == null) {
 			return null;
 		}
-		PurchaseInvoiceDetailSimpleInfo orderDetail = new PurchaseInvoiceDetailSimpleInfo();
-		orderDetail.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_ID_FIELD)));
-		orderDetail.setCode(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_CODE_FIELD));
-		orderDetail.setInvoiceid(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_INVOICEID_FIELD)));
-		orderDetail.setDetno(Short.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_DETNO_FIELD)));
-		orderDetail.setCmpCode(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_COMPONENTCODE_FIELD));
-		orderDetail.setKiName(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_KINDNAME_FIELD));
-		orderDetail.setBrName(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_BRANDNAME_FIELD));
-		return orderDetail;
+		PurchaseInvoiceDetailSimpleInfo purchaseInvoiceDetail = new PurchaseInvoiceDetailSimpleInfo();
+		purchaseInvoiceDetail.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_ID_FIELD)));
+		purchaseInvoiceDetail.setCode(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_CODE_FIELD));
+		purchaseInvoiceDetail.setInvoiceid(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_INVOICEID_FIELD)));
+		purchaseInvoiceDetail.setDetno(Short.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_DETNO_FIELD)));
+		purchaseInvoiceDetail.setCmpCode(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_COMPONENTCODE_FIELD));
+		purchaseInvoiceDetail.setKiName(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_KINDNAME_FIELD));
+		purchaseInvoiceDetail.setBrName(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_BRANDNAME_FIELD));
+		purchaseInvoiceDetail.setStatus(Integer.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_DETAIL_STATUS_FIELD)));
+		return purchaseInvoiceDetail;
 	}
 
 }

+ 29 - 0
search-console/src/main/java/com/uas/search/console/util/OrderSearchUtils.java

@@ -190,6 +190,35 @@ public class OrderSearchUtils {
 		}
 	}
 
+	/**
+	 * 获取每个表在索引中的status域
+	 * 
+	 * @param tableName
+	 *            表名
+	 * @return status域
+	 */
+	public static String getStatusField(String tableName) {
+		if (tableName.equals(SearchConstants.ORDER_TABLE_NAME)) {
+			return SearchConstants.ORDER_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.ORDER_DETAIL_TABLE_NAME)) {
+			return SearchConstants.ORDER_DETAIL_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.ORDER_INVOICE_TABLE_NAME)) {
+			return SearchConstants.ORDER_INVOICE_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.ORDER_INVOICE_DETAIL_TABLE_NAME)) {
+			return SearchConstants.ORDER_INVOICE_DETAIL_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.PURCHASE_TABLE_NAME)) {
+			return SearchConstants.PURCHASE_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.PURCHASE_DETAIL_TABLE_NAME)) {
+			return SearchConstants.PURCHASE_DETAIL_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.PURCHASE_INVOICE_TABLE_NAME)) {
+			return SearchConstants.PURCHASE_INVOICE_STATUS_FIELD;
+		} else if (tableName.equals(SearchConstants.PURCHASE_INVOICE_DETAIL_TABLE_NAME)) {
+			return SearchConstants.PURCHASE_INVOICE_DETAIL_STATUS_FIELD;
+		} else {
+			throw new SearchException("表不存在:" + tableName);
+		}
+	}
+
 	/**
 	 * 获取主表在索引中的buyeruu域
 	 * 

+ 8 - 0
search-console/src/main/java/com/uas/search/console/util/SearchConstants.java

@@ -161,6 +161,7 @@ public class SearchConstants {
 	public static final String ORDER_SELLERENUU_FIELD = "or_sellerenuu";
 	public static final String ORDER_SELLERENNAME_FIELD = "or_sellerenname";
 	public static final String ORDER_CREATETIME_FIELD = "or_createtime";
+	public static final String ORDER_STATUS_FIELD = "or_status";
 
 	// 商城销售订单明细索引字段的key
 	/**
@@ -179,6 +180,7 @@ public class SearchConstants {
 	public static final String ORDER_DETAIL_COMPONENTCODE_FIELD = "od_cmpcode";
 	public static final String ORDER_DETAIL_KINDNAME_FIELD = "od_kiname";
 	public static final String ORDER_DETAIL_BRANDNAME_FIELD = "od_brname";
+	public static final String ORDER_DETAIL_STATUS_FIELD = "od_status";
 
 	// 商城销售订单的发货单索引字段的key
 	/**
@@ -194,6 +196,7 @@ public class SearchConstants {
 	public static final String ORDER_INVOICE_BUYERENUU_FIELD = "oi_buyerenuu";
 	public static final String ORDER_INVOICE_BUYERENNAME_FIELD = "oi_buyerenname";
 	public static final String ORDER_INVOICE_CREATETIME_FIELD = "oi_createtime";
+	public static final String ORDER_INVOICE_STATUS_FIELD = "oi_status";
 
 	// 商城销售订单的发货单明细索引字段的key
 	/**
@@ -212,6 +215,7 @@ public class SearchConstants {
 	public static final String ORDER_INVOICE_DETAIL_COMPONENTCODE_FIELD = "oid_cmpcode";
 	public static final String ORDER_INVOICE_DETAIL_KINDNAME_FIELD = "oid_kiname";
 	public static final String ORDER_INVOICE_DETAIL_BRANDNAME_FIELD = "oid_brname";
+	public static final String ORDER_INVOICE_DETAIL_STATUS_FIELD = "oid_status";
 
 	// 商城采购订单索引字段的key
 	/**
@@ -225,6 +229,7 @@ public class SearchConstants {
 	public static final String PURCHASE_SELLERENUU_FIELD = "pu_sellerenuu";
 	public static final String PURCHASE_SELLERENNAME_FIELD = "pu_sellerenname";
 	public static final String PURCHASE_CREATETIME_FIELD = "pu_createtime";
+	public static final String PURCHASE_STATUS_FIELD = "pu_status";
 
 	// 商城采购订单明细索引字段的key
 	/**
@@ -243,6 +248,7 @@ public class SearchConstants {
 	public static final String PURCHASE_DETAIL_COMPONENTCODE_FIELD = "pd_cmpcode";
 	public static final String PURCHASE_DETAIL_KINDNAME_FIELD = "pd_kiname";
 	public static final String PURCHASE_DETAIL_BRANDNAME_FIELD = "pd_brname";
+	public static final String PURCHASE_DETAIL_STATUS_FIELD = "pd_status";
 
 	// 商城采购订单的发货单索引字段的key
 	/**
@@ -256,6 +262,7 @@ public class SearchConstants {
 	public static final String PURCHASE_INVOICE_SELLERENUU_FIELD = "pi_sellerenuu";
 	public static final String PURCHASE_INVOICE_SELLERENNAME_FIELD = "pi_sellerenname";
 	public static final String PURCHASE_INVOICE_CREATETIME_FIELD = "pi_createtime";
+	public static final String PURCHASE_INVOICE_STATUS_FIELD = "pi_status";
 
 	// 商城采购订单的发货单明细索引字段的key
 	/**
@@ -274,5 +281,6 @@ public class SearchConstants {
 	public static final String PURCHASE_INVOICE_DETAIL_COMPONENTCODE_FIELD = "pid_cmpcode";
 	public static final String PURCHASE_INVOICE_DETAIL_KINDNAME_FIELD = "pid_kiname";
 	public static final String PURCHASE_INVOICE_DETAIL_BRANDNAME_FIELD = "pid_brname";
+	public static final String PURCHASE_INVOICE_DETAIL_STATUS_FIELD = "pid_status";
 
 }