From 348cb1901f202eec59d9c5200186f2aa03773569 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期二, 20 一月 2026 15:57:43 +0800
Subject: [PATCH] 重复工作档验证

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |   41 +++++++++++++++++++++++++++--------------
 1 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 73c9753..140986d 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -161,13 +161,12 @@
                 // 閫�鍥�
                 if (back   && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()  && !staProtocol.isEmptyMk()  ) {
                     MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
-                    staProtocol.setWorkNo(wrkNo);
-                    wrkNo++;
-                    News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
+                    News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, staProtocol.getWorkNo());
+                    staProtocol.setWorkNo(9999);
                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                    log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta());
+                    log.error("杈撻�佺嚎涓嬪彂1锛�"+staProtocol.getWorkNo()+","+inSta.getBackSta());
                     return;
                 }
 
@@ -222,13 +221,12 @@
                                 ledThread.errorReset();
                             }
                         } else {
-                            staProtocol.setWorkNo(wrkNo);
-                            wrkNo++;
+                            staProtocol.setWorkNo(9999);
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             String errorMsg = jsonObject.getString("msg");
-                            log.error("鍏ㄧ増鍏ュ簱鍥為��,"+wrkNo+","+errorMsg);
+                            log.error("鍏ㄧ増鍏ュ簱鍥為��,"+staProtocol.getWorkNo()+","+errorMsg);
                             if (!Cools.isEmpty(errorMsg)) {
                                 MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
                             }
@@ -296,12 +294,11 @@
                     StaDesc staDesc = staDescService.selectOne(wrapper);
                     if (Cools.isEmpty(staDesc)) {
                         News.error(""+mark+" - 2"+" - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-                        staProtocol.setWorkNo(wrkNo);
-                        wrkNo++;
+                        staProtocol.setWorkNo(9999);
                         staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                        log.error("杈撻�佺嚎涓嬪彂4锛�"+wrkNo+","+(pickSta.getStaNo().shortValue()-(short)1));
+                        log.error("杈撻�佺嚎涓嬪彂4锛�"+staProtocol.getWorkNo()+","+(pickSta.getStaNo().shortValue()-(short)1));
                         //LED
                         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                         // led 寮傚父鏄剧ず
@@ -1086,6 +1083,23 @@
                         && staProtocol.isPakMk() //闃叉閲嶅涓嬪彂淇″彿 绔欑偣鏃犵墿 鏃犱换鍔″彿浼氳嚜鍔ㄥ彉鎴恡rue
 
                 ) {
+                    // 鍒ゆ柇閲嶅宸ヤ綔妗�
+                    WrkMast wrkMast = null;
+                    if (!Cools.isEmpty(barcode)) {
+                        // 鏈夋潯鐮佹椂锛屾鏌ユ槸鍚︽湁鐩稿悓绔欑偣鍜屾潯鐮佺殑绌烘澘鍏ュ簱宸ヤ綔妗�
+                        wrkMast = wrkMastMapper.selectPakInStep1(emptyInSta.getStaNo(), barcode);
+                    } else {
+                        // 鏃犳潯鐮佹椂锛屾鏌ユ槸鍚︽湁鐩稿悓绔欑偣涓斿伐浣滅姸鎬佷负2鐨勭┖鏉垮叆搴撳伐浣滄。
+                        wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                                .eq("source_sta_no", emptyInSta.getStaNo())
+                                .eq("wrk_sts", 2)
+                                .eq("io_type", 10));
+                    }
+                    if (wrkMast != null) {
+                        News.info("{}绌烘澘鍏ュ簱閲嶅宸ヤ綔妗f鏌ワ細宸插瓨鍦ㄥ伐浣滄。锛屽伐浣滃彿锛歿}锛屾潯鐮侊細{}", emptyInSta.getStaNo(), wrkMast.getWrkNo(), barcode);
+                        continue;
+                    }
+                    
                     News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛岋細绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐э紝鏉$爜锛歿}", barcode);
 
                     try {
@@ -1140,15 +1154,14 @@
                             String errorMsg = jsonObject.getString("msg");
                             // 濡傛灉浠诲姟鍥為��锛屽苟涓旂珯鐐逛笉鏄嚜鍔ㄧ姸鎬侊紝鍒欎笉瑙﹀彂鍥為��
                             if (!staProtocol.isAutoing()) {
-                                log.error("绌烘澘鍏ュ簱鍥為��"+wrkNo+","+errorMsg+"锛岀珯鐐逛笉鏄嚜鍔ㄧ姸鎬侊紝涓嶈Е鍙戝洖閫�");
+                                log.error("绌烘澘鍏ュ簱鍥為��"+staProtocol.getWorkNo()+","+errorMsg+"锛岀珯鐐逛笉鏄嚜鍔ㄧ姸鎬侊紝涓嶈Е鍙戝洖閫�");
                                 continue;
                             }
-                            staProtocol.setWorkNo(wrkNo);
-                            wrkNo++;
+                            log.error("绌烘澘鍏ュ簱鍥為��"+staProtocol.getWorkNo()+","+errorMsg);
+                            staProtocol.setWorkNo(9999);
                             staProtocol.setStaNo(emptyInSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            log.error("绌烘澘鍏ュ簱鍥為��"+wrkNo+","+errorMsg);
                             if (!result) {
                                 News.errorNoLog(""+mark+" - 2"+" - 鏇存柊plc绔欑偣淇℃伅澶辫触");
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");

--
Gitblit v1.9.1