|
@@ -14,6 +14,8 @@ import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
import javax.persistence.criteria.Root;
|
|
|
import javax.persistence.criteria.SetJoin;
|
|
import javax.persistence.criteria.SetJoin;
|
|
|
|
|
|
|
|
|
|
+import com.uas.platform.b2b.dao.*;
|
|
|
|
|
+import com.uas.platform.b2b.model.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
@@ -25,53 +27,9 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
import com.uas.platform.b2b.core.util.ThreadTask;
|
|
import com.uas.platform.b2b.core.util.ThreadTask;
|
|
|
-import com.uas.platform.b2b.dao.DistributeDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PagingReleaseDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PrintLogDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurcOrderInfoItemDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderAllItemDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderDoneDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderEndDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderReplyDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderTodoDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.PurchaseOrderWaitingDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.RoleDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.UserBaseInfoDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.UserDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.UserOrderDao;
|
|
|
|
|
-import com.uas.platform.b2b.dao.VendorDao;
|
|
|
|
|
import com.uas.platform.b2b.event.PurchaseOrderEndReleaseEvent;
|
|
import com.uas.platform.b2b.event.PurchaseOrderEndReleaseEvent;
|
|
|
import com.uas.platform.b2b.event.PurchaseOrderReplyReleaseEvent;
|
|
import com.uas.platform.b2b.event.PurchaseOrderReplyReleaseEvent;
|
|
|
import com.uas.platform.b2b.event.PurchaseOrderSaveReleaseEvent;
|
|
import com.uas.platform.b2b.event.PurchaseOrderSaveReleaseEvent;
|
|
|
-import com.uas.platform.b2b.model.Distribute;
|
|
|
|
|
-import com.uas.platform.b2b.model.Enterprise;
|
|
|
|
|
-import com.uas.platform.b2b.model.PagingRelease;
|
|
|
|
|
-import com.uas.platform.b2b.model.PrintLog;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurcOrderInfoItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrder;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderAll;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderAllItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderDone;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderDoneItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderEnd;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderEndItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderInfo;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderReply;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderTodo;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderTodoItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderWaiting;
|
|
|
|
|
-import com.uas.platform.b2b.model.PurchaseOrderWaitingItem;
|
|
|
|
|
-import com.uas.platform.b2b.model.Role;
|
|
|
|
|
-import com.uas.platform.b2b.model.SearchFilter;
|
|
|
|
|
-import com.uas.platform.b2b.model.User;
|
|
|
|
|
-import com.uas.platform.b2b.model.UserBaseInfo;
|
|
|
|
|
-import com.uas.platform.b2b.model.UserOrders;
|
|
|
|
|
-import com.uas.platform.b2b.model.Vendor;
|
|
|
|
|
import com.uas.platform.b2b.search.SearchService;
|
|
import com.uas.platform.b2b.search.SearchService;
|
|
|
import com.uas.platform.b2b.service.PurchaseOrderService;
|
|
import com.uas.platform.b2b.service.PurchaseOrderService;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
@@ -112,6 +70,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PurchaseOrderWaitingDao purchaseOrderWaitingDao;
|
|
private PurchaseOrderWaitingDao purchaseOrderWaitingDao;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private PurchaseOrderReceivedDao purchaseOrderReceivedDao;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PurchaseOrderItemDao purchaseOrderItemDao;
|
|
private PurchaseOrderItemDao purchaseOrderItemDao;
|
|
|
|
|
|
|
@@ -708,6 +669,61 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
return pageOrders;
|
|
return pageOrders;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Page<PurchaseOrderReceived> findReceivedByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
|
|
|
+ if (filter != null) {
|
|
|
|
|
+ if (StringUtils.hasText(filter.getKeyword())) {
|
|
|
|
|
+ List<Object> lists = new ArrayList<>();
|
|
|
|
|
+ PageParams pageParams = new PageParams();
|
|
|
|
|
+ ModelMap map = new ModelMap();
|
|
|
|
|
+ map.put("pu_venduu", SystemSession.getUser().getEnterprise().getUu());
|
|
|
|
|
+ pageParams.setFilters(map);
|
|
|
|
|
+ for (PurchaseOrderWaiting list : searchService
|
|
|
|
|
+ .searchPurchaseWaitingOrderIds(filter.getKeyword(), pageParams).getContent()) {
|
|
|
|
|
+ lists.add(list.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("id", lists, false));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (filter.getFromDate() != null)
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
|
|
|
|
|
+ if (filter.getEndDate() != null)
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(filter.getDistribute()))
|
|
|
|
|
+ pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
|
|
|
|
|
+ }
|
|
|
|
|
+ Page<PurchaseOrderReceived> pageOrders = purchaseOrderReceivedDao
|
|
|
|
|
+ .findAll(new Specification<PurchaseOrderReceived>() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Predicate toPredicate(Root<PurchaseOrderReceived> root, CriteriaQuery<?> query,
|
|
|
|
|
+ CriteriaBuilder builder) {
|
|
|
|
|
+ return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
|
|
|
|
|
+ }
|
|
|
|
|
+ }, pageInfo);
|
|
|
|
|
+ List<PurchaseOrderReceived> orders = pageOrders.getContent();
|
|
|
|
|
+ for (PurchaseOrderReceived order : orders) {
|
|
|
|
|
+ Enterprise enter = enterpriseDao.findEnterpriseByUu(order.getVendUU());
|
|
|
|
|
+ if (enter != null) {
|
|
|
|
|
+ order.setEnName(enter.getEnName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 明细包含关键词
|
|
|
|
|
+ if (filter != null && StringUtils.hasText(filter.getKeyword())) {
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(orders)) {
|
|
|
|
|
+ for (PurchaseOrderReceived order : orders) {
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(order.getOrderItems())) {
|
|
|
|
|
+ for (PurchaseOrderReceivedItem orderItem : order.getOrderItems()) {
|
|
|
|
|
+ if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
|
|
|
|
|
+ orderItem.setKey(true);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return pageOrders;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public Page<PurchaseOrderWaiting> findWaitingByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
public Page<PurchaseOrderWaiting> findWaitingByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
|
|
|
if (filter != null) {
|
|
if (filter != null) {
|
|
@@ -1173,6 +1189,18 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|
|
return purcorders;
|
|
return purcorders;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public SPage<PurchaseOrderReceived> findReceivedOrders(PageInfo pageInfo, SearchFilter filter) {
|
|
|
|
|
+ SPage<PurchaseOrderReceived> purcorders = new SPage<PurchaseOrderReceived>();
|
|
|
|
|
+ Page<PurchaseOrderReceived> orders = findReceivedByPageInfo(pageInfo, filter);
|
|
|
|
|
+ purcorders.setContent(orders.getContent());
|
|
|
|
|
+ purcorders.setPage(orders.getNumber());
|
|
|
|
|
+ purcorders.setSize(orders.getSize());
|
|
|
|
|
+ purcorders.setTotalElement(orders.getTotalElements());
|
|
|
|
|
+ purcorders.setTotalPage(orders.getTotalPages());
|
|
|
|
|
+ return purcorders;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public SPage<PurchaseOrderWaiting> findWaitingOrders(PageInfo pageInfo, SearchFilter filter) {
|
|
public SPage<PurchaseOrderWaiting> findWaitingOrders(PageInfo pageInfo, SearchFilter filter) {
|
|
|
SPage<PurchaseOrderWaiting> purcorders = new SPage<PurchaseOrderWaiting>();
|
|
SPage<PurchaseOrderWaiting> purcorders = new SPage<PurchaseOrderWaiting>();
|