|
|
@@ -2,11 +2,10 @@ 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.Inquiry;
|
|
|
import com.uas.platform.b2b.erp.model.QuotationDown;
|
|
|
import com.uas.platform.b2b.erp.model.QuotationDownDetail;
|
|
|
-import com.uas.platform.b2b.event.PurchaseInquiryItemDecideReleaseEvent;
|
|
|
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveEvent;
|
|
|
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
|
|
|
+import com.uas.platform.b2b.event.*;
|
|
|
import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.search.SearchService;
|
|
|
import com.uas.platform.b2b.service.PurchaseInquiryService;
|
|
|
@@ -66,7 +65,7 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
|
|
|
public void save(List<PurchaseInquiryItem> inquiryItems) {
|
|
|
inquiryItems = purchaseInquiryItemDao.save(inquiryItems);
|
|
|
ContextUtils.publishEvent(new PurchaseInquiryItemSaveEvent(inquiryItems));
|
|
|
- ContextUtils.publishEvent(new PurchaseInquiryItemSaveReleaseEvent(inquiryItems));
|
|
|
+ ContextUtils.publishEvent(new PurchaseInquiryItemSaveReleaseEvent(PurchaseInquiryItem.distinct(inquiryItems)));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -258,7 +257,14 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
|
|
|
XingePusher.pushByUserUU(userUU, "询价单回复",
|
|
|
"单号:" + item.getInquiry().getCode() + ",第" + item.getNumber() + "行", "", "");
|
|
|
}
|
|
|
- return purchaseInquiryItemDao.save(inquiryItem);
|
|
|
+ PurchaseInquiryItem purchaseInquiryItem = purchaseInquiryItemDao.save(inquiryItem);
|
|
|
+ // 产生消息
|
|
|
+ if (purchaseInquiryItem.getSourceId() == null) { // b2b的询价单才产生消息,erp的询价单会在erp产生消息
|
|
|
+ List<PurchaseInquiryItem> inquiryItems = new ArrayList<>();
|
|
|
+ inquiryItems.add(purchaseInquiryItem);
|
|
|
+ ContextUtils.publishEvent(new PurchaseInquiryItemReplyReleaseEvent(inquiryItems));
|
|
|
+ }
|
|
|
+ return purchaseInquiryItem;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -364,4 +370,33 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
|
|
|
}
|
|
|
return messages;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onReplyInvalid(List<Inquiry> inquiries) {
|
|
|
+ Long enuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ for (Inquiry inquiry : inquiries) {
|
|
|
+ List<PurchaseInquiry> purchaseInquiries = purchaseInquiryDao.findByEnUUAndSourceId(enuu, inquiry.getIn_id());
|
|
|
+ if (!CollectionUtils.isEmpty(purchaseInquiries)) {
|
|
|
+ PurchaseInquiry purchaseInquiry = purchaseInquiries.get(0);
|
|
|
+ for (PurchaseInquiryItem item : purchaseInquiry.getInquiryItems()) {
|
|
|
+ item.setStatus((short)Status.DISABLED.value());
|
|
|
+ purchaseInquiryItemDao.save(item);
|
|
|
+ }
|
|
|
+ List<PurchaseInquiryItem> newInquiryItems = new ArrayList<>();
|
|
|
+ newInquiryItems.addAll(purchaseInquiry.getInquiryItems());
|
|
|
+ // 触发消息事件
|
|
|
+ ContextUtils.publishEvent(new PurchaseInquiryItemInvalidReleaseEvent(PurchaseInquiryItem.distinct(newInquiryItems)));
|
|
|
+ // 将客户处理报价结果推送通知供应商联系人UU号
|
|
|
+ for (PurchaseInquiryItem item : purchaseInquiry.getInquiryItems()) {
|
|
|
+ PurchaseInquiry inquiry1 = item.getInquiry();
|
|
|
+ String tittle = (item.getAgreed() == Constant.YES) ? "客户同意了您的报价" : "客户不同意您的报价";
|
|
|
+ if (item.getVendUserUU() != null) {
|
|
|
+ UserBaseInfo user = userBaseInfoDao.findOne(item.getVendUserUU());
|
|
|
+ XingePusher.pushByUser(user, tittle,
|
|
|
+ "物料:" + item.getProduct().getTitle() + ",客户:" + inquiry1.getEnterprise().getEnName(), "", "");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|