From 101cfc49ea24c1e340bed920f411b7fd30b71554 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 25 七月 2024 19:12:21 +0800
Subject: [PATCH] 屏蔽中扬logo

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |  212 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 184 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 786003a..3562bc7 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -127,7 +127,13 @@
                 // 灏哄妫�娴嬪紓甯�
                 boolean back = false;
                 String errMsg = "";
-                if (staProtocol.isFrontErr()) {
+                if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 == IoModeType.PAKOUT_MODE)
+                ||(staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 == IoModeType.PAKOUT_MODE)
+                ||(staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 == IoModeType.PAKOUT_MODE)) {
+                    errMsg = "褰撳墠涓哄嚭搴撴ā寮�";
+                    back = true;
+                }
+                if (!back && staProtocol.isFrontErr()) {
                     errMsg = "鍓嶈秴闄�";
                     back = true;
                 }
@@ -289,7 +295,7 @@
                 }
 
 //                // 鍏ュ嚭搴撴ā寮忓垽鏂�
-                if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) {
+                if (inSta.getStaNo() == 203 && devpThread.ioModeOf101 != IoModeType.PAKIN_MODE) {
                     continue;
                 }
 
@@ -687,6 +693,9 @@
 
                         // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
                         wrkMast.setWrkSts(14L);
+                        if (wrkMast.getStaNo() == 104 && wrkMast.getWrkSts() == 12L) {
+                            wrkMast.setWrkSts(16L);
+                        }
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
@@ -859,7 +868,7 @@
                 continue;
             }
             // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
-            WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
+            WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo(), crnStn.getStaNo());
             if (null == wrkMast) {
                 News.infoNoLog(""+mark+" - 1"+" - 4"+" - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
 //                log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
@@ -1017,6 +1026,12 @@
 //                    News.infoNoLog(""+mark+" - 2"+" - 4"+" - 鍏ュ嚭搴撴ā寮忥紙姝ゅ鍑哄簱鏂规硶锛屽嚭搴撴ā寮忕户缁�=="+devpThread.ioModeOf2F);
 //                    continue;
 //                }
+                // 鍏ュ嚭搴撴ā寮忓垽鏂�
+                if ((staProtocol.getSiteId() == 101 && devpThread.ioModeOf101 != IoModeType.PAKOUT_MODE)
+                   || (staProtocol.getSiteId() == 103 && devpThread.ioModeOf103 != IoModeType.PAKOUT_MODE)
+                   || (staProtocol.getSiteId() == 305 && devpThread.ioModeOf305 != IoModeType.PAKOUT_MODE)) {
+                    continue;
+                }
 
                 // 鏌ヨ绔欑偣璇︾粏淇℃伅
                 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -1089,6 +1104,9 @@
                     if (wrkMastMapper.selectWorking(slave.getId()) != null) {
                         break;
 //                        return;
+                    }
+                    if(crnStn.getStaNo() == 105) {
+                        continue;
                     }
 
                     News.warnNoLog(""+mark+" - 2"+" - 12"+" - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}",wrkMast.getWrkNo().shortValue()
@@ -2119,47 +2137,61 @@
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-
-                for (DevpSlave.Sta inSta : devp.getInSta()) {
-                    if (inSta.getStaNo() == 2) {
-                        continue;
-                    }
-                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
-                    switch (inSta.getStaNo()) {
-                        case 203://1F
+                Integer[] staNos;
+                if (devp.getId() == 1) {
+                    staNos = new Integer[]{101, 103};
+                }else {
+                    staNos = new Integer[]{305};
+                }
+                for (Integer staNo : staNos) {
+                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(staNo);
+                    switch (staNo) {
+                        case 101://1F
                             if (pakout != null) {
-                                if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+                                if (devpThread.ioModeOf101 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
-                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
-                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
-                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
-                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+                                    devpThread.ioModeOf101 = IoModeType.PAKOUT_BOOTING;
+                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(staNo);
+                                    if (pakin == null) {
                                         // 鍑哄簱妯″紡
-                                        devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
+                                        devpThread.ioModeOf101 = IoModeType.PAKOUT_MODE;
                                     }
                                 }
                             } else {
                                 // 鍏ュ簱妯″紡
-                                devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
+                                devpThread.ioModeOf101 = IoModeType.PAKIN_MODE;
                             }
                             break;
-                        case 401://1F
+                        case 103://1F
                             if (pakout != null) {
-                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+                                if (devpThread.ioModeOf103 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
-                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
-                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
-                                            && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
-                                            && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+                                    devpThread.ioModeOf103 = IoModeType.PAKOUT_BOOTING;
+                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(staNo);
+                                    if (pakin == null) {
                                         // 鍑哄簱妯″紡
-                                        devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
+                                        devpThread.ioModeOf103 = IoModeType.PAKOUT_MODE;
                                     }
                                 }
                             } else {
                                 // 鍏ュ簱妯″紡
-                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+                                devpThread.ioModeOf103 = IoModeType.PAKIN_MODE;
+                            }
+                            break;
+                        case 305://1F
+                            if (pakout != null) {
+                                if (devpThread.ioModeOf305 != IoModeType.PAKOUT_MODE) {
+                                    // 鍑哄簱鍒囨崲涓�
+                                    devpThread.ioModeOf305 = IoModeType.PAKOUT_BOOTING;
+                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(staNo);
+                                    if (pakin == null) {
+                                        // 鍑哄簱妯″紡
+                                        devpThread.ioModeOf305 = IoModeType.PAKOUT_MODE;
+                                    }
+                                }
+                            } else {
+                                // 鍏ュ簱妯″紡
+                                devpThread.ioModeOf305 = IoModeType.PAKIN_MODE;
                             }
                             break;
                     }
@@ -2174,6 +2206,10 @@
 
     }
 
+    /**
+     * 骞舵澘锛屾嫞鏂欙紝鐩樼偣鍑哄簱锛岀姸鎬佷负14.宸插嚭搴撴湭纭锛屾洿鏂癱tnNo涓篩
+     * @param mark 鏍囪瘑
+     */
     public synchronized void outOfDevp(Integer mark) {
 
         List<WrkMast> wrkMasts = wrkMastMapper.selectPick();
@@ -2962,4 +2998,124 @@
         }
     }
 
+    /**
+     * 鍒ゆ柇106绔欑偣鐘舵�侊紝鏈夌墿+鏈変换鍔″彿锛屽垯鐢熸垚绉诲簱浠诲姟
+     */
+    public synchronized void generateOutbound() {
+        WrkMast wrkMast = wrkMastMapper.selectBy104();
+        if (wrkMast == null) {
+            return;
+        }
+        BasCrnp basCrnp = basCrnpService.selectById(1);
+        if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
+            return;
+        }
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 1);
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return;
+        }
+        // 鍫嗗灈鏈烘帶鍒惰繃婊�
+        if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+            return;
+        }
+
+        // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+        if (wrkMastMapper.selectWorking(1) != null) {
+            return;
+        }
+
+        LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
+        // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+        CrnCommand crnCommand = new CrnCommand();
+        crnCommand.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+        crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+//                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+        crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+        crnCommand.setSourcePosX(sourceSta.getRow1().shortValue());     // 婧愬簱浣嶆帓
+        crnCommand.setSourcePosY(sourceSta.getBay1().shortValue());     // 婧愬簱浣嶅垪
+        crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue());     // 婧愬簱浣嶅眰
+        crnCommand.setDestinationPosX((short) 3);     // 鐩爣搴撲綅鎺�
+        crnCommand.setDestinationPosY((short) 3);     // 鐩爣搴撲綅鍒�
+        crnCommand.setDestinationPosZ((short) 1);     // 鐩爣搴撲綅灞�
+        crnCommand.setTraySize(sourceSta.getLocType1() == 2);     //搴撲綅绫诲瀷
+        if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+            News.error("鍒�106绔欑偣鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+        } else {
+            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+            Date now = new Date();
+            wrkMast.setWrkSts(12L);
+            wrkMast.setCrnStrTime(now);
+            wrkMast.setModiTime(now);
+            if (wrkMastMapper.updateById(wrkMast) == 0) {
+                News.error("鍒�106绔欑偣淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+            }
+        }
+
+    }
+
+    public synchronized void autoMoveLoc() {
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 16L));
+
+        // 鍒ゆ柇婧愮珯鐐规儏鍐� 鏈変换鍔″彿锛屾湁鐗╋紝鑷姩
+        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+        StaProtocol staProtocol106 = devpThread.getStation().get(106);
+        StaProtocol staProtocol105 = devpThread.getStation().get(105);
+        if (staProtocol106 == null) {
+            return;
+        } else {
+            staProtocol106 = staProtocol106.clone();
+        }
+        if (staProtocol105 == null) {
+            return;
+        } else {
+            staProtocol105 = staProtocol105.clone();
+        }
+
+
+        // 鍒ゆ柇鍑哄簱绔欑偣鎯呭喌
+
+
+        // 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
+        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 2);
+        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+        if (crnProtocol == null) {
+            return;
+        }
+        BasCrnp basCrnp = basCrnpService.selectById(2);
+        if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
+            return;
+        }
+
+        // 鍫嗗灈鏈烘帶鍒惰繃婊�
+        if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+            return;
+        }
+
+        // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+        if (wrkMastMapper.selectWorking(2) != null) {
+            return;
+        }
+        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+        CrnCommand crnCommand = new CrnCommand();
+        crnCommand.setCrnNo(2); // 鍫嗗灈鏈虹紪鍙�
+        crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+        crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+        crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+        crnCommand.setSourcePosX((short) 6);     // 婧愬簱浣嶆帓
+        crnCommand.setSourcePosY((short) 3);     // 婧愬簱浣嶅垪
+        crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
+        crnCommand.setDestinationPosX((short) 7);     // 鐩爣搴撲綅鎺�
+        crnCommand.setDestinationPosY((short) 28);     // 鐩爣搴撲綅鍒�
+        crnCommand.setDestinationPosZ((short) 1);     // 鐩爣搴撲綅灞�
+        crnCommand.setTraySize(true);     //搴撲綅绫诲瀷
+        if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+            News.error("106绉诲簱2鍙峰爢鍨涙満鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+        }
+//        else {
+//            wrkMast.setCrnNo(2);
+//            wrkMastMapper.updateById(wrkMast);
+//        }
+        News.infoNoLog("106绉诲簱2鍙峰爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙戯細搴撲綅绉昏浆瀹屾垚");
+    }
 }

--
Gitblit v1.9.1