Przeglądaj źródła

修改将合作关系同步到账户中心方法。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10686 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 lat temu
rodzic
commit
cd6d379301

+ 12 - 0
src/main/java/com/uas/platform/b2b/controller/VendorController.java

@@ -256,4 +256,16 @@ public class VendorController {
 	public void setVendorReadByIds(@RequestBody Long... sourceIds) {
 		vendorService.setReadByIds("purc", sourceIds);
 	}
+
+	/**
+	 * 将供应商关系同步到管理平台的合作伙伴关系表
+	 */
+	@RequestMapping(value = "/synchronize/partnerShipRecord", method = RequestMethod.GET)
+	@ResponseBody
+	public void synchronizeToPartnerShipRecord() {
+		// 后台同步功能,使用get直接URL访问,暂时设置成手机号码过滤防止被误访问
+		if (SystemSession.getUser().getUserTel().equals("15671616315") || SystemSession.getUser().getUserTel().equals("18328587849")) {
+			vendorService.synchronizeToPartnerShipRecord();
+		}
+	}
 }

+ 7 - 0
src/main/java/com/uas/platform/b2b/dao/VendorDao.java

@@ -121,4 +121,11 @@ public interface VendorDao extends JpaSpecificationExecutor<Vendor>, GenericRepo
 	 */
 	@Query("select count(p), p.status from Vendor p where p.id in :ids group by p.status")
 	List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+
+	/**
+	 * 查找未同步到账户中心的供应商关系记录
+	 * @param no
+	 * @return
+	 */
+    List<Vendor> findBySynchStatus(short no);
 }

+ 40 - 12
src/main/java/com/uas/platform/b2b/erp/controller/RelationshipController.java

@@ -1,10 +1,13 @@
 package com.uas.platform.b2b.erp.controller;
 
-import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
+import com.uas.account.util.AccountUtils;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Controller;
@@ -14,12 +17,10 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-import com.uas.platform.b2b.dao.EnterpriseDao;
-import com.uas.platform.b2b.dao.VendorDao;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.Vendor;
-import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.model.Constant;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @Controller
 @RequestMapping("/erp/relationship")
@@ -43,7 +44,9 @@ public class RelationshipController {
 			if (enterprise != null) {
 				List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(otheruu, enUU);
 				if (vendors.size() == 0) {// 供应商资料在平台上不存在
-					addVendor(otheruu, enUU);// 添加企业的供应商资料
+					Vendor vendor = addVendor(otheruu, enUU);// 添加企业的供应商资料
+					// 添加企业圈合作伙伴资料
+					addPartnerShipRecord(vendor);
 				}
 			} else {
 				ok = false;
@@ -55,6 +58,31 @@ public class RelationshipController {
 		return infos;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	private Vendor addVendor(Long enuu, Long venduu) {
 		Vendor vendor = new Vendor();
 		vendor.setMyEnUU(enuu);

+ 40 - 16
src/main/java/com/uas/platform/b2b/erp/service/impl/ARCheckServiceImpl.java

@@ -1,13 +1,6 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
+import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.SaleARCheckDao;
 import com.uas.platform.b2b.dao.SaleARCheckItemDao;
@@ -15,13 +8,18 @@ import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.erp.model.ARCheck;
 import com.uas.platform.b2b.erp.model.ARCheckReply;
 import com.uas.platform.b2b.erp.service.ARCheckService;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.SaleARCheck;
-import com.uas.platform.b2b.model.SaleARCheckItem;
-import com.uas.platform.b2b.model.SaleARCheckReply;
-import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
+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.List;
 
 @Service
 public class ARCheckServiceImpl implements ARCheckService {
@@ -49,7 +47,8 @@ public class ARCheckServiceImpl implements ARCheckService {
 				if (customer != null && CollectionUtils.isEmpty(existChecks)) {// 客户UU正确,否则不保存
 					List<Vendor> existVendors = vendorDao.findByMyEnUUAndVendUU(arCheck.getAc_custuu(), vendUU);
 					if (CollectionUtils.isEmpty(existVendors)) {// 不存在供应商关系,增加供应商关系
-						addVendor(customer);
+						Vendor vendor = addVendor(customer);
+						addPartnerShipRecord(vendor); // 添加合作伙伴关系
 					}
 					SaleARCheck saleARCheck = arCheck.convert();
 					if (!CollectionUtils.isEmpty(saleARCheck.getItems())) {
@@ -65,19 +64,44 @@ public class ARCheckServiceImpl implements ARCheckService {
 		return arCheckItems;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	/**
 	 * 在UU号正确但两者之间不存在供应商关系时,添加供应商关系
 	 * 
 	 * @param customer
 	 */
-	private void addVendor(Enterprise customer) {
+	private Vendor addVendor(Enterprise customer) {
 		Vendor vendor = new Vendor();
 		vendor.setMyEnUU(customer.getUu());
 		vendor.setMyUserUU(customer.getEnAdminuu());// 买方联系人为买方企业管理员
 		vendor.setVendEnUU(SystemSession.getUser().getEnterprise().getUu());
 		// 卖方联系人为卖方企业管理员
 		vendor.setVendUserUU(SystemSession.getUser().getEnterprise().getEnAdminuu());
-		vendor = vendorDao.save(vendor);
+		return vendorDao.save(vendor);
 	}
 
 	@Override

+ 35 - 18
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryMouldServiceImpl.java

@@ -1,30 +1,21 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
-import com.uas.platform.b2b.dao.EnterpriseDao;
-import com.uas.platform.b2b.dao.ProductDao;
-import com.uas.platform.b2b.dao.PurchaseInquiryMouldDao;
-import com.uas.platform.b2b.dao.UserDao;
-import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.account.util.AccountUtils;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.InquiryMould;
 import com.uas.platform.b2b.erp.model.InquiryMouldDecide;
 import com.uas.platform.b2b.erp.service.InquiryMouldService;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurchaseInquiryMould;
-import com.uas.platform.b2b.model.PurchaseInquiryMouldDetail;
-import com.uas.platform.b2b.model.PurchaseInquiryMouldItem;
-import com.uas.platform.b2b.model.User;
-import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 public class InquiryMouldServiceImpl implements InquiryMouldService {
@@ -66,6 +57,7 @@ public class InquiryMouldServiceImpl implements InquiryMouldService {
 					}
 				} else {
 					vendor = addVendor(purchaseInquiryMould);
+					addPartnerShipRecord(vendor); // 添加合作伙伴关系
 				}
 				if (vendor != null) {
 					for (PurchaseInquiryMouldItem item : purchaseInquiryMould.getInquiryMouldItems()) {
@@ -101,6 +93,31 @@ public class InquiryMouldServiceImpl implements InquiryMouldService {
 		return purcMould;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	@Override
 	public List<InquiryMould> convertPurchaseInquiryMouldReply(List<PurchaseInquiryMould> purchaseInquiryMoulds) {
 		List<InquiryMould> inquiryMoulds = new ArrayList<InquiryMould>();

+ 30 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.InquiryDecide;
@@ -7,6 +8,8 @@ import com.uas.platform.b2b.erp.model.InquiryDetail;
 import com.uas.platform.b2b.erp.service.InquiryService;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -67,6 +70,8 @@ public class InquiryServiceImpl implements InquiryService {
 						} else {
 							// 添加供应商资料
 							vendor = addVendor(item);
+							// 添加合作伙伴关系
+							addPartnerShipRecord(vendor);
 						}
 						if (vendor != null) {
 							item.setInquiry(purchaseInquiry);
@@ -87,6 +92,31 @@ public class InquiryServiceImpl implements InquiryService {
 		return inquiryItems;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	@Override
 	public List<InquiryDetail> convertPurchaseInquiryReply(List<PurchaseInquiryItem> inquiryItems) {
 		List<InquiryDetail> details = new ArrayList<InquiryDetail>();

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

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.MakeOrderDao;
@@ -12,6 +13,8 @@ import com.uas.platform.b2b.erp.service.MakeService;
 import com.uas.platform.b2b.event.MakeOrderEndReleaseEvent;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -53,6 +56,7 @@ public class MakeServiceImpl implements MakeService {
 				Vendor vend = new Vendor();
 				if (CollectionUtils.isEmpty(vendors)) {
 					vend = addVendor(make);
+					addPartnerShipRecord(vend); // 添加合作伙伴
 				} else {
 					vend = vendors.get(0);
 				}
@@ -65,6 +69,31 @@ public class MakeServiceImpl implements MakeService {
 		return makeOrders;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	/**
 	 * 增加供应商关系
 	 * 

+ 38 - 18
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseForecastServiceImpl.java

@@ -1,27 +1,20 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
+import com.uas.account.util.AccountUtils;
+import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.model.PurchaseForecast;
+import com.uas.platform.b2b.erp.service.PurchaseForecastService;
+import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import com.uas.platform.b2b.dao.EnterpriseDao;
-import com.uas.platform.b2b.dao.ProductDao;
-import com.uas.platform.b2b.dao.PurchaseForecastAllDao;
-import com.uas.platform.b2b.dao.UserDao;
-import com.uas.platform.b2b.dao.VendorDao;
-import com.uas.platform.b2b.erp.model.PurchaseForecast;
-import com.uas.platform.b2b.erp.service.PurchaseForecastService;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurchaseForecastAll;
-import com.uas.platform.b2b.model.PurchaseForecastAllItem;
-import com.uas.platform.b2b.model.User;
-import com.uas.platform.b2b.model.Vendor;
-import com.uas.platform.b2b.support.SystemSession;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Service
 public class PurchaseForecastServiceImpl implements PurchaseForecastService {
@@ -65,6 +58,7 @@ public class PurchaseForecastServiceImpl implements PurchaseForecastService {
 							Vendor vendor = null;
 							if (vendors.size() == 0) {
 								vendor = addVendor(item);
+								addPartnerShipRecord(vendor); // 添加合作伙伴关系
 							} else {
 								vendor = vendors.get(0);
 							}
@@ -97,6 +91,31 @@ public class PurchaseForecastServiceImpl implements PurchaseForecastService {
 		return items;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	@Override
 	public List<PurchaseForecastAllItem> convertEDIPurchaseForecast(List<PurchaseForecast> purchaseForecasts, Long enUU) {
 		List<PurchaseForecastAllItem> items = new ArrayList<PurchaseForecastAllItem>();
@@ -124,6 +143,7 @@ public class PurchaseForecastServiceImpl implements PurchaseForecastService {
 							Vendor vendor = null;
 							if (vendors.size() == 0) {
 								vendor = addVendor(item);
+								addPartnerShipRecord(vendor);
 							} else {
 								vendor = vendors.get(0);
 							}

+ 38 - 20
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseSampleServiceImpl.java

@@ -1,29 +1,21 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-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.account.util.AccountUtils;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.ProductSample;
 import com.uas.platform.b2b.erp.model.ProductSampleApproval;
 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.PurchaseProofingApproval;
-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.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Service
 public class PurchaseSampleServiceImpl implements PurchaseSampleService {
@@ -73,6 +65,7 @@ public class PurchaseSampleServiceImpl implements PurchaseSampleService {
 						Vendor vendor = null;
 						if (vendors.size() == 0) {// 供应商列表中不存在供应商关系
 							vendor = addVendor(proofingItem);// 增加供应商关系
+							addPartnerShipRecord(vendor);
 						} else {
 							vendor = vendors.get(0);
 						}
@@ -96,6 +89,31 @@ public class PurchaseSampleServiceImpl implements PurchaseSampleService {
 		return proofingItems;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	/**
 	 * 添加供应商资料
 	 * 

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

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.MessageLog;
@@ -9,6 +10,8 @@ import com.uas.platform.b2b.erp.model.PurchaseReply;
 import com.uas.platform.b2b.erp.service.PurchaseService;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -56,6 +59,7 @@ public class PurchaseServiceImpl implements PurchaseService {
 				Vendor vendor = null;
 				if (vendors.size() == 0) {// 供应商资料在平台上不存在
 					vendor = addVendor(order);// 添加企业的供应商资料
+					addPartnerShipRecord(vendor);// 添加企业圈合作伙伴关系
 				} else {// 供应商资料在平台上存在
 					vendor = vendors.get(0);
 					if (order.getVendUserUU() == null || order.getVendUserUU() == 0)// 单据不包含供应商联系人UU号&&供应商列表中有供应商联系人
@@ -93,6 +97,31 @@ public class PurchaseServiceImpl implements PurchaseService {
 		return orderItems;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	@Override
 	public List<PurchaseReply> convertPurchaseOrderReply(List<PurchaseOrderReply> orderReplies) {
 		List<PurchaseReply> replies = new ArrayList<PurchaseReply>();

+ 35 - 22
src/main/java/com/uas/platform/b2b/erp/service/impl/QuotationServiceImpl.java

@@ -1,32 +1,19 @@
 package com.uas.platform.b2b.erp.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-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.SaleQuotationDao;
-import com.uas.platform.b2b.dao.UserDao;
-import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.account.util.AccountUtils;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Quotation;
 import com.uas.platform.b2b.erp.model.QuotationDecide;
 import com.uas.platform.b2b.erp.service.QuotationService;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.SaleQuotation;
-import com.uas.platform.b2b.model.SaleQuotationItem;
-import com.uas.platform.b2b.model.User;
-import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
 import com.uas.platform.core.model.Constant;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
 
 @Service
 public class QuotationServiceImpl implements QuotationService {
@@ -83,6 +70,7 @@ public class QuotationServiceImpl implements QuotationService {
 					}
 				} else {// 不存在对应的供应商资料,增加供应商关系
 					vendor = addVendor(saleQuotation);
+					addPartnerShipRecord(vendor); // 添加供应商关系同时增加合作伙伴关系记录
 				}
 				if (vendor != null && vendor.getMyEnUU() != null) {
 					if (!CollectionUtils.isEmpty(saleQuotation.getQuotationItems())) {
@@ -119,6 +107,31 @@ public class QuotationServiceImpl implements QuotationService {
 		return mapSaleQuotationItem;
 	}
 
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
 	@Override
 	public List<QuotationDecide> convertQuotationDecide(List<SaleQuotationItem> quotationItems) {
 		List<QuotationDecide> decides = new ArrayList<QuotationDecide>();

+ 14 - 0
src/main/java/com/uas/platform/b2b/model/Vendor.java

@@ -148,6 +148,12 @@ public class Vendor implements Serializable {
 	@Column(name = "ve_paymethod")
 	private String paymethod;
 
+	/**
+	 * 同步状态(是否同步到账户中心,1为已同步,0为未同步)
+	 */
+	@Column(name = "ve_synchstatus")
+	private Short synchStatus;
+
 	public Long getId() {
 		return id;
 	}
@@ -294,6 +300,14 @@ public class Vendor implements Serializable {
 		this.paymethod = paymethod;
 	}
 
+	public Short getSynchStatus() {
+		return synchStatus;
+	}
+
+	public void setSynchStatus(Short synchStatus) {
+		this.synchStatus = synchStatus;
+	}
+
 	@Override
 	public String toString() {
 		return this.vendorEnterprise.getEnName();

+ 8 - 4
src/main/java/com/uas/platform/b2b/service/VendorService.java

@@ -1,13 +1,12 @@
 package com.uas.platform.b2b.service;
 
-import java.util.List;
-
-import org.springframework.data.domain.Page;
-
 import com.uas.platform.b2b.model.Distribute;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.VendorContact;
 import com.uas.platform.core.model.PageInfo;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
 
 /**
  * 客户&供应商服务
@@ -111,4 +110,9 @@ public interface VendorService {
 	List<Long> getUnreadIds(String category);
 
     void setReadByIds(String sale, Long[] sourceIds);
+
+	/**
+	 * 供应商同步到管理平台合作关系表
+	 */
+	void synchronizeToPartnerShipRecord();
 }

+ 46 - 1
src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.service.impl;
 
+import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.model.Distribute;
 import com.uas.platform.b2b.model.Enterprise;
@@ -7,6 +8,7 @@ import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.model.VendorContact;
 import com.uas.platform.b2b.service.VendorService;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.PartnershipRecord;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
@@ -56,7 +58,35 @@ public class VendorsServiceImpl implements VendorService {
 	@Override
 	public Vendor addVendor(Vendor vendor) {
 		vendor.setMyEnUU(SystemSession.getUser().getEnterprise().getUu());
-		return vendorDao.save(vendor);
+		Vendor vendor1 = vendorDao.save(vendor);
+		addPartnerShipRecord(vendor1); // 添加合作伙伴关系
+		return vendor1;
+	}
+
+	private void addPartnerShipRecord(Vendor vendor) {
+		PartnershipRecord shipRecord = new PartnershipRecord("uas", vendor);
+		com.uas.account.entity.PartnershipRecord record = new com.uas.account.entity.PartnershipRecord();
+		record.setAppId(shipRecord.getAppId());
+		record.setCustName(shipRecord.getCustName());
+		record.setCustUID(shipRecord.getCustUID());
+		record.setCustUserCode(shipRecord.getCustUserCode());
+		record.setCustUserEmail(shipRecord.getCustUserEmail());
+		record.setCustUserName(shipRecord.getCustUserName());
+		record.setCustUserTel(shipRecord.getCustUserTel());
+		record.setVendName(shipRecord.getVendName());
+		record.setVendUID(shipRecord.getVendUID());
+		record.setVendUserCode(shipRecord.getVendUserCode());
+		record.setVendUserEmail(shipRecord.getVendUserEmail());
+		record.setVendUserName(shipRecord.getVendUserName());
+		record.setVendUserTel(shipRecord.getVendUserTel());
+		try {
+			String result = AccountUtils.synchronizeRecord(record);
+			vendor.setSynchStatus(Constant.YES);
+			vendorDao.save(vendor);
+			System.out.println(result);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
 	}
 
 	@Override
@@ -66,6 +96,7 @@ public class VendorsServiceImpl implements VendorService {
 			Vendor vend = addVendor(vendor);
 			if (vend != null) {
 				validVendors.add(vend);
+				addPartnerShipRecord(vend); // 添加合作伙伴关系
 			}
 		}
 		return validVendors;
@@ -245,4 +276,18 @@ public class VendorsServiceImpl implements VendorService {
 		userOrderDao.setReadStatus(SystemSession.getUser().getEnterprise().getUu(), SystemSession.getUser().getUserUU(), "purc$vendors", category, (short) Status.READ.value(), temp);
 	}
 
+	/**
+	 * 供应商同步到管理平台合作关系表
+	 */
+	@Override
+	public void synchronizeToPartnerShipRecord() {
+		List<Vendor> vendors = vendorDao.findBySynchStatus(Constant.NO);
+		int i = 0;
+		for (Vendor vendor : vendors) {
+			i++;
+			addPartnerShipRecord(vendor);
+			System.out.println("共有" + vendors.size() + "个供应商,当前同步到:" + i);
+		}
+	}
+
 }

+ 49 - 8
src/main/java/com/uas/platform/b2b/temporary/model/PartnershipRecord.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.temporary.model;
 
+import com.uas.platform.b2b.model.Vendor;
+
 /**
  * 申请记录及审核结果<br>
  * 解析从账户中心返回的JOSN
@@ -74,6 +76,17 @@ public class PartnershipRecord {
 	 */
 	private String vendUserCode;
 
+	/**
+	 * 审核人邮箱
+	 */
+	private String vendUserEmail;
+
+	/**
+	 * 审核人联系方式
+	 */
+	private String vendUserTel;
+
+
 	/**
 	 * 审核时间
 	 */
@@ -94,6 +107,26 @@ public class PartnershipRecord {
 	 */
 	private String reason;
 
+	public PartnershipRecord(String appId, Vendor vendor) {
+		this.appId = appId;
+		this.custName = vendor.getMyEnterprise().getEnName();
+		this.custUID = vendor.getMyEnterprise().getEnBussinessCode();
+		this.custUserCode = String.valueOf(vendor.getMyUserUU());
+		if (null != vendor.getMyUser()) {
+			this.custUserEmail = vendor.getMyUser().getUserEmail();
+			this.custUserName = vendor.getMyUser().getUserName();
+			this.custUserTel = vendor.getMyUser().getUserName();
+		}
+		this.vendName = vendor.getVendorEnterprise().getEnName();
+		this.vendUID = vendor.getVendorEnterprise().getEnBussinessCode();
+		this.vendUserCode = String.valueOf(vendor.getVendUserUU());
+		if (null != vendor.getVendorUser()) {
+			this.vendUserName = vendor.getVendorUser().getUserName();
+			this.vendUserTel = vendor.getVendorUser().getUserTel();
+			this.vendUserEmail = vendor.getVendorUser().getUserEmail();
+		}
+	}
+
 	public Long getId() {
 		return id;
 	}
@@ -230,14 +263,22 @@ public class PartnershipRecord {
 		this.reason = reason;
 	}
 
-	@Override
-	public String toString() {
-		return "PartnershipRecord [id=" + id + ", appId=" + appId + ", requestDate=" + requestDate + ", custName="
-				+ custName + ", custUID=" + custUID + ", custUserName=" + custUserName + ", custUserCode="
-				+ custUserCode + ", custUserTel=" + custUserTel + ", custUserEmail=" + custUserEmail + ", vendName="
-				+ vendName + ", vendUID=" + vendUID + ", vendUserName=" + vendUserName + ", vendUserCode="
-				+ vendUserCode + ", operateDate=" + operateDate + ", statusCode=" + statusCode + ", status=" + status
-				+ ", reason=" + reason + "]";
+
+	public String getVendUserEmail() {
+		return vendUserEmail;
 	}
 
+	public void setVendUserEmail(String vendUserEmail) {
+		this.vendUserEmail = vendUserEmail;
+	}
+
+	public String getVendUserTel() {
+		return vendUserTel;
+	}
+
+	public void setVendUserTel(String vendUserTel) {
+		this.vendUserTel = vendUserTel;
+	}
+
+
 }

+ 5 - 1
src/main/webapp/resources/tpl/index/baseInfo/searchresult.html

@@ -368,11 +368,15 @@
 				</div>
 			</td>
 			<td width="100" class="text-center">
-				<a class="btn btn-primary" ng-click="addPartner(enterprise.name,enterprise.businessCode)" ng-if="(enterprise.requestStatus==null||enterprise.requestStatus==310) && enterprise.status == 313">立即添加</a>
+				<!-- 拒绝了他人申请的企业,无法主动去添加已被拒绝的企业为合作伙伴 -->
+				<a class="btn btn-primary" ng-click="addPartner(enterprise.name,enterprise.businessCode)" ng-if="enterprise.requestStatus==null && enterprise.status == 313">立即添加</a>
 				<a class="btn btn-primary" ng-click="invite(enterprise.name)" ng-if="(enterprise.requestStatus==null||enterprise.requestStatus==310) && enterprise.status != 313">邀请注册</a>
 				<span class="btn01 label-info btn-primary" ng-if="enterprise.requestStatus==311 && enterprise.method==0">已收到申请</span>
 				<p class="line24" ng-if="enterprise.requestStatus==311 && enterprise.method==0"><span class="btn btn-primary" ng-click="view(enterprise.name)">立即查看</span></p>
 				<span class="btn01 label-info btn-primary" ng-if="enterprise.requestStatus==311 && enterprise.method==1">已发出申请</span>
+				<span class="btn01 label-info btn-primary" ng-if="enterprise.requestStatus==310 && enterprise.method==0">已拒绝申请</span>
+				<span class="btn01 label-info btn-primary" ng-if="enterprise.requestStatus==310 && enterprise.method==1">申请已被拒绝</span>
+				<div><a class="btn btn-primary" ng-click="addPartner(enterprise.name,enterprise.businessCode)" ng-if="(enterprise.requestStatus == 310 && enterprise.method == 1) && enterprise.status == 313">再次添加</a></div>
 				<!-- <br><a ng-click="view(enterprise.name)">立即查看</a> -->
 				<span class="btn label-info" ng-if="enterprise.requestStatus==313">已添加</span><br/>
 				<p class="line24" ng-if="enterprise.requestStatus==313"><span class="btn btn-primary" ng-click="view(enterprise.name)" >立即查看</span></p>