From 7f42a1951c9aea0f03443c8b8f65b79df7168b36 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期一, 05 五月 2025 09:12:53 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 7 ++-
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 20 +++++++---
src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java | 36 ++++++++++++++++++
src/main/java/com/zy/common/service/CommonService.java | 4 +-
4 files changed, 57 insertions(+), 10 deletions(-)
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 27bc4e9..9215770 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -36,13 +36,11 @@
import com.zy.core.thread.impl.FyDevpThread;
import com.zy.core.thread.impl.NormalLedThread;
import com.zy.system.service.ConfigService;
-import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.io.IOException;
import java.util.*;
/**
@@ -486,13 +484,22 @@
if (staProtocol == null) {
continue;
}
-
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.OUTBOUND_SHUTTLE_RUN.sts, WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts).in("sta_no", 1013, 1024));
+ if (wrkMastList != null && wrkMastList.size() >= 2) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛岃烦杩囷紝瀛樺湪2鏉″伐浣滄。", wrkMast.getWrkNo());
+ continue;
+ }
if (!staProtocol.isAutoing()) {
- News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
continue;
}
if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
- News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ continue;
+ }
+ StaProtocol staProtocol2 = station.get(wrkMast.getStaNo() + 2);
+ if (staProtocol2.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿222", wrkMast.getWrkNo(), wrkMast.getStaNo() + 2);
continue;
}
String locNo = "1200301";
@@ -502,7 +509,7 @@
boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
if (!dispatchShuttle) {
- News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
continue;
}
WrkMast wrkMast2 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
@@ -1471,6 +1478,7 @@
continue;//灏忚溅鏈埌杈剧洰鏍囧眰
}
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_LIFT_COMPLETE.sts);
+ wrkMast.setLiftNo(null);
shuttleThread.setSyncTaskNo(0);
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_SHUTTLE.sts) {
//310.灏忚溅绉诲姩涓� ==> 311.灏忚溅绉诲姩瀹屾垚
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 1013d93..8b296a1 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
@@ -34,6 +34,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
@Slf4j
@Service("noLiftOutService")
@@ -65,6 +66,7 @@
/**
* 浠庢病鏈夋彁鍗囨満渚у嚭搴擄紝鏈変袱绉嶆儏鍐碉紝涓�绉�1锛�5搴撳埌鍚屽眰锛屼竴绉嶉潪1锛�5搴撳埌1锛�5锛屽垯闇�瑕佹彁鍗囨満
+ *
* @param wrkMast
*/
public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo, Integer lev) {
@@ -744,6 +746,23 @@
return false;
}
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ Map<Integer, StaProtocol> station = devpThread.getStation();
+ StaProtocol staProtocol2 = null;
+ if (Utils.getLev(shuttleThread.getStatus().getCurrentLocNo()) == 1) {
+ staProtocol2 = station.get(1015);
+ if (staProtocol2.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿12432", wrkMast.getWrkNo(), 1015);
+ return false;
+ }
+ } else {
+ staProtocol2 = station.get(1026);
+ if (staProtocol2.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿12341", wrkMast.getWrkNo(), 1026);
+ return false;
+ }
+ }
+
ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id);//灏忚溅绉诲簱浠诲姟
@@ -884,6 +903,23 @@
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ Map<Integer, StaProtocol> station = devpThread.getStation();
+ StaProtocol staProtocol2 = null;
+ if (Utils.getLev(shuttleThread.getStatus().getCurrentLocNo()) == 1) {
+ staProtocol2 = station.get(1015);
+ if (staProtocol2.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿12432", wrkMast.getWrkNo(), 1015);
+ return false;
+ }
+ } else {
+ staProtocol2 = station.get(1026);
+ if (staProtocol2.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿12341", wrkMast.getWrkNo(), 1026);
+ return false;
+ }
+ }
+
if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
return false;
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 6807dbb..3695334 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -175,7 +175,7 @@
}
//鍏ュ簱浠诲姟
- public boolean createInTask(CreateInTaskParam param) {
+ public synchronized boolean createInTask(CreateInTaskParam param) {
Date now = new Date();
LocMast locMast = locMastService.queryByLoc(param.getLocNo());
if (null == locMast) {
@@ -220,7 +220,7 @@
}
//鍑哄簱浠诲姟
- public boolean createOutTask(CreateOutTaskParam param) {
+ public synchronized boolean createOutTask(CreateOutTaskParam param) {
Date now = new Date();
LocMast locMast = locMastService.queryByLoc(param.getSourceLocNo());
if (null == locMast) {
diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
index 10bd959..68a2f30 100644
--- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
@@ -30,7 +30,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.rmi.CORBA.Util;
import java.util.*;
/**
@@ -363,7 +362,7 @@
/**
* 璋冨害杞﹁締
*/
- public boolean searchDispatchShuttleNoLift(Integer wrkNo, String sourceLocNo, String locNo, String flag) {
+ public synchronized boolean searchDispatchShuttleNoLift(Integer wrkNo, String sourceLocNo, String locNo, String flag) {
ArrayList<ShuttleThread> diffLev = new ArrayList<>();//涓嶅悓妤煎眰鐨勭┛姊溅
int lev1 = 0;
boolean tongLev = false;
@@ -389,6 +388,10 @@
continue;//灏忚溅琚鐢�
}
}
+ WrkMast wrkMast = wrkMastService.selectByShuttleNo(basShuttle.getShuttleNo());
+ if(wrkMast!=null){
+ continue;
+ }
diffLev.add(shuttleThread);
if (lev1 != 0) {
if (lev1 == Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
--
Gitblit v1.9.1