|
@@ -1,24 +1,11 @@
|
|
|
package com.uas.platform.b2b.service.impl;
|
|
package com.uas.platform.b2b.service.impl;
|
|
|
|
|
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
-import com.uas.platform.b2b.dao.CommonDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ProductDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ProductMatchResultDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ProductStatusDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ProductStoreStatusDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ProductUsersDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.UserOrderDao;
|
|
|
|
|
|
|
+import com.uas.platform.b2b.dao.*;
|
|
|
import com.uas.platform.b2b.erp.model.ProductSaler;
|
|
import com.uas.platform.b2b.erp.model.ProductSaler;
|
|
|
import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
|
|
import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
|
|
|
import com.uas.platform.b2b.event.ProductSaveEvent;
|
|
import com.uas.platform.b2b.event.ProductSaveEvent;
|
|
|
-import com.uas.platform.b2b.model.Component;
|
|
|
|
|
-import com.uas.platform.b2b.model.Product;
|
|
|
|
|
-import com.uas.platform.b2b.model.ProductMatchResult;
|
|
|
|
|
-import com.uas.platform.b2b.model.ProductStatus;
|
|
|
|
|
-import com.uas.platform.b2b.model.ProductStoreStatus;
|
|
|
|
|
-import com.uas.platform.b2b.model.ProductUsers;
|
|
|
|
|
-import com.uas.platform.b2b.model.UpdateType;
|
|
|
|
|
-import com.uas.platform.b2b.ps.ProductUtils;
|
|
|
|
|
|
|
+import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.search.SearchService;
|
|
import com.uas.platform.b2b.search.SearchService;
|
|
|
import com.uas.platform.b2b.service.ComponentService;
|
|
import com.uas.platform.b2b.service.ComponentService;
|
|
|
import com.uas.platform.b2b.service.ProductService;
|
|
import com.uas.platform.b2b.service.ProductService;
|
|
@@ -77,7 +64,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
private ProductUsersDao productUsersDao;
|
|
private ProductUsersDao productUsersDao;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private ProductStatusDao productStatusDao;
|
|
|
|
|
|
|
+ private ProductStatusDao productStatusDao;
|
|
|
|
|
|
|
|
private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
|
|
private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
|
|
|
|
|
|
|
@@ -111,12 +98,10 @@ public class ProductServiceImpl implements ProductService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void unlock(Long id) {
|
|
public void unlock(Long id) {
|
|
|
- // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
|
|
|
|
|
try {
|
|
try {
|
|
|
- Product prod = productDao.findOne(id);
|
|
|
|
|
- prod.setIsSale(Constant.YES);
|
|
|
|
|
- ProductUtils.switchProduct(id, "sale", (int) Constant.YES);
|
|
|
|
|
- productDao.save(prod);
|
|
|
|
|
|
|
+ Product prod = productDao.findOne(id);
|
|
|
|
|
+ prod.setIsSale(Constant.YES);
|
|
|
|
|
+ productDao.save(prod);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
@@ -125,12 +110,10 @@ public class ProductServiceImpl implements ProductService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void lock(Long id) {
|
|
public void lock(Long id) {
|
|
|
- // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
|
|
|
|
|
try {
|
|
try {
|
|
|
- Product prod = productDao.findOne(id);
|
|
|
|
|
- prod.setIsSale(Constant.YES);
|
|
|
|
|
- ProductUtils.switchProduct(id, "sale", (int) Constant.NO);
|
|
|
|
|
- productDao.save(prod);
|
|
|
|
|
|
|
+ Product prod = productDao.findOne(id);
|
|
|
|
|
+ prod.setIsSale(Constant.NO);
|
|
|
|
|
+ productDao.save(prod);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
@@ -138,12 +121,10 @@ public class ProductServiceImpl implements ProductService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void unlockPurc(Long id) {
|
|
public void unlockPurc(Long id) {
|
|
|
- // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
|
|
|
|
|
try {
|
|
try {
|
|
|
Product prod = productDao.findOne(id);
|
|
Product prod = productDao.findOne(id);
|
|
|
prod.setIsPurchase(Constant.YES);
|
|
prod.setIsPurchase(Constant.YES);
|
|
|
- ProductUtils.switchProduct(id, "purc", (int) Constant.YES);
|
|
|
|
|
- productDao.save(prod);
|
|
|
|
|
|
|
+ productDao.save(prod);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
@@ -151,12 +132,10 @@ public class ProductServiceImpl implements ProductService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void lockPurc(Long id) {
|
|
public void lockPurc(Long id) {
|
|
|
- // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
|
|
|
|
|
try {
|
|
try {
|
|
|
Product prod = productDao.findOne(id);
|
|
Product prod = productDao.findOne(id);
|
|
|
prod.setIsPurchase(Constant.NO);
|
|
prod.setIsPurchase(Constant.NO);
|
|
|
- ProductUtils.switchProduct(id, "purc", (int) Constant.NO);
|
|
|
|
|
- productDao.save(prod);
|
|
|
|
|
|
|
+ productDao.save(prod);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
@@ -186,7 +165,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public ModelMap alterByBatch(UpdateByBatchParameter param) throws Exception {
|
|
|
|
|
|
|
+ public ModelMap alterByBatch(UpdateByBatchParameter param) {
|
|
|
ModelMap map = new ModelMap();
|
|
ModelMap map = new ModelMap();
|
|
|
Integer size = 0;
|
|
Integer size = 0;
|
|
|
List<Product> prods = new ArrayList<Product>();
|
|
List<Product> prods = new ArrayList<Product>();
|
|
@@ -208,10 +187,10 @@ public class ProductServiceImpl implements ProductService {
|
|
|
product.setBrand(param.getNewvalue());
|
|
product.setBrand(param.getNewvalue());
|
|
|
prods.add(product);
|
|
prods.add(product);
|
|
|
}
|
|
}
|
|
|
- size = prods.size();
|
|
|
|
|
- }
|
|
|
|
|
- ProductUtils.update(prods);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ size = prods.size();
|
|
|
|
|
+ productDao.save(prods);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
} else if (param.getUpdatetype().equals(UpdateType.TITLEUPDATE.getPhrase())) {
|
|
} else if (param.getUpdatetype().equals(UpdateType.TITLEUPDATE.getPhrase())) {
|
|
|
List<Product> products = new ArrayList<Product>();
|
|
List<Product> products = new ArrayList<Product>();
|
|
@@ -229,11 +208,11 @@ public class ProductServiceImpl implements ProductService {
|
|
|
for (Product product : products) {
|
|
for (Product product : products) {
|
|
|
if (product.getCmpUuId() == null) {
|
|
if (product.getCmpUuId() == null) {
|
|
|
product.setTitle(param.getNewvalue());
|
|
product.setTitle(param.getNewvalue());
|
|
|
|
|
+ productDao.save(product);
|
|
|
prods.add(product);
|
|
prods.add(product);
|
|
|
}
|
|
}
|
|
|
size = prods.size();
|
|
size = prods.size();
|
|
|
}
|
|
}
|
|
|
- ProductUtils.update(prods);
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
map.put("success", param.getUpdatetype() + "修改成功,更新数量为" + size);
|
|
map.put("success", param.getUpdatetype() + "修改成功,更新数量为" + size);
|
|
@@ -268,7 +247,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public ModelMap matchall(String matchtype) throws Exception{
|
|
|
|
|
|
|
+ public ModelMap matchall(String matchtype) {
|
|
|
ModelMap map = new ModelMap();
|
|
ModelMap map = new ModelMap();
|
|
|
boolean flag = true;
|
|
boolean flag = true;
|
|
|
ProductStoreStatus status = productStoreStatusDao.findByEnuu(SystemSession.getUser().getEnterprise().getUu());
|
|
ProductStoreStatus status = productStoreStatusDao.findByEnuu(SystemSession.getUser().getEnterprise().getUu());
|
|
@@ -290,19 +269,21 @@ public class ProductServiceImpl implements ProductService {
|
|
|
}
|
|
}
|
|
|
String num = null;
|
|
String num = null;
|
|
|
if (flag) {
|
|
if (flag) {
|
|
|
-// if (matchtype.equals("sale")) {
|
|
|
|
|
-// num = productDao.upateResultByEnuuForSale(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
-// logger.log("产品匹配", "一键匹配了产品信息", "大小" + num);
|
|
|
|
|
-// } else if (matchtype.equals("purc")) {
|
|
|
|
|
-// num = productDao.upateResultByEnuuForPurc(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
-// logger.log("物料匹配", "一键匹配了物料信息", "大小" + num);
|
|
|
|
|
-// } else if (matchtype.equals("all")) {
|
|
|
|
|
-// num = productDao.upateResultByEnuu(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
-// logger.log("物料匹配", "一键匹配了产品(物料)信息", "大小" + num);
|
|
|
|
|
-// }
|
|
|
|
|
- // 调用公共服务一键匹配
|
|
|
|
|
- ProductUtils.matchAll(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
- map.put("success", "一键匹配成功");
|
|
|
|
|
|
|
+ if (matchtype.equals("sale")) {
|
|
|
|
|
+ num = productDao.upateResultByEnuuForSale(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
+ logger.log("产品匹配", "一键匹配了产品信息", "大小" + num);
|
|
|
|
|
+ } else if (matchtype.equals("purc")) {
|
|
|
|
|
+ num = productDao.upateResultByEnuuForPurc(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
+ logger.log("物料匹配", "一键匹配了物料信息", "大小" + num);
|
|
|
|
|
+ } else if (matchtype.equals("all")) {
|
|
|
|
|
+ num = productDao.upateResultByEnuu(SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
+ logger.log("物料匹配", "一键匹配了产品(物料)信息", "大小" + num);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (null == num) {
|
|
|
|
|
+ map.put("size", 0);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ map.put("size", num);
|
|
|
|
|
+ }
|
|
|
status.setStatus(Status.FINISH.value());
|
|
status.setStatus(Status.FINISH.value());
|
|
|
productStoreStatusDao.save(status);
|
|
productStoreStatusDao.save(status);
|
|
|
}
|
|
}
|
|
@@ -342,7 +323,7 @@ public class ProductServiceImpl implements ProductService {
|
|
|
productStatus.setB2bDisabled(Constant.NO);
|
|
productStatus.setB2bDisabled(Constant.NO);
|
|
|
}
|
|
}
|
|
|
try {
|
|
try {
|
|
|
- ProductUtils.updateOne(prod);
|
|
|
|
|
|
|
+ prod = productDao.save(prod);
|
|
|
// 保存物料禁用状态信息
|
|
// 保存物料禁用状态信息
|
|
|
productStatusDao.save(productStatus);
|
|
productStatusDao.save(productStatus);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -363,19 +344,19 @@ public class ProductServiceImpl implements ProductService {
|
|
|
int size1 = idStrings.size();
|
|
int size1 = idStrings.size();
|
|
|
int size2 = 0;
|
|
int size2 = 0;
|
|
|
if (status) {
|
|
if (status) {
|
|
|
-// List<Product> products = productDao.findByEnUUAndMatchstatus(
|
|
|
|
|
-// SystemSession.getUser().getEnterprise().getUu(),
|
|
|
|
|
-// Status.SUBMITTED.value());
|
|
|
|
|
-// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
-// for (Product porduct : products) {
|
|
|
|
|
-// if (porduct.getMatchresults().size() == 1) {
|
|
|
|
|
-// for (ProductMatchResult result : porduct.getMatchresults()) {
|
|
|
|
|
-// refreshproduct(result.getId());
|
|
|
|
|
-// size2 = size2 + 1;
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ // List<Product> products = productDao.findByEnUUAndMatchstatus(
|
|
|
|
|
+ // SystemSession.getUser().getEnterprise().getUu(),
|
|
|
|
|
+ // Status.SUBMITTED.value());
|
|
|
|
|
+ // if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
+ // for (Product porduct : products) {
|
|
|
|
|
+ // if (porduct.getMatchresults().size() == 1) {
|
|
|
|
|
+ // for (ProductMatchResult result : porduct.getMatchresults()) {
|
|
|
|
|
+ // refreshproduct(result.getId());
|
|
|
|
|
+ // size2 = size2 + 1;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
|
|
+ // }
|
|
|
String num = productDao.upateProductByEnuuAndType(SystemSession.getUser().getEnterprise().getUu(), type);
|
|
String num = productDao.upateProductByEnuuAndType(SystemSession.getUser().getEnterprise().getUu(), type);
|
|
|
if (num != null) {
|
|
if (num != null) {
|
|
|
size2 = Integer.valueOf(num);
|
|
size2 = Integer.valueOf(num);
|
|
@@ -389,10 +370,34 @@ public class ProductServiceImpl implements ProductService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<ProductMatchResult> matchaone(Long id) throws Exception {
|
|
public List<ProductMatchResult> matchaone(Long id) throws Exception {
|
|
|
- List<Long> ids = new ArrayList<>();
|
|
|
|
|
- ids.add(id);
|
|
|
|
|
- ProductUtils.matchChoose(SystemSession.getUser().getEnterprise().getUu(), ids);
|
|
|
|
|
- return null;
|
|
|
|
|
|
|
+ List<ProductMatchResult> results = productMatchResultDao.findByPrid(id);
|
|
|
|
|
+ if (CollectionUtils.isEmpty(results)) {// 如果还没有匹配过,再次进行匹配
|
|
|
|
|
+ Product prod = productDao.findOne(id);
|
|
|
|
|
+ if (prod != null) {
|
|
|
|
|
+ List<Component> components = componentService.findByCode(prod.getCmpCode());
|
|
|
|
|
+ short i = 1;
|
|
|
|
|
+ results = new ArrayList<ProductMatchResult>();
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(components)) {
|
|
|
|
|
+ for (Component cmp : components) {
|
|
|
|
|
+ ProductMatchResult re = new ProductMatchResult();
|
|
|
|
|
+ re.setBrandcn(cmp.getBrand().getNameCn());
|
|
|
|
|
+ re.setBranden(cmp.getBrand().getNameEn());
|
|
|
|
|
+ re.setBrid(cmp.getBrandid());
|
|
|
|
|
+ re.setCmpcode(cmp.getCode());
|
|
|
|
|
+ re.setCmpid(cmp.getId());
|
|
|
|
|
+ re.setKindcn(cmp.getKind().getNameCn());
|
|
|
|
|
+ re.setKinden(cmp.getKind().getNameEn());
|
|
|
|
|
+ re.setKindid(cmp.getKindid());
|
|
|
|
|
+ re.setNumber(i);
|
|
|
|
|
+ re.setPrid(id);
|
|
|
|
|
+ re.setUuid(cmp.getUuid());
|
|
|
|
|
+ results.add(re);
|
|
|
|
|
+ }
|
|
|
|
|
+ results = productMatchResultDao.save(results);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return results;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|