From d635a99e20e207b40b16b8536c02a0b74df63c61 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 23 三月 2026 14:19:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  113 ++++++++++++++++++++++----------------------------------
 1 files changed, 45 insertions(+), 68 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 432677f..d5f5afb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -88,6 +88,8 @@
 
     @Value("${wms.url}")
     private String wmsUrl;
+    @Value("${wms.urlWMS}")
+    private String urlWMS;
     @Value("${inventory.number}")
     private Integer inventoryNumber;
 
@@ -220,7 +222,7 @@
                         && staProtocol.isLoading()
                         && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk()
-                        && staProtocol.getWorkNo() == 0
+                        && staProtocol.getWorkNo() == 9999
                         && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) {
 
 //                    if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
@@ -268,7 +270,7 @@
                         applyParam.setStatus(1); // 1:婊℃澘
                         
                         String response = new HttpHandler.Builder()
-                                .setUri(wmsUrl)
+                                .setUri(urlWMS)
                                 .setPath("/inboundTaskApply")
                                 .setJson(JSON.toJSONString(applyParam))
                                 .build()
@@ -278,12 +280,9 @@
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject != null && jsonObject.getInteger("code") != null && jsonObject.getInteger("code") == 200) {
                             log.info("鍏ュ簱浠诲姟鐢宠鎴愬姛锛岀瓑寰匴MS涓嬪彂浠诲姟銆傛潯鐮侊細{}锛岀珯鐐癸細{}", barcode, inSta.getStaNo());
-                            staProtocol.setWorkNo(9998);//璁剧疆涓�9998绛夊緟涓婁綅鏈轰笅鍙戜换鍔�/9997鏄┖鏉垮叆搴撳垽鏂紝寰呬笅鍙戞椂涔熷啓鍏�9998
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            if (!result) {
-                                LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
-                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-                            }
+                            devpThread.setPakMk(staProtocol.getSiteId(), false,9998);
+
+
                         } else {
                             //                            // 鑾峰彇宸ヤ綔鍙�
                             int workNo = commonService.getWorkNo(3);
@@ -415,19 +414,18 @@
             // 閬嶅巻鎷f枡鍏ュ簱鍙�
             for (DevpSlave.Sta pickSta : devp.getPickSta()) {
 //                // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-//                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-//                if (barcodeThread == null) {
-//                    continue;
-//                }
-//                String barcode = barcodeThread.getBarcode();
-//                if(!Cools.isEmpty(barcode)) {
-//                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-//                    if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-//                        continue;
-//                    }
-//                } else {
-//                    continue;
-//                }
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+                if (barcodeThread == null) {
+                    continue;
+                }
+                String barcode = barcodeThread.getBarcode();
+                if(!Cools.isEmpty(barcode)) {
+                    if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+                        continue;
+                    }
+                } else {
+                    continue;
+                }
 
                 // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -441,9 +439,9 @@
 //                // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //                if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
 
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9998) {
 //                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"7");
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStep6(barcode);
                     if (wrkMast == null) {
                         // 鏃犳嫞鏂欐暟鎹�
                         continue;
@@ -456,59 +454,38 @@
                     //   鑾峰彇搴撲綅鍙�
                     try {
                         SearchLocParam param = new SearchLocParam();
+                        Integer staNo = wrkMast.getSourceStaNo();
                         param.setBarcode(wrkMast.getBarcode());
                         param.setIoType(wrkMast.getIoType());
                         param.setSourceStaNo(pickSta.getStaNo()); //浣滀笟绔欑偣
                         param.setLocType1((short)1);
-                        String response = "";
-                        log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
-                        try {
-                            response = new HttpHandler.Builder()
-                                    .setUri(wmsUrl)
-                                    .setPath("/rpc/pakin2/loc/v1")
-                                    .setJson(JSON.toJSONString(param))
-                                    .setTimeout(15, TimeUnit.SECONDS)
-                                    .build()
-                                    .doPost();
-                        } catch(Exception e){
-                            log.error("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
-                            log.error("stnToCrnStnPick2===>>鐩樼偣鏌ュ簱浣嶅叆搴撴帴鍙eけ璐�", e);
-                            e.printStackTrace();
-                            continue;
+                        wrkMast.setIoType(wrkMast.getIoType() - 50);
+                        wrkMast.setWrkSts(2L);
+                        wrkMast.setSourceStaNo(wrkMast.getStaNo()-1);
+                        wrkMast.setStaNo(staNo - 2);
+                        wrkMast.setLocNo(wrkMast.getSourceLocNo());
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
+                        if(locMast.getLocSts().equals("P")){
+                            locMast.setLocSts("Q");
+                            locMastService.updateById(locMast);
                         }
-                        log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS===>>鍙傛暟锛�" + param);
-                        log.info("鍏ュ簱浣滀笟绔�"+pickSta.getStaNo()+"涓嬪彂鐩樼偣鍐嶅叆搴撲换鍔¤姹俉MS杩斿洖缁撴灉===>>" + response);
-                        if(response.equals("")) {
-                            continue;
-                        }
-                        JSONObject jsonObject = JSON.parseObject(response);
-//                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
-                        Integer code = jsonObject.getInteger("code");
-                        if (code == 200) {
-                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-                            if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getStaNo())) {
-                                log.error("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撴煡璇㈠簱浣嶅け璐�===>>" + jsonObject.toJSONString());
-                            } else {
-                                log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撴煡璇㈠簱浣嶆垚鍔�===>>" + jsonObject.toJSONString());
-                                try {
-                                    // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                                    staProtocol.setWorkNo(wrkMast.getWrkNo());
-                                    staProtocol.setStaNo(dto.getStaNo().shortValue());
-                                    devpThread.setPakMk(staProtocol.getSiteId(), false,1096);
+                        if (wrkMastService.updateById(wrkMast)) {
+                            try {
+                                // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+                                staProtocol.setWorkNo(wrkMast.getWrkNo());
+                                staProtocol.setStaNo((short)(wrkMast.getSourceStaNo() - 1));
+                                devpThread.setPakMk(staProtocol.getSiteId(), false,9998);
 //                                    ledThread.errorReset();
-                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                                    if (!result) {
-                                        log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
-                                    }
-                                    log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣/鎷f枡鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol);
-                                } catch (Exception e) {
-                                    log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e);
-                                    e.printStackTrace();
-                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                                if (!result) {
+                                    log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
                                 }
+                                log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣/鎷f枡鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol);
+                            } catch (Exception e) {
+                                log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e);
+                                e.printStackTrace();
+                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             }
-                        } else {
-                            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin2/loc/v1", JSON.toJSONString(param), response);
                         }
                     } catch (Exception e) {
                         log.error("stnToCrnStnPick2===>>fail", e);

--
Gitblit v1.9.1