From e0ffdb9ece998fb3dd5ed497ba1dff8ab6749e30 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 29 十二月 2025 20:36:15 +0800
Subject: [PATCH] 海康rcs系统可能会多次上报导致库位状态不对
---
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 42 ++++++++++++++++++++++++++++++++++++------
1 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index f7a4967..969cbda 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -7,6 +7,7 @@
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.AgvBasDevp;
+import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.WrkMastExecute;
import com.zy.asrs.entity.param.AgvTaskCallBackParam;
@@ -44,7 +45,7 @@
* 飦� robot_reach锛氭満鍣ㄤ汉鍒拌揪宸ヤ綔绔欍��
* 飦� weight锛氱О閲嶄簨浠跺洖璋冦��
* 飦� rfid锛歊FID璇嗗埆浜嬩欢鍥炶皟銆�
- *
+ * <p>
* 浠诲姟鐘舵�侊紙status锛夛細
* 飦� success锛氭垚鍔熴��
* 飦� fail锛氬け璐ャ��
@@ -89,6 +90,15 @@
logPost(param, JSONObject.toJSONString(r), false);
return r;
}
+ }
+ try {
+ if (!Cools.isEmpty(agvWrkMast.getBarcode()) && !Cools.isEmpty(param.getPodCode())) {
+ if (!agvWrkMast.getBarcode().equals(param.getPodCode())) {
+ log.info("AGV鍥炶皟鐨勮繑鍥炵殑鎵樼洏鐮佸拰宸ヤ綔妗f墭鐩樹笉涓�鑷�,{}{}", agvWrkMast.getBarcode(), param.getPodCode());
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
}
if (agvWrkMast.getIoType().equals(121)) {
try {
@@ -174,7 +184,6 @@
@Transactional
public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
-
//淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
agvWrkMast.setWrkSts(205L);
@@ -195,6 +204,8 @@
}
agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
+
+
}
},
/**
@@ -232,6 +243,12 @@
String locSts = "O";
if (byDevNo != null) {
assert log != null;
+// if (!Cools.isEmpty(agvWrkMast.getBarcode())) {
+// AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", agvWrkMast.getBarcode()));
+// if (!Cools.isEmpty(agvBasDevp) && agvBasDevp.getLocSts().equals("F") && !agvBasDevp.getDevNo().equals(byDevNo.getDevNo())) {
+// agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(), locSts, "", null);
+// }
+// }
log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬�:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
if ("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts())) {
log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬佷繚鎸佷笉鍙�1:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
@@ -242,15 +259,19 @@
locSts = "O";
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), locSts, "", null);
}
+
}
break;
}
if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 114) {
- //鏇存柊搴撳瓨鏄庣粏
- agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo());
- //淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+ AgvLocMast agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvWrkMast.getSourceLocNo()));
+ if(agvLocMast.getLocSts().equals("R")){
+ //鏇存柊搴撳瓨鏄庣粏
+ agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo(), agvWrkMast.getAppeUser());
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+ }
} else if (agvWrkMast.getIoType() == 109 && !agvWrkMast.getSourceLocNo().substring(0, 2).equals("DB")) {
//淇敼婧愬簱浣嶇姸鎬佷负O
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
@@ -349,6 +370,15 @@
}
}
+
+ public static void main(String[] args) {
+ try {
+ String s = null;
+ System.out.println(s.equals("1"));
+ }catch (Exception e){
+
+ }
+ }
}
--
Gitblit v1.9.1