From 81672518fc9a2e86c5c34dba341aaa535c2f069d Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 22 五月 2024 17:06:41 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 1
src/main/java/com/zy/asrs/controller/AgvLocMastController.java | 3 +
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 53 +++++++++++++++++
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 2
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 35 +++++++++++
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 2
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 55 ++++++++++++++++++
src/main/resources/application.yml | 4
8 files changed, 148 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
index ac0679a..30cd109 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
@@ -105,6 +105,9 @@
if (!agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", locMast.getLocNo()))) {
throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
+ if (locMast.getLocSts().equals("O")) {
+ locMast.setBarcode("");
+ }
}
}
locMast.setModiUser(getUserId());
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 bbc5f3e..bca97c7 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -591,7 +591,7 @@
}
//鍏ュ簱鍙栨秷
- if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){
+ if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 58){
//婧愮珯鐐�
String devNo = wrkMast.getSourceLocNo();
//鐩爣搴撲綅
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 865dcb5..f3b20d5 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -205,7 +205,7 @@
agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
}
agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
- if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 12) {
+ if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) {
agvTaskCreateParam.setTaskTyp("F06");
} else {
agvTaskCreateParam.setTaskTyp("F01");
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index f3c8e4e..31608f0 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -166,6 +166,7 @@
.or().eq("io_type", 11)
.or().eq("io_type", 110)
.or().eq("io_type", 107)
+ .or().eq("io_type", 109)
.or().eq("io_type", 108)).getRecords();
if(!Cools.isEmpty(agvWrkMastList)){
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index a5825d4..3bf8d47 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -76,7 +76,7 @@
}
- // 绌烘澘鑷姩鍥炲簱
+ // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�
@Scheduled(cron = "0/2 * * * * ? ")
private void autoEmptyBack(){
// 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
@@ -91,6 +91,39 @@
for (AgvLocMast agvLocMast : agvLocMasts) {
ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast);
}
+ }
+ // 绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣�
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private void autoEmptyBack3(){
+ // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109
+ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+ .eq("wrk_sts", 201)
+ .eq("loc_no","")
+ .or().eq("io_type",109)
+ .or().eq("io_type",112));
+ if (agvWrkMastList.isEmpty()) {
+ return;
+ }
+ for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+ ReturnT<String> returnT = autoMoveHandler.autoEmptyBack3(agvWrkMast);
+ }
+ }
+
+ // 绌烘澘鑷姩鍥炲簱
+ //@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) {
+ ReturnT<String> returnT = autoMoveHandler.autoEmptyBack2(agvLocMast);
+ }
}
}
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 7ec3e7f..dc3328c 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -17,6 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -70,7 +71,11 @@
// 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) {
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"R",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ } else {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ }
} else {
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
}
@@ -106,10 +111,17 @@
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
}
- if(agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 58){
+ if(agvWrkMast.getIoType() == 109){
//淇敼婧愬簱浣嶇姸鎬佷负O
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+ // 鏂板缓宸ヤ綔妗�
+ Date now = new Date();
+ createWrkMast(109, 201L, agvWrkMast.getLocNo(), "", agvWrkMast.getBarcode(), now, 9527L, agvWrkMast.getWhsType(), 0);
}
+ if (agvWrkMast.getIoType() == 58) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ }
+
//鍒犻櫎AGV宸ヤ綔妗�
@@ -336,4 +348,41 @@
return num <= maxWrokNum;
}).collect(Collectors.toList());
}
+
+ /*
+ 鐢熸垚宸ヤ綔妗�
+ */
+ private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType, int floor){
+ AgvWrkMast wrkMast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ wrkMast.setWrkSts(wrkSts);
+ //鍏ュ嚭搴撶被鍨�
+ wrkMast.setIoType(ioType);
+ wrkMast.setIoTime(now);
+ //浼樺厛绾�
+ wrkMast.setIoPri(300.0);
+ //婧愮珯鐐�
+ wrkMast.setSourceLocNo(sourceLocNo);
+ //鐩爣绔欑偣
+ wrkMast.setLocNo(locNo);
+ //瀹瑰櫒缂栫爜
+ wrkMast.setBarcode(barcode);
+ //瀹瑰櫒绫诲瀷
+ wrkMast.setWhsType(containerType);
+ // 鐩爣妤煎眰
+ wrkMast.setCrnNo(floor);
+
+ wrkMast.setAppeUser(userId);
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+
+ if (!agvWrkMastService.insertByIncrease(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo).eq("barcode",barcode).orderBy("modi_time",false));
+
+ return wrkMast;
+ }
}
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 73a5e0a..9a17b89 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -237,6 +237,61 @@
if(!Cools.isEmpty(agvWrkMast)){
throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
}
+ //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣�
+ AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor());
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast mast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ mast.setWrkSts(21L);
+ //鍏ュ嚭搴撶被鍨�
+ mast.setIoType(109);
+ mast.setIoTime(now);
+ //浼樺厛绾�
+ mast.setIoPri(300.0);
+ //婧愮珯鐐�
+ mast.setSourceLocNo(agvLocMast.getLocNo());
+ //鐩爣绔欑偣
+ mast.setLocNo(devpNo.getDevNo());
+ //瀹瑰櫒缂栫爜
+ mast.setBarcode(agvLocMast.getBarcode());
+ //瀹瑰櫒绫诲瀷
+ mast.setWhsType(30);
+
+ mast.setAppeUser(9527L);
+ mast.setAppeTime(now);
+ mast.setModiUser(9527L);
+ mast.setModiTime(now);
+ if (!agvWrkMastService.insertByIncrease(mast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvLocMast(agvLocMast,"R");
+ updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode());
+ return SUCCESS;
+ }
+ public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) {
+ Date now = new Date();
+ //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣�
+ AgvLocMast locMast = agvCommonService.getLocNo(3, 1);
+ //鐩爣绔欑偣
+ agvWrkMast.setLocNo(locMast.getLocNo());
+ agvWrkMast.setModiUser(9527L);
+ agvWrkMast.setModiTime(now);
+ if (!agvWrkMastService.updateById(agvWrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvLocMast(locMast,"S");
+ return SUCCESS;
+ }
+ public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) {
+ Date now = new Date();
+ //鏌ヨ宸ヤ綔妗�
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode());
+ if(!Cools.isEmpty(agvWrkMast)){
+ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
+ }
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
AgvLocMast LocMast = agvCommonService.getLocNo(3,1);
//鐢熸垚宸ヤ綔妗�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 10598da..c06ba14 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,8 +10,8 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://localhost:1433;databasename=phyzasrs
-# url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs
+# url: jdbc:sqlserver://127.0.0.1:1433;databasename=phyzasrs
+ url: jdbc:sqlserver://192.168.4.176:1433;databasename=phyzasrs
#url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs
username: sa
password: sa@123
--
Gitblit v1.9.1