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

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 39 insertions(+), 18 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 687f65f..a201b37 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
@@ -200,9 +201,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);
@@ -465,7 +477,7 @@
                         SearchLocParam param = new SearchLocParam();
                         param.setWrkNo(wrkMast.getWrkNo());
                         param.setIoType(wrkMast.getIoType());
-                        param.setSourceStaNo(wrkMast.getSourceStaNo());
+                        param.setSourceStaNo(pickSta.getStaNo());
 //                        param.setLocType1(locTypeDto.getLocType1());
                         String response = new HttpHandler.Builder()
                                 .setUri(wmsUrl)
@@ -479,18 +491,18 @@
                         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();
+                            // 鑾峰彇鐩爣绔�
+                            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) {
@@ -510,12 +522,21 @@
                             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暟鎹姸鎬佸け璐�");
                             }
                             if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
                                 throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+                            }
+
+                            // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+                            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                            locMast.setLocSts("Q");
+                            locMast.setModiTime(new Date());
+                            if (!locMastService.updateById(locMast)) {
+                                throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
                             }
 
                             // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
@@ -1342,10 +1363,10 @@
 
         //鍒ゆ柇鍏朵粬绌洪棽绌挎杞︽槸鍚︾浠诲姟鏈�杩�
         String distLocNo = null;//鐩爣鍦扮偣锛屽叆搴�=銆嬫彁鍗囨満鍙o紝鍑哄簱=銆嬭揣鐗╁簱浣嶅彿
-        if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10) {
+        if (wrkMast.getIoType() < 101 && wrkMast.getIoType() != 11) {
             //鍏ュ簱
             distLocNo = Utils.levToOutInStaLocNo(lev);
-        }else if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103){
+        }else if(wrkMast.getIoType() >= 101){
             //鍑哄簱
             distLocNo = locNo;
         } else if (wrkMast.getIoType() == 11) {

--
Gitblit v1.9.1