From 6867f6de91378cc8e9e1fe291131d7db0d2993a0 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 17 十月 2025 23:23:29 +0800
Subject: [PATCH] 对接
---
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 105 +++++++++++++++++++++++++++++++++++++---------------
1 files changed, 75 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 0c9018b..7d875d2 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -23,6 +23,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -66,8 +67,8 @@
* ioType 108.鑷姩璋冩嫧
* crnNo :2鐩爣妤煎眰
*/
- @Scheduled(cron = "0/1 * * * * ? ")
- private synchronized void execute2() {
+ @Scheduled(cron = "0/10 * * * * ? ")
+ public synchronized void execute2() {
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 108).andNew().eq("crn_no", 2).or().eq("crn_no", 3).orderBy("io_pri", false).orderBy("appe_time", true));
if (agvWrkMastList.isEmpty()) {
return;
@@ -110,8 +111,8 @@
* wrkSts 22.璋冩嫧寰呭垎閰�
* ioType 111.鎵嬪姩璋冩嫧
*/
- @Scheduled(cron = "0/2 * * * * ? ")
- private void execute3() {
+ @Scheduled(cron = "0/10 * * * * ? ")
+ public void execute3() {
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 111).orderBy("io_pri", false).orderBy("appe_time", true));
if (agvWrkMastList.isEmpty()) {
return;
@@ -126,8 +127,8 @@
}
- @Scheduled(cron = "0/2 * * * * ? ")
- private void execute4() {
+ //@Scheduled(cron = "0/2 * * * * ? ")
+ public void execute4() {
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 114).orderBy("io_pri", false).orderBy("appe_time", true));
if (agvWrkMastList.isEmpty()) {
return;
@@ -144,7 +145,7 @@
// // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�
// //@Scheduled(cron = "0/2 * * * * ? ")
-// private void autoEmptyBack(){
+// public void autoEmptyBack(){
// // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
// List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
// new EntityWrapper<AgvLocMast>()
@@ -169,8 +170,8 @@
* wrkSts 214.绌烘枡鏋跺洖娴佸緟鍒嗛厤
* ioType 113.绌烘墭鐩樻墜鍔ㄥ洖娴�
*/
- @Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack3() {
+ @Scheduled(cron = "0/4 * * * * ? ")
+ public void autoEmptyBack3() {
// 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 214).eq("loc_no", "").eq("io_type", 113).orderBy("io_pri", false));
if (agvWrkMastList.isEmpty()) {
@@ -214,21 +215,49 @@
* 2妤兼垨3妤肩珯鐐瑰彲鍏ヤ俊鍙峰叏閮ㄦ病鏈夛紝浠h〃璧扮數姊嚜鍔ㄦ惉杩愭ā寮�
*/
@Scheduled(cron = "0/30 * * * * ? ")
- private void autoEmptyBack4() {
- // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
+ public void autoEmptyBack4() {
List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>()
// TODO 鍥涙湡
.eq("loc_sts", "D").eq("loc_type1", 3).andNew().ne("floor", 1).or().ne("lev1", 1));
if (agvLocMasts.isEmpty()) {
return;
}
+ Collections.shuffle(agvLocMasts);
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME"));
for (AgvLocMast agvLocMast : agvLocMasts) {
- try {
- autoMoveHandler.autoEmptyBack4(agvLocMast);
- } catch (Exception e) {
- log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ if (agvLocMast.getLocNo().contains("02F1")) {
+ boolean flag = false;
+ if (config != null && !Cools.isEmpty(config.getValue())) {
+ try {
+
+ // 鍒ゆ柇鏄惁鍦ㄦ墽琛屾椂闂村唴
+ ProcesTimeData procesTimeData = JSONObject.parseObject(config.getValue(), ProcesTimeData.class);
+ if (procesTimeData != null && config.getStatus() == 1 && TimeUtils.between(procesTimeData)) {
+ flag = true;
+ }
+ } catch (Exception e) {
+ log.error("6绫诲瀷绌鸿揣鏋惰繑鍥炵殑鎵ц鏃堕棿鐐硅В鏋愬紓甯革細===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ flag = true;
+ }
+ }
+ if (flag) {
+ try {
+ autoMoveHandler.autoEmptyBack4(agvLocMast);
+ } catch (Exception e) {
+ //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
+ }
+ } else {
+ try {
+ autoMoveHandler.autoEmptyBack4(agvLocMast);
+ } catch (Exception e) {
+ //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
}
+
}
+
+
}
@@ -236,8 +265,24 @@
* 灏嗕簩鍘傜殑6绫诲瀷鐨勭┖璐ф灦璋冩嫧鍥炲惛濉戜簩妤�
*/
// TODO 鍥涙湡
- @Scheduled(cron = "0/30 * * * * ? ")
- private void autoEmptyBackSiqi() {
+ @Scheduled(cron = "0/10 * * * * ? ")
+ public void autoEmptyBackSiqi() {
+ Config config2 = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_EMPTY"));
+ //鍏堝垽鏂┖搴撲綅鏁颁簡
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_type1", 6).eq("floor", 1).eq("lev1", 2).eq("loc_sts", "O"));
+ int size = 0;
+ if (agvLocMasts != null) {
+ size = agvLocMasts.size();
+ }
+ if (config2 != null && config2.getStatus() == 1 && !Cools.isEmpty(config2.getValue())) {
+ if (size < Integer.parseInt(config2.getValue())) {
+ return;
+ }
+ } else {
+ if (size < 20) {
+ return;
+ }
+ }
// 鏌ヨ6绫诲瀷绌鸿揣鏋惰繑鍥炵殑鎵ц鏃堕棿鐐�
Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_TIME"));
if (config != null && !Cools.isEmpty(config.getValue())) {
@@ -262,9 +307,9 @@
}
- private void executeLocType6() {
+ public void executeLocType6() {
// 鏌ヨ 浜屽巶鐨勭殑鍗婃垚鍝佺澹崇被鍨嬬殑绌鸿揣鏋�
- List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).eq("floor", 2));
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).in("floor", 2,3).orderBy("bay1",false));
if (agvLocMasts.isEmpty()) {
return;
}
@@ -277,7 +322,7 @@
}
}
- private boolean determineFloorConnection(Integer floor) {
+ public boolean determineFloorConnection(Integer floor) {
try {
List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", floor).like("dev_no", "DB_"));
if (!agvBasDevps.isEmpty()) {
@@ -300,8 +345,8 @@
* 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
* 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱
*/
- @Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack5() {
+ @Scheduled(cron = "0/8 * * * * ? ")
+ public void autoEmptyBack5() {
List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().ne("floor", 1).eq("loc_sts", "F").like("dev_no", "DB"));
if (agvBasDevps.isEmpty()) {
return;
@@ -319,8 +364,8 @@
* 妫�娴�1妤兼帴椹崇偣
* 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
*/
- @Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack6() {
+ @Scheduled(cron = "0/30 * * * * ? ")
+ public void autoEmptyBack6() {
List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", 1).eq("loc_sts", "F").like("dev_no", "DB"));
if (agvBasDevps.isEmpty()) {
return;
@@ -337,8 +382,8 @@
/**
* 璺ㄥ眰鑷姩绉诲簱
*/
- @Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack7() throws ParseException {
+ @Scheduled(cron = "0/8 * * * * ? ")
+ public void autoEmptyBack7() throws ParseException {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDay = sdf.format(now);
@@ -385,8 +430,8 @@
* 鎵撴爣璁扮殑搴撲綅杩涜鑷姩绉诲簱锛屽洓鏈�
* 鍦ㄥ簱浣嶄笉澶熺殑鎯呭喌涓嬶紝绠卞3鍏ュ簱鍒殑妤煎眰搴撲綅鐨勬椂鍊欙紝鏅氫笂杩涜璺ㄥ眰绉诲簱
*/
- @Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack8() throws ParseException {
+ @Scheduled(cron = "0/30 * * * * ? ")
+ public void autoEmptyBack8() throws ParseException {
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDay = sdf.format(now);
@@ -418,13 +463,13 @@
return;
}
for (AgvLocMast agvLocMast : agvLocMasts) {
- if (agvLocMast.getLev1() == 1 && !Cools.isEmpty(agvLocMast.getCtnNo()) && agvLocMast.getCtnNo().toString().equals("2")) {
+ if (agvLocMast.getLev1() == 1 && agvLocMast.getFloor() == 1 && !Cools.isEmpty(agvLocMast.getCtnNo()) && agvLocMast.getCtnNo().toString().equals("2")) {
try {
autoMoveHandler.autoTransfersV2(agvLocMast, maxTansk);
} catch (Exception e) {
log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "鍥涙湡瀹氭椂绉诲簱浠诲姟 鍚稿 --> 鍚稿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
}
- } else if (agvLocMast.getLev1() == 2 && !Cools.isEmpty(agvLocMast.getCtnNo()) && agvLocMast.getCtnNo().toString().equals("1")) {
+ } else if (agvLocMast.getLev1() == 2 && agvLocMast.getFloor() == 1 && !Cools.isEmpty(agvLocMast.getCtnNo()) && agvLocMast.getCtnNo().toString().equals("1")) {
try {
autoMoveHandler.autoTransfersV2(agvLocMast, maxTansk);
} catch (Exception e) {
--
Gitblit v1.9.1