Browse Source

将不存在对应订单明细的出入库单明细删掉

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

+ 17 - 4
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.erp.service.impl;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,7 +76,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(accept.getVendUU());
 			//采购验收单不存在,供应商UU号存在对应供应商
 			if(accepts2.size() == 0 && vendor != null) {
-				for(PurchaseAcceptItem item : accept.getAcceptItems()) {//设置明细对应的采购单明细
+				for(Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {//设置明细对应的采购单明细
+					PurchaseAcceptItem item = it.next();
 					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, 
 							item.getOrderItem().getOrder().getCode(), item.getOrderItem().getNumber());
 					if(purchaseOrderItems.size() > 0) {//对应的采购单存在
@@ -83,6 +85,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 						item.setOrderItemId(purchaseOrderItems.get(0).getId());
 						item.setAccept(accept);//设置主记录
 						acceptItems.add(item);
+					} else {
+						it.remove();
 					}
 				}
 			}
@@ -101,7 +105,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(returnn.getVendUU());
 			//采购验收单不存在,供应商UU号存在对应供应商
 			if(returns2.size() == 0 && vendor != null) {
-				for(PurchaseReturnItem returnItem : returnn.getReturnItems()) {//设置明细对应的采购单明细
+				for(Iterator<PurchaseReturnItem> it = returnn.getReturnItems().iterator(); it.hasNext();) {//设置明细对应的采购单明细
+					PurchaseReturnItem returnItem = it.next();
 					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, 
 							returnItem.getOrderItem().getOrder().getCode(), returnItem.getOrderItem().getNumber());
 					if(purchaseOrderItems.size() > 0) {//对应的采购单存在
@@ -109,6 +114,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 						returnItem.setOrderItemId(purchaseOrderItems.get(0).getId());
 						returnItem.setPurchaseReturn(returnn);//设置主记录
 						returnItems.add(returnItem);
+					} else {
+						it.remove();
 					}
 				}
 			}
@@ -127,7 +134,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badIn.getVendUU());
 			//采购验收单不存在,供应商UU号存在对应供应商
 			if(badIns.size() == 0 && vendor != null) {
-				for(PurchaseBadInItem badInItem : badIn.getBadInItems()) {//设置明细对应的采购单明细
+				for(Iterator<PurchaseBadInItem> it = badIn.getBadInItems().iterator(); it.hasNext();) {//设置明细对应的采购单明细
+					PurchaseBadInItem badInItem = it.next();
 					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, 
 							badInItem.getOrderItem().getOrder().getCode(), badInItem.getOrderItem().getNumber());
 					if(purchaseOrderItems.size() > 0) {//对应的采购单存在
@@ -135,6 +143,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 						badInItem.setOrderItemId(purchaseOrderItems.get(0).getId());
 						badInItem.setBadIn(badIn);//设置主记录
 						badInItems.add(badInItem);
+					} else {
+						it.remove();
 					}
 				}
 			}
@@ -153,7 +163,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badOut.getVendUU());
 			//不良品出库单不存在,供应商UU号存在对应供应商
 			if(badOuts.size() == 0 && vendor != null) {
-				for(PurchaseBadOutItem badOutItem : badOut.getBadOutItems()) {//设置明细对应的采购单明细
+				for(Iterator<PurchaseBadOutItem> it = badOut.getBadOutItems().iterator(); it.hasNext();) {//设置明细对应的采购单明细
+					PurchaseBadOutItem badOutItem = it.next();
 					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, 
 							badOutItem.getOrderItem().getOrder().getCode(), badOutItem.getOrderItem().getNumber());
 					if(purchaseOrderItems.size() > 0) {//对应的采购单存在
@@ -161,6 +172,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService{
 						badOutItem.setOrderItemId(purchaseOrderItems.get(0).getId());
 						badOutItem.setBadOut(badOut);//设置主记录
 						badOutItems.add(badOutItem);
+					} else {
+						it.remove();
 					}
 				}
 			}