From b6dd05e2397b5280add41464b36a67ef312a9a86 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 14 十二月 2023 11:31:32 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  133 +++++++++----------------------------------
 1 files changed, 29 insertions(+), 104 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 990265b..6b15116 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -113,6 +113,8 @@
     private ConfigService configService;
     @Autowired
     private NavigateMapUtils navigateMapUtils;
+    @Autowired
+    private WrkDetlLogService wrkDetlLogService;
 
 
     /**
@@ -409,10 +411,6 @@
             for (DevpSlave devp : slaveProperties.getDevp()) {
                 // 閬嶅巻鎷f枡鍏ュ簱鍙�
                 for (DevpSlave.Sta pickSta : devp.getPickInSta()) {
-                    if (pickSta.getStaNo() == 325 || pickSta.getStaNo() == 331 || pickSta.getStaNo() == 333 || pickSta.getStaNo() == 339) {
-                        continue;
-                    }
-
                     // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
                     DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                     StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
@@ -541,11 +539,7 @@
         try {
             for (DevpSlave devp : slaveProperties.getDevp()) {
                 // 閬嶅巻鎷f枡鍏ュ簱鍙�
-                for (DevpSlave.Sta pickSta : devp.getPickInSta()) {
-                    if (!(pickSta.getStaNo() == 325 || pickSta.getStaNo() == 331 || pickSta.getStaNo() == 333 || pickSta.getStaNo() == 339)) {
-                        continue;
-                    }
-
+                for (DevpSlave.Sta pickSta : devp.getPickInSta2()) {
                     // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
                     DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                     StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
@@ -561,91 +555,15 @@
                             && staProtocol.isPakMk()) {
 
                         WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue());
-                        if (wrkMast == null) {//鎵句笉鍒板伐浣滄。
+                        if (wrkMast == null) {
                             continue;
                         }
-
-                        if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104)
-                                || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
-                            continue;
-                        }
-
-//                        //*********************鍚屽簱浣嶇粍鏍¢獙*********************
-//                        boolean flag = false;
-//                        String th = "";
-//                        List<String> innerLoc = Utils.getGroupInnerLoc(wrkMast.getSourceLocNo());
-//                        for (String loc : innerLoc) {
-//                            LocMast locMast = locMastService.selectById(loc);
-//                            if (locMast == null) {
-//                                continue;
-//                            }
-//
-//                            if (!locMast.getLocSts().equals("F")) {
-//                                flag = true;
-//                                th = loc + "搴撲綅瀛樺湪鏈洖搴撲换鍔�";
-//                                break;
-//                            }
-//                        }
-//                        if (flag) {
-//                            News.info(th);
-//                            continue;
-//                        }
-//                        //*********************鍚屽簱浣嶇粍鏍¢獙*********************
-
-                        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-                        if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
-                            News.info(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-                            continue;
-                        }
-
-                        try {
-                            LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());//婧愬簱浣�
-                            SearchLocParam param = new SearchLocParam();
-                            param.setWrkNo(wrkMast.getWrkNo());
-                            param.setBarcode(wrkMast.getBarcode());
-                            param.setIoType(wrkMast.getIoType());
-                            param.setSourceStaNo(pickSta.getStaNo());
-                            param.setLocType1(locMast.getLocType1());
-                            String response = new HttpHandler.Builder()
-                                    .setUri(wmsUrl)
-                                    .setPath("/rpc/pakin/loc/v2")
-                                    .setJson(JSON.toJSONString(param))
-                                    .build()
-                                    .doPost();
-                            JSONObject jsonObject = JSON.parseObject(response);
-                            Integer code = jsonObject.getInteger("code");
-                            if (code.equals(200)) {
-                                StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
-                                //鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯
-                                LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(pickSta.getLiftNo(), Utils.getLev(dto.getLocNo()));
-                                if (liftStaProtocol == null) {
-                                    News.info(wrkMast.getWrkNo() + "鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯澶辫触");
-                                    continue;
-                                }
-
-                                // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-                                wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54
-                                wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
-                                wrkMast.setSourceStaNo(dto.getSourceStaNo()); // 婧愮珯
-                                wrkMast.setStaNo(liftStaProtocol.getStaNo());//鐩爣绔�
-                                wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
-                                wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
-                                wrkMast.setLiftNo(null);// 鎻愬崌鏈烘竻绌�
-                                wrkMast.setModiTime(new Date());
-                                if (wrkMastMapper.updateById(wrkMast) == 0) {
-                                    News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
-                                    continue;
-                                }
-
-                                staProtocol.setStaNo(dto.getSourceStaNo().shortValue());//鍐欏叆鐩爣绔�
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            } else if (code == 500) {
-                                News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        if (wrkMast.getSteNo() == null) {
+                            wrkMast.setSteNo(1);
+                            wrkMastMapper.updateById(wrkMast);
+                            staProtocol.setStaNo((short) 341);//鍐欏叆鐩爣绔�
+                            staProtocol.setPakMk(false);
+                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                         }
                     }
                 }
@@ -748,8 +666,8 @@
                                     continue;
                                 }
 
-                                staProtocol.setStaNo(dto.getSourceStaNo().shortValue());//鍐欏叆鐩爣绔�
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                                staProtocol.setStaNo(dto.getSourceStaNo().shortValue());//鍐欏叆鐩爣绔�
+//                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 
                             } else if (code == 500) {
                                 News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
@@ -1285,15 +1203,15 @@
                 return false;//鍑哄簱绔欑偣涓嶅瓨鍦�
             }
 
-            if (!basDevp.getAutoing().equals("Y")) {
-                News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鏄嚜鍔ㄧ姸鎬�",wrkMast.getWrkNo(),basDevp.getDevNo());
-                return false;//涓嶆槸鑷姩鐘舵��
-            }
-
-            if (!basDevp.getOutEnable().equals("Y")) {
-                News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), basDevp.getDevNo());
-                return false;//鍑哄簱绔欑偣涓嶅彲鍑�
-            }
+//            if (!basDevp.getAutoing().equals("Y")) {
+//                News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鏄嚜鍔ㄧ姸鎬�",wrkMast.getWrkNo(),basDevp.getDevNo());
+//                return false;//涓嶆槸鑷姩鐘舵��
+//            }
+//
+//            if (!basDevp.getOutEnable().equals("Y")) {
+//                News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), basDevp.getDevNo());
+//                return false;//鍑哄簱绔欑偣涓嶅彲鍑�
+//            }
 
             Integer liftNo = basDevp.getLiftNo();//鎼滅储鍑哄簱鎻愬崌鏈烘槸鍚﹀瓨鍦ㄥ叆搴撲换鍔★紝濡傚瓨鍦ㄧ姝㈠嚭搴�
             List<WrkMast> liftWrkMasts = wrkMastMapper.selectInWrkMastByLiftNo(liftNo);
@@ -2981,6 +2899,13 @@
                             wrkDetls.forEach(wrkDetl -> {
                                 ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode()));
                             });
+
+                            if (wrkDetls.isEmpty()) {//浠庡巻鍙叉。鏌ヨ
+                                List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkMast.getWrkNo());
+                                wrkDetlLogs.forEach(wrkDetl -> {
+                                    ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode()));
+                                });
+                            }
                         }
                     }
 
@@ -3081,7 +3006,7 @@
                 // 鑾峰彇led绾跨▼
                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
                 // led鏄剧ず榛樿鍐呭
-                if (reset && !ledThread.isLedMk()) {
+                if (reset) {
                     ledThread.setLedMk(true);
                     if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
                         log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());

--
Gitblit v1.9.1