From fd0c2bb794afd7b241d1d46b43d0611fa0f79362 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 24 二月 2025 08:37:51 +0800
Subject: [PATCH] 106出库优先

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |   89 +++++++++++++++++++++++++++++---------------
 1 files changed, 59 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 6d86d71..85f8460 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -689,6 +689,7 @@
                         if (wrkMast.getSourceStaNo() == 106 && wrkMast.getWrkSts() == 12L) {
                             wrkMast.setWrkSts(16L);
                             wrkMast.setCrnNo(1);
+                            wrkMast.setIoPri(14D); // 浼樺厛绾ф彁鍗�
                             if (wrkMast.getStaNo() == 107) {
                                 wrkMast.setSourceStaNo(107);
                             } else if(wrkMast.getStaNo()==104) {
@@ -697,11 +698,7 @@
                             staProtocol.setStaNo((short) 106);
 
                             log.info("----------106绉诲簱鏍囪瘑---------");
-                        }else if(wrkMast.getSourceStaNo() == 105 && wrkMast.getWrkSts() == 16L) {
-                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-                            log.info("106绉诲簱瀹屾垚锛岃緭閫佺嚎鍙戦��105鍒�104锛屾簮绔欎负锛�" + staProtocol.getSiteId());
-                            wrkMast.setWrkSts(14L);
-                        }else {
+                        } else {
                             staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
                             wrkMast.setWrkSts(14L);
                         }
@@ -1882,7 +1879,7 @@
             LocMast loc = null;
             for (Integer row : rows) {
                 if (Utils.isDeepLoc(slaveProperties, row)) {
-                    loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
+                    loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
 
                     if (loc != null) {
                         if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
@@ -3095,11 +3092,11 @@
         crnCommand.setTraySize(true);     //搴撲綅绫诲瀷
         if (!MessageQueue.offer(SlaveType.Crn, 1, new Task(2, crnCommand))) {
             News.error("106绉诲簱1鍙峰爢鍨涙満鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+        } else {
+            wrkMast.setWrkSts(12L);
+            wrkMastMapper.updateById(wrkMast);
+            log.info("1鍙峰爢鍨涙満杞繍106鎺ㄩ�佸埌鍛戒护闃熷垪鎴愬姛");
         }
-//        else {
-//            wrkMast.setCrnNo(2);
-//            wrkMastMapper.updateById(wrkMast);
-//        }
         News.infoNoLog("106绉诲簱缁�1鍙峰爢鍨涙満涓嬪彂瀹屾垚");
     }
 
@@ -3125,28 +3122,60 @@
     }
 
     public synchronized void invokingBase() {
-        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
-                .eq("source_sta_no", 305));
-        if (wrkMast != null) {
-            int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L).eq("io_type", 1)
-                    .eq("source_sta_no", 305));
-            if (count != 0) {
-                log.warn("瀛樺湪305鍏ュ簱浠诲姟锛岀姸鎬佷负璁惧涓婅蛋");
-                return;
-            }
-            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-            StaProtocol staProtocol= devpThread.getStation().get(wrkMast.getStaNo());
-            if (staProtocol == null) {
-                return;
-            } else {
-                staProtocol = staProtocol.clone();
-            }
-            if(staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
+//        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
+//                .eq("source_sta_no", 305));
+//        if (wrkMast != null) {
+//            int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L).eq("io_type", 1)
+//                    .eq("source_sta_no", 305));
+//            if (count != 0) {
+//                log.warn("瀛樺湪305鍏ュ簱浠诲姟锛岀姸鎬佷负璁惧涓婅蛋");
+//                return;
+//            }
+           List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
+                .eq("source_sta_no", 305).orderBy("appe_time",true));
+           for (WrkMast wrkMast : wrkMastList) {
+               SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+               StaProtocol staProtocol= devpThread.getStation().get(wrkMast.getStaNo());
+               if (staProtocol == null) {
+                   return;
+               } else {
+                   staProtocol = staProtocol.clone();
+               }
+               if(staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
+                   staProtocol.setWorkNo(wrkMast.getWrkNo());
+                   staProtocol.setStaNo(wrkMast.getSourceStaNo().shortValue());
+                   devpThread.setPakMk(staProtocol.getSiteId(), false);
+                   MessageQueue.offer(SlaveType.Devp,1, new Task(2, staProtocol));
+                   log.info("鍏ュ簱璇锋眰搴曞骇-,浠诲姟鍙凤細{}锛岀洰鏍囩珯锛歿}-----", wrkMast.getWrkNo(), wrkMast.getStaNo());
+               }
+           }
+
+//        }
+    }
+
+    public synchronized void inOutSwap() {
+        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+        StaProtocol staProtocol = devpThread.getStation().get(305);
+        if (staProtocol == null) {
+            return;
+        } else {
+            staProtocol = staProtocol.clone();
+        }
+        if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 6000 && staProtocol.getWorkNo() <= 9000) {
+
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).eq("io_type", 1)
+                    .eq("source_sta_no", 305).orderBy("appe_time", true));
+            for (WrkMast wrkMast : wrkMasts) {
+                wrkMast.setWhsType(3);
+                wrkMastService.updateById(wrkMast);
+
                 staProtocol.setWorkNo(wrkMast.getWrkNo());
-                staProtocol.setStaNo(wrkMast.getSourceStaNo().shortValue());
+                staProtocol.setStaNo((short) 0);
                 devpThread.setPakMk(staProtocol.getSiteId(), false);
-                boolean result = MessageQueue.offer(SlaveType.Devp,1, new Task(2, staProtocol));
-                log.info("鍏ュ簱璇锋眰搴曞骇------");
+                MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+
+                log.info("鍑哄簱浠诲姟瀹屾垚杞叆搴�,浠诲姟鍙凤細{}锛岀洰鏍囩珯锛歿}-----", wrkMast.getWrkNo(), wrkMast.getStaNo());
+                break;
             }
         }
     }

--
Gitblit v1.9.1