|
@@ -1,110 +1,12 @@
|
|
|
package com.uas.platform.b2b.search;
|
|
package com.uas.platform.b2b.search;
|
|
|
|
|
|
|
|
-import java.lang.reflect.Field;
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Collections;
|
|
|
|
|
-import java.util.Comparator;
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
|
-import java.util.HashSet;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-import java.util.Set;
|
|
|
|
|
-import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
-
|
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
|
|
-
|
|
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
|
|
-
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.uas.account.entity.UserSpaceDetail;
|
|
import com.uas.account.entity.UserSpaceDetail;
|
|
|
import com.uas.account.util.AccountUtils;
|
|
import com.uas.account.util.AccountUtils;
|
|
|
-import com.uas.platform.b2b.dao.BrandDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ComponentDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.DeputyOrderDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.InvitationRecordDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.MakeAcceptDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.MakeOrderChangeItemDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.MakeOrderDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.MakeReturnDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PagingReleaseDetailDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.ProductDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurcInquiryDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurcInquiryItemInfoDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseAcceptDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseApBillDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseApCheckDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseBadInDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseBadOutDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseForecastAllDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseInquiryMouldDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseMRBDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseNoticeDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderChangeDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderDoneDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderEndDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderTodoDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderWaitingDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseProofingApprovalDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseProofingItemDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseProofingSendDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseReturnDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseTenderDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.SaleARCheckDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.SaleQuotationAllDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.SaleSendAllDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.SaleTenderErpDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.VendorDao;
|
|
|
|
|
|
|
+import com.uas.platform.b2b.dao.*;
|
|
|
import com.uas.platform.b2b.erp.model.SaleTenderErp;
|
|
import com.uas.platform.b2b.erp.model.SaleTenderErp;
|
|
|
import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
|
|
import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
|
|
|
-import com.uas.platform.b2b.model.Brand;
|
|
|
|
|
-import com.uas.platform.b2b.model.Component;
|
|
|
|
|
-import com.uas.platform.b2b.model.DeputyOrder;
|
|
|
|
|
-import com.uas.platform.b2b.model.Enterprise;
|
|
|
|
|
-import com.uas.platform.b2b.model.InvitationRecord;
|
|
|
|
|
-import com.uas.platform.b2b.model.MakeAccept;
|
|
|
|
|
-import com.uas.platform.b2b.model.MakeOrder;
|
|
|
|
|
-import com.uas.platform.b2b.model.MakeOrderChangeItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.MakeReturn;
|
|
|
|
|
-import com.uas.platform.b2b.model.PagingReleaseDetail;
|
|
|
|
|
-import com.uas.platform.b2b.model.Product;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurcInquiry;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurcInquiryItemInfo;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseAccept;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseApBill;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseApCheck;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseBadIn;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseBadOut;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseForecastAll;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseInquiryItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseInquiryMould;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseMRB;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseNotice;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderAll;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderChange;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderDone;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderEnd;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderTodo;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderWaiting;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseProofingApproval;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseProofingItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseProofingSend;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseReturn;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseTender;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseTenderProd;
|
|
|
|
|
-import com.uas.platform.b2b.model.SaleARCheck;
|
|
|
|
|
-import com.uas.platform.b2b.model.SaleQuotationAll;
|
|
|
|
|
-import com.uas.platform.b2b.model.SaleSendAll;
|
|
|
|
|
-import com.uas.platform.b2b.model.Vendor;
|
|
|
|
|
|
|
+import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import com.uas.platform.core.persistence.criteria.PredicateFactory;
|
|
import com.uas.platform.core.persistence.criteria.PredicateFactory;
|
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
@@ -112,6 +14,19 @@ import com.uas.search.b2b.model.PageParams;
|
|
|
import com.uas.search.b2b.model.SPage;
|
|
import com.uas.search.b2b.model.SPage;
|
|
|
import com.uas.search.b2b.service.SearchService.Table_name;
|
|
import com.uas.search.b2b.service.SearchService.Table_name;
|
|
|
import com.uas.search.b2b.util.SearchConstants;
|
|
import com.uas.search.b2b.util.SearchConstants;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
+
|
|
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
|
|
+import java.lang.reflect.Field;
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 搜索实现
|
|
* 搜索实现
|
|
@@ -582,79 +497,84 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
|
|
|
public SPage<PurchaseApCheck> searchPurchaseApCheckIds(String keyword, PageParams pageParams) {
|
|
public SPage<PurchaseApCheck> searchPurchaseApCheckIds(String keyword, PageParams pageParams) {
|
|
|
SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.PURC$APCHECK, pageParams);
|
|
SPage<Long> idsPage = searchService.searchIds(keyword, Table_name.PURC$APCHECK, pageParams);
|
|
|
List<PurchaseApCheck> content = purchaseApCheckDao.findAll(idsPage.getContent());
|
|
List<PurchaseApCheck> content = purchaseApCheckDao.findAll(idsPage.getContent());
|
|
|
-// // 对应验退单的应收对账单详情没有物料编号字段,添加物料信息 ---放在单据存到b2b的时候去处理,这里做循环,查看会等很久
|
|
|
|
|
|
|
+ sortByProperty(content, PurchaseApCheck.class, "id", idsPage.getContent());
|
|
|
|
|
+// // 对应验退单的应收对账单详情没有物料编号字段,添加物料信息
|
|
|
|
|
+// List<PurchaseApCheckItem> prodNullList = purchaseApCheckItemDao.findByProdCodeAndProdTitle(null, null);
|
|
|
|
|
+// System.out.println("问题单据条数" + prodNullList.size());
|
|
|
|
|
+// // 对应验退单的应收对账单详情没有物料编号字段,添加物料信息
|
|
|
// List<PurchaseApCheckItem> saveItems = new ArrayList<>();
|
|
// List<PurchaseApCheckItem> saveItems = new ArrayList<>();
|
|
|
-// for (PurchaseApCheck apCheck : content) {
|
|
|
|
|
-// for (PurchaseApCheckItem apCheckItem : apCheck.getItems()) {
|
|
|
|
|
-// if (apCheckItem.getProdCode() != null && apCheckItem.getProdTitle() == null) {
|
|
|
|
|
-// List<Product> products = productDao.findByEnUUAndCode(apCheck.getCustUu(), apCheckItem.getProdCode());
|
|
|
|
|
-// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
-// Product product = products.get(0);
|
|
|
|
|
|
|
+//// for (PurchaseApCheck apCheck : content) {
|
|
|
|
|
+// Integer count = 0;
|
|
|
|
|
+// for (PurchaseApCheckItem apCheckItem : prodNullList) {
|
|
|
|
|
+// count++;
|
|
|
|
|
+// System.out.println("当前正在处理:" + count + ",共" + prodNullList.size());
|
|
|
|
|
+// if (apCheckItem.getProdCode() != null && apCheckItem.getProdTitle() == null) {
|
|
|
|
|
+// List<Product> products = productDao.findByEnUUAndCode(apCheckItem.getApCheck().getCustUu(), apCheckItem.getProdCode());
|
|
|
|
|
+// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
+// Product product = products.get(0);
|
|
|
|
|
+// apCheckItem.setProdTitle(product.getTitle());
|
|
|
|
|
+// apCheckItem.setProdSpec(product.getSpec());
|
|
|
|
|
+// saveItems.add(apCheckItem);
|
|
|
|
|
+// }
|
|
|
|
|
+// } else {
|
|
|
|
|
+// // 正式b2b中来源单据只有采购验收和验退存在产品编号为空的情况,暂时制作这两种的判断
|
|
|
|
|
+// if (apCheckItem.getSourceTable().equals("purc$acceptitem") && null != apCheckItem.getSourceId()){
|
|
|
|
|
+// PurchaseAcceptItem purchaseAcceptItem = purchaseAcceptItemDao.findOne(apCheckItem.getSourceId());
|
|
|
|
|
+// if (null != purchaseAcceptItem && null != purchaseAcceptItem.getProduct()) {
|
|
|
|
|
+// Product product = purchaseAcceptItem.getProduct();
|
|
|
|
|
+// apCheckItem.setProdCode(product.getCode());
|
|
|
// apCheckItem.setProdTitle(product.getTitle());
|
|
// apCheckItem.setProdTitle(product.getTitle());
|
|
|
// apCheckItem.setProdSpec(product.getSpec());
|
|
// apCheckItem.setProdSpec(product.getSpec());
|
|
|
// saveItems.add(apCheckItem);
|
|
// saveItems.add(apCheckItem);
|
|
|
-// }
|
|
|
|
|
-// } else {
|
|
|
|
|
-// // 正式b2b中来源单据只有采购验收和验退存在产品编号为空的情况,暂时制作这两种的判断
|
|
|
|
|
-// if (apCheckItem.getSourceTable().equals("purc$acceptitem") && null != apCheckItem.getSourceId()){
|
|
|
|
|
-// PurchaseAcceptItem purchaseAcceptItem = purchaseAcceptItemDao.findOne(apCheckItem.getSourceId());
|
|
|
|
|
-// if (null != purchaseAcceptItem && null != purchaseAcceptItem.getProduct()) {
|
|
|
|
|
-// Product product = purchaseAcceptItem.getProduct();
|
|
|
|
|
|
|
+// } else if (null != purchaseAcceptItem && null != purchaseAcceptItem.getOrderItem()) {
|
|
|
|
|
+// PurchaseOrderItem item = purchaseAcceptItem.getOrderItem();
|
|
|
|
|
+// if (null != item.getProduct()) {
|
|
|
|
|
+// apCheckItem.setProdCode(item.getProduct().getCode());
|
|
|
|
|
+// apCheckItem.setProdTitle(item.getProduct().getTitle());
|
|
|
|
|
+// apCheckItem.setProdSpec(item.getProduct().getSpec());
|
|
|
|
|
+// saveItems.add(apCheckItem);
|
|
|
|
|
+// }
|
|
|
|
|
+// } else if (null != purchaseAcceptItem && null != purchaseAcceptItem.getProdcode()) {
|
|
|
|
|
+// List<Product> products = productDao.findByEnUUAndCode(apCheckItem.getApCheck().getCustUu(), purchaseAcceptItem.getProdcode());
|
|
|
|
|
+// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
+// Product product = products.get(0);
|
|
|
// apCheckItem.setProdCode(product.getCode());
|
|
// apCheckItem.setProdCode(product.getCode());
|
|
|
// apCheckItem.setProdTitle(product.getTitle());
|
|
// apCheckItem.setProdTitle(product.getTitle());
|
|
|
// apCheckItem.setProdSpec(product.getSpec());
|
|
// apCheckItem.setProdSpec(product.getSpec());
|
|
|
// saveItems.add(apCheckItem);
|
|
// saveItems.add(apCheckItem);
|
|
|
-// } else if (null != purchaseAcceptItem && null != purchaseAcceptItem.getOrderItem()) {
|
|
|
|
|
-// PurchaseOrderItem item = purchaseAcceptItem.getOrderItem();
|
|
|
|
|
-// if (null != item.getProduct()) {
|
|
|
|
|
-// apCheckItem.setProdCode(item.getProduct().getCode());
|
|
|
|
|
-// apCheckItem.setProdTitle(item.getProduct().getTitle());
|
|
|
|
|
-// apCheckItem.setProdSpec(item.getProduct().getSpec());
|
|
|
|
|
-// saveItems.add(apCheckItem);
|
|
|
|
|
-// }
|
|
|
|
|
-// } else if (null != purchaseAcceptItem && null != purchaseAcceptItem.getProdcode()) {
|
|
|
|
|
-// List<Product> products = productDao.findByEnUUAndCode(apCheck.getCustUu(), purchaseAcceptItem.getProdcode());
|
|
|
|
|
-// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
-// Product product = products.get(0);
|
|
|
|
|
-// apCheckItem.setProdCode(product.getCode());
|
|
|
|
|
-// apCheckItem.setProdTitle(product.getTitle());
|
|
|
|
|
-// apCheckItem.setProdSpec(product.getSpec());
|
|
|
|
|
-// saveItems.add(apCheckItem);
|
|
|
|
|
-// }
|
|
|
|
|
// }
|
|
// }
|
|
|
-// } else if (apCheckItem.getSourceTable().equals("purc$returnitem") && null != apCheckItem.getSourceId()) {
|
|
|
|
|
-// PurchaseReturnItem purchaseReturnItem = purchaseReturnItemDao.findOne(apCheckItem.getSourceId());
|
|
|
|
|
-// if (null != purchaseReturnItem && null != purchaseReturnItem.getProduct()) {
|
|
|
|
|
-// Product product = purchaseReturnItem.getProduct();
|
|
|
|
|
|
|
+// }
|
|
|
|
|
+// } else if (apCheckItem.getSourceTable().equals("purc$returnitem") && null != apCheckItem.getSourceId()) {
|
|
|
|
|
+// PurchaseReturnItem purchaseReturnItem = purchaseReturnItemDao.findOne(apCheckItem.getSourceId());
|
|
|
|
|
+// if (null != purchaseReturnItem && null != purchaseReturnItem.getProduct()) {
|
|
|
|
|
+// Product product = purchaseReturnItem.getProduct();
|
|
|
|
|
+// apCheckItem.setProdCode(product.getCode());
|
|
|
|
|
+// apCheckItem.setProdTitle(product.getTitle());
|
|
|
|
|
+// apCheckItem.setProdSpec(product.getSpec());
|
|
|
|
|
+// saveItems.add(apCheckItem);
|
|
|
|
|
+// } else if (null != purchaseReturnItem && null != purchaseReturnItem.getOrderItem()) {
|
|
|
|
|
+// PurchaseOrderItem item = purchaseReturnItem.getOrderItem();
|
|
|
|
|
+// if (null != item.getProduct()) {
|
|
|
|
|
+// apCheckItem.setProdCode(item.getProduct().getCode());
|
|
|
|
|
+// apCheckItem.setProdTitle(item.getProduct().getTitle());
|
|
|
|
|
+// apCheckItem.setProdSpec(item.getProduct().getSpec());
|
|
|
|
|
+// saveItems.add(apCheckItem);
|
|
|
|
|
+// }
|
|
|
|
|
+// } else if (null != purchaseReturnItem && null != purchaseReturnItem.getProdCode()) {
|
|
|
|
|
+// List<Product> products = productDao.findByEnUUAndCode(apCheckItem.getApCheck().getCustUu(), purchaseReturnItem.getProdCode());
|
|
|
|
|
+// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
+// Product product = products.get(0);
|
|
|
// apCheckItem.setProdCode(product.getCode());
|
|
// apCheckItem.setProdCode(product.getCode());
|
|
|
// apCheckItem.setProdTitle(product.getTitle());
|
|
// apCheckItem.setProdTitle(product.getTitle());
|
|
|
// apCheckItem.setProdSpec(product.getSpec());
|
|
// apCheckItem.setProdSpec(product.getSpec());
|
|
|
// saveItems.add(apCheckItem);
|
|
// saveItems.add(apCheckItem);
|
|
|
-// } else if (null != purchaseReturnItem && null != purchaseReturnItem.getOrderItem()) {
|
|
|
|
|
-// PurchaseOrderItem item = purchaseReturnItem.getOrderItem();
|
|
|
|
|
-// if (null != item.getProduct()) {
|
|
|
|
|
-// apCheckItem.setProdCode(item.getProduct().getCode());
|
|
|
|
|
-// apCheckItem.setProdTitle(item.getProduct().getTitle());
|
|
|
|
|
-// apCheckItem.setProdSpec(item.getProduct().getSpec());
|
|
|
|
|
-// saveItems.add(apCheckItem);
|
|
|
|
|
-// }
|
|
|
|
|
-// } else if (null != purchaseReturnItem && null != purchaseReturnItem.getProdCode()) {
|
|
|
|
|
-// List<Product> products = productDao.findByEnUUAndCode(apCheck.getCustUu(), purchaseReturnItem.getProdCode());
|
|
|
|
|
-// if (!CollectionUtils.isEmpty(products)) {
|
|
|
|
|
-// Product product = products.get(0);
|
|
|
|
|
-// apCheckItem.setProdCode(product.getCode());
|
|
|
|
|
-// apCheckItem.setProdTitle(product.getTitle());
|
|
|
|
|
-// apCheckItem.setProdSpec(product.getSpec());
|
|
|
|
|
-// saveItems.add(apCheckItem);
|
|
|
|
|
-// }
|
|
|
|
|
// }
|
|
// }
|
|
|
// }
|
|
// }
|
|
|
// }
|
|
// }
|
|
|
// }
|
|
// }
|
|
|
// }
|
|
// }
|
|
|
|
|
+//// }
|
|
|
// purchaseApCheckItemDao.save(saveItems);
|
|
// purchaseApCheckItemDao.save(saveItems);
|
|
|
-// content = purchaseApCheckDao.findAll(idsPage.getContent());
|
|
|
|
|
- sortByProperty(content, PurchaseApCheck.class, "id", idsPage.getContent());
|
|
|
|
|
return toSPage(idsPage, content);
|
|
return toSPage(idsPage, content);
|
|
|
}
|
|
}
|
|
|
|
|
|