From c37ae85eab15d2c7566677bfb26920c31da879fe Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 24 十一月 2023 12:07:51 +0800
Subject: [PATCH] agv拣货流程更改
---
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 4 +-
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 6 +-
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 28 +-------------
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 4 +
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 12 ++++++
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 16 ++++++-
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 10 +++--
src/main/resources/application.yml | 20 +++++-----
8 files changed, 51 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index a02a99c..bc92bad 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -78,7 +78,10 @@
}
AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
if(Cools.isEmpty(agvWrkMast)){
- return R.error("浠诲姟缂栧彿閿欒");
+ agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getContainerCode()));
+ if (Cools.isEmpty(agvWrkMast)){
+ return R.error("浠诲姟缂栧彿閿欒");
+ }
}
AgvTask agvTask = AgvTask.valueOf(param.getEventType());
@@ -115,7 +118,10 @@
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
- agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205);
+ agvWrkMast.setWrkSts(205L);
+ agvWrkMast.setLocNo(param.getLocationCode());
+ agvWrkMastService.updateById(agvWrkMast);
+ //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205);
//鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){
@@ -200,7 +206,11 @@
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚
- agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
+ agvWrkMast.setWrkSts(204L);
+ agvWrkMast.setLocNo(param.getLocationCode());
+ agvWrkMastService.updateById(agvWrkMast);
+ //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
+
}
public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
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 d92368e..27d77a6 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -506,7 +506,9 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
-
+ if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){
+ throw new CoolException("鐩爣搴撲綅鎴栬�呮簮搴撲綅鏆傛湭鍒嗛厤锛屾棤娉曞彇娑�");
+ }
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
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 dc74a33..964f52f 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -45,9 +45,6 @@
@Value("${agv.containerArrivedPath}")
private String containerArrivedPath;
- @Value("${agvBasDev.maxWorkNum}")
- private int maxWrokNum;
-
@Autowired
AgvWrkMastMapper agvWrkMastMapper;
@Autowired
@@ -182,7 +179,12 @@
if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){
agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
}
- agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+
+ if(agvWrkMast.getLocNo().contains("SK")){
+ agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+ }else {
+ agvTaskkDescribeParam.setToStationCode(agvWrkMast.getLocNo());
+ }
agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
return agvTaskParam;
}).collect(Collectors.toList());
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 5cc5352..7d2b56e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -100,39 +100,15 @@
}
}
// 濡傛灉 浣滀笟鏁伴噺绛変簬鍗曟嵁鎬绘暟閲� && 宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� && AGV宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹�
+ int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) < 1;
boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().eq("order_no",orderNo)) < 1;
boolean waitPakinExist = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",orderNo)) < 1;
ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
- boolean manPakoutExist = Cools.isEmpty(manPakOut) || manPakOut.getPayment() == 1;
+ boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
-
- // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏
-// DocType docType = docTypeService.selectById(order.getDocType());
-// if (null != docType && docType.getPakout() == 1) {
-// // 閲嶇粍鏄庣粏
-// if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
-// throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-// }
-// List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
-// for (WrkDetl wrkDetl : wrkDetls) {
-// OrderDetl orderDetl = new OrderDetl();
-// orderDetl.sync(wrkDetl);
-// orderDetl.setQty(orderDetl.getAnfme());
-// orderDetl.setOrderId(order.getId());
-// orderDetl.setOrderNo(orderNo);
-// orderDetl.setStatus(1);
-// orderDetl.setCreateTime(order.getCreateTime());
-// orderDetl.setCreateBy(order.getCreateBy());
-// orderDetl.setUpdateTime(order.getUpdateTime());
-// orderDetl.setUpdateBy(order.getUpdateBy());
-// if (!orderDetlService.insert(orderDetl)) {
-// throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-// }
-// }
-// }
if (!this.updateSettle(order.getId(), 4L, null)) {
throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�");
}
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 3bfcbea..efcdff9 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -103,7 +103,7 @@
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
,new EntityWrapper<AgvWrkMast>()
.eq("wrk_sts", 21)
- .like("loc_no","@")
+ //.like("loc_no","@")
.andNew().eq("io_type", 101)
.or().eq("io_type", 103)
.or().eq("io_type", 11)
@@ -122,7 +122,7 @@
/*
瀹氭椂澶勭悊绛夊緟鎵ц鐨勪换鍔� 宸ヤ綔鐘舵�佷负21.鐢熸垚鍑哄簱浠诲姟 涓旂洰鏍囧簱浣嶄腑涓嶅惈@瀛楃
*/
- @Scheduled(cron = "0/10 * * * * ? ")
+ //@Scheduled(cron = "0/10 * * * * ? ")
public void dealWatiWrk(){
List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectReadyAgvWrkMast();
if(!Cools.isEmpty(agvWrkMastList)){
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 1619b74..84bfaa1 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,5 +1,6 @@
package com.zy.asrs.task;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.Order;
import com.zy.asrs.service.ApiLogService;
@@ -53,4 +54,15 @@
}
}
+ /*
+ 瀹氭椂鏌ヨ鐘舵�佷负2.浣滀笟涓殑鍗曟嵁锛屾鏌ユ槸鍚﹀畬鎴�
+ */
+ @Scheduled(cron = "0 */1 * * * ? ")
+ public void completeOrder(){
+ List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
+ orderList.forEach(order -> {
+ orderService.checkComplete(order.getOrderNo());
+ });
+ }
+
}
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 7ea6bfb..8d5d43a 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -182,11 +182,11 @@
@Transactional
public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
- log.info(agvWrkMastList.toString());
+ //log.info(agvWrkMastList.toString());
//浠诲姟杩囨护锛岃繃婊ゆ帀宸插瓨鍦ㄧ浉鍚岀洰鏍囧簱浣嶇殑宸ヤ綔妗�
- agvWrkMastList = filter(agvWrkMastList);
+ //agvWrkMastList = filter(agvWrkMastList);
int code = agvWrkMastService.startWrk(agvWrkMastList,"carry");
- log.info(agvWrkMastList.toString());
+ //log.info(agvWrkMastList.toString());
if (Cools.isEmpty(agvWrkMastList)){
return SUCCESS;
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c0ffce8..74c7ea8 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -73,16 +73,16 @@
password: Wlzh44338
agv:
- url: localhost:8080
- taskCreatePath: /agv/task/create
- containerMoveInPath: /agv/container/moveIn
- containerMoveOutPath: /agv/container/moveOut
- containerArrivedPath: /agv/containerArrived
-# url: 10.10.10.182:9046
-# taskCreatePath: /task/create
-# containerMoveInPath: /expand/api/moveIn/container
-# containerMoveOutPath: /expand/api/moveOut/container
-# containerArrivedPath: /conveyor/containerArrived
+# url: localhost:8080
+# taskCreatePath: /agv/task/create
+# containerMoveInPath: /agv/container/moveIn
+# containerMoveOutPath: /agv/container/moveOut
+# containerArrivedPath: /agv/containerArrived
+ url: 10.10.10.182:9046
+ taskCreatePath: /task/create
+ containerMoveInPath: /expand/api/moveIn/container
+ containerMoveOutPath: /expand/api/moveOut/container
+ containerArrivedPath: /conveyor/containerArrived
u8:
url: http://192.168.1.55:8010
--
Gitblit v1.9.1