From b825c8243ba8f8f45b61410467ec4e5f414d944a Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 13 六月 2025 10:18:54 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  148 ++-----------------------------------------------
 src/main/java/com/zy/core/MainProcess.java                  |    4 -
 src/main/resources/application.yml                          |    6 +-
 3 files changed, 10 insertions(+), 148 deletions(-)

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 c5d84c1..16ef52c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -206,24 +206,23 @@
     /**
      * 绔欑偣浠诲姟妫�娴�  涓嬪彂灏忚溅鍙栨斁浠诲姟
      */
-    public synchronized List<List<List<WrkMast>>> DevpTaskNoRun() {
-        List<List<List<WrkMast>>> wrkMastListAll = new ArrayList<>();
+    public synchronized void DevpTaskNoRun() {
 
         try {
             List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).orderBy("modi_time", true));
             if (wrkMasts.isEmpty()) {
-                return wrkMastListAll;
+                return;
             }
             long differenceInSeconds = TimeCalculatorUtils.differenceInMilliseconds(wrkMasts.get(0).getModiTime(), new Date());
             if (differenceInSeconds <= 1000) {
-                return wrkMastListAll;
+                return;
             }
 
             BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_id", 1));
             RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getRgvNo());
             RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
             if (rgvProtocol == null) {
-                return wrkMastListAll;
+                return;
             }
             List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position", true));
             List<BasDevpPosition> basDevpPositionDevRegion = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("dev_region", true));
@@ -232,15 +231,13 @@
             BasDevpPosition[] basDevpPositionsListUN = SortTheExecutionOfTheCarUtil.devpNoSortUN(basDevpPositionsList);
             List<List<Integer>> siteListAll = SortTheExecutionOfTheCarUtil.siteListAll(basDevpPositionDevRegion);
 //            List<List<WrkMast>> wrkMastLists = getWrkMastLists(basDevpPositionsListUN);
-            return getWrkMastListAll(siteListAll,basDevpPositionsListUN);
+            List<List<List<WrkMast>>> wrkMastListAll = getWrkMastListAll(siteListAll, basDevpPositionsListUN);
             //涓嬪彂浠诲姟
 //            taskDown(wrkMastLists);
-
+            taskDown(wrkMastListAll);
         } catch (Exception e) {
             log.error("鑷姩涓嬪彂灏忚溅鍙栨斁浠诲姟澶辫触锛屽紓甯革細" + e);
         }
-        return wrkMastListAll;
-
 
     }
 
@@ -330,140 +327,7 @@
         }
     }
 
-//    public synchronized void taskDown(List<List<WrkMast>> wrkMastLists) {
-//        long rgvId = 0;
-//        runRgv:
-//        for (List<WrkMast> wrkMastList : wrkMastLists) {
-//            for (WrkMast wrkMast : wrkMastList) {
-//                while (rgvId <= rgvCount) {
-//                    rgvId++;
-////                    log.info("瀛樺湪浠诲姟锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(wrkMast));
-//                    if (rgvId > rgvCount) {
-//                        break runRgv;
-//                    }
-//                    BasCircularShuttle basCircularShuttle = basCircularShuttleService.selectOne(new EntityWrapper<BasCircularShuttle>().eq("rgv_id", rgvId));
-//                    if (basCircularShuttle.getStatus() != 0){
-//                        continue ;
-//                    }
-//                    RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getRgvNo());
-//                    RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-//                    if (rgvProtocol == null) {
-//                        continue;
-//                    }
-//
-//                    List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()).eq("wrk_sts", 2L));
-//                    if (!wrkMasts.isEmpty()) {
-//                        continue;
-//                    }
-//                    if (rgvProtocol != null
-//                            && rgvProtocol.modeType == RgvModeType.AUTO
-//                            && (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
-//                            && rgvProtocol.getTaskNo1() == 0
-//                            && rgvProtocol.getAlarm() == 0) {
-//                        if (rgvProtocol.getStatusType() == RgvStatusType.ROAM) {
-//                            double finalVelocity = 0.0;     // 鏈�缁堥�熷害 (m/s)
-//                            double distance = (Math.pow(finalVelocity, 2) - Math.pow(rgvProtocol.instantaneousSpeed / 60, 2)) / (2 * acceleration);
-//                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast.getSourceStaNo()));
-//                            if ((distance * proportion + (rgvProtocol.instantaneousSpeed / 60) * proportion * rgvDate) > (SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPosition.getPlcPosition(), rgvProtocol.getRgvPos(), perimeter) )) {
-////                                List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position", true));
-////                                if (basDevpPositions.isEmpty()) {
-////                                    log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�,RGV浠诲姟涓嬪彂澶辫触锛岃鑱旂郴绠$悊鍛橈紒锛侊紒");
-////                                    break runRgv;
-////                                }
-////                                List<Integer> devpList = SortTheExecutionOfTheCarUtil.BasDevpPositionExtractSites(basDevpPositions);
-////
-////                                if (!SortTheExecutionOfTheCarUtil.calculateShortestDistanceDirection(devpList,rgvProtocol.getEndStaM(),wrkMast.getSourceStaNo())){
-//                                    continue;
-////                                }
-//                            }
-//                        }
-//                        RgvCommand rgvCommand = new RgvCommand();
-//                        rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
-//                        rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
-//                        rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue());
-//                        rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡:  鍙栨斁璐�
-//                        rgvCommand.setSourceStaNo1(wrkMast.getSourceStaNo().shortValue());   //宸ヤ綅1璧风偣
-//                        rgvCommand.setDestinationStaNo1(wrkMast.getStaNo().shortValue());   //宸ヤ綅1鐩爣绔欑偣
-//                        rgvCommand.setCommand((short) 1);   //宸ヤ綅1浠诲姟纭
-//                        rgvCommand.setRgvSome(basCircularShuttle.getRgvSome()==1 ? (short) 1 : (short) 0);
-//                        if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(2, rgvCommand))) {
-//                            //
-//                            log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-//                            break runRgv;
-//                        }
-//                        log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-//
-//                        wrkMast.setWrkSts(2L);
-//                        wrkMast.setRgvNo(rgvProtocol.getRgvNo());
-//                        Date now = new Date();
-//                        wrkMast.setAppeTime(now);
-//                        wrkMast.setCrnStrTime(now);
-//                        try {
-//                            wrkMastService.updateById(wrkMast);
-//                            break;
-//                        } catch (Exception e) {
-//                            log.error("鏇存柊灏忚溅浠诲姟澶辫触,浠诲姟鍙凤細" + wrkMast.getWrkNo());
-//                        }
-//                        break runRgv;
-//                    } else if (rgvProtocol != null
-//                            && rgvProtocol.modeType == RgvModeType.AUTO
-//                            && rgvProtocol.getStatusType() == RgvStatusType.WALK
-//                            && rgvProtocol.getTaskNo1() == 0
-//                            && rgvProtocol.getAlarm() == 0) {
-//                        if (rgvProtocol.getStatusType() == RgvStatusType.WALK) {
-//                            double finalVelocity = 0.0;     // 鏈�缁堥�熷害 (m/s)
-//                            double distance = (Math.pow(finalVelocity, 2) - Math.pow(rgvProtocol.instantaneousSpeed / 60, 2)) / (2 * acceleration);
-//                            BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast.getSourceStaNo()));
-//                            if ((distance * proportion + (rgvProtocol.instantaneousSpeed / 60) * proportion * rgvDate) > (SortTheExecutionOfTheCarUtil.LatelyAndLessThan(basDevpPosition.getPlcPosition(), rgvProtocol.getRgvPos(), perimeter) )) {
-////                                List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position", true));
-////                                if (basDevpPositions.isEmpty()) {
-////                                    log.error("鑾峰彇鎵�鏈夌珯鐐逛俊鎭紓甯�,RGV浠诲姟涓嬪彂澶辫触锛岃鑱旂郴绠$悊鍛橈紒锛侊紒");
-////                                    break runRgv;
-////                                }
-////                                List<Integer> devpList = SortTheExecutionOfTheCarUtil.BasDevpPositionExtractSites(basDevpPositions);
-////
-////                                if (!SortTheExecutionOfTheCarUtil.calculateShortestDistanceDirection(devpList,rgvProtocol.getEndStaM(),wrkMast.getSourceStaNo())){
-//                                continue;
-////                                }
-//                            }
-//                        }
-//                        RgvCommand rgvCommand = new RgvCommand();
-//                        rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
-//                        rgvCommand.setAckFinish1((short) 0);  // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
-//                        rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue());
-//                        rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍙栨斁璐�
-//                        rgvCommand.setSourceStaNo1(wrkMast.getSourceStaNo().shortValue());   //宸ヤ綅1璧风偣
-//                        rgvCommand.setDestinationStaNo1(wrkMast.getStaNo().shortValue());   //宸ヤ綅1鐩爣绔欑偣
-//                        rgvCommand.setCommand((short) 1);   //宸ヤ綅1浠诲姟纭
-//                        rgvCommand.setRgvSome(basCircularShuttle.getRgvSome()==1 ? (short) 1 : (short) 0);
-//                        if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(3, rgvCommand))) {
-//                            //
-//                            log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-//                            break runRgv;
-//                        }
-//                        log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
-//
-//                        wrkMast.setWrkSts(2L);
-//                        wrkMast.setRgvNo(rgvProtocol.getRgvNo());
-//                        Date now = new Date();
-//                        wrkMast.setAppeTime(now);
-//                        wrkMast.setCrnStrTime(now);
-//                        try {
-//                            wrkMastService.updateById(wrkMast);
-//                            break;
-//                        } catch (Exception e) {
-//                            log.error("鏇存柊灏忚溅浠诲姟澶辫触,浠诲姟鍙凤細" + wrkMast.getWrkNo());
-//                        }
-//                        break runRgv;
-//                    } else {
-//                        break runRgv;
-//                    }
-//                }
-//            }
-//        }
-//    }
     public synchronized void taskDown(List<List<List<WrkMast>>> wrkMastListAll) {
-//0灏忚溅杞﹀彿  1灏忚溅缂栧彿
         List<Integer> rgvNoM = new ArrayList<>();
         List<Integer> rgvNoR = new ArrayList<>();
         int wrkMastRunCount = 0;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 22aefd3..290e95f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -58,10 +58,8 @@
 
                     //鏇存柊浣嶇疆淇℃伅
                     mainService.updateStePosition();
-                    // 浠诲姟鎺掑簭
-                    List<List<List<WrkMast>>> wrkMastListAll = mainService.DevpTaskNoRun();
                     // 浠诲姟涓嬪彂
-                    mainService.taskDown(wrkMastListAll);;
+                    mainService.DevpTaskNoRun();
                     // 浠诲姟瀹屾垚
                     mainService.rgvCompleteWrkMastSta(autoZ);
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a3de8cb..9d46c37 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,8 +8,8 @@
     name: @pom.build.finalName@
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://127.0.0.1:50751;databasename=gdhmasrs
-#    url: jdbc:sqlserver://127.0.0.1:50948;databasename=gdhmasrs
+#    url: jdbc:sqlserver://127.0.0.1:50751;databasename=gdhmasrs
+    url: jdbc:sqlserver://127.0.0.1:50948;databasename=gdhmasrs
     username: sa
     password: sa@123
   mvc:
@@ -57,7 +57,7 @@
   # 灏忚溅鏁�
   rgvCount: 10
   # 寤惰繜鏃堕棿
-  rgvDate: 0.6
+  rgvDate: 1
 
 # 涓嬩綅鏈洪厤缃�
 wcs-slave:

--
Gitblit v1.9.1