From 2e5837667e60378a06c7d8d1a4b095c4ba6e2d06 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期一, 17 十一月 2025 09:29:08 +0800
Subject: [PATCH] 限制优化

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 801fecd..f5ac54f 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -107,6 +107,7 @@
 
         crnOutSiteToRgvSite.put(1093, (short) 1091);crnOutSiteToRgvSite.put(1099, (short) 1097);crnOutSiteToRgvSite.put(1107, (short) 1105);
 
+        crnOutSiteToRgvSite2.put(1093, (short) 1091);crnOutSiteToRgvSite2.put(1099, (short) 1097);crnOutSiteToRgvSite2.put(1107, (short) 1105);
         crnOutSiteToRgvSite2.put(1087, (short) 1089);crnOutSiteToRgvSite2.put(1084, (short) 1086);crnOutSiteToRgvSite2.put(1081, (short) 1083);
         crnOutSiteToRgvSite2.put(1043, (short) 1041);crnOutSiteToRgvSite2.put(1016, (short) 1018);crnOutSiteToRgvSite2.put(1008, (short) 1006);
     }
@@ -325,7 +326,7 @@
     /**
      * 缃愯绾胯妗舵暟閲忓噺灏�
      */
-    private void decreaseWantBucketCount(int site, int decrease) throws InterruptedException {
+    private synchronized void decreaseWantBucketCount(int site, int decrease) throws InterruptedException {
 
         int siteNew;
         switch (site) {
@@ -362,6 +363,7 @@
         }
 
         log.info("鑷姩鍑虹┖妗跺噺灏戠綈瑁呯嚎瑕佹《鏁版垚鍔燂紝绔欑偣锛歿}锛屽噺灏戝墠锛歿}锛屽噺灏戞暟锛歿}锛屽墿浣欒妗舵暟锛歿}", site, count, decrease, remaining);
+        Thread.sleep(700);
     }
 
     /**
@@ -1338,6 +1340,7 @@
                     wrkMast.setWorkNoOther(0); // 娓呯┖鍙︿竴涓换鍔″彿
                     // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
                     if (wrkMastMapper.updateById(wrkMast) > 0) {
+                        log.info("{}鍙峰爢鍨涙満浠诲姟瀹屾垚锛岀敵璇峰浣嶏紝浠诲姟鍙凤細{}",crnProtocol.getCrnNo(),crnProtocol.getTaskNo());
                         // 鍫嗗灈鏈哄浣�
                         News.warnNoLog(""+mark+" - 2"+" - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}",crnThread.getCrnProtocol().getCrnNo());
                         crnThread.setResetFlag(true);
@@ -1772,7 +1775,7 @@
                 WrkDetl wrkDetl1 = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                 if (wrkDetl1 != null) {
                     // 鍑哄簱浠诲姟鐨勫洓涓嚭搴撶珯鐐癸紝鍒ゆ柇褰撳墠鐗╂枡涓�鎵瑰嚭搴撶殑鏃堕棿 鑾峰彇褰撳墠宸插畬鎴� / 鎬绘暟
-                    if(wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 1024 ||wrkMast.getStaNo() == 1040 ||wrkMast.getStaNo() == 1043 ||wrkMast.getStaNo() == 1016) ) {
+                    if(wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 1024 ||wrkMast.getStaNo() == 1031 ||wrkMast.getStaNo() == 1043 ||wrkMast.getStaNo() == 1016) ) {
                         int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 101).eq("io_time", wrkMast.getIoTime()));
                         int countHis = wrkMastMapper.selectCountHisByIoTypeAndIoTime(101, wrkMast.getIoTime());
                         matDto.setOutTotal(count+countHis);
@@ -1787,6 +1790,11 @@
                     matDto.setWeight(wrkDetl1.getWeight());
                     matDto.setGrossWeight(wrkDetl1.getManLength());
                     ledCommand.getMatDtos().add(matDto);
+                } else {
+                    // 鍏ュ簱绌烘墭鐩橈紝寮傚父鍘诲紓甯稿彛鏄剧ず鎶ヨ淇℃伅,缁欑┖宸ヤ綔鏄庣粏
+                    if(wrkMast.getIoType() == 3) {
+                        ledCommand.getMatDtos().add(matDto);
+                    }
                 }
                 // 璁㈠崟
 //                if(wrkDetl1 != null && !Cools.isEmpty(wrkDetl1.getOrderNo()))  {
@@ -2209,7 +2217,8 @@
                     wrkMast.setWrkSts(15L);
                     wrkMast.setModiTime(new Date());
                     wrkMastService.updateById(wrkMast);
-                } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035 || wrkMast.getStaNo() == 1024)) {
+                } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035
+                        || wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016|| wrkMast.getStaNo() == 1043)) {
                     if(wrkMast.getWrkSts() != 2 ){
                         log.warn("rgv鏀捐揣瀹屾垚110锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts());
                         continue;
@@ -2270,7 +2279,7 @@
 //                log.info("寮傚父鍙e叆搴撳叆搴撶洰鏍囩珯鐐瑰凡鍒嗛厤:{}", wrkMast.getStaNo());
                 return;
             }
-
+            log.info("寮傚父鍙e叆搴撹姹倃ms鍓�,浠诲姟鍙凤細{}锛屼换鍔$姸鎬侊細{}",wrkMast.getWrkNo(), wrkMast.getWrkSts());
             try {
                 CanningLineInLocParam param = new CanningLineInLocParam();
                 param.setWrkNo(staProtocol.getWorkNo());
@@ -2286,7 +2295,7 @@
                 log.info("寮傚父鍙e叆搴撹姹倃ms鍘熷杩斿洖锛�" + response);
                 JSONObject jsonObject = JSON.parseObject(response);
                 if (jsonObject.getInteger("code").equals(200)) {
-                    log.error("寮傚父鍙e叆搴撹姹傛帴鍙f垚鍔熷父锛寀rl:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
+                    log.info("寮傚父鍙e叆搴撹姹傛帴鍙f垚鍔燂紝url:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
                 } else {
                     log.error("寮傚父鍙e叆搴撹姹傛帴鍙e紓甯革紝url:{}锛宺equest:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
                     News.error("寮傚父鍙e叆搴撹姹傛帴鍙e紓甯革紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response);
@@ -2313,13 +2322,17 @@
                 }
 
                 // 绔欑偣鏉′欢鍒ゆ柇
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() == 0) {
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() == 0 && staProtocol.isHigh()) {
                     if(site == 1019 && staProtocol.getHideWorkNo() != 0) {
                         WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getHideWorkNo()));
                         if(wrkMast1 != null && wrkMast1.getWrkSts() != 15) {
                             News.warn("绌烘墭鍑哄簱鏈畬鎴愶紝鏃犳硶杞┖鎵樺叆搴撲换鍔★紝浠诲姟鍙�:{}锛屽綋鍓嶇姸鎬�:{}",wrkMast1.getWrkNo(),wrkMast1.getWrkSts());
                             continue;
                         }
+                    }
+                    int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 10).eq("source_sta_no", site));
+                    if (count >= 2) {
+                        News.warn("闄愬埗{}绌烘瘝鎵樺彔鐩樺叆搴撴暟灏忎簬2锛屽綋鍓嶏細{}", site, count);
                     }
                     try {
                         SearchLocParam param = new SearchLocParam();
@@ -2671,7 +2684,7 @@
                 // 鏍规嵁缃愯绾垮弽棣堜换鍔″彿鏌ヨ宸ヤ綔妗�
                 WrkMast wrkMast = wrkMastService.selectById(staProtocol.getWrkNo());
                 if(wrkMast == null) {
-                    log.error("鍑虹綈瑁呯嚎璐х墿浠诲姟鍙峰伐浣滄。涓嶅瓨鍦�:{}",staProtocol.getWrkNo());
+                    News.error("鍑虹綈瑁呯嚎璐х墿浠诲姟鍙峰伐浣滄。涓嶅瓨鍦�:{}",staProtocol.getWrkNo());
                     continue;
                 } else if(wrkMast.getWrkSts() != 2) {
                     log.error("鍑虹綈瑁呯嚎璐х墿浠诲姟鍙峰伐浣滄。鐘舵�佸紓甯革紝涓嶄负2:{}",staProtocol.getWrkNo());
@@ -2747,10 +2760,15 @@
             if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() != 0) {
                 // 鏌ヨ宸ヤ綔妗�
                 WrkMast wrkMast = wrkMastMapper.selectByWrkNo(staProtocol.getWorkNo());
-                if (wrkMast != null && wrkMast.getWhsType() == null && wrkMast.getIoType() != 120) {
+                if (wrkMast != null && wrkMast.getWhsType() == null) {
                     WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
-                    staProtocol.setBucketType(wrkDetl.getMatnr());
-                    staProtocol.setBucketCount(wrkDetl.getAnfme().intValue());
+                    if(wrkMast.getIoType() == 120) {
+                        staProtocol.setBucketType("1");
+                        staProtocol.setBucketCount(1);
+                    } else {
+                        staProtocol.setBucketType(wrkDetl.getMatnr());
+                        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() + "," +"鎵樼洏鐮侊細" + wrkMast.getBarcode() +"锛�" + site + "," + staProtocol.getBucketType() +"," + staProtocol.getBucketCount());
@@ -2817,7 +2835,7 @@
             }
 
             // 绔欑偣鏉′欢鍒ゆ柇
-            if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) {
+            if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) {
                 // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                 StaProtocol staProtocolNew = new StaProtocol();
                 staProtocolNew.setSiteId(staProtocol.getSiteId());
@@ -2825,6 +2843,11 @@
                 staProtocolNew.setStaNo(crnOutSiteToRgvSite2.get(wrkMast.getSourceStaNo()) != null ? crnOutSiteToRgvSite2.get(wrkMast.getSourceStaNo()) :wrkMast.getSourceStaNo().shortValue());
                 devpThread.setPakMk(staProtocol.getSiteId(), false);
                 boolean result = MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocolNew));
+                Integer siteId = staProtocol.getSiteId();
+                if(siteId == 1081 || siteId == 1084 || siteId == 1087) {
+                    staProtocol.setPlaceableFlag(1);
+                    MessageQueue.offer(SlaveType.Devp, outGzxSiteList.indexOf(staProtocol.getSiteId()) + 4, new Task(5, staProtocol));
+                }
                 log.info("鎵嬪姩绔欎綅杞Щ杈撻�佺嚎涓嬪彂锛�" + staProtocolNew.getWorkNo() + "," + staProtocolNew.getSiteId() + "->" + staProtocolNew.getStaNo());
                 if (!result) {
                     News.errorNoLog("" + " - 1" + " - 鏇存柊plc绔欑偣淇℃伅澶辫触");

--
Gitblit v1.9.1