|
|
@@ -24,7 +24,9 @@ import javax.persistence.criteria.Root;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
* Created by hejq on 2017-11-08.
|
|
|
@@ -207,16 +209,27 @@ public class ProductUsersServiceImpl implements ProductUsersService {
|
|
|
*/
|
|
|
@Override
|
|
|
public List<ProductUsers> getProductUsersByEnUUAndCmpCode(final Long enUU, final String cmpCode) {
|
|
|
- return productUsersDao.findAll(new Specification<ProductUsers>() {
|
|
|
+ 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));
|
|
|
+ factory.add(PredicateUtils.and (PredicateUtils.isNotNull("product.cmpCode"), PredicateUtils.eq("product.cmpCode", cmpCode, false)));
|
|
|
query.where(factory.toPredicate(root, query, cb));
|
|
|
return null;
|
|
|
}
|
|
|
});
|
|
|
+ // 去掉同一企业下同一个人相同原厂型号的不同物料的记录,保证一个原厂型号只发一条
|
|
|
+ List<ProductUsers> returnList = new ArrayList<>();
|
|
|
+ Set<String> enUUAndUserUUs = new HashSet<>();
|
|
|
+ for (ProductUsers productUsers : productUsersList) {
|
|
|
+ String receiverInfo = productUsers.getEnuu().toString() + productUsers.getUseruu().toString();
|
|
|
+ if (!enUUAndUserUUs.contains(receiverInfo)) {
|
|
|
+ returnList.add(productUsers);
|
|
|
+ enUUAndUserUUs.add(receiverInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return returnList;
|
|
|
}
|
|
|
|
|
|
/**
|