From 242fd02ef7b86cfe6ae352b1721c50205cc7bafe Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 28 四月 2024 08:55:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  161 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 123 insertions(+), 38 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 5bfa856..738fa7b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.service.impl;
 
+import HslCommunication.Core.Types.OperateResultExOne;
+import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -89,7 +91,6 @@
     private BasCrnErrorMapper basCrnErrorMapper;
     @Autowired
     private WrkMastService wrkMastService;
-
     @Value("${wms.url}")
     private String wmsUrl;
 
@@ -146,6 +147,41 @@
 //                        continue;
 //                    }
 //                }
+                //瓒呭瓒呴珮娌℃壂鍒版潯鐮佹姤璀�
+//                boolean fig=false;
+//                for(int i=0;i<8;i++){
+//                    switch (i){
+//                        case 0: if(devpThread.startSignal[i]){
+//                            log.error("鍓嶈秴鎶ヨ");
+//                            fig=true;
+//                        };
+//                        case 1: if(devpThread.startSignal[i]){
+//                            log.error("鍚庤秴鎶ヨ");
+//                            fig=true;
+//                        };
+//                        case 2: if(devpThread.startSignal[i]){
+//                            log.error("楂樿秴鎶ヨ");
+//                            fig=true;
+//                        };
+//                        case 3: if(devpThread.startSignal[i]){
+//                            log.error("宸﹁秴鎶ヨ");
+//                            fig=true;
+//                        };
+//                        case 4: if(devpThread.startSignal[i]){
+//                            log.error("鍙宠秴鎶ヨ");
+//                            fig=true;
+//                        };
+//                        case 5: if(devpThread.startSignal[i]){
+//                            log.error("瓒呴噸鎶ヨ");
+//                            fig=true;
+//                        };
+//                        case 6: if(devpThread.startSignal[i]){
+//                            log.error("鏈壂鍒扮爜鎶ヨ");
+//                            fig=true;
+//                        };
+//
+//                    }
+//                }
                 if (staProtocol.isAutoing() && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
                         && staProtocol.isPakMk()) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
@@ -154,8 +190,7 @@
 //                        Thread.sleep(300);
 //                    }catch (Exception e){}
 
-                    //String barcode = barcodeThread.getBarcode();
-                    String barcode = "20000005";
+                    String barcode = barcodeThread.getBarcode();
                     if(!Cools.isEmpty(barcode)) {
                         News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
 
@@ -450,14 +485,7 @@
                         Integer staNo = staDesc.getCrnStn();
                         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
                         wrkMast.setIoTime(now);
-                        //鐩樼偣鍏ュ簱鏃讹紝鏈夌粍鎵樻暟鎹紝鐩樼偣杞苟鏉垮叆搴�
-                        List<WaitPakin> waitPakins=waitPakinMapper.selectList(new EntityWrapper<WaitPakin>()
-                                .eq("barcode",barcode));
-                        if(!Cools.isEmpty(waitPakins)){
-                            wrkMast.setIoType(54);
-                        }else{
-                            wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
-                        }
+                        wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
                         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
                         wrkMast.setSourceStaNo(100); // 婧愮珯
                         wrkMast.setStaNo(staNo); // 鐩爣绔�
@@ -467,9 +495,6 @@
                         if (wrkMastMapper.updateById(wrkMast) == 0) {
                             throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
                         }
-
-
-
                         // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
                         wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
                         // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
@@ -1644,33 +1669,33 @@
                 continue;
             }
 //             鍛戒护涓嬪彂 -------------------------------------------------------------------------------
-//            if (!commands.isEmpty()) {
-//                if (led.getId() < 7) {
-//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
-//                        News.error(""+mark+" - 2"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-//                        continue;
-//                    } else {
-//                        ledThread.setLedMk(false);
-//                    }
-//                } else {
-//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
-//                        News.error(""+mark+" - 3"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-//                        continue;
-//                    } else {
-//                        ledThread.setLedMk(false);
-//                    }
-//                }
-//
-//            }
-            // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
             if (!commands.isEmpty()) {
-                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
-                    News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-                    continue;
-                }else {
-                    ledThread.setLedMk(false);
+                if (led.getId() == 2) {
+                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+                        News.error(""+mark+" - 2"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+                        continue;
+                    } else {
+                        ledThread.setLedMk(false);
+                    }
+                } else {
+                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
+                        News.error(""+mark+" - 3"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+                        continue;
+                    } else {
+                        ledThread.setLedMk(false);
+                    }
                 }
+
             }
+//            // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
+//            if (!commands.isEmpty()) {
+//                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+//                    News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+//                    continue;
+//                }else {
+//                    ledThread.setLedMk(false);
+//                }
+//            }
 
             try {
                 // 淇敼涓绘。led鏍囪
@@ -2243,4 +2268,64 @@
             }
         }
     }
+
+    /**
+     *  鎺ユ敹瓒呭瓒呴珮娌℃壂鍒版潯鐮佹姤璀�
+     * @param mark
+     */
+    public synchronized void DevpCallThePolice(Integer mark){
+        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+        for (DevpSlave devp : slaveProperties.getDevp()) { //閬嶅巻杈撻�佺嚎
+            // 閬嶅巻鍏ュ簱鍙�
+            for (DevpSlave.Sta inSta : devp.getInSta()) {  // 閬嶅巻鍏ュ簱鍙�
+                // 鑾峰彇鍏ュ簱绔欎俊鎭�
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+                if(null != devpThread){
+                    boolean fig=false;
+                    for (int i=0;i<8;i++){
+                        switch (i){
+                            case 0: if(devpThread.startSignal[i]){
+                                        log.error("鍓嶈秴鎶ヨ");
+                                        fig=true;
+                                    };
+                            case 1: if(devpThread.startSignal[i]){
+                                log.error("鍚庤秴鎶ヨ");
+                                fig=true;
+                            };
+                            case 2: if(devpThread.startSignal[i]){
+                                log.error("楂樿秴鎶ヨ");
+                                fig=true;
+                            };
+                            case 3: if(devpThread.startSignal[i]){
+                                log.error("宸﹁秴鎶ヨ");
+                                fig=true;
+                            };
+                            case 4: if(devpThread.startSignal[i]){
+                                log.error("鍙宠秴鎶ヨ");
+                                fig=true;
+                            };
+                            case 5: if(devpThread.startSignal[i]){
+                                log.error("瓒呴噸鎶ヨ");
+                                fig=true;
+                            };
+                            case 6: if(devpThread.startSignal[i]){
+                                log.error("鏈壂鍒扮爜鎶ヨ");
+                                fig=true;
+                            };
+
+                        }
+                    }
+                    //鍙戠敓鎶ヨ锛岄��鍥炲叆搴撳彛
+                    if(fig){
+                        staProtocol.setWorkNo((short)9991);
+                        staProtocol.setStaNo((short)100);
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                    }
+                }
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.1