From a3cd273234d56c5a36bd0a793a67e533a2141d6d Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期五, 25 四月 2025 08:23:47 +0800
Subject: [PATCH] 初步调试
---
/dev/null | 0
src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 34 +++++++++++++----
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 8 ++++
src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java | 2
src/main/resources/sql/20250425082153.nb3 | 0
src/main/java/com/zy/asrs/controller/TVController.java | 46 +---------------------
src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java | 4 +-
7 files changed, 40 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index 27109c92..c8b1de2 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -245,49 +245,6 @@
}
List<LedCommand> commands = new ArrayList<>();
- // 缁勮鍛戒护
- LedCommand ledCommand = new LedCommand();
- ledCommand.setWorkNo(wrkMast.getWmsWrkNo());
- ledCommand.setIoType(wrkMast.getIoType());
- // 鍑哄簱妯″紡
- switch (wrkMast.getIoType()) {
- case 1:
- ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
- break;
- case 10:
- ledCommand.setTitle("绌烘澘鍏ュ簱");
- break;
- case 101:
- ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
- break;
- case 103:
- ledCommand.setTitle("鎷f枡鍑哄簱");
- break;
- case 104:
- ledCommand.setTitle("骞舵澘鍑哄簱");
- break;
- case 107:
- ledCommand.setTitle("鐩樼偣鍑哄簱");
- break;
- case 110:
- ledCommand.setTitle("绌烘澘鍑哄簱");
- ledCommand.setEmptyMk(true);
- break;
- case 53:
- ledCommand.setTitle("鎷f枡鍏ュ簱");
- break;
- case 57:
- ledCommand.setTitle("鐩樼偣鍏ュ簱");
- break;
- case 54:
- ledCommand.setTitle("骞舵澘鍏ュ簱");
- break;
- default:
- break;
- }
- ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
- ledCommand.setLocNo(wrkMast.getLocNo());
- ledCommand.setStaNo(wrkMast.getStaNo());
if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
Map<String, Object> param = new HashMap<>();
param.put("taskNo", wrkMast.getWmsWrkNo());
@@ -381,6 +338,9 @@
continue;
}
HashMap<String, Object> map = new HashMap<>();
+ if (Cools.isEmpty(shuttleProtocol.getErrorCode())) {
+ continue;
+ }
int i = Integer.parseInt(shuttleProtocol.getErrorCode());
if (i > 0) {
BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(i);
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 892adf2..42514ac 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
import com.zy.asrs.domain.enums.NotifyMsgType;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
@@ -216,6 +217,9 @@
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
String barcode = staProtocol.getBarcode();
+ if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
+ continue;
+ }
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) {
@@ -915,6 +919,10 @@
ledThread.error(errMsg);
}
}
+ String barcode = staProtocol.getBarcode();
+ if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
+ return false;
+ }
if (!staProtocol.isAutoing()) {
News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
return false;
diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
index 7e401d1..fe36b16 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
@@ -489,7 +489,7 @@
assignCommand.setAuto(true);//鑷姩妯″紡
//鑾峰彇灏忚溅鍒版彁鍗囨満琛岃蛋鍛戒护
- List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
+ List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.DFX.id, assignCommand, shuttleThread);
if (commands == null) {
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
@@ -861,7 +861,7 @@
assignCommand.setLocNo(wrkMast.getLocNo());//鐩爣搴撲綅
List<ShuttleCommand> commands = new ArrayList<>();
- Integer mapType = NavigationMapType.NORMAL.id;
+ Integer mapType = NavigationMapType.DFX.id;
List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo(), mapType, assignCommand, shuttleThread);
if (moveCommands == null) {
diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
index ee64ceb..1013d93 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
@@ -465,7 +465,7 @@
assignCommand.setAuto(true);//鑷姩妯″紡
//鑾峰彇灏忚溅鍒版彁鍗囨満琛岃蛋鍛戒护
- List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
+ List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftThread.getLiftLocNo(Utils.getLev(shuttleProtocol.getCurrentLocNo())), NavigationMapType.DFX.id, assignCommand, shuttleThread);
if (commands == null) {
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
index 5fb8a40..bcbe6e4 100644
--- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
@@ -30,6 +30,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.rmi.CORBA.Util;
import java.util.*;
/**
@@ -251,7 +252,7 @@
if (wrkMast1 != null) {
wrkMast1.setShuttleNo(shuttleProtocol.getShuttleNo());
wrkMastService.updateById(wrkMast1);
- sameLev.add(0,shuttleThread);
+ sameLev.add(0, shuttleThread);
//return true;
}
break;
@@ -364,7 +365,8 @@
*/
public boolean searchDispatchShuttleNoLift(Integer wrkNo, String sourceLocNo, String locNo, String flag) {
ArrayList<ShuttleThread> diffLev = new ArrayList<>();//涓嶅悓妤煎眰鐨勭┛姊溅
-
+ int lev1 = 0;
+ boolean tongLev = false;
for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId());
@@ -388,6 +390,13 @@
}
}
diffLev.add(shuttleThread);
+ if (lev1 != 0) {
+ if (lev1 == Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
+ tongLev = true;
+ }
+ } else {
+ lev1 = Utils.getLev(shuttleProtocol.getCurrentLocNo());
+ }
}
//瀵绘壘绂讳换鍔℃ゼ灞傛渶杩戠殑绌挎杞�(涓嶈�冭檻璺ㄦゼ灞傚皬杞︾Щ鍔ㄨ窛绂�)
@@ -422,18 +431,27 @@
//褰撳墠绌挎杞﹀簱浣嶅彿
String currentLocNo = shuttleProtocol.getCurrentLocNo();
int currentLev = Utils.getLev(currentLocNo);
-
if (wrkMast1.getIoType() == 101 && currentLocNo.equals(locNo)) {
//杞﹁締褰撳墠浣嶇疆宸茬粡鏄洰鏍囧簱浣嶏紝璋冨害璇ヨ溅
//缁欏伐浣滄。缁戝畾灏忚溅鍙�
diffShuttles.put(-1, shuttleThread);
} else {
- //ABS(鐩爣妤煎眰 - 褰撳墠妤煎眰) 寰楀埌宸窛锛屽彇鏈�灏忓樊鍊�
- int currentValue = Math.abs(lev - currentLev);
- if (diffShuttles.get(currentValue) != null) {
- diffShuttles.put(currentValue + 1, shuttleThread);
+ if (tongLev) {
+ //褰撳墠绌挎杞︾嚎绋嬪埌鐩爣鍦扮偣璺濈
+ List<NavigateNode> currentShuttlePath = navigateUtils.calc(currentLocNo, locNo, NavigationMapType.NORMAL.id, Utils.getShuttlePoints(shuttleProtocol.getShuttleNo(), Utils.getLev(currentLocNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘
+ if (currentShuttlePath == null) {
+ continue;
+ }
+ Integer currentAllDistance = navigateUtils.getOriginPathAllDistance(currentShuttlePath);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂�
+ diffShuttles.put(currentAllDistance, shuttleThread);
} else {
- diffShuttles.put(currentValue, shuttleThread);
+ //ABS(鐩爣妤煎眰 - 褰撳墠妤煎眰) 寰楀埌宸窛锛屽彇鏈�灏忓樊鍊�
+ int currentValue = Math.abs(lev - currentLev);
+ if (diffShuttles.get(currentValue) != null) {
+ diffShuttles.put(currentValue + 1, shuttleThread);
+ } else {
+ diffShuttles.put(currentValue, shuttleThread);
+ }
}
}
}
diff --git a/src/main/resources/sql/20250419211417.nb3 b/src/main/resources/sql/20250419211417.nb3
deleted file mode 100644
index c01c1f8..0000000
--- a/src/main/resources/sql/20250419211417.nb3
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/sql/20250425082153.nb3 b/src/main/resources/sql/20250425082153.nb3
new file mode 100644
index 0000000..2638934
--- /dev/null
+++ b/src/main/resources/sql/20250425082153.nb3
Binary files differ
--
Gitblit v1.9.1