From b17fe3091ae104984347622eb9db40765b5d025c Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 20 十二月 2024 13:30:49 +0800
Subject: [PATCH] 优化订单查询逻辑
---
src/main/resources/application-loc.yml | 8 ++--
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 3 +
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 10 ++--
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 48 +++++++++++++++++++----
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 3 +
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 3 +
src/main/resources/application.yml | 2
7 files changed, 57 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 33fae25..668df57 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -512,6 +512,9 @@
for (AgvLocDetl agvLocDetl : agvLocDetls) {
// 鏇存柊璁㈠崟
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 345b7ef..705cbc6 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -16,18 +16,18 @@
/*
濡傛灉batch銆乧socode銆乮socode涓虹┖锛屽垯鏌ヨ缁撴灉涓璪atch銆乧socode銆乮socode鐨勫�间负绌�
*/
- OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
+ List<OrderDetl> selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
/*
濡傛灉batch銆乧socode銆乮socode涓虹┖锛屽垯鏌ヨ缁撴灉涓笉鑰冭檻batch銆乧socode銆乮socode鐨勫��
*/
- OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
+ List<OrderDetl> selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
- OrderDetl selectItemByOrderNo2(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("threeCode") String threeCode);
+ List<OrderDetl> selectItemByOrderNo2(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("threeCode") String threeCode);
- OrderDetl selectItemNoneOfBatch(@Param("orderNo")String orderNo, @Param("matnr")String matnr);
+ List<OrderDetl> selectItemNoneOfBatch(@Param("orderNo")String orderNo, @Param("matnr")String matnr);
- OrderDetl selectItemOfBatch(@Param("matnr")String matnr, @Param("batch")String batch);
+ List<OrderDetl> selectItemOfBatch(@Param("matnr")String matnr, @Param("batch")String batch);
List<OrderDetl> selectWorkingDetls(Long orderId);
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index eecfc9d..c5ff91e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -1242,6 +1242,9 @@
throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触");
}
OrderDetl orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), batch, csocode);
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
AgvWrkDetl wrkDetl = new AgvWrkDetl();
wrkDetl.sync(mat);
if (orderDetl != null) {
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 4695d23..395972f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
@@ -39,29 +40,58 @@
@Override
public OrderDetl selectItem(Long orderId, String matnr, String batch, String csocode, String isoCode) {
- return this.baseMapper.selectItem(orderId,matnr,batch,csocode,isoCode);
+ List<OrderDetl> orderDetls = this.baseMapper.selectItem(orderId, matnr, batch, csocode, isoCode);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
}
@Override
public OrderDetl selectItem(String orderNo, String matnr, String batch, String csocode, String isoCode) {
- return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch,csocode,isoCode);
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch, csocode, isoCode);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
}
@Override
- public OrderDetl selectItem(String orderNo, String matnr,String batch, String threeCode) {
- return this.baseMapper.selectItemByOrderNo2(orderNo, matnr, batch, threeCode);
+ public OrderDetl selectItem(String orderNo, String matnr, String batch, String threeCode) {
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemByOrderNo2(orderNo, matnr, batch, threeCode);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
}
-
@Override
public OrderDetl selectItemNoneOfBatch(String orderNo, String matnr) {
- return this.baseMapper.selectItemNoneOfBatch(orderNo, matnr);
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemNoneOfBatch(orderNo, matnr);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
}
@Override
public OrderDetl selectItemOfBatch(String matnr, String batch) {
- return this.baseMapper.selectItemOfBatch(matnr, batch);
+ List<OrderDetl> orderDetls = this.baseMapper.selectItemOfBatch(matnr, batch);
+ if (orderDetls.isEmpty()) {
+ return null;
+ } else if (orderDetls.size() > 1) {
+ throw new CoolException("璁㈠崟鏄庣粏鏌ヨ鍒板鏉¤褰�");
+ }
+ return orderDetls.get(0);
}
@Override
@@ -123,8 +153,8 @@
@Override
public OrderDetl selectByOrderNoAndMatnr(String orderNo, String matnr, String csocode, String isoseq) {
Wrapper<OrderDetl> wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("matnr", matnr);
- Utils.wapperSetCondition(wrapper,"three_code",csocode);
- Utils.wapperSetCondition(wrapper,"dead_time",isoseq);
+ Utils.wapperSetCondition(wrapper, "three_code", csocode);
+ Utils.wapperSetCondition(wrapper, "dead_time", isoseq);
return this.selectOne(wrapper);
}
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 71cc66c..1ee74bd 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -91,7 +91,8 @@
return;
}
- List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
+ List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�"));
+ //List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�", "閾跺骇濮斿鏉愭枡鍑哄簱鍗�", "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
DocType docType = docTypeService.selectById(order.getDocType());
if (docNames.contains(docType.getDocName())) {
diff --git a/src/main/resources/application-loc.yml b/src/main/resources/application-loc.yml
index 78a126a..c9dbc7b 100644
--- a/src/main/resources/application-loc.yml
+++ b/src/main/resources/application-loc.yml
@@ -16,10 +16,10 @@
password: sa@123
mvc:
static-path-pattern: /**
-# redis:
-# host: 127.0.0.1
-# port: 6379
-# database: 0
+ redis:
+ host: 127.0.0.1
+ port: 6379
+ database: 0
# password: xltys1995
servlet:
multipart:
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0e0e3f2..f2026f2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
spring:
profiles:
#dev loc prod
- active: dev
\ No newline at end of file
+ active: prod
\ No newline at end of file
--
Gitblit v1.9.1