From 1365b4833632f2d1c5fb346cd700e2e998010db6 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期三, 27 三月 2024 17:02:01 +0800
Subject: [PATCH] 回调任务更新
---
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 2
src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java | 38 ++-------
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 8 +-
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 135 ++++-----------------------------
src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java | 8 +
src/main/java/com/zy/common/web/WcsController.java | 4
src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java | 3
src/main/java/com/zy/asrs/service/AgvBasDevpService.java | 3
8 files changed, 48 insertions(+), 153 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index ca81a11..18346cb 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -72,22 +72,22 @@
//save api log (appkey 鍚庣画娣诲姞)
AppAuthUtil.auth("",param, request);
- int wrkNo = Integer.parseInt(param.getTaskCode());
+ int wrkNo = Integer.parseInt(param.getReqCode());
if(wrkNo < 0){
wrkNo = -wrkNo;
}
AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
if(Cools.isEmpty(agvWrkMast)){
- agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getContainerCode()));
+ agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getPodCode()));
if (Cools.isEmpty(agvWrkMast)){
return R.error("浠诲姟缂栧彿閿欒");
}
}
- AgvTask agvTask = AgvTask.valueOf(param.getEventType());
+ AgvTask agvTask = AgvTask.valueOf(param.getMethod());
Class<AgvTask> clz = AgvTask.class;
try {
- Method method = clz.getDeclaredMethod(param.getStatus(), AgvWrkMast.class, AgvTaskCallBackParam.class);
+ Method method = clz.getDeclaredMethod("success", AgvWrkMast.class, AgvTaskCallBackParam.class);
method.invoke(agvTask,agvWrkMast,param);
} catch (NoSuchMethodException e) {
return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
@@ -114,14 +114,12 @@
/**
* 涓婃姤浠诲姟鐘舵��
*/
- task{
+ end{
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
agvWrkMast.setWrkSts(205L);
- if(param.getLocationCode().contains("@")){
- agvWrkMast.setLocNo(param.getLocationCode());
- }
+
//agvWrkMast.setLocNo(param.getLocationCode());
agvWrkMastService.updateById(agvWrkMast);
//agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205);
@@ -129,83 +127,47 @@
//鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){
//淇敼鍑哄簱绔欑偣鐘舵��
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
}
//鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
if(agvWrkMast.getIoType() == 110){
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
}
- }
-
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
}
},
/**
* 涓婃姤浠诲姟鍒嗛厤缁欐満鍣ㄤ汉
*/
- task_allocated{
+ start{
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
},
/**
* 涓婃姤鍙栫鐘舵��
*/
- tote_load{
+ outbin{
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//鍏ュ簱浠诲姟 || 鎷f枡鍏ュ簱浠诲姟 ||鐩樼偣鍐嶅叆搴� ||绌烘澘鍏ュ簱
if(agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 || agvWrkMast.getIoType() == 10){
//淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","");
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",null);
}
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓�
agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),203);
-
-
}
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
},
/**
* 涓婃姤鏀剧鐘舵��
*/
- tote_unload{
+ cancel{
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚
@@ -216,81 +178,22 @@
}
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
},
- robot_reach{
+ apply{
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
- },
- weight{
- @Transactional
- public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
- },
- rfid{
- @Transactional
- public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
- }
-
- public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
};
//浠诲姟鐘舵�佷负鎴愬姛
public abstract void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
- //浠诲姟鐘舵�佷负澶辫触
- public abstract void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
- //浠诲姟鐘舵�佷负鍙栨秷
- public abstract void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
- //浠诲姟鐘舵�佷负鎸傝捣
- public abstract void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
+// //浠诲姟鐘舵�佷负澶辫触
+// public abstract void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
+// //浠诲姟鐘舵�佷负鍙栨秷
+// public abstract void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
+// //浠诲姟鐘舵�佷负鎸傝捣
+// public abstract void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
@Setter
AgvBasDevpService agvBasDevpService;
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java
index 70507b9..4943f7d 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java
@@ -3,45 +3,27 @@
import lombok.Data;
import java.io.Serializable;
-import java.util.List;
@Data
public class AgvTaskCallBackParam implements Serializable {
private static final long serialVersionUID = 1L;
- //涓氬姟浠诲姟鍙�
- private String taskCode;
-
- //涓婃姤浜嬩欢绫诲瀷
- private String eventType;
+ //璇锋眰缂栧彿
+ private String reqCode;
//浠诲姟鐘舵��
- private String status;
+ private String method;
- //鏈哄櫒浜虹紪鐮�
+ //AGV缂栧彿
private String robotCode;
- //瀹瑰櫒缂栫爜
- private String containerCode;
+ //璐ф灦缂栧彿
+ private String podCode;
- //宸ヤ綔浣嶇紪鐮�
- private String locationCode;
+ //褰撳墠浣嶇疆缂栧彿
+ private String currentPositionCode;
- //宸ヤ綔绔欑紪鐮�
- private String stationCode;
+ //宸ヤ綔浣�
+ private String wbCode;
- //鎻忚堪淇℃伅锛屾弿杩板紓甯稿師鍥�/鎸傝捣鍘熷洜绛�
- private String message;
-
- //搴撲綅鏄惁鏈夊鍣紝鐩樼偣浠诲姟鎵嶄細杩斿洖璇ュ��
- private boolean isLocationHasContainer;
-
- //鑳岀瘬灞傚彿锛屼粠 0 灞傚紑濮嬶紝浠庝笅寰�涓婄紪鍙枫��64 琛ㄧず鏀惧湪浜嗚揣鍙変笂
- private int trayLevel;
-
- //閲嶉噺锛屽崟浣嶄负 g锛屼粎闄愪簬閲嶉噺鐩樼偣
- private int weight;
-
- //rfid 鐩樼偣淇℃伅锛屼粎闄愪簬 rfid 鐩樼偣
- private List<String> rfidInfo;
}
diff --git a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
index 660e611..f2aee4b 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java
@@ -24,6 +24,9 @@
@Select("select station_code from agv_bas_devp where cache_shelves = 'N' and in_enable = 'Y' group by station_code")
List<String> selectCacheShelvesStationCodeByFloor(@Param("floor") int floor);
+ @Select("select dev_no from agv_bas_devp where loc_type1 = #{locType}")
+ List<String> selectCacheShelvesStationCodeByLocType(@Param("locType") Short locType);
+
@Select("SELECT\n" +
"\tbas.dev_no,\n" +
"\tCOUNT ( mast.loc_no ) AS num \n" +
diff --git a/src/main/java/com/zy/asrs/service/AgvBasDevpService.java b/src/main/java/com/zy/asrs/service/AgvBasDevpService.java
index a4aea20..a55f78e 100644
--- a/src/main/java/com/zy/asrs/service/AgvBasDevpService.java
+++ b/src/main/java/com/zy/asrs/service/AgvBasDevpService.java
@@ -12,7 +12,7 @@
public void initBasDevp();
- public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode);
+ public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode, Short containerType);
public Map<String, Object> getAgvBasDevpDtoByStationCode(String stationCode);
@@ -25,6 +25,7 @@
List<AgvBasDevp> getBasDevpByNoCacheShelves();
List<String> selectCacheShelvesStationCodeByFloor(int floor);
+ List<String> selectCacheShelvesStationCodeByLocType(short locType);
public List<Map<String,Object>> selectDevNoAndNumBystationCode(String stationCode);
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
index 28ed908..0a2aceb 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
@@ -84,11 +84,12 @@
return agvBasDevp;
}
- public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode){
+ public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode, Short containerType){
AgvBasDevp agvBasDevp = this.selectById(devNo);
agvBasDevp.setLocSts(locSts);
agvBasDevp.setBarcode(barcode);
+ agvBasDevp.setLocType2(containerType);
this.updateById(agvBasDevp);
}
@@ -263,6 +264,11 @@
return this.baseMapper.selectCacheShelvesStationCodeByFloor(floor);
}
+ @Override
+ public List<String> selectCacheShelvesStationCodeByLocType(short locType) {
+ return this.baseMapper.selectCacheShelvesStationCodeByLocType(locType);
+ }
+
public List<Map<String,Object>> selectDevNoAndNumBystationCode(String stationCode){
return this.baseMapper.selectDevNoAndNumBystationCode(stationCode);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index 400261b..40fc577 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -93,7 +93,7 @@
//褰撳墠搴撲綅鎵�澶勬ゼ灞�
int floor = Integer.parseInt(agvLocDetl.getLocNo().split("@")[1]);
//locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
- locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByFloor(floor));
+ locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1()));
locDtoList.add(locDto);
issued -= anfme;
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 feacc9d..97265c2 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -548,11 +548,11 @@
//鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){
//淇敼鍑哄簱绔欑偣鐘舵��
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
}
//鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
if(wrkMast.getIoType() == 110){
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
}
}
@@ -575,7 +575,7 @@
//鐩爣搴撲綅
String locNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"O","",null);
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
//鍑哄簱鍙栨秷
}else {
@@ -585,7 +585,7 @@
String devNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
if(devNo.contains("@")){
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","");
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
}
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index fc8ca3a..e820586 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -595,7 +595,7 @@
//鎷f枡銆佺洏鐐瑰畬鎴愪换鍔�
if(!Cools.isEmpty(agvWrkMast) && (agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107) && agvWrkMast.getWrkSts() == 205){
//缁戝畾绔欑偣
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode,agvWrkMast.getWhsType().shortValue());
//鐢熸垚鎷f枡銆佺洏鐐瑰啀鍏ュ簱浠诲姟
List<AgvWrkMast> agvWrkMastList = new ArrayList<>();
@@ -610,7 +610,7 @@
//鍏ュ簱浠诲姟
if (!Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode))){
//缁戝畾绔欑偣
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode,agvWrkMast.getWhsType().shortValue());
//鐢熸垚宸ヤ綔妗�
List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("dev_no", param.getDevNo()));
agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null, true);
--
Gitblit v1.9.1