From c904f735e0b8a488ef56744c08f8e10258639bce Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 05 六月 2025 15:54:58 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/RgvController.java |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 0af8021..59cb2d8 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -14,10 +14,12 @@
 import com.zy.asrs.entity.BasRgv;
 import com.zy.asrs.entity.BasRgvErr;
 import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastSta;
 import com.zy.asrs.mapper.BasRgvErrMapper;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.WrkMastStaService;
 import com.zy.asrs.service.impl.MainServiceImpl;
 import com.zy.core.CrnThread;
 import com.zy.core.RgvThread;
@@ -70,6 +72,8 @@
     private MainServiceImpl mainService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private WrkMastStaService wrkMastStaService;
     int wrkNo = 9990;
 
 
@@ -215,6 +219,12 @@
                    case 16://璐у弶瀹氫綅鍥炰腑
                        DB="5.7";
                        break;
+                   case 17://鎭㈠鑱旀満浠诲姟
+                       DB="6.0";
+                       break;
+                   case 18://娓呮鑱旀満浠诲姟
+                       DB="6.1";
+                       break;
                    default:
                        return R.error("鎸夐挳涓嶅瓨鍦紵锛燂紵锛燂紒锛侊紒");
                }
@@ -291,6 +301,12 @@
         return rgvFetchSingleStepPut(param,3)?R.ok():R.error();
     }
 
+    @ManagerAuth(memo = "鍙栨斁")
+    @PostMapping("/operator/single/step/four/put")
+    public R rgvFetchSingleStepFourPut(RgvOperatorParam param){
+        return rgvFetchSingleStepPut(param,4)?R.ok():R.error();
+    }
+
     public boolean rgvFetchSingleStepPut(RgvOperatorParam param ,Integer type){
         wrkNo++;
         RgvCommand command = new RgvCommand();
@@ -306,6 +322,9 @@
                 break;
             case 3:
                 fetchPut = RgvTaskModeType.X_MOVE;
+                break;
+            case 4:
+                fetchPut = RgvTaskModeType.FETCH_PUT;
                 break;
             default:
                 return false;
@@ -323,7 +342,7 @@
 //        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
         command.setCommand((short) 0);
 
-        return rgvControl(command);
+        return rgvControlD(command);
     }
 
 
@@ -426,15 +445,29 @@
             if (rgvProtocol == null) {
                 continue;
             }
+            if (rgvProtocol.getTaskNo1() != 0){
+                WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>()
+                        .setSqlSelect("TOP 1 wrk_no as wrkNo , wrk_sts as wrkSts, create_time as createTime")
+                        .eq("wrk_No", rgvProtocol.getTaskNo1())
+
+                        .orderBy("create_time", false)
+
+                );
+                if (!Cools.isEmpty(wrkMastSta)){
+                    vo.setWrkSts(wrkMastSta.getWrkSts());
+                }
+            }
             vo.setStatusType(rgvProtocol.modeType.desc);   //  妯″紡鐘舵��
             vo.setStatus(rgvProtocol.getStatusType1().desc);     //  鐘舵��
             vo.setWorkNo1(rgvProtocol.getTaskNo1());  //  宸ヤ綅1浠诲姟鍙�
-            vo.setRgvPos(rgvProtocol.getRgvPos());
+            vo.setRgvPos(rgvProtocol.getCode());
             vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾");
             vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ");
             vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
-//            vo.setStaNo(rgvProtocol.getSouSta().intValue());
-//            vo.setSourceStaNo(rgvProtocol.getEndSta().intValue());
+            vo.setList32(rgvProtocol.getList32());
+            vo.setList33(rgvProtocol.getList33());
+            vo.setList34(rgvProtocol.getList34());
+            vo.setList35(rgvProtocol.getList35());
             if (rgvProtocol.getAlarm() > 0) {
                 BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm());
                 vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName());
@@ -608,4 +641,34 @@
         return false;
     }
 
+    private boolean rgvControlD(RgvCommand command){
+        if (command.getRgvNo() == null) {
+            throw new CoolException("璇烽�夋嫨RGV");
+        }
+        for (RgvSlave rgv : slaveProperties.getRgv()) {
+            // 鑾峰彇RGV淇℃伅
+            if (command.getRgvNo().equals(rgv.getId())) {
+//                SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+//                if (rgvThread == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+//                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+//                if (rgvProtocol == null) {
+//                    throw new CoolException("RGV涓嶅湪绾�");
+//                }
+                try{
+                    if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(11, command))) {
+                        return true;
+                    } else {
+                        throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                    }
+                }catch (Exception e){
+                    log.error("鍗曟浠诲姟涓嬪彂澶辫触锛屽紓甯革細"+e);
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+            }
+        }
+        return false;
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1