From 544556b5ea62dba4a002118088e82bce81cd63b4 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期日, 05 五月 2024 11:43:20 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   63 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 14 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 b28f535..56c9f1a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -167,7 +167,10 @@
                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
                 }
+
+
 
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing()
@@ -179,16 +182,27 @@
                     if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
                         News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
                         //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣
-//                        staProtocol.setWorkNo((short)9999);
-//                        staProtocol.setStaNo((short)172);
-//                        devpThread.setPakMk(staProtocol.getSiteId(), false);
-//                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//                        if (!result) {
-//                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-//                        }
+                        staProtocol.setWorkNo(wrkNo);
+                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
+                        wrkNo++;
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        if (!result) {
+                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                        }
                         continue;
                     }
-
+                    //鍒ゆ柇101鍜�104鏄惁鏄嫞鏂欍�佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱   璁惧鏆備笉鏀寔101銆�104绔欑洏鐐�/鎷f枡鍏ュ簱
+                    WrkMast wrkMast1=wrkMastMapper.selectpj(inSta.getStaNo(),barcode);
+                    if(!Cools.isEmpty(wrkMast1)){
+                        if (wrkMast1.getIoType()!=1){
+                            continue;
+                        }
+                    }
+                    if( !Cools.isEmpty(barcode)&&!Cools.isEmpty(wrkMast1)){
+                        log.error("101鎴�104鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱", wrkMast1.getWrkNo());
+                        continue;
+                    }
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
                     WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
                     if (wrkMast != null) {
@@ -202,10 +216,18 @@
 
                     WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                             .eq("barcode", barcode)
-                            .in("io_type", 107,103));
+                            .in("io_type", 107,103,57,53));
                     if (!Cools.isEmpty(checkPick)) {
                         continue;
+                    } else {
+                        News.info("鏂版澘鍏ュ簱鏉$爜===>>" + barcode);
                     }
+//                    WrkMast checkPick2 = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+//                            .eq("barcode", barcode)
+//                            .in("io_type", 57,53));
+//                    if (!Cools.isEmpty(checkPick2)) {
+//                        continue;
+//                    }
 
                     try {
 
@@ -235,6 +257,8 @@
                                 News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触");
 
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            }else {
+                                ledThread.errorReset();
                             }
 
 
@@ -415,7 +439,7 @@
 
                 if (!Cools.isEmpty(barcode)) {
 //                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
+                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode) ) {
                         if (!staProtocol.isLoading()) {
                             continue;
                         }
@@ -532,12 +556,16 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         continue;
                     }
-
+                    if (ledThread != null) {
+                        ledThread.errorReset();
+                    }
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
                     staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+
                     if (!result) {
                         News.error(methodName + ":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
 
@@ -604,6 +632,7 @@
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
+                            News.info("crnStnToOutStn鍫嗗灈鏈哄浣嶆椂宸ヤ綔鍙�===>>" + crnProtocol.getTaskNo());
                             crnThread.setResetFlag(true);
                         } else {
                             News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
@@ -780,6 +809,12 @@
             // 鍫嗗灈鏈烘帶鍒惰繃婊�
             if (!crnProtocolNow.getStatusType().equals(CrnStatusType.IDLE) || crnProtocolNow.getTaskNo() != 0) {
                 continue;
+            }
+
+            // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+            if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+                break;
+//                        return;
             }
 
             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -1493,6 +1528,7 @@
                     }
                     // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
                     if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
+                        log.error("鍏ュ簱瀹屾垚鍫嗗灈鏈轰换鍔�=========銆�"+JSON.toJSONString(wrkMast));
                         wrkMast.setWrkSts(4L);
                     } else {
                         continue;
@@ -1503,6 +1539,7 @@
                     // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
                     if (wrkMastMapper.updateById(wrkMast) > 0) {
                         // 鍫嗗灈鏈哄浣�
+                        News.info("storeFinished鍫嗗灈鏈哄浣嶆椂宸ヤ綔鍙�===>>" + crnProtocol.getTaskNo());
                         crnThread.setResetFlag(true);
                     }
                 }
@@ -1814,9 +1851,7 @@
                         Double total = 0.0;
                         EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
                         LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
-                        if (Cools.isEmpty(locDetl)) {
-                            total = wrkDetl.getAnfme();
-                        } else {
+                        if (!Cools.isEmpty(locDetl)) {
                             total = locDetl.getAnfme();
                         }
                         if (wrkMast.getIoType() == 101) {

--
Gitblit v1.9.1