From e90dba0edc93be26e1509cfb2ec1d0681eb86e48 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 27 八月 2025 08:37:04 +0800
Subject: [PATCH] 合并出库添加日志
---
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 504 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 421 insertions(+), 83 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index f55bb6a..c41f549 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -1,21 +1,34 @@
package com.zy.asrs.task;
+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.entity.AgvBasDevp;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkMast;
+import com.zy.asrs.service.AgvBasDevpService;
import com.zy.asrs.service.AgvLocMastService;
import com.zy.asrs.service.AgvWrkMastService;
-import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.core.ProcesTimeData;
import com.zy.asrs.task.handler.AutoMoveHandler;
+import com.zy.asrs.utils.TimeUtils;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
// 鑷姩绉诲簱
+@Slf4j
@Component
public class AutoMoveScheduler {
@@ -25,122 +38,447 @@
private AutoMoveHandler autoMoveHandler;
@Autowired
private AgvWrkMastService agvWrkMastService;
+ @Autowired
+ private AgvBasDevpService agvBasDevpService;
+ @Autowired
+ private ConfigService configService;
// 璋冩嫧鍑哄簱
- @Scheduled(cron = "0/2 * * * * ? ")
- private void execute(){
- List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
- new EntityWrapper<AgvLocMast>()
- .isNotNull("loc_type")
- .ne("loc_type", "")
- .eq("floor", 1)
- .eq("loc_sts","F"));
- if (agvLocMasts.isEmpty()) {
- return;
- }
- for (AgvLocMast agvLocMast : agvLocMasts) {
- ReturnT<String> returnT = autoMoveHandler.start(agvLocMast);
- }
+// @Scheduled(cron = "0/2 * * * * ? ")
+// private void execute(){
+// List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
+// new EntityWrapper<AgvLocMast>()
+// .isNotNull("loc_type")
+// .ne("loc_type", "")
+// .eq("floor", 1)
+// .eq("loc_sts","F"));
+// if (agvLocMasts.isEmpty()) {
+// return;
+// }
+// for (AgvLocMast agvLocMast : agvLocMasts) {
+// ReturnT<String> returnT = autoMoveHandler.start(agvLocMast);
+// }
+//
+// }
- }
-
- // 璋冩嫧鍑哄簱
- @Scheduled(cron = "0/2 * * * * ? ")
- private void execute2(){
- List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
- .eq("wrk_sts", 22)
- .andNew().eq("io_type",108)
- .eq("crn_no",2)
- );
+ /**
+ * 鑷姩璋冩嫧浠诲姟锛屼粠1妤艰皟鎷ㄥ埌2妤硷紝3妤�
+ * wrkSts 22.璋冩嫧寰呭垎閰�
+ * ioType 108.鑷姩璋冩嫧
+ * crnNo :2鐩爣妤煎眰
+ */
+ @Scheduled(cron = "0/10 * * * * ? ")
+ private 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;
}
for (AgvWrkMast agvWrkMast : agvWrkMastList) {
- ReturnT<String> returnT = autoMoveHandler.start2(agvWrkMast);
+ try {
+ // TODO 鑷姩鍥炴祦
+ autoMoveHandler.start2(agvWrkMast);
+ } catch (Exception e) {
+ //log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+ }
+ }
+
+ }
+
+// @Scheduled(cron = "0/2 * * * * ? ")
+// private void execute5(){
+// List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+// .eq("wrk_sts", 22)
+// .andNew().eq("io_type",108)
+// .eq("crn_no",3)
+// .orderBy("appe_time",true)
+// );
+// if (agvWrkMastList.isEmpty()) {
+// return;
+// }
+// for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+// try{
+// autoMoveHandler.start2(agvWrkMast);
+// } catch (Exception e){
+// log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+// }
+// }
+//
+// }
+
+
+ /**
+ * 鎵嬪姩璋冩嫧浠诲姟(涓嶈蛋鐢垫娴佽浆锛屼汉宸ユ惉杩�)锛屼粠1妤艰皟鎷ㄥ埌2銆�3妤硷紝
+ * wrkSts 22.璋冩嫧寰呭垎閰�
+ * ioType 111.鎵嬪姩璋冩嫧
+ */
+ @Scheduled(cron = "0/10 * * * * ? ")
+ private 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;
+ }
+ for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+ try {
+ autoMoveHandler.start3(agvWrkMast);
+ } catch (Exception e) {
+ //log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+ }
}
}
@Scheduled(cron = "0/2 * * * * ? ")
- private void execute5(){
- List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
- .eq("wrk_sts", 22)
- .andNew().eq("io_type",108)
- .eq("crn_no",3)
- );
+ private 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;
}
for (AgvWrkMast agvWrkMast : agvWrkMastList) {
- ReturnT<String> returnT = autoMoveHandler.start2(agvWrkMast);
+ try {
+ autoMoveHandler.start4(agvWrkMast);
+ } catch (Exception e) {
+ log.error("宸ヤ綔鍙�" + agvWrkMast.getWrkNo() + "璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
}
}
- // 璋冩嫧鍑哄簱
+// // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�
+// //@Scheduled(cron = "0/2 * * * * ? ")
+// private void autoEmptyBack(){
+// // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
+// List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
+// new EntityWrapper<AgvLocMast>()
+// .ne("floor", 1)
+// .eq("loc_sts","D")
+// .eq("loc_type1",3));
+// if (agvLocMasts.isEmpty()) {
+// return;
+// }
+// for (AgvLocMast agvLocMast : agvLocMasts) {
+// try{
+// autoMoveHandler.autoEmptyBack(agvLocMast);
+// } catch (Exception e){
+// log.error("搴撲綅鍙�"+agvLocMast.getLocNo()+"绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+// }
+// }
+// }
+
+ /**
+ * 鎵嬪伐浣滀笟涓嶉�氳繃鐢垫鏃讹紝绌烘澘浠�2銆�3妤兼帴椹充綅浜哄伐鎼繍鍒�1妤兼帴椹充綅浠ュ悗锛�
+ * 鍥炴祦鍒�1妤兼帴椹充綅锛�1妤兼帴椹崇偣 - 1妤煎簱浣�
+ * wrkSts 214.绌烘枡鏋跺洖娴佸緟鍒嗛厤
+ * ioType 113.绌烘墭鐩樻墜鍔ㄥ洖娴�
+ */
@Scheduled(cron = "0/2 * * * * ? ")
- private void execute3(){
- List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
- .eq("wrk_sts", 22)
- .andNew().eq("io_type",111)
- );
- if (agvWrkMastList.isEmpty()) {
- return;
- }
- for (AgvWrkMast agvWrkMast : agvWrkMastList) {
- ReturnT<String> returnT = autoMoveHandler.start3(agvWrkMast);
- }
-
- }
-
- // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�
- //@Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack(){
- // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
- List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
- new EntityWrapper<AgvLocMast>()
- .ne("floor", 1)
- .eq("loc_sts","D")
- .eq("loc_type1",3));
- if (agvLocMasts.isEmpty()) {
- return;
- }
- for (AgvLocMast agvLocMast : agvLocMasts) {
- ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast);
- }
- }
- // 绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣�
- //@Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack3(){
+ private void autoEmptyBack3() {
// 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109
- List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
- .eq("wrk_sts", 201)
- .eq("loc_no","")
- .eq("io_type",109)
- .or().eq("io_type",112));
+ 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()) {
return;
}
for (AgvWrkMast agvWrkMast : agvWrkMastList) {
- ReturnT<String> returnT = autoMoveHandler.autoEmptyBack3(agvWrkMast);
+ try {
+ autoMoveHandler.autoEmptyBack3(agvWrkMast);
+ } catch (Exception e) {
+ log.error("宸ヤ綔鍙�" + agvWrkMast.getWrkNo() + "绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣�,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
}
}
- // 绌烘澘鑷姩鍥炲簱
- @Scheduled(cron = "0/2 * * * * ? ")
- private void autoEmptyBack2(){
- // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
- List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
- new EntityWrapper<AgvLocMast>()
- .ne("floor", 1)
- .eq("loc_sts","D")
- .eq("loc_type1",3));
+// // 绌烘澘鑷姩鍥炲簱
+//// @Scheduled(cron = "0/2 * * * * ? ")
+// private void autoEmptyBack2(){
+// // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
+// List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
+// new EntityWrapper<AgvLocMast>()
+// .ne("floor", 1)
+// .eq("loc_sts","D")
+// .eq("loc_type1",3));
+// if (agvLocMasts.isEmpty()) {
+// return;
+// }
+// for (AgvLocMast agvLocMast : agvLocMasts) {
+// try{
+// autoMoveHandler.autoEmptyBack2(agvLocMast);
+// } catch (Exception e){
+// log.error("搴撲綅鍙�"+agvLocMast.getLocNo()+"绌烘澘鑷姩鍥炲簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+// }
+// }
+// }
+
+ /**
+ * 绌烘澘鑷姩鍥炲簱(閫氳繃鐢垫)锛�2銆�3妤煎簱浣嶇殑绠卞3绌烘枡鏋讹紝鐩存帴鍥炴祦鍒�1妤煎簱浣�
+ * 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿
+ * 姣忓眰鏈�澶� 鍦� 鍥炲簱鏁伴噺闄愬埗5鏉�
+ * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱
+ * 2妤兼垨3妤肩珯鐐瑰彲鍏ヤ俊鍙峰叏閮ㄦ病鏈夛紝浠h〃璧扮數姊嚜鍔ㄦ惉杩愭ā寮�
+ */
+ @Scheduled(cron = "0/30 * * * * ? ")
+ private 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) {
+ 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());
+ }
+ }
+
+ }
+
+
+ }
+
+
+ /**
+ * 灏嗕簩鍘傜殑6绫诲瀷鐨勭┖璐ф灦璋冩嫧鍥炲惛濉戜簩妤�
+ */
+ // TODO 鍥涙湡
+ @Scheduled(cron = "0/10 * * * * ? ")
+ private 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())) {
+ boolean flag = false;
+ 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) {
+ executeLocType6();
+ }
+ }
+// else {
+// executeLocType6();
+// }
+ }
+
+
+ private void executeLocType6() {
+ // 鏌ヨ 浜屽巶鐨勭殑鍗婃垚鍝佺澹崇被鍨嬬殑绌鸿揣鏋�
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).eq("floor", 2).orderBy("bay1",false));
if (agvLocMasts.isEmpty()) {
return;
}
for (AgvLocMast agvLocMast : agvLocMasts) {
- ReturnT<String> returnT = autoMoveHandler.autoEmptyBack2(agvLocMast);
+ try {
+ autoMoveHandler.autoEmptyBackSiqi(agvLocMast);
+ } catch (Exception e) {
+ log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
}
+ }
+ private boolean determineFloorConnection(Integer floor) {
+ try {
+ List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", floor).like("dev_no", "DB_"));
+ if (!agvBasDevps.isEmpty()) {
+ for (AgvBasDevp agvBasDevp : agvBasDevps) {
+ if (agvBasDevp.getInEnable().equals("Y")) {
+ return false;
+ }
+ }
+ return true;
+ }
+ } catch (Exception e) {
+ log.error("鍒ゆ柇褰撳墠妤煎眰鎺ラ┏浣嶆槸鍚﹀叏閮ㄥ叧闂紝寮傚父" + e.getMessage());
+ }
+ return false;
+ }
+
+ /**
+ * 绔欑偣鏄惁鑷姩
+ * 鑷姩锛� 鐢熸垚 109 鑷姩鍥炴祦
+ * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
+ * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱
+ */
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private 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;
+ }
+ for (AgvBasDevp agvBasDevp : agvBasDevps) {
+ try {
+ autoMoveHandler.autoEmptyBack5(agvBasDevp);
+ } catch (Exception e) {
+ log.error("绔欑偣鍙�" + agvBasDevp.getDevNo() + "绔欑偣鏄惁鑷姩 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
+ }
+ }
+
+ /**
+ * 妫�娴�1妤兼帴椹崇偣
+ * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
+ */
+ @Scheduled(cron = "0/30 * * * * ? ")
+ private 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;
+ }
+ for (AgvBasDevp agvBasDevp : agvBasDevps) {
+ try {
+ autoMoveHandler.autoEmptyBack6(agvBasDevp);
+ } catch (Exception e) {
+ log.error("绔欑偣鍙�" + agvBasDevp.getDevNo() + "妫�娴�1妤兼帴椹崇偣 鐢熸垚 113 鎵嬪姩鍥炴祦,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
+ }
+ }
+
+ /**
+ * 璺ㄥ眰鑷姩绉诲簱
+ */
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private void autoEmptyBack7() throws ParseException {
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ String currentDay = sdf.format(now);
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoTime"));
+ if (Cools.isEmpty(config)) {
+
+ } else {
+ if (config.getStatus().intValue() == 0) {
+ return;
+ }
+ JSONObject jsonObject = JSON.parseObject(config.getValue().toString());
+ Integer maxTansk = jsonObject.getInteger("maxTansk");
+ //Integer startTime = jsonObject.getInteger("startTime");
+ String startTime = jsonObject.getString("startTime");
+ long time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(currentDay + " " + startTime).getTime();
+ long time = now.getTime();
+ long time3 = time - time1;
+
+
+ if (time3 > 0 && time3 < (1000 * 60 * 10)) {
+
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1").eq("io_type", 12));
+ if (maxTansk <= agvWrkMasts.size()) {
+ return;
+ }
+
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("floor", 1).eq("lev1", 1).eq("loc_sts", "F").eq("loc_type1", 3));
+ if (agvLocMasts.isEmpty()) {
+ return;
+ }
+ for (AgvLocMast agvLocMast : agvLocMasts) {
+ try {
+ autoMoveHandler.autoTransfers(agvLocMast, maxTansk);
+ } catch (Exception e) {
+ log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "瀹氭椂绉诲簱浠诲姟 鍚稿涓�妤� --> 鍚稿浜屾ゼ,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
+ }
+ }
+ }
+ }
+
+
+ /**
+ * 鎵撴爣璁扮殑搴撲綅杩涜鑷姩绉诲簱锛屽洓鏈�
+ * 鍦ㄥ簱浣嶄笉澶熺殑鎯呭喌涓嬶紝绠卞3鍏ュ簱鍒殑妤煎眰搴撲綅鐨勬椂鍊欙紝鏅氫笂杩涜璺ㄥ眰绉诲簱
+ */
+ @Scheduled(cron = "0/30 * * * * ? ")
+ private void autoEmptyBack8() throws ParseException {
+ Date now = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ String currentDay = sdf.format(now);
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoTime2"));
+ if (Cools.isEmpty(config)) {
+
+ } else {
+ if (config.getStatus().intValue() == 0) {
+ return;
+ }
+ JSONObject jsonObject = JSON.parseObject(config.getValue().toString());
+ Integer maxTansk = jsonObject.getInteger("maxTansk");
+ //Integer startTime = jsonObject.getInteger("startTime");
+ String startTime = jsonObject.getString("startTime");
+ long time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(currentDay + " " + startTime).getTime();
+ long time = now.getTime();
+ long time3 = time - time1;
+
+
+ if (time3 > 0) {
+
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 12));
+ if (agvWrkMasts != null && maxTansk <= agvWrkMasts.size()) {
+ return;
+ }
+
+ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("floor", 1).eq("loc_sts", "F").eq("loc_type1", 3).isNotNull("ctn_no"));
+ if (agvLocMasts.isEmpty()) {
+ return;
+ }
+ for (AgvLocMast agvLocMast : agvLocMasts) {
+ 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 && agvLocMast.getFloor() == 1 && !Cools.isEmpty(agvLocMast.getCtnNo()) && agvLocMast.getCtnNo().toString().equals("1")) {
+ try {
+ autoMoveHandler.autoTransfersV2(agvLocMast, maxTansk);
+ } catch (Exception e) {
+ log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "鍥涙湡瀹氭椂绉诲簱浠诲姟 鍚稿 --> 鍚稿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage());
+ }
+ }
+
+ }
+ }
+ }
}
}
--
Gitblit v1.9.1