|
|
@@ -1,37 +1,17 @@
|
|
|
package com.uas.platform.b2b.erp.service.impl;
|
|
|
|
|
|
-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.PurchaseAcceptItemDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseBadInDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseBadOutDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseReturnDao;
|
|
|
+import com.uas.platform.b2b.dao.*;
|
|
|
import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
|
|
|
import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
|
|
|
import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
|
|
|
-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.PurchaseAcceptItem;
|
|
|
-import com.uas.platform.b2b.model.PurchaseBadIn;
|
|
|
-import com.uas.platform.b2b.model.PurchaseBadInItem;
|
|
|
-import com.uas.platform.b2b.model.PurchaseBadOut;
|
|
|
-import com.uas.platform.b2b.model.PurchaseBadOutItem;
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderItem;
|
|
|
-import com.uas.platform.b2b.model.PurchaseReturn;
|
|
|
-import com.uas.platform.b2b.model.PurchaseReturnItem;
|
|
|
+import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.ps.ProductUtils;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.Iterator;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
|
@Service
|
|
|
@@ -106,6 +86,59 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
|
|
|
acceptItems.add(item);
|
|
|
}
|
|
|
}
|
|
|
+ } else if (accepts2.size() > 0 && vendor != null) {
|
|
|
+ Set<PurchaseAcceptItem> haditems = accepts2.get(0).getAcceptItems();
|
|
|
+ List<String> haditemsBatchCode = new ArrayList<String>();
|
|
|
+ for (Iterator<PurchaseAcceptItem> itHaditems = haditems.iterator(); itHaditems.hasNext();) {
|
|
|
+ PurchaseAcceptItem hadItem = itHaditems.next();
|
|
|
+ haditemsBatchCode.add(hadItem.getBatchCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
|
|
|
+ PurchaseAcceptItem item = it.next();
|
|
|
+ if (haditemsBatchCode.contains(item.getBatchCode())) {
|
|
|
+ //已上传的明细不要
|
|
|
+ it.remove();
|
|
|
+ } else {
|
|
|
+ if (item.getOrderItem() != null) {
|
|
|
+ List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
|
|
|
+ .findByEnUUAndOrderCodeAndNumber(enUU, item.getOrderItem().getOrder().getCode(),
|
|
|
+ item.getOrderItem().getNumber());
|
|
|
+
|
|
|
+ if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
|
|
|
+ item.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
|
|
|
+ item.setOrderItemId(purchaseOrderItems.get(0).getId());
|
|
|
+
|
|
|
+ item.setAccept(accepts2.get(0));// 设置主记录
|
|
|
+
|
|
|
+ item.setErpDate(new Date());
|
|
|
+ item.setProdcode(purchaseOrderItems.get(0).getProduct().getCode());
|
|
|
+ item.setProdId(purchaseOrderItems.get(0).getProductId());
|
|
|
+ acceptItems.add(item);
|
|
|
+ } else {
|
|
|
+ it.remove();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ List<Product> prod = productDao.findByEnUUAndCode(enUU, item.getProdcode());
|
|
|
+ if (prod.size() > 0) {
|
|
|
+ item.setProduct(prod.get(0));
|
|
|
+ item.setProdId(prod.get(0).getId());
|
|
|
+ } else {// 物料不存在先进行存储
|
|
|
+ Product product = new Product();
|
|
|
+ product.setCode(item.getProdcode());
|
|
|
+ product.setEnUU(enUU);
|
|
|
+ Long proId = ProductUtils.updateOne(product);
|
|
|
+ item.setProduct(product);
|
|
|
+ item.setProdId(proId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ item.setAccept(accepts2.get(0));
|
|
|
+ item.setErpDate(new Date());
|
|
|
+ acceptItems.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return acceptItems;
|