|
|
@@ -1,52 +1,13 @@
|
|
|
package com.uas.platform.b2b.service.impl;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
-
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
-
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.data.domain.Page;
|
|
|
-import org.springframework.data.domain.Sort.Direction;
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.ui.ModelMap;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
-import org.springframework.util.StringUtils;
|
|
|
-
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
import com.uas.platform.b2b.core.util.ThreadUtils;
|
|
|
-import com.uas.platform.b2b.dao.AttachDao;
|
|
|
-import com.uas.platform.b2b.dao.CommonDao;
|
|
|
-import com.uas.platform.b2b.dao.ProductDao;
|
|
|
-import com.uas.platform.b2b.dao.PurcInquiryItemDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseInquiryDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
|
|
|
-import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
|
|
|
-import com.uas.platform.b2b.dao.UserBaseInfoDao;
|
|
|
+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.PurchaseInquiryItemInvalidReleaseEvent;
|
|
|
-import com.uas.platform.b2b.event.PurchaseInquiryItemReplyReleaseEvent;
|
|
|
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveEvent;
|
|
|
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
|
|
|
-import com.uas.platform.b2b.model.Attach;
|
|
|
-import com.uas.platform.b2b.model.FileUpload;
|
|
|
-import com.uas.platform.b2b.model.Product;
|
|
|
-import com.uas.platform.b2b.model.PurcInquiryItem;
|
|
|
-import com.uas.platform.b2b.model.PurchaseInquiry;
|
|
|
-import com.uas.platform.b2b.model.PurchaseInquiryItem;
|
|
|
-import com.uas.platform.b2b.model.PurchaseInquiryReply;
|
|
|
-import com.uas.platform.b2b.model.SearchFilter;
|
|
|
-import com.uas.platform.b2b.model.UserBaseInfo;
|
|
|
+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.AttachService;
|
|
|
import com.uas.platform.b2b.service.PurchaseInquiryService;
|
|
|
@@ -61,6 +22,20 @@ import com.uas.platform.core.model.PageInfo;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
import com.uas.search.b2b.model.PageParams;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.Sort.Direction;
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.ui.ModelMap;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
|
@Service
|
|
|
@@ -379,9 +354,42 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
|
|
|
|
|
|
@Override
|
|
|
public void check(Long[] sourceIds) {
|
|
|
+ // UAS报价单提交时,需要更新采购询价单明细触发器中的监听字段,触发索引更新,来让待报价但已提交的单据进入已失效列表
|
|
|
+ List<PurchaseInquiryItem> saveItems = new ArrayList<>();
|
|
|
+ for (Long sourceId : sourceIds) {
|
|
|
+ List<PurchaseInquiry> inquiries = purchaseInquiryDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), sourceId);
|
|
|
+ if (!CollectionUtils.isEmpty(inquiries)) {
|
|
|
+ for (PurchaseInquiryItem inquiryItem : inquiries.get(0).getInquiryItems()) {
|
|
|
+ inquiryItem.setOverdue(Constant.YES); // 修改此字段触发索引
|
|
|
+ saveItems.add(inquiryItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ purchaseInquiryItemDao.save(saveItems);
|
|
|
purchaseInquiryDao.updateByCheck(Constant.YES, SystemSession.getUser().getEnterprise().getUu(), sourceIds);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void reCheck(Long[] sourceIds) {
|
|
|
+ // UAS报价单反提交时,需要更新采购询价单明细触发器中的监听字段,触发索引更新,来让待报价被反提交的单据从已失效回到待报价列表
|
|
|
+ List<PurchaseInquiryItem> saveItems = new ArrayList<>();
|
|
|
+ List<PurchaseInquiry> saveInquiries = new ArrayList<>();
|
|
|
+ for (Long sourceId : sourceIds) {
|
|
|
+ List<PurchaseInquiry> inquiries = purchaseInquiryDao.findByEnUUAndSourceId(SystemSession.getUser().getEnterprise().getUu(), sourceId);
|
|
|
+ if (!CollectionUtils.isEmpty(inquiries)) {
|
|
|
+ PurchaseInquiry inquiry = inquiries.get(0);
|
|
|
+ inquiry.setCheck(Constant.NO); // 反提交
|
|
|
+ saveInquiries.add(inquiry);
|
|
|
+ for (PurchaseInquiryItem inquiryItem : inquiry.getInquiryItems()) {
|
|
|
+ inquiryItem.setOverdue(Constant.NO); // 修改此字段触发索引
|
|
|
+ saveItems.add(inquiryItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ purchaseInquiryDao.save(saveInquiries);
|
|
|
+ purchaseInquiryItemDao.save(saveItems);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Long getAllCount() {
|
|
|
return purchaseInquiryItemDao.countByVendUU(SystemSession.getUser().getEnterprise().getUu());
|