From 2062f889627243c09833282218af670ba6e2797a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 31 五月 2024 20:45:15 +0800
Subject: [PATCH] #新旧物料更新接口
---
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 177 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 118 insertions(+), 59 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index d922dfe..1d108a5 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -1,5 +1,7 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.AppAuth;
import com.core.common.Cools;
@@ -24,6 +26,7 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.EnumSet;
+import java.util.Map;
/**
* 涓婃姤浜嬩欢绫诲瀷锛坋ventType锛夛細
@@ -55,23 +58,37 @@
@AppAuth(memo = "ESS浠诲姟鍥炶皟")
public R taskEventStaus(@RequestBody AgvTaskCallBackParam param, HttpServletRequest request){
+ apiLogService.save(
+ "ESS浠诲姟鍥炶皟",
+ "/tzskwms/agv/task/event/status",
+ null,
+ null,
+ JSON.toJSONString(JSONObject.toJSONString(param)),
+ null,
+ true
+ );
+
+
//save api log (appkey 鍚庣画娣诲姞)
- AppAuthUtil.auth("test-appkey",param, request);
- AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode()));
- if(Cools.isEmpty(agvWrkMast)){
- return R.error("浠诲姟缂栧彿閿欒");
+ AppAuthUtil.auth("",param, request);
+ int wrkNo = Integer.parseInt(param.getTaskCode());
+ if(wrkNo < 0){
+ wrkNo = -wrkNo;
}
-
- if(!checkParam(param,agvWrkMast)){
- return R.error("浠诲姟鍙傛暟涓庡伐浣滄。鍙傛暟涓嶇鍚�");
+ 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()));
+ if (Cools.isEmpty(agvWrkMast)){
+ return R.error("浠诲姟缂栧彿閿欒");
+ }
}
AgvTask agvTask = AgvTask.valueOf(param.getEventType());
Class<AgvTask> clz = AgvTask.class;
try {
- Method method = clz.getDeclaredMethod(param.getStatus(),AgvTaskCallBackParam.class);
- method.invoke(agvTask,param);
+ Method method = clz.getDeclaredMethod(param.getStatus(), AgvWrkMast.class, AgvTaskCallBackParam.class);
+ method.invoke(agvTask,agvWrkMast,param);
} catch (NoSuchMethodException e) {
return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎");
} catch (InvocationTargetException e) {
@@ -84,16 +101,12 @@
return R.ok();
}
- private boolean checkParam(AgvTaskCallBackParam param, AgvWrkMast agvWrkMast){
- if(!agvWrkMast.getLocNo().equals(param.getLocationCode())){
- return false;
- }
- if(!agvWrkMast.getSourceLocNo().equals(param.getStationCode())){
- return false;
- }
- return true;
- }
+ @PostMapping("/conveyor/loadContainerFinish ")
+ @AppAuth(memo = "鍙栧鍣ㄥ畬鎴愰�氱煡")
+ public R loadContainerFinish(@RequestBody Map<String,Object> params){
+ return R.ok();
+ }
}
enum AgvTask{
@@ -103,20 +116,57 @@
*/
task{
@Transactional
- public void success(AgvTaskCallBackParam param) {
+ public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
+
+ //閽堝鍚屼竴涓枡绠卞叆搴撴椂浜х敓涓ゆ潯涓嶅悓鐩爣搴撲綅鐨勫叆搴撳伐浣滄。
+ if(agvWrkMast.getIoType() == 1 && !Cools.eq(agvWrkMast.getLocNo(),param.getLocationCode())){
+
+ //鏌ヨ鏂扮殑宸ヤ綔妗�
+ AgvWrkMast agvWrkMast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+ .eq("barcode", param.getContainerCode())
+ .eq("loc_no",param.getLocationCode()));
+
+ if(!Cools.isEmpty(agvWrkMast1)){
+ //鍙栨秷宸ヤ綔妗�
+ String locNo = agvWrkMast.getLocNo();
+ agvLocMastService.updateLocStsByLocNo(locNo,"O","");
+ agvWrkMastService.deleteByWrkNo(agvWrkMast.getWrkNo());
+ agvWrkDetlService.deleteByWrkNo(agvWrkMast.getWrkNo());
+
+ agvWrkMast = agvWrkMast1;
+ }
+ }
+
+
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
- agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),205);
+ agvWrkMast.setWrkSts(205L);
+ if(param.getLocationCode().contains("@") && param.getLocationCode().contains("CS")){
+ agvWrkMast.setLocNo(param.getLocationCode());
+ }
+ //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){
+ //淇敼鍑哄簱绔欑偣鐘舵��
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode());
+ }
+ //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
+ if(agvWrkMast.getIoType() == 110){
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode());
+ }
}
- public void fail(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
},
@@ -125,19 +175,19 @@
*/
task_allocated{
@Transactional
- public void success(AgvTaskCallBackParam param) {
+ public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void fail(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
},
@@ -146,25 +196,30 @@
*/
tote_load{
@Transactional
- public void success(AgvTaskCallBackParam param) {
- //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getStationCode(),"O","");
+ 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","");
+ }
+
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负203.RCS鏀捐揣涓�
- agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),203);
- //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬�
- //agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y");
+ agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),203);
+
+
}
- public void fail(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
},
@@ -173,86 +228,90 @@
*/
tote_unload{
@Transactional
- public void success(AgvTaskCallBackParam param) {
+ public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
//淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚
- agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),204);
- }
-
- public void fail(AgvTaskCallBackParam param) {
+ agvWrkMast.setWrkSts(204L);
+ //agvWrkMast.setLocNo(param.getLocationCode());
+ agvWrkMastService.updateById(agvWrkMast);
+ //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
+
+ }
+
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
},
robot_reach{
@Transactional
- public void success(AgvTaskCallBackParam param) {
+ public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void fail(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
},
weight{
@Transactional
- public void success(AgvTaskCallBackParam param) {
+ public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void fail(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
},
rfid{
@Transactional
- public void success(AgvTaskCallBackParam param) {
+ public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void fail(AgvTaskCallBackParam param) {
+ public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void cancel(AgvTaskCallBackParam param) {
+ public void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
- public void suspend(AgvTaskCallBackParam param) {
+ public void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
}
};
//浠诲姟鐘舵�佷负鎴愬姛
- public abstract void success(AgvTaskCallBackParam param);
+ public abstract void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
//浠诲姟鐘舵�佷负澶辫触
- public abstract void fail(AgvTaskCallBackParam param);
+ public abstract void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
//浠诲姟鐘舵�佷负鍙栨秷
- public abstract void cancel(AgvTaskCallBackParam param);
+ public abstract void cancel(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
//浠诲姟鐘舵�佷负鎸傝捣
- public abstract void suspend(AgvTaskCallBackParam param);
+ public abstract void suspend(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param);
@Setter
AgvBasDevpService agvBasDevpService;
--
Gitblit v1.9.1