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/web/payment/OrderController.java | 7 ++
src/main/java/com/mzl/flower/dto/response/payment/OrderItemLocationListDTO.java | 15 +++++
src/main/java/com/mzl/flower/service/payment/OrderService.java | 68 ++++++++++++++++++++++
src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java | 4 +
src/main/java/com/mzl/flower/dto/response/payment/OrderCheckLocationListDTO.java | 43 ++++++++++++++
src/main/resources/mapper/payment/OrderMapper.xml | 2
6 files changed, 138 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java b/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java
index 24c9cbc..2ba18f0 100644
--- a/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java
+++ b/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckListDTO.java
@@ -15,9 +15,13 @@
private String partnerName;//合伙人名称
+ private Long warehouseId;//仓库id
+
@ApiModelProperty(value = "仓库名称")
private String warehouseName;
+ private Long warehouseLocationId;//库位id
+
@ApiModelProperty(value = "库位名称")
private String warehouseLocationCode;
diff --git a/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckLocationListDTO.java b/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckLocationListDTO.java
new file mode 100644
index 0000000..f1f14bd
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/payment/OrderCheckLocationListDTO.java
@@ -0,0 +1,43 @@
+package com.mzl.flower.dto.response.payment;
+
+import com.mzl.flower.base.AbstractTransDTO;
+import com.mzl.flower.base.annotation.DictTrans;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderCheckLocationListDTO extends AbstractTransDTO {
+ private Long partnerId;//合伙人id
+
+ private String partnerName;//合伙人名称
+
+ private Long warehouseId;//仓库id
+
+ @ApiModelProperty(value = "仓库名称")
+ private String warehouseName;
+
+ private Long warehouseLocationId;//库位id
+
+ @ApiModelProperty(value = "库位名称")
+ private String warehouseLocationCode;
+
+ @ApiModelProperty(value = "收货人")
+ private String customer;
+
+ @ApiModelProperty(value = "收货人手机号码")
+ private String customerTel;
+
+ private String customerProvince;
+ private String customerCity;
+ private String customerRegion;
+
+ @ApiModelProperty(value = "收货地址")
+ private String customerAddress;
+
+ @ApiModelProperty(value = "明细")
+ private List<OrderItemLocationListDTO> items;
+
+ private String createBy;
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/payment/OrderItemLocationListDTO.java b/src/main/java/com/mzl/flower/dto/response/payment/OrderItemLocationListDTO.java
new file mode 100644
index 0000000..a133078
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/payment/OrderItemLocationListDTO.java
@@ -0,0 +1,15 @@
+package com.mzl.flower.dto.response.payment;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+@Data
+public class OrderItemLocationListDTO extends OrderItemListDTO {
+ @ApiModelProperty(value = "订单id")
+ private String orderId;
+
+ @ApiModelProperty(value = "订单号")
+ private String orderNo;
+
+}
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());
diff --git a/src/main/java/com/mzl/flower/web/payment/OrderController.java b/src/main/java/com/mzl/flower/web/payment/OrderController.java
index a523e87..0600857 100644
--- a/src/main/java/com/mzl/flower/web/payment/OrderController.java
+++ b/src/main/java/com/mzl/flower/web/payment/OrderController.java
@@ -163,6 +163,13 @@
return returnData(R.SUCCESS.getCode(), orderService.selectOrderCheckList(dto));
}
+ @PostMapping("/check/location/list")
+ @ApiOperation(value = "查询订单清单列表-按库位分商品")
+ public ResponseEntity<ReturnDataDTO<List<OrderCheckLocationListDTO>>> selectOrderCheckLocationList(
+ @RequestBody OrderQueryDTO dto){
+ return returnData(R.SUCCESS.getCode(), orderService.selectOrderCheckLocationList(dto));
+ }
+
@GetMapping(value = "/refund")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "订单id", required = true, dataType = "String", paramType = "query"),
diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml
index f46921d..880740c 100644
--- a/src/main/resources/mapper/payment/OrderMapper.xml
+++ b/src/main/resources/mapper/payment/OrderMapper.xml
@@ -201,7 +201,7 @@
</foreach>
</if>
- ORDER BY q.partner_id, q.warehouse_name, q.warehouse_location_code, q.create_time desc, q.payment_time desc
+ ORDER BY q.partner_id DESC, q.warehouse_id, q.warehouse_location_id, q.create_time desc, q.payment_time desc
</select>
<select id="getSupplierSaleNum" resultType="com.mzl.flower.dto.response.payment.SupplierNumDTO">
--
Gitblit v1.9.3