From 4c4c8fb50c3e9a86ebe6948bfa81961579ea86c3 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期一, 16 六月 2025 14:59:31 +0800
Subject: [PATCH] wcs功能完善

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |   81 +++++++++++++++++++++++-----------------
 1 files changed, 46 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 26fcc24..c550397 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -90,7 +90,7 @@
 
         taskStaNoToRgvStaNoMap.put(1050,1044);taskStaNoToRgvStaNoMap.put(1078,1044);taskStaNoToRgvStaNoMap.put(1064,1044);taskStaNoToRgvStaNoMap.put(1071,1044);taskStaNoToRgvStaNoMap.put(1096,1094);
         taskStaNoToRgvStaNoMap.put(1104,1100);taskStaNoToRgvStaNoMap.put(1102,1100);taskStaNoToRgvStaNoMap.put(1090,1090);taskStaNoToRgvStaNoMap.put(1002,1001);taskStaNoToRgvStaNoMap.put(1016,1018);
-        taskStaNoToRgvStaNoMap.put(1020,1019);taskStaNoToRgvStaNoMap.put(1024,1022);taskStaNoToRgvStaNoMap.put(1035,1034);taskStaNoToRgvStaNoMap.put(1040,1033);taskStaNoToRgvStaNoMap.put(1043,1041);
+        taskStaNoToRgvStaNoMap.put(1020,1019);taskStaNoToRgvStaNoMap.put(1024,1022);taskStaNoToRgvStaNoMap.put(1031,1033);taskStaNoToRgvStaNoMap.put(1035,1034);taskStaNoToRgvStaNoMap.put(1040,1033);taskStaNoToRgvStaNoMap.put(1043,1041);
 
         canningLineRgvConnectionSiteList.add(1083);canningLineRgvConnectionSiteList.add(1086);
         canningLineRgvConnectionSiteList.add(1089);
@@ -205,12 +205,11 @@
                     if (!staProtocol.isLoading()){
                         continue;
                     }
-                    if (!staProtocol.isPakMk()) {
-                        continue;
-                    }
                     News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
-                    log.error("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
-                    return;
+                    // 濡傛灉瓒呴檺鎶ヨ鎴栬秴閲嶇瓑锛屽嚭鍒�1024
+                    if(errMsg.equals("鎵爜澶辫触")) {
+                        return;
+                    }
                 }
 
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
@@ -222,11 +221,13 @@
                 ) {
                     if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || barcode.startsWith("ERROR")) {
                         log.error("{}鍙锋潯鐮佹娴嬪け璐ワ紝鏉$爜淇℃伅锛歿}", inSta.getBarcode(), barcode);
+                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "鏉$爜妫�娴嬪け璐ワ細"+barcode));
                         continue;
                     }
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
                     WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
                     if (wrkMast != null) {
+                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "鏉$爜宸查噸澶嶏細" + barcode));
                         continue;
                     }
 
@@ -242,6 +243,7 @@
                         param.setBucketCount(staProtocol.getBucketCount());
                         param.setTailSupportFlag(staProtocol.isTailSupportFlag());
                         param.setWantBucketFlag(getWantBucketFlag());
+                        param.setErrMsg(errMsg);
 
                         String response = new HttpHandler.Builder()
                                 .setUri(wmsUrl)
@@ -293,8 +295,8 @@
         StaProtocol staProtocol1084 = devpThread.getStation().get(1084);
         StaProtocol staProtocol1087 = devpThread.getStation().get(1087);
         List<SearchLocParam.WantBucket> wantBucketList = new ArrayList<>();
-        wantBucketList.add(new SearchLocParam.WantBucket(1071,staProtocol1081.getWantBucketFlag()));
         wantBucketList.add(new SearchLocParam.WantBucket(1064,staProtocol1084.getWantBucketFlag()));
+        wantBucketList.add(new SearchLocParam.WantBucket(1071,staProtocol1081.getWantBucketFlag()));
         wantBucketList.add(new SearchLocParam.WantBucket(1078,staProtocol1087.getWantBucketFlag()));
         return wantBucketList;
     }
@@ -808,6 +810,14 @@
                         break;
                     }
 
+                    if (crnStn.getStaNo() == 1093) { // 鍒ゆ柇鍑哄簱鍒板埌1093锛屽垽鏂�1092鏄惁鏈夌墿,鏈夌墿涓嶅彲鍑�
+                        StaProtocol staProtocol2 = devpThread.getStation().get(1092);
+                        if(!staProtocol2.isAutoing() || staProtocol2.isLoading() || staProtocol2.getWorkNo() != 0) {
+                            log.warn("1鍙峰爢鍨涙満鍑哄簱鍙栬揣鍓嶏紝鍒ゆ柇1092绔欑偣淇℃伅鑷姩锛歿}锛屾湁鐗╋細{}锛屽伐浣滃彿锛歿}锛屼笉鍙叆",staProtocol2.isAutoing(),staProtocol2.isLoading(),staProtocol2.getWorkNo());
+                            continue;
+                        }
+                    }
+
                     // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
                     if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
                         News.warnNoLog(""+mark+" - 2"+" - 6"+" - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}",wrkMast.getWrkNo());
@@ -1292,33 +1302,29 @@
                         break;
                 }
                 ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
+                ledCommand.setLocNo(wrkMast.getLocNo());
+                ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
                 ledCommand.setStaNo(wrkMast.getStaNo());
                 ledCommand.setBarcode(wrkMast.getBarcode());
-                if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
-                    List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
-//                    List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
-                    wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getSpecs(),wrkDetl.getManuDate(),wrkDetl.getModel(),wrkDetl.getWeight(),wrkDetl.getManLength(),wrkDetl.getVolume())));
-//                    wrkDetls.forEach(wrkDetl -> {
-//                        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 {
-//                            total = locDetl.getAnfme();
-//                        }
-//                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
-//                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
-//                        }
-//                        if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
-//                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
-//                        }
-//                        if (wrkMast.getIoType() == 107) {
-//                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
-//                        }
-//                    });
+                MatDto matDto = new MatDto();
+                // 鏄庣粏
+                WrkDetl wrkDetl1 = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+                if (wrkDetl1 != null) {
+                    ledCommand.setOrderNo(wrkDetl1.getOrderNo());
+                    matDto.setMaknx(wrkDetl1.getMaktx());
+                    matDto.setMatnr(wrkDetl1.getMatnr());
+                    matDto.setBatch(wrkDetl1.getBatch());
+                    matDto.setManuDate(wrkDetl1.getManuDate());
+                    matDto.setAnfme(wrkDetl1.getAnfme());
+                    matDto.setWeight(wrkDetl1.getWeight());
+                    matDto.setGrossWeight(wrkDetl1.getManLength());
+                    ledCommand.getMatDtos().add(matDto);
                 }
-                commands.add(ledCommand);
+                // 璁㈠崟
+//                if(wrkDetl1 != null && !Cools.isEmpty(wrkDetl1.getOrderNo()))  {
+//
+//                }
+                commands.add(0,ledCommand);
             }
             Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet());
             // 鑾峰彇LED绾跨▼
@@ -1652,10 +1658,14 @@
                         log.warn("rgv鏀捐揣瀹屾垚锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
                         continue;
                     }
-                    wrkMast.setWrkSts(2L);
+                    wrkMast.setWrkSts(5L);
                     wrkMast.setModiTime(new Date());
                     wrkMastService.updateById(wrkMast);
-                } else if(wrkMast.getIoType() == 101 && wrkMast.getWrkSts() == 2 &&  (wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016 || wrkMast.getStaNo() == 1043)) {
+                } else if(wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016 || wrkMast.getStaNo() == 1043)) {
+                    if(wrkMast.getWrkSts() != 2 ) {
+                        log.warn("rgv鏀捐揣瀹屾垚锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}", wrkMast.getRgvNo(), wrkMast.getWrkNo(), wrkMast.getWrkSts());
+                        continue;
+                    }
                     wrkMast.setWrkSts(15L);
                     wrkMast.setModiTime(new Date());
                     wrkMastService.updateById(wrkMast);
@@ -1873,10 +1883,11 @@
                     CanningLineInLocParam param = new CanningLineInLocParam();
                     param.setWrkNo(staProtocol.getWrkNo());
                     param.setMatnr(staProtocol.getMatnr().trim());
-                    param.setBatch(staProtocol.getBatch());
+                    param.setBatch(staProtocol.getBatch().trim());
                     param.setManuDate(staProtocol.getManuDate());
                     param.setWeight(staProtocol.getWeight());
                     param.setGrossWeight(staProtocol.getGrossWeight());
+                    param.setReinspection(staProtocol.isReinspection());
                     param.setSourceStaNo(site + 2);
                     param.setTbFlag(staProtocol2.isBarcodeErr());
 
@@ -1951,7 +1962,7 @@
                     staProtocol.setBucketCount(wrkDetl.getAnfme().intValue());
                     boolean result = MessageQueue.offer(SlaveType.Devp, inGzxSiteList.indexOf(site) + 4, new Task(4, staProtocol));
                     if (result) {
-                        log.info("鍛婅瘔缃愯绾垮叆搴撴《淇℃伅鍛戒护闃熷垪鎺ㄩ�佹垚鍔燂細" + staProtocol.getWorkNo() + "," + site + "," + staProtocol.getBucketType() +"," + staProtocol.getBucketCount());
+                        log.info("鍛婅瘔缃愯绾垮叆搴撴《淇℃伅鍛戒护闃熷垪鎺ㄩ�佹垚鍔燂細" + staProtocol.getWorkNo() + "," +"鎵樼洏鐮侊細" + wrkMast.getBarcode() +"锛�" + site + "," + staProtocol.getBucketType() +"," + staProtocol.getBucketCount());
                         News.info("鍛婅瘔缃愯绾垮叆搴撴《淇℃伅鍛戒护闃熷垪鎺ㄩ�佹垚鍔燂細" + staProtocol.getWorkNo() + "," + site + "," + staProtocol.getBucketType() +"," + staProtocol.getBucketCount());
                         wrkMast.setWhsType(1); // 鏇存柊鎺ㄩ�佹爣璇嗭紝閬垮厤閲嶅鎺ㄩ��
                         wrkMastService.updateById(wrkMast);

--
Gitblit v1.9.1