|
|
@@ -219,10 +219,10 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
HttpUtil.Response res = HttpUtil.sendGetRequest(url, formData);
|
|
|
if (res.getStatusCode() == 200) {
|
|
|
List<ProductUsers> users = FlexJsonUtils.fromJsonArray(res.getResponseText(), ProductUsers.class);
|
|
|
- List<ProductReplace> productReplaces = getProductReplaceByEnUUAndCmpCode(item.getInquiry().getEnUU(), cmpCode, users);
|
|
|
- if (!CollectionUtils.isEmpty(productReplaces)) {
|
|
|
+ users = getProductReplaceByEnUUAndCmpCode(item.getInquiry().getEnUU(), cmpCode, users);
|
|
|
+ if (!CollectionUtils.isEmpty(users)) {
|
|
|
List<MessageModel> models = new ArrayList<MessageModel>();
|
|
|
- for (ProductReplace user : productReplaces) {
|
|
|
+ for (ProductUsers user : users) {
|
|
|
User u = userDao.findOne(null != item.getInquiry().getRecorderUU() ? item.getInquiry().getRecorderUU() : 0L);
|
|
|
Enterprise e = enterpriseDao.findOne(item.getInquiry().getEnUU());
|
|
|
String cmp = cmpCode.length() > 10 ? cmpCode.substring(0, 10).concat("...") : cmpCode;
|
|
|
@@ -241,7 +241,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
model.setRemark(String.valueOf(item.getInquiry().getId()));
|
|
|
model.setSourceId(item.getId());
|
|
|
model.setReceiverEnuu(user.getEnuu());
|
|
|
- model.setReceiverUu(user.getUserUU());
|
|
|
+ model.setReceiverUu(user.getUseruu());
|
|
|
model.setSenderEnuu(item.getInquiry().getEnUU());
|
|
|
if (null != item.getUserUU() || null != item.getInquiry().getRecorderUU()) {
|
|
|
model.setSenderUu(item.getUserUU() != null ? item.getUserUU() : item.getInquiry().getRecorderUU());
|
|
|
@@ -253,7 +253,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
model.setMailTemplate(MAIL_TEMP_ID);
|
|
|
model.setSmTemplate(SMS_TEMP_ID);
|
|
|
models.add(model);
|
|
|
- logger.log("公共询价产生消息", "根据物料型号【" + cmpCode + "】查询接收人", "关联询价单明细【" + item.getId() + "】", user.getUserUU(), user.getEnuu(), InquirySource.ERP.name());
|
|
|
+ logger.log("公共询价产生消息", "根据物料型号【" + cmpCode + "】查询接收人", "关联询价单明细【" + item.getId() + "】", user.getUseruu(), user.getEnuu(), InquirySource.ERP.name());
|
|
|
}
|
|
|
if (!CollectionUtils.isEmpty(models)) {
|
|
|
sendMessage(models);
|
|
|
@@ -279,7 +279,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
* @param cmpCode 物料原厂型号
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<ProductReplace> getProductReplaceByEnUUAndCmpCode(final Long enUU, final String cmpCode, List<ProductUsers> productUsers) {
|
|
|
+ public List<ProductUsers> getProductReplaceByEnUUAndCmpCode(final Long enUU, final String cmpCode, List<ProductUsers> productUsers) {
|
|
|
List<ProductReplace> productReplacesList = productReplaceDao.findAll(new Specification<ProductReplace>() {
|
|
|
@Override
|
|
|
public Predicate toPredicate(Root<ProductReplace> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
|
|
@@ -290,21 +290,21 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
return null;
|
|
|
}
|
|
|
});
|
|
|
- if (!CollectionUtils.isEmpty(productUsers)) {
|
|
|
- for (ProductUsers user:productUsers) {
|
|
|
- ProductReplace productReplace = new ProductReplace();
|
|
|
- productReplace.setEnuu(user.getEnuu());
|
|
|
- productReplace.setUserUU(user.getUseruu());
|
|
|
- productReplacesList.add(productReplace);
|
|
|
+ if (!CollectionUtils.isEmpty(productReplacesList)) {
|
|
|
+ for (ProductReplace productReplace:productReplacesList) {
|
|
|
+ ProductUsers user = new ProductUsers();
|
|
|
+ user.setEnuu(productReplace.getEnuu());
|
|
|
+ user.setUseruu(productReplace.getUserUU());
|
|
|
+ productUsers.add(user);
|
|
|
}
|
|
|
}
|
|
|
// 去掉同一企业下同一个人相同原厂型号的不同物料的记录,保证一个原厂型号只发一条
|
|
|
- List<ProductReplace> returnList = new ArrayList<>();
|
|
|
+ List<ProductUsers> returnList = new ArrayList<>();
|
|
|
Set<String> enUUAndUserUUs = new HashSet<>();
|
|
|
- for (ProductReplace productReplace : productReplacesList) {
|
|
|
- String receiverInfo = productReplace.getEnuu().toString() + productReplace.getUserUU().toString();
|
|
|
+ for (ProductUsers user : productUsers) {
|
|
|
+ String receiverInfo = user.getEnuu().toString() + user.getUseruu().toString();
|
|
|
if (!enUUAndUserUUs.contains(receiverInfo)) {
|
|
|
- returnList.add(productReplace);
|
|
|
+ returnList.add(user);
|
|
|
enUUAndUserUUs.add(receiverInfo);
|
|
|
}
|
|
|
}
|
|
|
@@ -324,9 +324,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
try {
|
|
|
for (ProductUsers u : users) {
|
|
|
List<InquiryRemind> remindList = remindDao.findByVendUserUUAndVendUUAndItemId(u.getUseruu(), u.getEnuu(), item.getId());
|
|
|
- if (remindList.size() == 0 && item.getInquiry().getEnUU() != null &&
|
|
|
- ((item.getProduct() != null && item.getProduct().getCmpCode().equalsIgnoreCase(u.getProduct().getCmpCode())) ||
|
|
|
- item.getCmpCode().equalsIgnoreCase(u.getProduct().getCmpCode()))) {
|
|
|
+ if (remindList.size() == 0 && item.getInquiry().getEnUU() != null) {
|
|
|
Enterprise enterprise = enterpriseDao.findOne(item.getInquiry().getEnUU());
|
|
|
InquiryRemind remind = new InquiryRemind();
|
|
|
remind.setEnName(enterprise.getEnName());
|
|
|
@@ -963,7 +961,12 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
SimpleExpression title = new SimpleExpression("prodTitle", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
SimpleExpression code = new SimpleExpression("inquiry.code", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
SimpleExpression enName = new SimpleExpression("inquiry.enName", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
|
|
|
- SimpleExpression[] simpleExpressions = new SimpleExpression[]{cmpCode, brand, code, title, enName};
|
|
|
+ SimpleExpression[] simpleExpressions = null;
|
|
|
+ if (!StringUtils.isEmpty(filter.getIsLogin()) && filter.getIsLogin() == 0) {
|
|
|
+ simpleExpressions = new SimpleExpression[]{cmpCode, brand, code, title};
|
|
|
+ } else {
|
|
|
+ simpleExpressions = new SimpleExpression[]{cmpCode, brand, code, title, enName};
|
|
|
+ }
|
|
|
LogicalExpression logical = new LogicalExpression(simpleExpressions, CriterionExpression.Operator.OR);
|
|
|
info.expression(logical);
|
|
|
}
|