From 5270e2368d6561b32720b4f712cca132ae87300f Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 04 十一月 2023 10:06:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/tzskwcs_3' into tzskwcs_3

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  250 ++++++++++++++++++++++++++++---------------------
 1 files changed, 144 insertions(+), 106 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 bcdd0f3..6eda059 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -473,117 +473,155 @@
                         continue;
                     }
 
-                    try {
-                        // 璁块棶 WMS 鑾峰彇鍏ュ簱搴撲綅
-                        LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
-                        SearchLocParam param = new SearchLocParam();
-                        param.setWrkNo(wrkMast.getWrkNo());
-                        param.setIoType(wrkMast.getIoType());
-                        param.setSourceStaNo(pickSta.getStaNo());
-//                        param.setLocType1(locTypeDto.getLocType1());
-                        String response = new HttpHandler.Builder()
-                                .setUri(wmsUrl)
-                                .setPath("/rpc/pakin/loc/v1")
-                                .setJson(JSON.toJSONString(param))
-                                .build()
-                                .doPost();
-                        JSONObject jsonObject = JSON.parseObject(response);
-                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
-                        Integer code = jsonObject.getInteger("code");
-                        if (code.equals(200)) {
-                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+                    // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+                    if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+                        throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+                    }
 
-//                            // 鑾峰彇鐩爣绔�
-//                            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-//                                    .eq("type_no", wrkMast.getIoType() - 50)
-//                                    .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
-//                                    .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿
-//                            StaDesc staDesc = staDescService.selectOne(wrapper);
-//                            if (Cools.isEmpty(staDesc)) {
-//                                News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-//                                continue;
-//                            }
-//                            // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
-//                            Integer staNo = staDesc.getCrnStn();
+                    String sourceLocNo = wrkMast.getSourceLocNo().trim();
+                    LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(pickSta.getLiftNo(), Utils.getLev(sourceLocNo));//鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯
+                    if (liftStaProtocol == null) {
+                        continue;
+                    }
 
-                            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-//                        if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
-//                            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-//                        }
-                            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-                            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
-                                throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-                            }
-
-                            String sourceLocNo = wrkMast.getSourceLocNo().trim();
-                            LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(pickSta.getLiftNo(), Utils.getLev(sourceLocNo));//鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯
-                            if (liftStaProtocol == null) {
-                                continue;
-                            }
-
-                            // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-                            wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
-                            wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
-                            wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
+                    // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+                    wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+                    wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+                    wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
 //                            wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
 //                            wrkMast.setCrnNo(dto.getCrnNo());
-                            wrkMast.setStaNo(liftStaProtocol.getStaNo());//鐩爣绔�
-                            wrkMast.setLocNo(sourceLocNo); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
-                            wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
-                            wrkMast.setLiftNo(null);// 鎻愬崌鏈烘竻绌�
-                            wrkMast.setModiTime(new Date());
-                            if (wrkMastMapper.updateById(wrkMast) == 0) {
-                                throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
-                            }
-                            if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
-                                throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
-                            }
-
-                            // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-                            LocMast locMast = locMastService.selectById(sourceLocNo);
-                            locMast.setLocSts("Q");
-                            locMast.setModiTime(new Date());
-                            if (!locMastService.updateById(locMast)) {
-                                throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
-                            }
-
-//                            // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-//                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-//                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-//                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//                            if (!result) {
-//                                News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
-//                            }
-
-                            barcodeThread.setBarcode("");//娓呯悊鏉$爜
-
-                        } else if (code == 500){
-                            if (ledThread != null) {
-                                String errorMsg = jsonObject.getString("msg");
-                                if (!Cools.isEmpty(errorMsg)) {
-                                    MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
-                                }
-                            }
-                            News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
-                        } else {
-//                            staProtocol.setWorkNo((short) 32002);
-//                            staProtocol.setStaNo(pickSta.getBackSta().shortValue());
-//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-//                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-
-                            // led 寮傚父鏄剧ず
-                            if (ledThread != null) {
-                                String errorMsg = jsonObject.getString("msg");
-//                                String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
-                                MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
-                            }
-                        }
-
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    wrkMast.setStaNo(liftStaProtocol.getStaNo());//鐩爣绔�
+                    wrkMast.setLocNo(sourceLocNo); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+                    wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
+                    wrkMast.setLiftNo(null);// 鎻愬崌鏈烘竻绌�
+                    wrkMast.setModiTime(new Date());
+                    if (wrkMastMapper.updateById(wrkMast) == 0) {
+                        throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
                     }
+                    if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
+                        throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                    }
+
+                    // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+                    LocMast locMast = locMastService.selectById(sourceLocNo);
+                    locMast.setLocSts("Q");
+                    locMast.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+                    }
+                    barcodeThread.setBarcode("");//娓呯悊鏉$爜
+
+//                    try {
+//                        // 璁块棶 WMS 鑾峰彇鍏ュ簱搴撲綅
+//                        LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+//                        SearchLocParam param = new SearchLocParam();
+//                        param.setWrkNo(wrkMast.getWrkNo());
+//                        param.setIoType(wrkMast.getIoType());
+//                        param.setSourceStaNo(pickSta.getStaNo());
+////                        param.setLocType1(locTypeDto.getLocType1());
+//                        String response = new HttpHandler.Builder()
+//                                .setUri(wmsUrl)
+//                                .setPath("/rpc/pakin/loc/v1")
+//                                .setJson(JSON.toJSONString(param))
+//                                .build()
+//                                .doPost();
+//                        JSONObject jsonObject = JSON.parseObject(response);
+//                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
+//                        Integer code = jsonObject.getInteger("code");
+//                        if (code.equals(200)) {
+//                            StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+//
+////                            // 鑾峰彇鐩爣绔�
+////                            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+////                                    .eq("type_no", wrkMast.getIoType() - 50)
+////                                    .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+////                                    .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿
+////                            StaDesc staDesc = staDescService.selectOne(wrapper);
+////                            if (Cools.isEmpty(staDesc)) {
+////                                News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
+////                                continue;
+////                            }
+////                            // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+////                            Integer staNo = staDesc.getCrnStn();
+//
+//                            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+////                        if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+////                            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+////                        }
+//                            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+//                            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+//                                throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+//                            }
+//
+//                            String sourceLocNo = wrkMast.getSourceLocNo().trim();
+//                            LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(pickSta.getLiftNo(), Utils.getLev(sourceLocNo));//鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯
+//                            if (liftStaProtocol == null) {
+//                                continue;
+//                            }
+//
+//                            // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+//                            wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+//                            wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+//                            wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
+////                            wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
+////                            wrkMast.setCrnNo(dto.getCrnNo());
+//                            wrkMast.setStaNo(liftStaProtocol.getStaNo());//鐩爣绔�
+//                            wrkMast.setLocNo(sourceLocNo); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+//                            wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
+//                            wrkMast.setLiftNo(null);// 鎻愬崌鏈烘竻绌�
+//                            wrkMast.setModiTime(new Date());
+//                            if (wrkMastMapper.updateById(wrkMast) == 0) {
+//                                throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+//                            }
+//                            if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
+//                                throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+//                            }
+//
+//                            // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+//                            LocMast locMast = locMastService.selectById(sourceLocNo);
+//                            locMast.setLocSts("Q");
+//                            locMast.setModiTime(new Date());
+//                            if (!locMastService.updateById(locMast)) {
+//                                throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+//                            }
+//
+////                            // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+////                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+////                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+////                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+////                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+////                            if (!result) {
+////                                News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+////                            }
+//
+//                            barcodeThread.setBarcode("");//娓呯悊鏉$爜
+//
+//                        } else if (code == 500){
+//                            if (ledThread != null) {
+//                                String errorMsg = jsonObject.getString("msg");
+//                                if (!Cools.isEmpty(errorMsg)) {
+//                                    MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
+//                                }
+//                            }
+//                            News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+//                        } else {
+////                            staProtocol.setWorkNo((short) 32002);
+////                            staProtocol.setStaNo(pickSta.getBackSta().shortValue());
+////                            devpThread.setPakMk(staProtocol.getSiteId(), false);
+////                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//
+//                            // led 寮傚父鏄剧ず
+//                            if (ledThread != null) {
+//                                String errorMsg = jsonObject.getString("msg");
+////                                String errorMsg = barcode + "鎵樼洏璇嗗埆寮傚父锛岃鍏堣繘琛岀粍鎵橈紒";
+//                                MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
+//                            }
+//                        }
+//
+//                    } catch (Exception e) {
+//                        e.printStackTrace();
+//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//                    }
 
                 }
             }

--
Gitblit v1.9.1