From d500950add4a43fbd02135a5cb59de0493a8261a Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 01 十二月 2023 09:20:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 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 4dbfdcd..5589a68 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -442,18 +442,20 @@
 
                         if (!locMast.getLocSts().equals("F")) {
                             flag = true;
-                            th = loc + "搴撲綅瀛樺湪闈炵┖娴呭簱浣�";
+                            th = loc + "搴撲綅瀛樺湪鏈洖搴撲换鍔�";
                             break;
                         }
                     }
                     if (flag) {
-                        throw new CoolException(th);
+                        News.info(th);
+                        continue;
                     }
                     //*********************鍚屽簱浣嶇粍鏍¢獙*********************
 
                     // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
                     if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
-                        throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+                        News.info(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+                        continue;
                     }
 
                     String sourceLocNo = wrkMast.getSourceLocNo().trim();
@@ -465,7 +467,7 @@
                     // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
                     wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
                     wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
-                    wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
+                    wrkMast.setSourceStaNo(pickSta.getBackSta()); // 婧愮珯
 //                            wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
 //                            wrkMast.setCrnNo(dto.getCrnNo());
                     wrkMast.setStaNo(liftStaProtocol.getStaNo());//鐩爣绔�
@@ -474,10 +476,12 @@
                     wrkMast.setLiftNo(null);// 鎻愬崌鏈烘竻绌�
                     wrkMast.setModiTime(new Date());
                     if (wrkMastMapper.updateById(wrkMast) == 0) {
-                        throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                        News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                        continue;
                     }
                     if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
-                        throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                        News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                        continue;
                     }
 
                     // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
@@ -485,9 +489,11 @@
                     locMast.setLocSts("Q");
                     locMast.setModiTime(new Date());
                     if (!locMastService.updateById(locMast)) {
-                        throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+                        News.info("淇敼搴撲綅鐘舵�佸け璐�");
+                        continue;
                     }
 
+                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());//鍐欏叆宸ヤ綔鍙�
                     staProtocol.setStaNo(pickSta.getBackSta().shortValue());//鍐欏叆鐩爣绔�
                     MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                 }
@@ -1281,6 +1287,28 @@
                 return false;//绔欑偣涓嶅彲鍏�
             }
 
+            Integer barcodeId = Utils.getBarcodeIdByStaNo(wrkMast.getSourceStaNo());
+            if (barcodeId == null) {
+                News.info("{}浠诲姟锛寋}婧愮珯锛屾壘涓嶅埌鍙敤鏉$爜鍣↖D", wrkMast.getWrkNo(), sourceBasDevp.getDevNo());
+                return false;//绔欑偣涓嶅彲鍏�
+            }
+
+            BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+            if (barcodeThread == null) {
+                News.info("{}浠诲姟锛寋}婧愮珯锛屾潯鐮佸櫒{}绾跨▼涓虹┖", wrkMast.getWrkNo(), sourceBasDevp.getDevNo(), barcodeId);
+                return false;//绔欑偣涓嶅彲鍏�
+            }
+            String barcode = barcodeThread.getBarcode();
+            if(!Cools.isEmpty(barcode)) {
+                if(!("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode))) {
+                    //瀛樺湪鏉$爜鍊硷紝鍒ゆ柇鏄惁鍜屽綋鍓嶅伐浣滄。涓�鑷�
+                    if (!barcode.equals(wrkMast.getBarcode())) {
+                        News.info("{}浠诲姟锛屾潯鐮佸櫒{}鍊納}涓庡伐浣滄。鏉$爜鍊间笉涓�鑷达紝绯荤粺璺宠繃鎵ц", wrkMast.getWrkNo(), sourceBasDevp.getDevNo(), barcodeId, barcode);
+                        return false;//绔欑偣涓嶅彲鍏�
+                    }
+                }
+            }
+
             //鍒ゆ柇鎻愬崌鏈烘暣涓笁妤兼槸鍚﹂兘澶勪簬鍏ュ簱妯″紡
             Integer outInModel1 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 1);
             Integer outInModel2 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 5);

--
Gitblit v1.9.1