Browse Source

出入库单上传保存后增加以订单号的搜索索引

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@4380 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
shenj 10 years ago
parent
commit
d5096520e4

+ 10 - 9
src/main/java/com/uas/platform/b2b/event/PurchaseAcceptSaveEvent.java

@@ -42,20 +42,22 @@ public class PurchaseAcceptSaveEvent extends SaveEvent<PurchaseAcceptIndex, Purc
 			indexes.addAll(PurchaseAcceptIndex.format(
 					enUU,
 					key,
-					SearchKeyUtils.splitToKeys(saved.getAcceptItems().toArray(new PurchaseAcceptItem[1])[0]
-							.getOrderItem().getOrder().getEnterprise().getEnName(), false)));
-			indexes.add(new PurchaseAcceptIndex(enUU, key, saved.getAcceptItems().toArray(new PurchaseAcceptItem[1])[0]
-					.getOrderItem().getOrder().getEnterprise().getUu().toString()));
+					SearchKeyUtils.splitToKeys(saved.getAcceptItems().toArray(new PurchaseAcceptItem[1])[0].getOrderItem().getOrder()
+							.getEnterprise().getEnName(), false)));
+			indexes.add(new PurchaseAcceptIndex(enUU, key, saved.getAcceptItems().toArray(new PurchaseAcceptItem[1])[0].getOrderItem()
+					.getOrder().getEnterprise().getUu().toString()));
 		}
 		// 物料(匹配完整的物料编号、两个字以上的物料名称及规格关键字)
 		// 送货工厂 全称匹配
 		for (PurchaseAcceptItem item : saved.getAcceptItems()) {
 			indexes.add(new PurchaseAcceptIndex(enUU, key, item.getOrderItem().getProduct().getCode()));
+			// 建立订单索引
+			indexes.add(new PurchaseAcceptIndex(enUU, key, item.getOrderItem().getOrder().getCode()));
 			indexes.addAll(PurchaseAcceptIndex.format(enUU, key,
 					SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
 			indexes.addAll(PurchaseAcceptIndex.format(enUU, key,
 					SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getSpec(), false)));
-			if(item.getOrderItem().getFactory() != null) {
+			if (item.getOrderItem().getFactory() != null) {
 				indexes.add(new PurchaseAcceptIndex(enUU, key, item.getOrderItem().getFactory()));
 			}
 		}
@@ -69,11 +71,10 @@ public class PurchaseAcceptSaveEvent extends SaveEvent<PurchaseAcceptIndex, Purc
 		for (PurchaseAccept accept : savedList) {
 			for (PurchaseAcceptItem acceptItem : accept.getAcceptItems()) {
 				// 不是每一个明细都发送,每个物料发一个
-				
+
 				if (!productId.contains(acceptItem.getOrderItem().getProduct().getId())) {
-					XingePusher.pushByUserUU(acceptItem.getOrderItem().getOrder().getVendUserUU(), 
-							"物料已被客户验收入库", "物料:" + acceptItem.getOrderItem().getProduct().getTitle(), "", 
-							"");
+					XingePusher.pushByUserUU(acceptItem.getOrderItem().getOrder().getVendUserUU(), "物料已被客户验收入库", "物料:"
+							+ acceptItem.getOrderItem().getProduct().getTitle(), "", "");
 					productId.add(acceptItem.getOrderItem().getProduct().getId());
 				}
 			}

+ 7 - 7
src/main/java/com/uas/platform/b2b/event/PurchaseBadInSaveEvent.java

@@ -20,7 +20,7 @@ import com.uas.platform.b2b.support.XingePusher;
  * 
  */
 public class PurchaseBadInSaveEvent extends SaveEvent<PurchaseBadInIndex, PurchaseBadIn> {
-	
+
 	/**
 	 * 
 	 */
@@ -42,13 +42,14 @@ public class PurchaseBadInSaveEvent extends SaveEvent<PurchaseBadInIndex, Purcha
 			indexes.addAll(PurchaseBadInIndex.format(
 					enUU,
 					key,
-					SearchKeyUtils.splitToKeys(saved.getBadInItems().toArray(new PurchaseBadInItem[1])[0]
-							.getOrderItem().getOrder().getEnterprise().getEnName(), false)));
-			indexes.add(new PurchaseBadInIndex(enUU, key, saved.getBadInItems().toArray(new PurchaseBadInItem[1])[0]
-					.getOrderItem().getOrder().getEnterprise().getUu().toString()));
+					SearchKeyUtils.splitToKeys(saved.getBadInItems().toArray(new PurchaseBadInItem[1])[0].getOrderItem().getOrder()
+							.getEnterprise().getEnName(), false)));
+			indexes.add(new PurchaseBadInIndex(enUU, key, saved.getBadInItems().toArray(new PurchaseBadInItem[1])[0].getOrderItem()
+					.getOrder().getEnterprise().getUu().toString()));
 		}
 		// 物料(匹配完整的物料编号、两个字以上的物料名称及规格关键字)
 		for (PurchaseBadInItem item : saved.getBadInItems()) {
+			indexes.add(new PurchaseBadInIndex(enUU, key, item.getOrderItem().getOrder().getCode()));
 			indexes.add(new PurchaseBadInIndex(enUU, key, item.getOrderItem().getProduct().getCode()));
 			indexes.addAll(PurchaseBadInIndex.format(enUU, key,
 					SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
@@ -67,8 +68,7 @@ public class PurchaseBadInSaveEvent extends SaveEvent<PurchaseBadInIndex, Purcha
 				// 不是每一个明细都发送,每个物料发一个
 				if (!productId.contains(badInItem.getOrderItem().getProduct().getId())) {
 					XingePusher.pushByUserUU(badInItem.getOrderItem().getOrder().getVendUserUU(), "物料已被客户不良品入库", "物料:"
-							+ badInItem.getOrderItem().getProduct().getTitle(), "", 
-							"");
+							+ badInItem.getOrderItem().getProduct().getTitle(), "", "");
 					productId.add(badInItem.getOrderItem().getProduct().getId());
 				}
 			}

+ 6 - 6
src/main/java/com/uas/platform/b2b/event/PurchaseBadOutSaveEvent.java

@@ -42,13 +42,14 @@ public class PurchaseBadOutSaveEvent extends SaveEvent<PurchaseBadOutIndex, Purc
 			indexes.addAll(PurchaseBadOutIndex.format(
 					enUU,
 					key,
-					SearchKeyUtils.splitToKeys(saved.getBadOutItems().toArray(new PurchaseBadOutItem[1])[0]
-							.getOrderItem().getOrder().getEnterprise().getEnName(), false)));
-			indexes.add(new PurchaseBadOutIndex(enUU, key, saved.getBadOutItems().toArray(new PurchaseBadOutItem[1])[0]
-					.getOrderItem().getOrder().getEnterprise().getUu().toString()));
+					SearchKeyUtils.splitToKeys(saved.getBadOutItems().toArray(new PurchaseBadOutItem[1])[0].getOrderItem().getOrder()
+							.getEnterprise().getEnName(), false)));
+			indexes.add(new PurchaseBadOutIndex(enUU, key, saved.getBadOutItems().toArray(new PurchaseBadOutItem[1])[0].getOrderItem()
+					.getOrder().getEnterprise().getUu().toString()));
 		}
 		// 物料(匹配完整的物料编号、两个字以上的物料名称及规格关键字)
 		for (PurchaseBadOutItem item : saved.getBadOutItems()) {
+			indexes.add(new PurchaseBadOutIndex(enUU, key, item.getOrderItem().getOrder().getCode()));
 			indexes.add(new PurchaseBadOutIndex(enUU, key, item.getOrderItem().getProduct().getCode()));
 			indexes.addAll(PurchaseBadOutIndex.format(enUU, key,
 					SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
@@ -67,8 +68,7 @@ public class PurchaseBadOutSaveEvent extends SaveEvent<PurchaseBadOutIndex, Purc
 				// 不是每一个明细都发送,每个物料发一个
 				if (!productId.contains(badOutItem.getOrderItem().getProduct().getId())) {
 					XingePusher.pushByUserUU(badOutItem.getOrderItem().getOrder().getVendUserUU(), "物料已被客户不良品出库", "物料:"
-							+ badOutItem.getOrderItem().getProduct().getTitle(), "", 
-							"");
+							+ badOutItem.getOrderItem().getProduct().getTitle(), "", "");
 					productId.add(badOutItem.getOrderItem().getProduct().getId());
 				}
 			}

+ 16 - 33
src/main/java/com/uas/platform/b2b/event/PurchaseReturnSaveEvent.java

@@ -19,8 +19,7 @@ import com.uas.platform.b2b.support.XingePusher;
  * @author yingp
  * 
  */
-public class PurchaseReturnSaveEvent extends
-		SaveEvent<PurchaseReturnIndex, PurchaseReturn> {
+public class PurchaseReturnSaveEvent extends SaveEvent<PurchaseReturnIndex, PurchaseReturn> {
 
 	/**
 	 * 
@@ -40,36 +39,25 @@ public class PurchaseReturnSaveEvent extends
 		indexes.add(new PurchaseReturnIndex(enUU, key, saved.getCode()));
 		// 客户名称(匹配两个字以上的客户名称关键字)、客户UU号
 		if (CollectionUtils.isEmpty(saved.getReturnItems())) {
-			PurchaseReturnItem item = saved.getReturnItems().toArray(
-					new PurchaseReturnItem[1])[0];
+			PurchaseReturnItem item = saved.getReturnItems().toArray(new PurchaseReturnItem[1])[0];
 			if (item.getOrderItem() != null) {
-				indexes.addAll(PurchaseReturnIndex
-						.format(enUU, key, SearchKeyUtils.splitToKeys(item
-								.getOrderItem().getOrder().getEnterprise()
-								.getEnName(), false)));
-				indexes.add(new PurchaseReturnIndex(enUU, key, item
-						.getOrderItem().getOrder().getEnterprise().getUu()
-						.toString()));
+				indexes.addAll(PurchaseReturnIndex.format(enUU, key,
+						SearchKeyUtils.splitToKeys(item.getOrderItem().getOrder().getEnterprise().getEnName(), false)));
+				indexes.add(new PurchaseReturnIndex(enUU, key, item.getOrderItem().getOrder().getEnterprise().getUu().toString()));
 			}
 		}
 		// 物料(匹配完整的物料编号、两个字以上的物料名称及规格关键字)
 		for (PurchaseReturnItem item : saved.getReturnItems()) {
 			if (item.getOrderItem() != null) {
-				if(item.getOrderItem().getFactory() != null) {
+				if (item.getOrderItem().getFactory() != null) {
 					indexes.add(new PurchaseReturnIndex(enUU, key, item.getOrderItem().getFactory()));
 				}
-				indexes.add(new PurchaseReturnIndex(enUU, key, item
-						.getOrderItem().getProduct().getCode()));
-				indexes.addAll(PurchaseReturnIndex.format(
-						enUU,
-						key,
-						SearchKeyUtils.splitToKeys(item.getOrderItem()
-								.getProduct().getTitle(), false)));
-				indexes.addAll(PurchaseReturnIndex.format(
-						enUU,
-						key,
-						SearchKeyUtils.splitToKeys(item.getOrderItem()
-								.getProduct().getSpec(), false)));
+				indexes.add(new PurchaseReturnIndex(enUU, key, item.getOrderItem().getProduct().getCode()));
+				indexes.add(new PurchaseReturnIndex(enUU, key, item.getOrderItem().getOrder().getCode()));
+				indexes.addAll(PurchaseReturnIndex.format(enUU, key,
+						SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
+				indexes.addAll(PurchaseReturnIndex.format(enUU, key,
+						SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getSpec(), false)));
 			}
 		}
 		return indexes;
@@ -82,15 +70,10 @@ public class PurchaseReturnSaveEvent extends
 		for (PurchaseReturn re : savedList) {
 			for (PurchaseReturnItem returnItem : re.getReturnItems()) {
 				// 不是每一个明细都发送,每个物料发一个
-				if (!productId.contains(returnItem.getOrderItem().getProduct()
-						.getId())) {
-					XingePusher.pushByUserUU(returnItem.getOrderItem()
-							.getOrder().getVendUserUU(), "物料已被客户采购验退",
-							"物料:"
-									+ returnItem.getOrderItem().getProduct()
-											.getTitle(), "", "");
-					productId.add(returnItem.getOrderItem().getProduct()
-							.getId());
+				if (!productId.contains(returnItem.getOrderItem().getProduct().getId())) {
+					XingePusher.pushByUserUU(returnItem.getOrderItem().getOrder().getVendUserUU(), "物料已被客户采购验退", "物料:"
+							+ returnItem.getOrderItem().getProduct().getTitle(), "", "");
+					productId.add(returnItem.getOrderItem().getProduct().getId());
 				}
 			}
 		}

+ 11 - 12
src/main/java/com/uas/platform/b2b/event/SaleSendSaveEvent.java

@@ -33,6 +33,7 @@ public class SaleSendSaveEvent extends SaveEvent<SaleSendIndex, SaleSend> {
 	public List<SaleSendIndex> split(SaleSend saved) {
 		long key = saved.getId();
 		long enUU = saved.getEnUU();
+
 		List<SaleSendIndex> indexes = new ArrayList<SaleSendIndex>();
 		// 发货单号(匹配完整的编号)
 		indexes.add(new SaleSendIndex(enUU, key, saved.getCode()));
@@ -41,20 +42,20 @@ public class SaleSendSaveEvent extends SaveEvent<SaleSendIndex, SaleSend> {
 			indexes.addAll(SaleSendIndex.format(
 					enUU,
 					key,
-					SearchKeyUtils.splitToKeys(saved.getSendItems().toArray(new SaleSendItem[1])[0]
-							.getOrderItem().getOrder().getEnterprise().getEnName(), false)));
+					SearchKeyUtils.splitToKeys(saved.getSendItems().toArray(new SaleSendItem[1])[0].getOrderItem().getOrder()
+							.getEnterprise().getEnName(), false)));
 			indexes.add(new SaleSendIndex(enUU, key, saved.getCustUU().toString()));
 		}
 		// 物料(匹配完整的物料编号、两个字以上的物料名称及规格关键字)
 		for (SaleSendItem item : saved.getSendItems()) {
-			if(item.getOrderItem().getFactory() != null) {
+			if (item.getOrderItem().getFactory() != null) {
 				indexes.add(new SaleSendIndex(enUU, key, item.getOrderItem().getFactory()));
 			}
 			indexes.add(new SaleSendIndex(enUU, key, item.getOrderItem().getProduct().getCode()));
-			indexes.addAll(SaleSendIndex.format(enUU, key,
-					SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
-			indexes.addAll(SaleSendIndex.format(enUU, key,
-					SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getSpec(), false)));
+			// 匹配完整的采购订单编号
+			indexes.add(new SaleSendIndex(enUU, key, item.getOrderItem().getOrder().getCode()));
+			indexes.addAll(SaleSendIndex.format(enUU, key, SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getTitle(), false)));
+			indexes.addAll(SaleSendIndex.format(enUU, key, SearchKeyUtils.splitToKeys(item.getOrderItem().getProduct().getSpec(), false)));
 		}
 		return indexes;
 	}
@@ -62,12 +63,10 @@ public class SaleSendSaveEvent extends SaveEvent<SaleSendIndex, SaleSend> {
 	@Override
 	public void pusher(List<SaleSend> savedList) {
 		// 发送推送消息
-		for(SaleSend saleSend : savedList) {
+		for (SaleSend saleSend : savedList) {
 			if (saleSend.getCustUserUU() != null) {
-				XingePusher.pushByUserUU(saleSend.getCustUserUU(), "供应商发货了", "供应商:"
-						+ SystemSession.getUser().getEnterprise().getEnName(), 
-						"", 
-						"");
+				XingePusher.pushByUserUU(saleSend.getCustUserUU(), "供应商发货了", "供应商:" + SystemSession.getUser().getEnterprise().getEnName(),
+						"", "");
 			}
 		}
 	}