|
|
@@ -1,13 +1,29 @@
|
|
|
package com.uas.platform.b2b.service.impl;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+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.jpa.domain.Specification;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
import com.uas.platform.b2b.dao.CommonDao;
|
|
|
+import com.uas.platform.b2b.dao.SaleQuotationAllDao;
|
|
|
import com.uas.platform.b2b.dao.SaleQuotationDao;
|
|
|
import com.uas.platform.b2b.dao.SaleQuotationItemDao;
|
|
|
-import com.uas.platform.b2b.dao.SaleQuotationItemIndexDao;
|
|
|
import com.uas.platform.b2b.erp.model.Inquiry;
|
|
|
import com.uas.platform.b2b.event.SaleQuotationSaveEvent;
|
|
|
import com.uas.platform.b2b.model.SaleQuotation;
|
|
|
+import com.uas.platform.b2b.model.SaleQuotationAll;
|
|
|
import com.uas.platform.b2b.model.SaleQuotationItem;
|
|
|
import com.uas.platform.b2b.model.SearchFilter;
|
|
|
import com.uas.platform.b2b.service.SaleQuotationService;
|
|
|
@@ -16,20 +32,7 @@ import com.uas.platform.core.exception.NotFoundException;
|
|
|
import com.uas.platform.core.model.PageInfo;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.data.domain.Page;
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-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.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import com.uas.search.b2b.model.SPage;
|
|
|
|
|
|
@Service
|
|
|
public class SaleQuotationServiceImpl implements SaleQuotationService {
|
|
|
@@ -41,8 +44,7 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
|
|
|
private SaleQuotationDao saleQuotationDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private SaleQuotationItemIndexDao SaleQuotationItemIndexDao;
|
|
|
-
|
|
|
+ private SaleQuotationAllDao saleQuotationAllDao;
|
|
|
@Autowired
|
|
|
private CommonDao commonDao;
|
|
|
|
|
|
@@ -131,8 +133,9 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<SaleQuotationItem> findAllDetailByPageInfo(final PageInfo pageInfo,
|
|
|
+ public SPage<SaleQuotationAll> findAllDetailByPageInfo(final PageInfo pageInfo,
|
|
|
final String keyword, final SearchFilter filter) {
|
|
|
+ SPage<SaleQuotationAll> quos = new SPage<SaleQuotationAll>();
|
|
|
if (filter != null) {
|
|
|
if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
pageInfo.expression(PredicateUtils.in("quotation.custUU", filter.getDistribute(), false));
|
|
|
@@ -141,14 +144,17 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
|
|
|
if (filter.getEndDate() != null)
|
|
|
pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
}
|
|
|
- if (StringUtils.hasText(keyword))
|
|
|
- pageInfo.expression(PredicateUtils.in("id", SaleQuotationItemIndexDao.findByEnUUAndKeyword(
|
|
|
- SystemSession.getUser().getEnterprise().getUu(), keyword), false));
|
|
|
- return saleQuotationItemDao.findAll(new Specification<SaleQuotationItem>() {
|
|
|
- public Predicate toPredicate(Root<SaleQuotationItem> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
+ Page<SaleQuotationAll> quotations = saleQuotationAllDao.findAll(new Specification<SaleQuotationAll>() {
|
|
|
+ public Predicate toPredicate(Root<SaleQuotationAll> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
|
|
|
return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
}
|
|
|
}, pageInfo);
|
|
|
+ quos.setContent(quotations.getContent());
|
|
|
+ quos.setPage(quotations.getNumber());
|
|
|
+ quos.setSize(quotations.getSize());
|
|
|
+ quos.setTotalElement(quotations.getTotalElements());
|
|
|
+ quos.setTotalPage(quotations.getTotalPages());
|
|
|
+ return quos;
|
|
|
}
|
|
|
|
|
|
@Override
|