From 4d4956223483a5a6cffec1abb144a51d2780a363 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <cuizf@fengyuntec.com> Date: 星期日, 08 九月 2024 16:21:46 +0800 Subject: [PATCH] 订单打印查询 --- 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 dcbfd74..e840003 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java @@ -756,6 +756,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 00fe0c3..c0be05f 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