Browse Source

客户打样申请+送样

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

+ 19 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseSampleService.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2b.erp.service;
+
+import java.util.List;
+
+import com.uas.platform.b2b.erp.model.ProductSample;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+
+public interface PurchaseSampleService {
+
+	/**
+	 * 将ERP系统的打样申请,转为平台的客户打样申请单
+	 * 
+	 * @param inquiries
+	 * @return
+	 */
+	List<PurchaseProofingItem> convertProofing(List<ProductSample> samples);
+
+
+}

+ 19 - 0
src/main/java/com/uas/platform/b2b/erp/service/SaleSampleDownService.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2b.erp.service;
+
+import java.util.List;
+
+import com.uas.platform.b2b.erp.model.SaleSampleDown;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+
+public interface SaleSampleDownService {
+
+	/**
+	 * 将平台的客户打样申请单,转为卖家ERP的客户打样申请
+	 * 
+	 * @param 
+	 * @return
+	 */
+	List<SaleSampleDown> convertPurchaseProofingItems(List<PurchaseProofingItem> proofingItems);
+
+
+}

+ 114 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseSampleServiceImpl.java

@@ -0,0 +1,114 @@
+package com.uas.platform.b2b.erp.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.ProductDao;
+import com.uas.platform.b2b.dao.PurchaseProofingDao;
+import com.uas.platform.b2b.dao.UserDao;
+import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.platform.b2b.erp.model.ProductSample;
+import com.uas.platform.b2b.erp.service.PurchaseSampleService;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurchaseProofing;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.support.SystemSession;
+
+@Service
+public class PurchaseSampleServiceImpl implements PurchaseSampleService {
+	
+	@Autowired
+	private PurchaseProofingDao purchaseProofingDao;
+	
+	@Autowired
+	private UserDao userDao;
+	
+	@Autowired
+	private ProductDao productDao;
+	
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+	
+	@Autowired
+	private VendorDao vendorDao;
+
+	@Override
+	public List<PurchaseProofingItem> convertProofing(
+			List<ProductSample> samples) {
+		List<PurchaseProofingItem> proofingItems = new ArrayList<PurchaseProofingItem>();
+		long enUU = SystemSession.getUser().getEnterprise().getUu();
+		for(ProductSample sample : samples) {
+			List<PurchaseProofing> proofingList = purchaseProofingDao.findByEnUUAndCode(enUU, sample.getPs_code());
+			List<Product> products = productDao.findByEnUUAndCode(enUU, sample.getPs_prodcode());
+			if(proofingList.size() == 0 && products.size() > 0) {//平台中不存在的单据&&物料已经上传到平台
+				PurchaseProofing proofing = sample.convert();
+				if (!CollectionUtils.isEmpty(proofing.getProofingItems())) {
+					User user = proofing.getUser();
+					if(user.getUserUU() != null) {
+						List<User> users = userDao.findByEnUUAndUserUU(enUU, user.getUserUU());
+						if(users.size() > 0) user = users.get(0);
+						else user = SystemSession.getUser();
+					} else user = SystemSession.getUser();
+					proofing.setUser(user);//单据中能获取到申请人的uu号,并且有效则为申请人,否则为企业管理员
+					proofing.setUserUU(user.getUserUU());
+					proofing.setProduct(products.get(0));
+					proofing.setProductId(products.get(0).getId());
+					for(PurchaseProofingItem proofingItem : proofing.getProofingItems()) {//对明细遍历
+						proofingItem.setProofing(proofing);
+						List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(enUU, proofingItem.getVendUU());
+						Vendor vendor = null;
+						if(vendors.size() == 0) {//供应商列表中不存在供应商关系
+							vendor = addVendor(proofingItem);//增加供应商关系
+						} else {
+							vendor = vendors.get(0);
+						}
+						if(vendor != null) {//供应商uu号不为非法的值
+							//如果明细中客户联系人UU号为空或者UU号不存在对应的用户,则设为供应商资料中的供应商联系人(可能为空)
+							if(proofingItem.getVendUserUU() != null) {
+								List<User> vendUsers = userDao.findByEnUUAndUserUU(vendor.getVendEnUU(), proofingItem.getVendUserUU());
+								if(vendUsers.size() == 0) proofingItem.setVendUserUU(vendor.getVendUserUU());
+							} else proofingItem.setVendUserUU(vendor.getVendUserUU());
+							proofingItems.add(proofingItem);
+						}
+					}
+				}
+			}
+			
+		}
+		return proofingItems;
+	}
+
+	/**
+	 * 添加供应商资料
+	 * 
+	 * @param forecast
+	 */
+	private Vendor addVendor(PurchaseProofingItem proofingItem) {
+		Enterprise enterprise = enterpriseDao.findOne(proofingItem.getVendUU());
+		if (enterprise != null) {
+			Vendor vendor = new Vendor();
+			vendor.setMyEnUU(proofingItem.getProofing().getEnUU());
+			vendor.setMyUserUU(SystemSession.getUser().getUserUU());
+			vendor.setVendorEnterprise(enterprise);
+			vendor.setVendEnUU(enterprise.getUu());
+			if (proofingItem.getVendUserUU() != null) {
+				List<User> users = userDao.findByEnUUAndUserUU(enterprise.getUu(), proofingItem.getVendUserUU());
+				if (users.size() > 0) {
+					vendor.setVendorUser(users.get(0));
+					vendor.setVendUserUU(proofingItem.getVendUserUU());
+				}
+			}
+			return vendorDao.save(vendor);
+		}
+		return null;
+	}
+
+}

+ 29 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/SaleSampleDownServiceImpl.java

@@ -0,0 +1,29 @@
+package com.uas.platform.b2b.erp.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Service;
+
+import com.uas.platform.b2b.erp.model.SaleSampleDown;
+import com.uas.platform.b2b.erp.service.SaleSampleDownService;
+import com.uas.platform.b2b.model.PurchaseProofingItem;
+
+@Service
+public class SaleSampleDownServiceImpl implements SaleSampleDownService {
+
+	@Override
+	public List<SaleSampleDown> convertPurchaseProofingItems(
+			List<PurchaseProofingItem> proofingItems) {
+		List<SaleSampleDown> saleSampleDowns = new ArrayList<SaleSampleDown>();
+		if(!CollectionUtils.isEmpty(proofingItems)) {
+			for(PurchaseProofingItem proofingItem : proofingItems) {
+				saleSampleDowns.add(new SaleSampleDown(proofingItem));
+			}
+		}
+		return saleSampleDowns;
+	}
+
+
+}