From c8630dc9c82a3b44cf33a3db73accec4018c8fbb Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 17 十月 2022 16:13:05 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 15 ++++++++++++++- src/main/java/com/zy/common/model/OrderMergeVo.java | 30 +++++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 9dec861..5dfcafa 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -1,6 +1,7 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; @@ -11,8 +12,8 @@ import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.common.model.DetlDto; +import com.zy.common.model.OrderDto; import com.zy.common.model.OrderMergeVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -174,6 +175,18 @@ // 鑾峰彇鎵�鏈夋湭浣滀笟鐨勬槑缁� List<OrderDetl> orderDetls = orderDetlService.selectRemainder(orderId); for (OrderDetl orderDetl : orderDetls) { + Double leave = orderDetl.getAnfme() - orderDetl.getQty(); + OrderMergeVo vo = new OrderMergeVo(orderDetl.getMatnr(), orderDetl.getBatch(), leave); + OrderDto orderDto = new OrderDto(orderDetl.getOrderNo(), null, leave); + if (OrderMergeVo.has(result, vo)) { + OrderMergeVo exist = OrderMergeVo.find(result, vo.getMatnr(), vo.getBatch()); + assert exist != null; + exist.setAnfme(exist.getAnfme() + vo.getAnfme()); + exist.getOrderDtos().add(orderDto); + } else { + vo.getOrderDtos().add(orderDto); + result.add(vo); + } } } diff --git a/src/main/java/com/zy/common/model/OrderMergeVo.java b/src/main/java/com/zy/common/model/OrderMergeVo.java index 54642c4..bb619d4 100644 --- a/src/main/java/com/zy/common/model/OrderMergeVo.java +++ b/src/main/java/com/zy/common/model/OrderMergeVo.java @@ -1,5 +1,6 @@ package com.zy.common.model; +import com.core.common.Cools; import lombok.Data; import java.util.ArrayList; @@ -21,6 +22,33 @@ private Double anfme; - private List<DetlDto> detlDtos = new ArrayList<>(); + private List<OrderDto> orderDtos = new ArrayList<>(); + + public OrderMergeVo(String matnr, String batch, Double anfme) { + this.matnr = matnr; + this.batch = batch; + this.anfme = anfme; + } + + public static boolean has(List<OrderMergeVo> detlDtos, OrderMergeVo detlDto) { + for (OrderMergeVo dto : detlDtos) { + if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())) { + return true; + } + } + return false; + } + + public static OrderMergeVo find(List<OrderMergeVo> detlDtos, String matnr, String batch) { + if (Cools.isEmpty(matnr)) { + return null; + } + for (OrderMergeVo detlDto : detlDtos) { + if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())) { + return detlDto; + } + } + return null; + } } -- Gitblit v1.9.1