|
|
@@ -2,6 +2,8 @@ package com.uas.platform.b2b.service.impl;
|
|
|
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
import com.uas.platform.b2b.dao.*;
|
|
|
+import com.uas.platform.b2b.erp.model.ProductSaler;
|
|
|
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
|
|
|
import com.uas.platform.b2b.event.ProductSaveEvent;
|
|
|
import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.search.SearchService;
|
|
|
@@ -10,6 +12,7 @@ import com.uas.platform.b2b.service.ProductService;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import com.uas.platform.b2b.support.UsageBufferedLogger;
|
|
|
import com.uas.platform.b2b.temporary.model.UpdateByBatchParameter;
|
|
|
+import com.uas.platform.core.exception.NotFoundException;
|
|
|
import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
import com.uas.platform.core.model.PageInfo;
|
|
|
@@ -57,8 +60,13 @@ public class ProductServiceImpl implements ProductService {
|
|
|
@Autowired
|
|
|
private UserOrderDao userOrderDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ProductUsersDao productUsersDao;
|
|
|
+
|
|
|
private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
|
|
|
|
|
|
+ private final static ErpBufferedLogger erpLogger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
|
|
|
+
|
|
|
@Override
|
|
|
public List<Product> save(List<Product> products) {
|
|
|
List<Product> newProducts = productDao.save(products);
|
|
|
@@ -507,4 +515,54 @@ public class ProductServiceImpl implements ProductService {
|
|
|
public int updateB2bEnabled(String code, Short b2benabled) {
|
|
|
return productDao.updateB2bEnabled(SystemSession.getUser().getEnterprise().getUu(), code, b2benabled);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ERP个人物料同步到平台
|
|
|
+ *
|
|
|
+ * @param productSalers 个人物料信息
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-12 19:15
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateProdSaler(List<ProductSaler> productSalers) {
|
|
|
+ Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ for (ProductSaler productSaler : productSalers) {
|
|
|
+ List<Product> prods = productDao.findByEnUUAndCode(enuu, productSaler.getPs_code());
|
|
|
+ if (CollectionUtils.isEmpty(prods)) {
|
|
|
+ throw new NotFoundException("[" + productSaler.getPs_code() + "]物料没找到");
|
|
|
+ } else {
|
|
|
+ Product product = prods.get(0);
|
|
|
+ List<ProductUsers> productUsers = productUsersDao.findByEnuuAndUseruuAndAndPrid(enuu, productSaler.getEm_uu(), product.getId());
|
|
|
+ if (CollectionUtils.isEmpty(productUsers)) {
|
|
|
+ ProductUsers info = new ProductUsers();
|
|
|
+ info.setDate(new Date());
|
|
|
+ info.setEnuu(enuu);
|
|
|
+ info.setPrid(product.getId());
|
|
|
+ info.setUseruu(productSaler.getEm_uu());
|
|
|
+ info.setErpid(productSaler.getPs_id());
|
|
|
+ info = productUsersDao.save(info);
|
|
|
+ erpLogger.log("ERP个人物料信息同步", "关联物料id:" + info.getPrid(), 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ERP取消个人物料同步到平台
|
|
|
+ *
|
|
|
+ * @param productSalers
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-12 19:31
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void quitProdSaler(List<ProductSaler> productSalers) {
|
|
|
+ Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ for (ProductSaler productSaler : productSalers) {
|
|
|
+ ProductUsers prod = productUsersDao.findByEnuuAndUseruuAndErpid(enuu, productSaler.getEm_uu(), productSaler.getPs_id());
|
|
|
+ if (null != prod) {
|
|
|
+ productUsersDao.delete(prod);
|
|
|
+ erpLogger.log("ERP删除个人物料信息同步", "关联物料id: " + prod.getPrid(), 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|