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 |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 86f6fdc..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;
@@ -264,10 +265,13 @@
             }
 
             if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 114) {
-                //鏇存柊搴撳瓨鏄庣粏
-                agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo(), agvWrkMast.getAppeUser());
-                //淇敼婧愬簱浣嶇姸鎬佷负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);

--
Gitblit v1.9.1