Просмотр исходного кода

含有未上传明细的已上传验收单重新上传时,直接添加未上传的验收明细

huangct 8 лет назад
Родитель
Сommit
f1db0bd804

+ 56 - 23
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java

@@ -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;

+ 2 - 2
src/main/webapp/resources/tpl/index/approvalFlow/enterprise.html

@@ -626,7 +626,7 @@
 		</form>
 	</div>
 
-	<div ng-show="false" class="com_title01"><span>开票信息</span>
+	<div ng-show="true" class="com_title01"><span>开票信息</span>
 		<a ng-show="!apBillOutInfoEditing" ng-click="apBillOutInfoEditing = true" class="pull-right text-simple"><i
 				class="fa fa-pencil fa-fw fa-lg"></i>编辑</a>
 		<a ng-show="apBillOutInfoEditing" ng-click="apBillOutInfoEditing = false" class="pull-right text-simple color01"><i
@@ -635,7 +635,7 @@
 				class="fa fa-save fa-fw"></i>保存</a>
 	</div>
 	<!--开票信息-->
-	<div ng-show="false" class="pane-body">
+	<div ng-show="true" class="pane-body">
 		<form name="detailForm">
 			<div class="row row-sm item">
 				<div class="col-xs-12">