浏览代码

【出入库单模型】+【上传出入库单据到平台】+【无Po的采购验退单处理】+【没有订单号时不关联采购单】

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@2687 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
shenj 10 年之前
父节点
当前提交
a56c400921
共有 1 个文件被更改,包括 85 次插入38 次删除
  1. 85 38
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java

+ 85 - 38
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java

@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
 
 
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptDao;
 import com.uas.platform.b2b.dao.PurchaseBadInDao;
 import com.uas.platform.b2b.dao.PurchaseBadInDao;
 import com.uas.platform.b2b.dao.PurchaseBadInItemDao;
 import com.uas.platform.b2b.dao.PurchaseBadInItemDao;
@@ -21,6 +22,7 @@ import com.uas.platform.b2b.dao.PurchaseReturnItemDao;
 import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
 import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
 import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
 import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
 import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.PurchaseAccept;
 import com.uas.platform.b2b.model.PurchaseAccept;
 import com.uas.platform.b2b.model.PurchaseAcceptItem;
 import com.uas.platform.b2b.model.PurchaseAcceptItem;
 import com.uas.platform.b2b.model.PurchaseBadIn;
 import com.uas.platform.b2b.model.PurchaseBadIn;
@@ -64,21 +66,30 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 
 
 	@Autowired
 	@Autowired
 	private EnterpriseDao enterpriseDao;
 	private EnterpriseDao enterpriseDao;
+	
+	@Autowired
+	private ProductDao productDao;
 
 
 	@Override
 	@Override
-	public List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseAcceptItem> convertProdInOuts(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseAcceptItem> acceptItems = new ArrayList<PurchaseAcceptItem>();
 		List<PurchaseAcceptItem> acceptItems = new ArrayList<PurchaseAcceptItem>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 			PurchaseAccept accept = prodInOut.convent();
 			PurchaseAccept accept = prodInOut.convent();
-			List<PurchaseAccept> accepts2 = purchaseAcceptDao.findByEnUUAndCode(enUU, accept.getCode());
-			Enterprise vendor = enterpriseDao.findEnterpriseByUu(accept.getVendUU());
+			List<PurchaseAccept> accepts2 = purchaseAcceptDao
+					.findByEnUUAndCode(enUU, accept.getCode());
+			Enterprise vendor = enterpriseDao.findEnterpriseByUu(accept
+					.getVendUU());
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (accepts2.size() == 0 && vendor != null) {
 			if (accepts2.size() == 0 && vendor != null) {
-				for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+				for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems()
+						.iterator(); it.hasNext();) {// 设置明细对应的采购单明细
 					PurchaseAcceptItem item = it.next();
 					PurchaseAcceptItem item = it.next();
-					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, item
-							.getOrderItem().getOrder().getCode(), item.getOrderItem().getNumber());
+					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
+							.findByEnUUAndOrderCodeAndNumber(enUU, item
+									.getOrderItem().getOrder().getCode(), item
+									.getOrderItem().getNumber());
 					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
 					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
 						item.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
 						item.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
 						item.setOrderItemId(purchaseOrderItems.get(0).getId());
 						item.setOrderItemId(purchaseOrderItems.get(0).getId());
@@ -94,23 +105,37 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseReturnItem> convertReturns(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseReturnItem> convertReturns(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseReturnItem> returnItems = new ArrayList<PurchaseReturnItem>();
 		List<PurchaseReturnItem> returnItems = new ArrayList<PurchaseReturnItem>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 			PurchaseReturn returnn = prodInOut.conventToReturn();
 			PurchaseReturn returnn = prodInOut.conventToReturn();
-			List<PurchaseReturn> returns2 = purchaseReturnDao.findByEnUUAndCode(enUU, returnn.getCode());
-			Enterprise vendor = enterpriseDao.findEnterpriseByUu(returnn.getVendUU());
+			List<PurchaseReturn> returns2 = purchaseReturnDao
+					.findByEnUUAndCode(enUU, returnn.getCode());
+			Enterprise vendor = enterpriseDao.findEnterpriseByUu(returnn
+					.getVendUU());
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (returns2.size() == 0 && vendor != null) {
 			if (returns2.size() == 0 && vendor != null) {
 				for (PurchaseReturnItem returnItem : returnn.getReturnItems()) {// 设置明细对应的采购单明细
 				for (PurchaseReturnItem returnItem : returnn.getReturnItems()) {// 设置明细对应的采购单明细
-					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, returnItem
-							.getOrderItem().getOrder().getCode(), returnItem.getOrderItem().getNumber());
-					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
-						returnItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
-						returnItem.setOrderItemId(purchaseOrderItems.get(0).getId());
-						returnItem.setPurchaseReturn(returnn);// 设置主记录
-					}
+					if (returnItem.getOrderItem() != null) {
+						List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
+								.findByEnUUAndOrderCodeAndNumber(enUU,
+										returnItem.getOrderItem().getOrder()
+												.getCode(), returnItem
+												.getOrderItem().getNumber());
+						if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
+							returnItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
+							returnItem.setOrderItemId(purchaseOrderItems.get(0)
+									.getId());					
+						}
+					}/*else{
+						List<Product> prod=productDao.findByEnUUAndCode(enUU, returnItem.getProdCode());
+						if(prod.size()>0){
+							
+						}
+					}*/
+					returnItem.setPurchaseReturn(returnn);// 设置主记录
 					returnItems.add(returnItem);
 					returnItems.add(returnItem);
 				}
 				}
 			}
 			}
@@ -119,22 +144,29 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseBadInItem> convertBadIns(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseBadInItem> convertBadIns(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseBadInItem> badInItems = new ArrayList<PurchaseBadInItem>();
 		List<PurchaseBadInItem> badInItems = new ArrayList<PurchaseBadInItem>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 			PurchaseBadIn badIn = prodInOut.conventToBadIn();
 			PurchaseBadIn badIn = prodInOut.conventToBadIn();
-			List<PurchaseBadIn> badIns = purchaseBadInDao.findByEnUUAndCode(enUU, badIn.getCode());
-			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badIn.getVendUU());
+			List<PurchaseBadIn> badIns = purchaseBadInDao.findByEnUUAndCode(
+					enUU, badIn.getCode());
+			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badIn
+					.getVendUU());
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (badIns.size() == 0 && vendor != null) {
 			if (badIns.size() == 0 && vendor != null) {
-				for (Iterator<PurchaseBadInItem> it = badIn.getBadInItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+				for (Iterator<PurchaseBadInItem> it = badIn.getBadInItems()
+						.iterator(); it.hasNext();) {// 设置明细对应的采购单明细
 					PurchaseBadInItem badInItem = it.next();
 					PurchaseBadInItem badInItem = it.next();
-					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, badInItem
-							.getOrderItem().getOrder().getCode(), badInItem.getOrderItem().getNumber());
+					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
+							.findByEnUUAndOrderCodeAndNumber(enUU, badInItem
+									.getOrderItem().getOrder().getCode(),
+									badInItem.getOrderItem().getNumber());
 					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
 					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
 						badInItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
 						badInItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
-						badInItem.setOrderItemId(purchaseOrderItems.get(0).getId());
+						badInItem.setOrderItemId(purchaseOrderItems.get(0)
+								.getId());
 						badInItem.setBadIn(badIn);// 设置主记录
 						badInItem.setBadIn(badIn);// 设置主记录
 						badInItems.add(badInItem);
 						badInItems.add(badInItem);
 					} else {
 					} else {
@@ -147,22 +179,29 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseBadOutItem> convertBadOuts(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseBadOutItem> convertBadOuts(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseBadOutItem> badOutItems = new ArrayList<PurchaseBadOutItem>();
 		List<PurchaseBadOutItem> badOutItems = new ArrayList<PurchaseBadOutItem>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 			PurchaseBadOut badOut = prodInOut.conventToBadOut();
 			PurchaseBadOut badOut = prodInOut.conventToBadOut();
-			List<PurchaseBadOut> badOuts = purchaseBadOutDao.findByEnUUAndCode(enUU, badOut.getCode());
-			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badOut.getVendUU());
+			List<PurchaseBadOut> badOuts = purchaseBadOutDao.findByEnUUAndCode(
+					enUU, badOut.getCode());
+			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badOut
+					.getVendUU());
 			// 不良品出库单不存在,供应商UU号存在对应供应商
 			// 不良品出库单不存在,供应商UU号存在对应供应商
 			if (badOuts.size() == 0 && vendor != null) {
 			if (badOuts.size() == 0 && vendor != null) {
-				for (Iterator<PurchaseBadOutItem> it = badOut.getBadOutItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+				for (Iterator<PurchaseBadOutItem> it = badOut.getBadOutItems()
+						.iterator(); it.hasNext();) {// 设置明细对应的采购单明细
 					PurchaseBadOutItem badOutItem = it.next();
 					PurchaseBadOutItem badOutItem = it.next();
-					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, badOutItem
-							.getOrderItem().getOrder().getCode(), badOutItem.getOrderItem().getNumber());
+					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
+							.findByEnUUAndOrderCodeAndNumber(enUU, badOutItem
+									.getOrderItem().getOrder().getCode(),
+									badOutItem.getOrderItem().getNumber());
 					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
 					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
 						badOutItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
 						badOutItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
-						badOutItem.setOrderItemId(purchaseOrderItems.get(0).getId());
+						badOutItem.setOrderItemId(purchaseOrderItems.get(0)
+								.getId());
 						badOutItem.setBadOut(badOut);// 设置主记录
 						badOutItem.setBadOut(badOut);// 设置主记录
 						badOutItems.add(badOutItem);
 						badOutItems.add(badOutItem);
 					} else {
 					} else {
@@ -175,12 +214,14 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseAccept> convertNonPostingProdInOuts(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseAccept> convertNonPostingProdInOuts(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseAccept> accepts = new ArrayList<PurchaseAccept>();
 		List<PurchaseAccept> accepts = new ArrayList<PurchaseAccept>();
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
-				List<PurchaseAccept> existAccepts = purchaseAcceptDao.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
+				List<PurchaseAccept> existAccepts = purchaseAcceptDao
+						.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
 				if (existAccepts.size() > 0) {
 				if (existAccepts.size() > 0) {
 					accepts.add(existAccepts.get(0));
 					accepts.add(existAccepts.get(0));
 				}
 				}
@@ -190,12 +231,14 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseReturn> convertNonPostingReturns(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseReturn> convertNonPostingReturns(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseReturn> returns = new ArrayList<PurchaseReturn>();
 		List<PurchaseReturn> returns = new ArrayList<PurchaseReturn>();
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
-				List<PurchaseReturn> existReturns = purchaseReturnDao.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
+				List<PurchaseReturn> existReturns = purchaseReturnDao
+						.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
 				if (existReturns.size() > 0) {
 				if (existReturns.size() > 0) {
 					returns.add(existReturns.get(0));
 					returns.add(existReturns.get(0));
 				}
 				}
@@ -205,12 +248,14 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseBadIn> convertNonPostingBadIns(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseBadIn> convertNonPostingBadIns(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseBadIn> badIns = new ArrayList<PurchaseBadIn>();
 		List<PurchaseBadIn> badIns = new ArrayList<PurchaseBadIn>();
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
-				List<PurchaseBadIn> existBadIns = purchaseBadInDao.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
+				List<PurchaseBadIn> existBadIns = purchaseBadInDao
+						.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
 				if (existBadIns.size() > 0) {
 				if (existBadIns.size() > 0) {
 					badIns.add(existBadIns.get(0));
 					badIns.add(existBadIns.get(0));
 				}
 				}
@@ -220,12 +265,14 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseBadOut> convertNonPostingBadOuts(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseBadOut> convertNonPostingBadOuts(
+			List<PurchaseProdInOut> prodInOuts) {
 		List<PurchaseBadOut> badOuts = new ArrayList<PurchaseBadOut>();
 		List<PurchaseBadOut> badOuts = new ArrayList<PurchaseBadOut>();
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 		if (!CollectionUtils.isEmpty(prodInOuts)) {
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			Long enUU = SystemSession.getUser().getEnterprise().getUu();
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
 			for (PurchaseProdInOut prodInOut : prodInOuts) {
-				List<PurchaseBadOut> existBadOuts = purchaseBadOutDao.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
+				List<PurchaseBadOut> existBadOuts = purchaseBadOutDao
+						.findByEnUUAndCode(enUU, prodInOut.getPi_inoutno());
 				if (existBadOuts.size() > 0) {
 				if (existBadOuts.size() > 0) {
 					badOuts.add(existBadOuts.get(0));
 					badOuts.add(existBadOuts.get(0));
 				}
 				}