From a9a8af3cd6e452cbcb8f8a046890cd5b36a61b17 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期三, 21 八月 2024 10:34:39 +0800 Subject: [PATCH] 档查询出来有多条数据时,加上数量条件,进行匹配,如果数量也匹配不上,就默认返回第一个 --- src/main/java/com/zy/asrs/controller/OrderController.java | 4 +- src/main/java/com/zy/asrs/service/OrderDetlService.java | 4 +- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 12 +++--- src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 4 +- src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 47 +++++++++++++++++++---- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 4 +- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 8 ++-- src/main/java/com/zy/common/web/WcsController.java | 4 +- 8 files changed, 59 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 695f9c8..4a2cf14 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -154,7 +154,7 @@ for (OrderDetl orderDetl : param.getOrderDetlList()) { DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); if (DetlDto.has(list, dto)) { - OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); + OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme()); item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); if (!orderDetlService.updateById(item)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); @@ -207,7 +207,7 @@ for (OrderDetl orderDetl : param.getOrderDetlList()) { DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); if (DetlDto.has(list, dto)) { - OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); + OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme()); item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); if (!orderDetlService.updateById(item)) { throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index cef6709..4842f5a 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -13,9 +13,9 @@ @Repository public interface OrderDetlMapper extends BaseMapper<OrderDetl> { - OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch); + List<OrderDetl> selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch); - OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch); + List<OrderDetl> selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch); List<OrderDetl> selectWorkingDetls(Long orderId); diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index f180200..fb3aa97 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -12,9 +12,9 @@ Page<OrderDetl> getPakoutPage(Page<OrderDetl> page); - OrderDetl selectItem(Long orderId, String matnr, String batch); + OrderDetl selectItem(Long orderId, String matnr, String batch,Double qty); - OrderDetl selectItem(String orderNo, String matnr, String batch); + OrderDetl selectItem(String orderNo, String matnr, String batch,Double qty); OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch); diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 57496a8..99f0779 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -159,7 +159,7 @@ param.getCombMats().forEach(elem -> { // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getAnfme() ); if (elem.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } @@ -194,9 +194,9 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); - OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),detlDto.getAnfme()); if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null); + orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,detlDto.getAnfme()); } if (orderDetl!=null){ waitPakin.setSPgNO(orderDetl.getSPgNO()); @@ -464,7 +464,7 @@ // 淇敼浣滀笟鏁伴噺 ---------------------------------------- // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getAnfme()); if (detlDto.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java index 3f08146..17f8723 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -2,11 +2,11 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; -import com.core.common.Cools; -import com.zy.asrs.mapper.OrderDetlMapper; -import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.service.OrderDetlService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.core.common.Cools; +import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.mapper.OrderDetlMapper; +import com.zy.asrs.service.OrderDetlService; import org.springframework.stereotype.Service; import java.util.List; @@ -32,13 +32,43 @@ } @Override - public OrderDetl selectItem(Long orderId, String matnr, String batch) { - return this.baseMapper.selectItem(orderId, matnr, batch); + public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) { + List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch); + if (detlList == null || detlList.isEmpty()) { + return null; + } else if (detlList.size() == 1) { + return detlList.get(0); + } else { + if (qty != null) { + for (OrderDetl orderDetl : detlList) { + if (qty.equals(orderDetl.getAnfme())) { + return orderDetl; + } + } + } + return detlList.get(0); + } } + + @Override - public OrderDetl selectItem(String orderNo, String matnr, String batch) { - return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch); + public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) { + List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch); + if (detlList == null || detlList.isEmpty()) { + return null; + } else if (detlList.size() == 1) { + return detlList.get(0); + } else { + if (qty != null) { + for (OrderDetl orderDetl : detlList) { + if (qty.equals(orderDetl.getAnfme())) { + return orderDetl; + } + } + } + return detlList.get(0); + } } @Override @@ -85,6 +115,7 @@ /** * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲� + * * @param orderId * @param matnr * @param batch diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index d995b8a..e5981bd 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -327,9 +327,9 @@ for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } log.info(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getAnfme()); if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); + orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getAnfme()); } WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index acb5fa9..4b63a9c 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -115,9 +115,9 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme()); if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme()); } try { if(!Cools.isEmpty(orderDetl)){ @@ -166,9 +166,9 @@ } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme()); if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme()); } try { if(!Cools.isEmpty(orderDetl)){ @@ -349,9 +349,9 @@ } for (WrkDetl wrkDetl : wrkDetls101) { // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 - OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme()); if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); + orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme()); } try { if(!Cools.isEmpty(orderDetl)){ diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 7c67b69..f7fee95 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -363,9 +363,9 @@ if (!Cools.isEmpty(waitPakin.getOrderNo())) { Order order = orderService.selectByNo(waitPakin.getOrderNo()); if (order != null) { - OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch()); + OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),waitPakin.getAnfme()); if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null); + orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,waitPakin.getAnfme()); } wrkDetl.setSPgNO(orderDetl.getSPgNO()); wrkDetl.setOutOrderNo(orderDetl.getOutOrderNo()); -- Gitblit v1.9.1