From c30bf257e682643e3c721b7329597b64a11581af Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期三, 21 八月 2024 10:46:04 +0800 Subject: [PATCH] 档查询出来有多条数据时,加上数量条件,进行匹配,如果数量也匹配不上,就默认返回第一个 --- src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 ++ src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 12 ++++++------ src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 19 ++++++++++++++++++- src/main/java/com/zy/common/web/WcsController.java | 2 +- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index fb3aa97..27dfcbf 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -16,6 +16,8 @@ OrderDetl selectItem(String orderNo, String matnr, String batch,Double qty); + OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty); + OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch); boolean increase(Long orderId, String matnr, String batch, Double qty); 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 17f8723..9752268 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -50,7 +50,24 @@ } } - + @Override + public OrderDetl selectQtyItem(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 (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) { + return orderDetl; + } + } + } + return detlList.get(0); + } + } @Override public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) { 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 4b63a9c..6cba325 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(),wrkDetl.getAnfme()); + OrderDetl orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme()); if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme()); + orderDetl = orderDetlService.selectQtyItem(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(),wrkDetl.getAnfme()); + OrderDetl orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme()); if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme()); + orderDetl = orderDetlService.selectQtyItem(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(),wrkDetl.getAnfme()); + OrderDetl orderDetl = orderDetlService.selectQtyItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getAnfme()); if (orderDetl==null){ - orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null,wrkDetl.getAnfme()); + orderDetl = orderDetlService.selectQtyItem(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 f7fee95..0bf1d61 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -363,7 +363,7 @@ if (!Cools.isEmpty(waitPakin.getOrderNo())) { Order order = orderService.selectByNo(waitPakin.getOrderNo()); if (order != null) { - OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),waitPakin.getAnfme()); + OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme()); if (orderDetl == null) { orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,waitPakin.getAnfme()); } -- Gitblit v1.9.1