From 8c2d952e4ea6925a04d083c0e73817f2c3400049 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期四, 21 八月 2025 14:03:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/fyxc_shuttle_wcs' into fyxc_shuttle_wcs

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   34 ++++++++++++----
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/asrs/controller/TVController.java      |   52 +++++++++++++++++++++++++
 3 files changed, 77 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java
index c0160b0..4589c83 100644
--- a/src/main/java/com/zy/asrs/controller/TVController.java
+++ b/src/main/java/com/zy/asrs/controller/TVController.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.common.R;
@@ -8,6 +9,7 @@
 import com.zy.asrs.domain.dto.LocChartPie;
 import com.zy.asrs.domain.dto.WorkChartAxis;
 import com.zy.asrs.entity.BasShuttleErr;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.ReportQueryMapper;
 import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.BasShuttleErrService;
@@ -57,6 +59,7 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private BasShuttleErrService basShuttleErrService;
+
 
     @Autowired
     private RedisUtil redisUtil;
@@ -306,8 +309,55 @@
     /**
      * 璁惧寮傚父閫氱煡
      */
+    @GetMapping("/sta/mode")
+    public R monitorStaMode(@RequestParam("ledId") Integer ledId) {
+        List<WrkMast> wrkMastList1 = null;
+        List<WrkMast> wrkMastList2 = null;
+        switch (ledId) {
+            case 1:
+                wrkMastList1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("source_sta_no", 1014, 1022, 1025));
+                wrkMastList2 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("sta_no", 1013, 1021, 1024));
+                break;
+            case 2:
+                wrkMastList1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("source_sta_no", 1012, 1022, 1025));
+                wrkMastList2 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("sta_no", 1011, 1021, 1024));
+                break;
+            case 3:
+                wrkMastList1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("source_sta_no", 1012, 1014, 1025));
+                wrkMastList2 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("sta_no", 1011, 1013, 1024));
+                break;
+            case 4:
+                wrkMastList1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("source_sta_no", 1012, 1014, 1022));
+                wrkMastList2 = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("sta_no", 1011, 1013, 1021));
+                break;
+            default:
+                break;
+        }
+        if (!Cools.isEmpty(wrkMastList1)) {
+            String msg = "绔欑偣鍦ㄥ叆搴�";
+            Set<Integer> set = new HashSet<>();
+            for (WrkMast wrkMast : wrkMastList1) {
+                set.add(wrkMast.getSourceStaNo());
+            }
+            return R.ok().add(set.toString() + msg);
+        }
+        if (!Cools.isEmpty(wrkMastList2)) {
+            String msg = "绔欑偣鍦ㄥ嚭搴�";
+            Set<Integer> set = new HashSet<>();
+            for (WrkMast wrkMast : wrkMastList2) {
+                set.add(wrkMast.getStaNo());
+            }
+            return R.ok().add(set.toString() + msg);
+        }
+        return R.ok();
+    }
+
+
+    /**
+     * 璁惧寮傚父閫氱煡
+     */
     @GetMapping("/device/error")
-    public R monitorDeviceError() {
+    public R monitorStaInfo() {
         ArrayList<HashMap<String, Object>> list = new ArrayList<>();
 
         for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 627c8a8..bb0de91 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -602,7 +602,7 @@
     /**
      * 鍑哄簱鍒板嚭搴撳彛
      */
-    public synchronized void stnToOutStn() {
+    public synchronized void stnToOutStn(int i) {
         ShuttleThread shuttleThread1 = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 1);
         ShuttleThread shuttleThread2 = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 2);
         ShuttleProtocol status1 = shuttleThread1.getStatus();
@@ -633,20 +633,36 @@
                         if (wrkMast == null) {
                             continue;
                         }
-
                         String sourceLocNo = "1200305";
-                        String locNo = "1300105";
-                        if (wrkMast.getStaNo() == 1013) {
-                            sourceLocNo = "1200301";
-                            locNo = "1300101";
-                            if (loc.contains(locNo)) {
+                        String locNo = "1100105";
+                        if (wrkMast.getShuttleNo() == 1) {
+                            if (wrkMast.getStaNo() == 1013) {
+                                sourceLocNo = "1200301";
                                 locNo = "1100101";
+                                if (loc.contains(locNo)) {
+                                    locNo = "1100101";
+                                }
+                            } else {
+                                if (loc.contains(locNo)) {
+                                    locNo = "1100105";
+                                }
                             }
                         } else {
-                            if (loc.contains(locNo)) {
-                                locNo = "1100105";
+                            if (wrkMast.getStaNo() == 1013) {
+                                sourceLocNo = "1200301";
+                                locNo = "1000101";
+                                if (loc.contains(locNo)) {
+                                    locNo = "1000101";
+                                }
+                            } else {
+                                if (loc.contains(locNo)) {
+                                    locNo = "1000105";
+                                }
                             }
                         }
+                        if (loc.contains(locNo)) {
+                            locNo = "0900105";
+                        }
 
                         boolean dispatchShuttle = shuttleDispatchUtils.shuttleMoveGenerate(wrkMast.getWrkNo(), sourceLocNo, locNo, wrkMast.getShuttleNo(), null, false);
                         if (!dispatchShuttle) {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index c2c2871..b318a8f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -49,7 +49,7 @@
                     // 闂撮殧
                     // 鍑哄簱
                     mainService.outFirst();
-                    mainService.stnToOutStn();//杈撻�佺嚎
+                    mainService.stnToOutStn(i);//杈撻�佺嚎
                     //杈撻�佺嚎瀹屾垚鍒ゆ柇
                     mainService.devpFinished();
 

--
Gitblit v1.9.1