|
|
@@ -1,7 +1,5 @@
|
|
|
package com.uas.ps.product.service.impl;
|
|
|
|
|
|
-import com.uas.platform.core.persistence.criteria.PredicateFactory;
|
|
|
-import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
import com.uas.ps.core.page.PageInfo;
|
|
|
import com.uas.ps.core.util.CollectionUtils;
|
|
|
import com.uas.ps.core.util.StringUtils;
|
|
|
@@ -17,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.Sort;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
+import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.ui.ModelMap;
|
|
|
|
|
|
@@ -42,6 +42,9 @@ public class ProductUsersServiceImpl implements ProductUsersService {
|
|
|
@Autowired
|
|
|
private ProductDao productDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private JdbcTemplate jdbcTemplate;
|
|
|
+
|
|
|
@Override
|
|
|
public ModelMap addNewProduct(Product prodInfo) {
|
|
|
ModelMap map = new ModelMap();
|
|
|
@@ -151,6 +154,7 @@ public class ProductUsersServiceImpl implements ProductUsersService {
|
|
|
*/
|
|
|
@Override
|
|
|
public List<ProductUsers> getProductUsersByEnUUAndCmpCode(final Long enUU, final String cmpCode) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
List<ProductUsers> returnList = new ArrayList<>();
|
|
|
String NONE_KEYWORD = "无";
|
|
|
// 去掉同一企业下同一个人相同原厂型号的不同物料的记录,保证一个原厂型号只发一条
|
|
|
@@ -159,16 +163,11 @@ public class ProductUsersServiceImpl implements ProductUsersService {
|
|
|
if (StringUtils.isEmpty(cmpCode) || NONE_KEYWORD.equals(cmpCode)) {
|
|
|
return returnList;
|
|
|
}
|
|
|
- List<ProductUsers> productUsersList = productUsersDao.findAll(new Specification<ProductUsers>() {
|
|
|
- @Override
|
|
|
- public Predicate toPredicate(Root<ProductUsers> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
|
|
- final PredicateFactory<ProductUsers> factory = new PredicateFactory<>();
|
|
|
- factory.add(PredicateUtils.ne("enuu", enUU, false));
|
|
|
- factory.add(PredicateUtils.eq("product.cmpCode", cmpCode, false));
|
|
|
- query.where(factory.toPredicate(root, query, cb));
|
|
|
- return null;
|
|
|
- }
|
|
|
- });
|
|
|
+ String sql = "select pu_id as id,pu_date as date,pu_enuu as enuu, pu_erpid as erpid, pu_useruu as useruu from product$users cross join products where pu_prid = pr_id and pu_enuu <> "
|
|
|
+ + enUU + " and pr_cmpcode = '" + cmpCode + "'";
|
|
|
+ List<ProductUsers> productUsersList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<ProductUsers>(ProductUsers.class));
|
|
|
+ System.out.println("search" + (System.currentTimeMillis() - start));
|
|
|
+ start = System.currentTimeMillis();
|
|
|
for (ProductUsers productUsers : productUsersList) {
|
|
|
if (null != productUsers.getEnuu() && null != productUsers.getUseruu()) {
|
|
|
String receiverInfo = String.valueOf(productUsers.getEnuu()) + String.valueOf(productUsers.getUseruu());
|
|
|
@@ -178,6 +177,7 @@ public class ProductUsersServiceImpl implements ProductUsersService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ System.out.println("end" + (System.currentTimeMillis() - start));
|
|
|
return returnList;
|
|
|
}
|
|
|
|