Browse Source

erp下载主动报价单之后修改b2b上传状态方法修改;应收对账单在查看时,如果没有物料信息就补全。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@9278 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 years ago
parent
commit
292b4433b8

+ 86 - 0
src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java

@@ -7,6 +7,7 @@ import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.service.ErpProdIODetailService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.persistence.criteria.PredicateFactory;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
@@ -17,6 +18,7 @@ import com.uas.search.b2b.util.SearchConstants;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.jpa.domain.Specification;
+import org.springframework.security.access.method.P;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -56,6 +58,9 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Autowired
 	private PurchaseAcceptDao purchaseAcceptDao;
 
+	@Autowired
+	private PurchaseAcceptItemDao purchaseAcceptItemDao;
+
 	@Autowired
 	private PurchaseApBillDao purchaseApBillDao;
 
@@ -83,6 +88,9 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Autowired
 	private PurchaseReturnDao purchaseReturnDao;
 
+	@Autowired
+	private PurchaseReturnItemDao purchaseReturnItemDao;
+
 	@Autowired
 	private MakeAcceptDao makeAcceptDao;
 
@@ -122,6 +130,9 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Autowired
 	private PurchaseApCheckDao purchaseApCheckDao;
 
+	@Autowired
+	private PurchaseApCheckItemDao purchaseApCheckItemDao;
+
 	@Autowired
 	private PurchaseInquiryMouldDao purchaseInquiryMouldDao;
 
@@ -161,6 +172,9 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	@Autowired
 	private InvitationRecordDao invitationRecordDao;
 
+	@Autowired
+	private ErpProdIODetailService erpProdIODetailService;
+
 	/**
 	 * 联想词size
 	 */
@@ -497,6 +511,78 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 	public SPage<PurchaseApCheck> searchPurchaseApCheckIds(String keyword, PageParams pageParams) {
 		SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.PURC$APCHECK, pageParams);
 		List<PurchaseApCheck> content = purchaseApCheckDao.findAll(idsPage.getContent());
+		// 对应验退单的应收对账单详情没有物料编号字段,添加物料信息
+		List<PurchaseApCheckItem> saveItems = new ArrayList<>();
+		for (PurchaseApCheck apCheck : content) {
+			for (PurchaseApCheckItem apCheckItem : apCheck.getItems()) {
+				if (apCheckItem.getProdCode() != null && apCheckItem.getProdTitle() == null) {
+					List<Product> products = productDao.findByEnUUAndCode(apCheck.getCustUu(), apCheckItem.getProdCode());
+					if (!CollectionUtils.isEmpty(products)) {
+						Product product = products.get(0);
+						apCheckItem.setProdTitle(product.getTitle());
+						apCheckItem.setProdSpec(product.getSpec());
+						saveItems.add(apCheckItem);
+					}
+				} else {
+					// 正式b2b中来源单据只有采购验收和验退存在产品编号为空的情况,暂时制作这两种的判断
+					if (apCheckItem.getSourceTable().equals("purc$acceptitem") && null != apCheckItem.getSourceId()){
+						PurchaseAcceptItem purchaseAcceptItem = purchaseAcceptItemDao.findOne(apCheckItem.getSourceId());
+						if (null != purchaseAcceptItem && null != purchaseAcceptItem.getProduct()) {
+							Product product = purchaseAcceptItem.getProduct();
+							apCheckItem.setProdCode(product.getCode());
+							apCheckItem.setProdTitle(product.getTitle());
+							apCheckItem.setProdSpec(product.getSpec());
+							saveItems.add(apCheckItem);
+						} else if (null != purchaseAcceptItem && null != purchaseAcceptItem.getOrderItem())  {
+							PurchaseOrderItem item = purchaseAcceptItem.getOrderItem();
+							if (null != item.getProduct()) {
+								apCheckItem.setProdCode(item.getProduct().getCode());
+								apCheckItem.setProdTitle(item.getProduct().getTitle());
+								apCheckItem.setProdSpec(item.getProduct().getSpec());
+								saveItems.add(apCheckItem);
+							}
+						} else if (null != purchaseAcceptItem && null != purchaseAcceptItem.getProdcode()) {
+							List<Product> products = productDao.findByEnUUAndCode(apCheck.getCustUu(), purchaseAcceptItem.getProdcode());
+							if (!CollectionUtils.isEmpty(products)) {
+								Product product = products.get(0);
+								apCheckItem.setProdCode(product.getCode());
+								apCheckItem.setProdTitle(product.getTitle());
+								apCheckItem.setProdSpec(product.getSpec());
+								saveItems.add(apCheckItem);
+							}
+						}
+					} else if (apCheckItem.getSourceTable().equals("purc$returnitem") && null != apCheckItem.getSourceId()) {
+						PurchaseReturnItem purchaseReturnItem = purchaseReturnItemDao.findOne(apCheckItem.getSourceId());
+						if (null != purchaseReturnItem && null != purchaseReturnItem.getProduct()) {
+							Product product = purchaseReturnItem.getProduct();
+							apCheckItem.setProdCode(product.getCode());
+							apCheckItem.setProdTitle(product.getTitle());
+							apCheckItem.setProdSpec(product.getSpec());
+							saveItems.add(apCheckItem);
+						} else if (null != purchaseReturnItem && null != purchaseReturnItem.getOrderItem())  {
+							PurchaseOrderItem item = purchaseReturnItem.getOrderItem();
+							if (null != item.getProduct()) {
+								apCheckItem.setProdCode(item.getProduct().getCode());
+								apCheckItem.setProdTitle(item.getProduct().getTitle());
+								apCheckItem.setProdSpec(item.getProduct().getSpec());
+								saveItems.add(apCheckItem);
+							}
+						} else if (null != purchaseReturnItem && null != purchaseReturnItem.getProdCode()) {
+							List<Product> products = productDao.findByEnUUAndCode(apCheck.getCustUu(), purchaseReturnItem.getProdCode());
+							if (!CollectionUtils.isEmpty(products)) {
+								Product product = products.get(0);
+								apCheckItem.setProdCode(product.getCode());
+								apCheckItem.setProdTitle(product.getTitle());
+								apCheckItem.setProdSpec(product.getSpec());
+								saveItems.add(apCheckItem);
+							}
+						}
+					}
+				}
+			}
+		}
+		purchaseApCheckItemDao.save(saveItems);
+		content = purchaseApCheckDao.findAll(idsPage.getContent());
 		sortByProperty(content, PurchaseApCheck.class, "id", idsPage.getContent());
 		return toSPage(idsPage, content);
 	}

+ 3 - 1
src/main/java/com/uas/platform/b2b/service/impl/SaleQuotationServiceImpl.java

@@ -60,13 +60,15 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
 
 	@Override
 	public void onQuotationUploadSuccess(String[] idArray) {
+		List <SaleQuotation> saveList = new ArrayList<>();
 		for (String id : idArray) {
 			SaleQuotation quotation = saleQuotationDao.findOne(Long.parseLong(id));
 			if (quotation != null) {
 				quotation.setSendStatus((short) Status.DOWNLOADED.value());
-				saleQuotationDao.save(quotation);
+				saveList.add(quotation);
 			}
 		}
+		saleQuotationDao.save(saveList);
 	}
 
 	@Override