From 0e10bf39c53b0b79cbdc051ddb10845d361042c3 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 06 五月 2026 09:51:50 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |  147 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 104 insertions(+), 43 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 07aa65a..3c1a631 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -95,6 +95,9 @@
     @Value("${wms.url}")
     private String wmsUrl;
 
+    @Value("${open-door.site}")
+    private String openDoorSite;
+
     public Integer wrkNo = 9901;
 
     /**
@@ -689,6 +692,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 +701,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);
                         }
@@ -1071,7 +1071,12 @@
                     // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
                     if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
                         News.warnNoLog(""+mark+" - 2"+" - 6"+" - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}",wrkMast.getWrkNo());
-                        String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
+                        String shallowLocNo = "";
+                        if (Utils.getRow(wrkMast.getSourceLocNo()) == 11 && Utils.getBay(wrkMast.getSourceLocNo()) <= 18){
+                            shallowLocNo = "10" + Utils.getBay(wrkMast.getSourceLocNo()) + Utils.getLev(wrkMast.getSourceLocNo());
+                        }else {
+                            shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
+                        }
                         LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                         // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
                         if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
@@ -1886,7 +1891,12 @@
 
                     if (loc != null) {
                         if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
-                            String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
+                            String shallowLocNo = "";
+                            if (row == 11){
+                                shallowLocNo = "10" + loc.getBay1() + loc.getLev1();
+                            }else {
+                                shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
+                            }
                             LocMast shallowLoc1 = locMastService.selectById(shallowLocNo);
                             if (!shallowLoc1.getLocSts().equals("O")) {
                                 loc = null;
@@ -1903,7 +1913,7 @@
                     if (Utils.isShallowLoc(slaveProperties, row)) {
                         loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2());
 
-                        if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
+                        if (null != loc && row != 9 && row != 10) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
                             String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());
                             LocMast deepLoc1 = locMastService.selectById(deepLoc);
                             if (!deepLoc1.getLocSts().equals("F") && !deepLoc1.getLocSts().equals("D")) {
@@ -1935,7 +1945,7 @@
                 wrkMast.setCrnNo(crn.getId());
                 wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
                 wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
-                wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+                wrkMast.setFullPlt(shallowLoc.getLocSts().equals("F") ? "Y" : "N"); // 婊℃澘
                 wrkMast.setPicking("N"); // 鎷f枡
                 wrkMast.setExitMk("N"); // 閫�鍑�
                 wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
@@ -3095,29 +3105,48 @@
         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鍙峰爢鍨涙満涓嬪彂瀹屾垚");
     }
 
     public synchronized void writePlc305() {
-        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 305));
-        if (basDevp.getWrkNo() != 0 && basDevp.getWrkNo() != 9999) {
-            WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
-            if(wrkMast != null && wrkMast.getWhsType() != null && wrkMast.getWhsType() == 2) {
-                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-                StaProtocol staProtocol305 = devpThread.getStation().get(305);
-                if (!staProtocol305.getOpenAskDoor() && !staProtocol305.getIfOpenDoor()) { // 娌¤姹傛墦寮�
-                    // 璇锋眰鎵撳紑
-                    if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 1))){
-                        log.error("璇锋眰寮�闂ㄥけ璐�");
+        String[] sites = openDoorSite.split(",");
+        for (String site : sites) {
+            Integer sta = Integer.valueOf(site);
+            BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", sta));
+            if (basDevp.getWrkNo() != 0 && basDevp.getWrkNo() != 9999) {
+                WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
+                if(wrkMast != null && wrkMast.getWhsType() != null && wrkMast.getWhsType() == 2) {
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                    StaProtocol staProtocol305 = devpThread.getStation().get(sta);
+                    if (!staProtocol305.getOpenAskDoor() && !staProtocol305.getIfOpenDoor()) { // 娌¤姹傛墦寮�
+                        // 璇锋眰鎵撳紑
+//                        if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 1))){
+                        if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, site))){ // data涓洪渶瑕佸紑闂ㄧ殑绔欑偣 閫氱煡PLC闇�瑕佸紑鍝釜闂�
+                            log.error("璇锋眰寮�闂ㄥけ璐�");
+                        }
                     }
                 }
             }
         }
+//        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 305));
+//        if (basDevp.getWrkNo() != 0 && basDevp.getWrkNo() != 9999) {
+//            WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo());
+//            if(wrkMast != null && wrkMast.getWhsType() != null && wrkMast.getWhsType() == 2) {
+//                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//                StaProtocol staProtocol305 = devpThread.getStation().get(305);
+//                if (!staProtocol305.getOpenAskDoor() && !staProtocol305.getIfOpenDoor()) { // 娌¤姹傛墦寮�
+//                    // 璇锋眰鎵撳紑
+//                    if(!MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 1))){
+//                        log.error("璇锋眰寮�闂ㄥけ璐�");
+//                    }
+//                }
+//            }
+//        }
     }
     public synchronized void readPlc305() {
         WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 16L));
@@ -3125,28 +3154,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)
+                .in("source_sta_no", 305, 1202).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