From ce43df438a4bbef5b9ffaed0a33a97db6e88fbf1 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:57:07 +0800
Subject: [PATCH] 优化异常处理及订单同步逻辑
---
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 16 ++++++++++++----
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 3 ++-
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 2 +-
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 20 +++++++++++++++-----
4 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 46ced6e..05605cf 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -17,10 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -92,6 +89,17 @@
if (!Cools.isEmpty(agvWrkMastService.selectByContainerCode(param.getBarcode()))) {
throw new CoolException(param.getBarcode() + "璐ф灦鐮佸凡瀛樺湪AGV宸ヤ綔妗d腑");
}
+ //鍒ゆ柇鏄惁鏈夌浉鍚屾槑缁�
+ List<CombParam.CombMat> combMats = param.getCombMats();
+ Map<String, String> data = new HashMap<>();
+ for (CombParam.CombMat combMat : combMats) {
+ String matnr = combMat.getMatnr();
+ String csocode = combMat.getCsocode();
+ if (data.get(matnr + csocode) != null) {
+ throw new CoolException("鏄庣粏涓瓨鍦ㄧ浉鍚岀墿鏂欏彿鍜岃鍗曞彿");
+ }
+ data.put(matnr + csocode, matnr + csocode);
+ }
if (Cools.isEmpty(param.getOrderNo())) {
//鏃犲崟缁勬墭
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 4b4c04e..955aa3b 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -645,7 +645,8 @@
}
if (Cools.isEmpty(agvLocMast)) {
- throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
+ log.info("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
+ return;
}
//鐢熸垚宸ヤ綔妗�
createWrkMast(110, 21L, agvLocMast.getLocNo(), agvBasDevp.getDevNo(), agvLocMast.getBarcode(), now, userId, containerType, agvLocMast.getPltType());
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index cb648d6..f579f89 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -86,7 +86,7 @@
@Scheduled(fixedDelay = 30000)
//@Async("orderThreadPool")
public synchronized void reportOrder() {
- DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("docName", "閾跺骇閲囪喘鍏ュ簱鍗�"));
+ DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "閾跺骇閲囪喘鍏ュ簱鍗�"));
List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("doc_type", docType.getDocId()).in("settle", 2, 4));
orderList.forEach(order -> {
orderSyncHandler.timelyStart(order);
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 036acb0..6a3020f 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -191,11 +191,15 @@
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,true,null);
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鏆傛棤搴撲綅");
+ log.info("鏆傛棤搴撲綅");
+ return FAIL;
+ //throw new CoolException("鏆傛棤搴撲綅");
}
AgvWrkMast workingMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locMast.getLocNo()));
if (!Cools.isEmpty(workingMast)) {
- throw new CoolException("褰撳墠搴撲綅姝e湪杩涜鍏ュ簱锛岃繘琛屼笅涓�娆¤疆璇�");
+ log.info("褰撳墠搴撲綅姝e湪杩涜鍏ュ簱锛岃繘琛屼笅涓�娆¤疆璇�");
+ return FAIL;
+ //throw new CoolException("褰撳墠搴撲綅姝e湪杩涜鍏ュ簱锛岃繘琛屼笅涓�娆¤疆璇�");
}
agvWrkMast.setWrkSts(201L);
agvWrkMast.setModiTime(new Date());
@@ -215,7 +219,9 @@
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,false,null);
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鏆傛棤搴撲綅");
+ log.info("鏆傛棤搴撲綅");
+ return FAIL;
+ //throw new CoolException("鏆傛棤搴撲綅");
}
agvWrkMast.setWrkSts(201L);
agvWrkMast.setLocNo(locMast.getLocNo());
@@ -239,7 +245,9 @@
}
if (Cools.isEmpty(devpNo)) {
- throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�");
+ log.info("鏆傛棤绌洪棽鎺ラ┏浣�");
+ return FAIL;
+ //throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�");
}
agvWrkMast.setWrkSts(201L);
agvWrkMast.setLocNo(devpNo.getDevNo());
@@ -400,7 +408,9 @@
}
List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113));
if (agvWrkMasts.size() >= 5) {
- throw new CoolException("鏆傚仠鍥炴祦");
+ log.error("鏆傚仠鍥炴祦");
+ return FAIL;
+ //throw new CoolException("鏆傚仠鍥炴祦");
}
//妫�绱㈢┖闂插彲鍏ユ帴椹充綅 娌℃湁绌洪棽鍙叆鎺ラ┏浣� 鐩存帴鎵惧簱浣�
AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor(),"Y","Y");
--
Gitblit v1.9.1