From bc9bd69850c95dacb22c7da4777a1d0470c33722 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <cuizf@fengyuntec.com>
Date: 星期日, 08 九月 2024 16:23:55 +0800
Subject: [PATCH] Merge branch 'master' into master-v2
---
src/main/java/com/mzl/flower/service/payment/OrderService.java | 68 ++++++++++++++++++++++++++++++++++
1 files changed, 68 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index 71d5a97..aa64ad8 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -878,6 +878,74 @@
return ls;
}
+ public List<OrderCheckLocationListDTO> selectOrderCheckLocationList(OrderQueryDTO dto) {
+ dto.setIdList(splitParam(dto.getIds()));
+ dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true));
+ dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false));
+
+ dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1));
+ dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0));
+
+ List<OrderCheckListDTO> ls = orderMapper.selectOrderCheckList(dto);
+
+ List<OrderCheckLocationListDTO> result = new ArrayList<>();
+
+ if (ls != null && ls.size() > 0) {
+ List<String> orderIds = new ArrayList<>();
+ Map<Long, OrderCheckLocationListDTO> rMap = new HashMap<>();
+ Map<String, OrderCheckListDTO> orderMap = new HashMap<>();
+ for (OrderCheckListDTO c : ls) {
+ orderIds.add(c.getId());
+
+ orderMap.put(c.getId(), c);
+
+ Long locationId = c.getWarehouseLocationId();
+ OrderCheckLocationListDTO llc = rMap.get(locationId);
+ if(llc == null){
+ llc = new OrderCheckLocationListDTO();
+ BeanUtils.copyProperties(c, llc);
+ rMap.put(locationId, llc);
+
+ result.add(llc);
+ }
+ }
+
+ Map<Long, String> stationMap = prepareStationMap();
+
+ List<OrderItem> itemList = orderItemMapper.selectList(new QueryWrapper<OrderItem>()
+ .in("order_id", orderIds));
+ Map<String, List<OrderItemLocationListDTO>> map = new HashMap<>();
+
+ for (OrderItem oi : itemList) {
+ String orderId = oi.getOrderId();
+ List<OrderItemLocationListDTO> ll = map.computeIfAbsent(orderId, k -> new ArrayList<>());
+ OrderItemLocationListDTO d = new OrderItemLocationListDTO();
+ BeanUtils.copyProperties(oi, d);
+ d.setStationName(stationMap.get(oi.getStationId()));
+
+ OrderCheckListDTO c = orderMap.get(oi.getOrderId());
+ d.setOrderNo(c.getOrderNo());
+ d.setOrderId(c.getId());
+
+ ll.add(d);
+ }
+
+ for (OrderCheckListDTO c : ls) {
+ String orderId = c.getId();
+ Long locationId = c.getWarehouseLocationId();
+ OrderCheckLocationListDTO r = rMap.get(locationId);
+ List<OrderItemLocationListDTO> items = r.getItems();
+ if(items == null){
+ items = new ArrayList<>();
+ r.setItems(items);
+ }
+ items.addAll(map.get(orderId));
+ }
+ }
+
+ return result;
+ }
+
public Page<OrderListDTO> selectPartnerOrderList(Page page, OrderQueryDTO dto) {
Partner p = getCurrentPartner();
dto.setPartnerId(p.getId());
--
Gitblit v1.9.3