From 0e9c60905511ddfa755f9579f35ee4b154703e4d Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 30 五月 2024 10:44:56 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 6
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 20 +-
src/main/java/com/zy/common/service/AgvCommonService.java | 31 ++++
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 18 ++
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 44 ++++++
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 37 ++++-
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 72 +++++++++
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 2
src/main/java/com/zy/asrs/service/AgvMobileService.java | 10 +
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 169 +++++++++++++++++++++++
10 files changed, 378 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 5f00b40..2e5c799 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -490,6 +490,24 @@
return R.ok();
}
+ @PostMapping("/hand/control/empOut")
+ @Transactional
+ @ManagerAuth(memo = "绌烘灦绂诲満")
+ @Synchronized
+ public R empOut(@RequestBody AgvMobileStartPakin param){
+ agvMobileService.empOut(param, getUserId());
+ return R.ok();
+ }
+
+ @PostMapping("/hand/control/empIn")
+ @Transactional
+ @ManagerAuth(memo = "绌烘灦杩涘満")
+ @Synchronized
+ public R empIn(@RequestBody AgvMobileStartPakin param){
+ agvMobileService.empIn(param, getUserId());
+ return R.ok();
+ }
+
@PostMapping("/hand/control/doBack")
@Transactional
@ManagerAuth(memo = "绔欑偣鍥為��")
diff --git a/src/main/java/com/zy/asrs/service/AgvMobileService.java b/src/main/java/com/zy/asrs/service/AgvMobileService.java
index 2d3391e..8dc32f4 100644
--- a/src/main/java/com/zy/asrs/service/AgvMobileService.java
+++ b/src/main/java/com/zy/asrs/service/AgvMobileService.java
@@ -58,4 +58,14 @@
*/
String handBack(AgvMobileStartPakin param, Long userId);
+ /**
+ * 绌烘灦绂诲満
+ */
+ String empOut(AgvMobileStartPakin param, Long userId);
+
+ /**
+ * 绌烘灦杩涘満
+ */
+ String empIn(AgvMobileStartPakin param, Long userId);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index d877c17..9689ce3 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -532,6 +532,7 @@
if (agvWrkMast.getCrnNo() != agvBasDevp.getFloor()) {
throw new CoolException("璇风Щ鍔ㄥ埌->" + agvWrkMast.getCrnNo() + "妤煎叆搴撶偣鍏ュ簱");
}
+ AgvLocMast locNo = agvCommonService.getLocNo(3, 1);
//宸ヤ綔鐘舵��
agvWrkMast.setWrkSts(211L);
//鍏ュ嚭搴撶被鍨�
@@ -548,6 +549,49 @@
return "ok";
}
/*
+ 绌烘灦绂诲満
+ */
+ @Override
+ @Transactional
+ @Synchronized
+ public String empOut(AgvMobileStartPakin param, Long userId) {
+ Date now = new Date();
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo()));
+ Integer oldWrkNo = agvWrkMast.getWrkNo();
+ if (Cools.isEmpty(agvWrkMast)) {
+ throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�");
+ }
+ agvWrkMast.setWrkSts(213L);
+ agvWrkMast.setSourceLocNo("");
+ if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
+ throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+ }
+ // 鏇存柊婧愬簱浣嶇姸鎬�
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ return "ok";
+ }
+ /*
+ 绌烘灦杩涘満
+ */
+ @Override
+ @Transactional
+ @Synchronized
+ public String empIn(AgvMobileStartPakin param, Long userId) {
+ Date now = new Date();
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()));
+ if (Cools.isEmpty(agvWrkMast)) {
+ throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�");
+ }
+ agvWrkMast.setWrkSts(214L);
+ agvWrkMast.setSourceLocNo(param.getDevNo());
+ if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) {
+ throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+ }
+ // 鏇存柊婧愬簱浣嶇姸鎬�
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",param.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ return "ok";
+ }
+ /*
* 绔欑偣鍥為��
*/
@Override
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 97933e9..b71cbd0 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -679,20 +679,39 @@
//鐩爣绔欑偣
String devNo = wrkMast.getLocNo();
if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 109) {
- agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
- } else {
- agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
- }
- if (wrkMast.getIoType() == 109){
- if (Cools.isEmpty(wrkMast.getLocNo())) {
+ if (wrkMast.getIoType() == 109){
+ // 婧愬簱浣嶆槸绔欑偣
+ if ("DB".equals(locNo.substring(0,2))) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(devNo,"O","",null);
+ // 婧愬簱浣嶆槸搴撲綅 鐩爣搴撲綅鏄珯鐐�
+ } else if ("DB".equals(devNo.substring(0,2))) {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"O","",null);
+ // 婧愬簱浣嶆槸搴撲綅
+ } else {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(devNo,"O","",null);
+ }
+ }else {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
+ }
+ } else if (wrkMast.getIoType() == 113) {
+ if (wrkMast.getWrkSts() == 212 || wrkMast.getWrkSts() == 213) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
} else {
- agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo));
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+ if (!Cools.isEmpty(devNo)) {
+ agvLocMastService.updateLocStsByLocNo(devNo,"0","",null);
+ }
}
- }else {
+ } else {
agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
+ agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
}
+
}
if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
@@ -734,11 +753,11 @@
agvWrkDetlLogService.save(wrkMast.getWrkNo());
-
//鍒犻櫎宸ヤ綔妗d互鍙婃槑缁�
if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){
throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�");
}
+
if (type == 2) {
//璋冪敤agv鍙栨秷浠诲姟鎺ュ彛
agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
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 1dd5f31..1e5476d 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -217,7 +217,7 @@
agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
}
agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
- if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || 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 31608f0..bb0d72e 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -56,7 +56,8 @@
.or().eq("io_type",12)
.or().eq("io_type",108)
.or().eq("io_type",109)
- .or().eq("io_type",112));
+ .or().eq("io_type",112)
+ .or().eq("io_type",113));
if(!Cools.isEmpty(agvWrkMastList)){
agvWrkMastList.stream().forEach(agvWrkMast -> {
agvWrkMastHandler.completedPutWayWrk(agvWrkMast);
@@ -116,7 +117,8 @@
.or().eq("io_type", 12)
.or().eq("io_type", 109)
.or().eq("io_type", 108)
- .or().eq("io_type", 112)).getRecords();
+ .or().eq("io_type", 112)
+ .or().eq("io_type", 113)).getRecords();
if(!Cools.isEmpty(agvWrkMastList)){
agvWrkMastList.forEach(agvWrkMast -> {
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 47690fc..16f5de5 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+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;
@@ -25,6 +27,8 @@
private AutoMoveHandler autoMoveHandler;
@Autowired
private AgvWrkMastService agvWrkMastService;
+ @Autowired
+ private AgvBasDevpService agvBasDevpService;
// 璋冩嫧鍑哄簱
@Scheduled(cron = "0/2 * * * * ? ")
@@ -112,14 +116,13 @@
}
}
// 绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣�
- //@Scheduled(cron = "0/2 * * * * ? ")
+ @Scheduled(cron = "0/2 * * * * ? ")
private void autoEmptyBack3(){
// 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
- .eq("wrk_sts", 201)
+ .eq("wrk_sts", 214)
.eq("loc_no","")
- .eq("io_type",109)
- .or().eq("io_type",112));
+ .eq("io_type",113));
if (agvWrkMastList.isEmpty()) {
return;
}
@@ -129,7 +132,7 @@
}
// 绌烘澘鑷姩鍥炲簱
- @Scheduled(cron = "0/2 * * * * ? ")
+// @Scheduled(cron = "0/2 * * * * ? ")
private void autoEmptyBack2(){
// 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
@@ -143,6 +146,65 @@
for (AgvLocMast agvLocMast : agvLocMasts) {
ReturnT<String> returnT = autoMoveHandler.autoEmptyBack2(agvLocMast);
}
+ }
+ /**
+ * 绌烘澘鑷姩鍥炲簱
+ * 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿
+ * 姣忓眰鏈�澶� 鍦� 鍥炲簱鏁伴噺闄愬埗5鏉�
+ * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱
+ */
+ @Scheduled(cron = "0/2 * * * * ? ")
+ private void autoEmptyBack4(){
+ // 鏌ヨ 涓嶄负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.autoEmptyBack4(agvLocMast);
+ }
+ }
+
+ /**
+ * 绔欑偣鏄惁鑷姩
+ * 鑷姩锛� 鐢熸垚 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) {
+ ReturnT<String> returnT = autoMoveHandler.autoEmptyBack5(agvBasDevp);
+ }
+ }
+
+ /**
+ * 妫�娴�1妤兼帴椹崇偣
+ * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦
+ */
+ @Scheduled(cron = "0/2 * * * * ? ")
+ 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) {
+ ReturnT<String> returnT = autoMoveHandler.autoEmptyBack6(agvBasDevp);
+ }
}
}
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 4d38a14..4e6e753 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -70,13 +70,14 @@
agvWrkMastService.updateById(agvWrkMast);
// 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
- if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) {
- //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());
- //}
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109 ) {
+ // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+ if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",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());
}
@@ -113,14 +114,13 @@
}
if(agvWrkMast.getIoType() == 109){
+ // 鎺ラ┏浣� -- 搴撲綅
if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+ // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
} else {
//淇敼婧愬簱浣嶇姸鎬佷负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) {
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 59a0fdd..9c46105 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -273,12 +273,13 @@
public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) {
Date now = new Date();
AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
- if (agvBasDevp.getAutoing() == "N") {
- throw new CoolException("褰撳墠绔欑偣涓烘墜鍔�");
- }
//妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣�
AgvLocMast locMast = agvCommonService.getLocNo(3, 1);
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("1妤兼殏鏃犵┖搴撲綅");
+ }
//鐩爣绔欑偣
+ agvWrkMast.setWrkSts(201L);
agvWrkMast.setLocNo(locMast.getLocNo());
agvWrkMast.setModiUser(9527L);
agvWrkMast.setModiTime(now);
@@ -287,6 +288,7 @@
}
//鏇存柊鐩爣搴撲綅鐘舵��
updateAgvLocMast(locMast,"S");
+ updateAgvBasDevp(agvBasDevp,"R");
return SUCCESS;
}
public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) {
@@ -329,4 +331,165 @@
updateAgvLocMast(LocMast,"S");
return SUCCESS;
}
+
+ public ReturnT<String> autoEmptyBack4(AgvLocMast agvLocMast) {
+ Date now = new Date();
+ //鏌ヨ宸ヤ綔妗�
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode());
+ if(!Cools.isEmpty(agvWrkMast)){
+ throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
+ }
+ String floor = "";
+ String locNo = "";
+ Long wrkSts = 0L;
+ Integer ioType = 0;
+ AgvLocMast locMast = new AgvLocMast();
+ if (agvLocMast.getFloor() == 3) {
+ floor = "F3";
+ } else if(agvLocMast.getFloor() == 2) {
+ floor = "F2";
+ }
+ List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).or().eq("io_type", 113).like("source_loc_no", floor));
+ if (agvWrkMasts.size() >= 5) {
+ throw new CoolException("鏆傚仠鍥炴祦");
+ }
+ //妫�绱㈢┖闂插彲鍏ユ帴椹充綅 娌℃湁绌洪棽鍙叆鎺ラ┏浣� 鐩存帴鎵惧簱浣�
+ AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor(),"Y","Y");
+ if (!Cools.isEmpty(devpNo)) {
+ locNo = devpNo.getDevNo();
+ wrkSts = 21L;
+ ioType = 109;
+ } else {
+ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+ locMast = agvCommonService.getLocNo(3,1);
+ locNo = locMast.getLocNo();
+ wrkSts = 201L;
+ ioType = 109;
+ }
+
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast mast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ mast.setWrkSts(wrkSts);
+ //鍏ュ嚭搴撶被鍨�
+ mast.setIoType(ioType);
+ mast.setIoTime(now);
+ //浼樺厛绾�
+ mast.setIoPri(300.0);
+ //婧愮珯鐐�
+ mast.setSourceLocNo(agvLocMast.getLocNo());
+ //鐩爣绔欑偣
+ mast.setLocNo(locNo);
+ //璐ф灦缂栫爜
+ 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");
+ if (wrkSts == 21L) {
+ updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode());
+ } else {
+ updateAgvLocMast(locMast,"S");
+ }
+
+
+ return SUCCESS;
+ }
+
+ public ReturnT<String> autoEmptyBack5(AgvBasDevp agvBasDevp) {
+ //鏌ヨ宸ヤ綔妗�
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvBasDevp.getBarcode());
+ if(!Cools.isEmpty(agvWrkMast)){
+ throw new CoolException("褰撳墠"+agvBasDevp.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
+ }
+ Date now = new Date();
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast mast = new AgvWrkMast();
+ mast.setIoTime(now);
+ //浼樺厛绾�
+ mast.setIoPri(300.0);
+ //婧愮珯鐐�
+ mast.setSourceLocNo(agvBasDevp.getDevNo());
+ //璐ф灦缂栫爜
+ mast.setBarcode(agvBasDevp.getBarcode());
+ //璐ф灦绫诲瀷
+ mast.setWhsType(30);
+ mast.setAppeUser(9527L);
+ mast.setAppeTime(now);
+ mast.setModiUser(9527L);
+ mast.setModiTime(now);
+ // 鍒ゆ柇 鎺ラ┏鐐规槸鍚﹁嚜鍔�
+ if ("Y".equals(agvBasDevp.getAutoing())) {
+ //宸ヤ綔鐘舵��
+ mast.setWrkSts(201L);
+ //鍏ュ嚭搴撶被鍨�
+ mast.setIoType(109);
+ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+ AgvLocMast locMast = agvCommonService.getLocNo(3,1);
+ mast.setLocNo(locMast.getLocNo());
+ updateAgvLocMast(locMast,"S");
+ } else {
+ //宸ヤ綔鐘舵��
+ mast.setWrkSts(212L);
+ //鍏ュ嚭搴撶被鍨�
+ mast.setIoType(113);
+ //鐩爣绔欑偣
+ mast.setLocNo("");
+ }
+ if (!agvWrkMastService.insertByIncrease(mast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvBasDevp(agvBasDevp,"R");
+
+
+ return SUCCESS;
+ }
+
+ public ReturnT<String> autoEmptyBack6(AgvBasDevp agvBasDevp) {
+ //鏌ヨ宸ヤ綔妗�
+ AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvBasDevp.getBarcode());
+ if(!Cools.isEmpty(agvWrkMast)){
+ throw new CoolException("褰撳墠"+agvBasDevp.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
+ }
+ Date now = new Date();
+ //鐢熸垚宸ヤ綔妗�
+ AgvWrkMast mast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ mast.setWrkSts(214L);
+ //鍏ュ嚭搴撶被鍨�
+ mast.setIoType(113);
+ //鐩爣绔欑偣
+ mast.setLocNo("");
+ mast.setIoTime(now);
+ //浼樺厛绾�
+ mast.setIoPri(300.0);
+ //婧愮珯鐐�
+ mast.setSourceLocNo(agvBasDevp.getDevNo());
+ //璐ф灦缂栫爜
+ mast.setBarcode(agvBasDevp.getBarcode());
+ //璐ф灦绫诲瀷
+ mast.setWhsType(30);
+ mast.setAppeUser(9527L);
+ mast.setAppeTime(now);
+ mast.setModiUser(9527L);
+ mast.setModiTime(now);
+ if (!agvWrkMastService.insertByIncrease(mast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvBasDevp(agvBasDevp,"R");
+
+
+ return SUCCESS;
+ }
}
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index 426221c..f756a9a 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -268,9 +268,10 @@
throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌烘帴椹充綅");
}
+
/**
* 妫�绱㈠簱浣嶅彿
- * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
+ * @return locNo 妫�绱㈣嚜鍔ㄦ帴椹充綅
*/
public AgvBasDevp getDevpNo(int type, int floor, String auto) {
// 鐩爣搴撲綅
@@ -284,6 +285,24 @@
//鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌烘帴椹充綅");
+ }
+
+ /**
+ * 妫�绱㈠簱浣嶅彿
+ * @return locNo 妫�绱㈠彲鍏ユ帴椹充綅
+ */
+ public AgvBasDevp getDevpNo(int type, int floor, String auto ,String inEable) {
+ // 鐩爣搴撲綅
+ AgvBasDevp basDevp = null;
+
+ // 寮�濮嬫煡鎵惧簱浣� ==============================>>
+ basDevp = getDevpNoInEable(type,floor,inEable);
+ if (basDevp != null) {
+ return basDevp;
+ }
+
+ //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
+ return basDevp;
}
//闅忔満鍙栦竴涓揣浣�
@@ -305,4 +324,14 @@
.like("dev_no","DB"));
}
+ //闅忔満鍙栦竴涓揣浣�
+ private AgvBasDevp getDevpNoInEable(int type,int floor,String inEable){
+ return agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>()
+ .eq("loc_sts","O")
+ .eq("floor",floor)
+ .eq("loc_type1",type)
+ .eq("in_enable",inEable)
+ .like("dev_no","DB"));
+ }
+
}
--
Gitblit v1.9.1