From bcf5f3b314ab420ba53c1e1247fe9b3a208a558c Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 25 七月 2023 10:04:26 +0800
Subject: [PATCH] 捡料

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 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 cc5cfa6..1c260eb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -200,9 +200,20 @@
                     }
 
                     // 杩囨护鐩樼偣/鎷f枡/骞舵澘浠诲姟
-//                    if (null != wrkMastMapper.selectPickStepByBarcode(barcode)) {
-//                        continue;
-//                    }
+                    WrkMast wrkMast1 = wrkMastMapper.selectPickStepByBarcode(barcode);
+                    if (null != wrkMast1) {
+                        // plc 澶勭悊
+                        barcodeThread.setBarcode("");
+                        staProtocol.setWorkNo(wrkMast1.getWrkNo().shortValue());
+                        staProtocol.setStaNo(wrkMast1.getStaNo().shortValue());
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        if (!result) {
+                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                        }
+                        continue;
+                    }
 
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
 //                    WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
@@ -397,7 +408,6 @@
                 }
                 if (staProtocol.isAutoing()
                         && staProtocol.isLoading()
-                        && staProtocol.isInEnable()
                         // 0 - 9990 鎴栬�� 9996
                         && (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990)
                         && staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue())
@@ -466,7 +476,7 @@
                         SearchLocParam param = new SearchLocParam();
                         param.setWrkNo(wrkMast.getWrkNo());
                         param.setIoType(wrkMast.getIoType());
-                        param.setSourceStaNo(pickSta.getStaNo());
+                        param.setSourceStaNo(wrkMast.getSourceStaNo());
 //                        param.setLocType1(locTypeDto.getLocType1());
                         String response = new HttpHandler.Builder()
                                 .setUri(wmsUrl)
@@ -511,6 +521,7 @@
                             wrkMast.setCrnNo(dto.getCrnNo());
                             wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
                             wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+                            wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
                             wrkMast.setModiTime(new Date());
                             if (wrkMastMapper.updateById(wrkMast) == 0) {
                                 throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
@@ -935,13 +946,13 @@
             Integer middleToDistDistance = null;//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
             if (nodes.size() > 10) {//涓鐮佷紶鍊掓暟绗笁涓�
                 //涓棿璺緞
-                middlePath = nodes.get(nodes.size() - 2);
+                middlePath = nodes.get(nodes.size() - 3);
                 //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
                 middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
                 middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
             } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
                 //涓棿璺緞
-                middlePath = nodes.get(nodes.size() - 1);
+                middlePath = nodes.get(nodes.size() - 2);
                 //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
                 middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
                 middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
@@ -1005,13 +1016,13 @@
                 Integer middleToDistDistance = null;//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
                 if (nodes.size() > 10) {//涓鐮佷紶鍊掓暟绗笁涓�
                     //涓棿璺緞
-                    middlePath = nodes.get(nodes.size() - 2);
+                    middlePath = nodes.get(nodes.size() - 3);
                     //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
                     middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
                     middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
                 } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
                     //涓棿璺緞
-                    middlePath = nodes.get(nodes.size() - 1);
+                    middlePath = nodes.get(nodes.size() - 2);
                     //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
                     middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
                     middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
@@ -1057,13 +1068,13 @@
             Integer middleToDistDistance = null;//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
             if (nodes.size() > 10) {//涓鐮佷紶鍊掓暟绗笁涓�
                 //涓棿璺緞
-                middlePath = nodes.get(nodes.size() - 2);
+                middlePath = nodes.get(nodes.size() - 3);
                 //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
                 middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
                 middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
             } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
                 //涓棿璺緞
-                middlePath = nodes.get(nodes.size() - 1);
+                middlePath = nodes.get(nodes.size() - 2);
                 //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
                 middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
                 middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
@@ -1343,10 +1354,10 @@
 
         //鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩�
         String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿
-        if (wrkMast.getIoType() == 1) {
+        if (wrkMast.getIoType() < 101 && wrkMast.getIoType() != 11) {
             //鍏ュ簱
             distLocNo = Utils.levToOutInStaLocNo(lev);
-        }else if(wrkMast.getIoType() == 101){
+        }else if(wrkMast.getIoType() >= 101){
             //鍑哄簱
             distLocNo = locNo;
         } else if (wrkMast.getIoType() == 11) {

--
Gitblit v1.9.1