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