From 41ac27fbf8c61af9b9a3bdfa53a8dc9069fa317a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 26 七月 2023 10:44:21 +0800
Subject: [PATCH] 牛眼四向穿梭车HTTP请求工具类

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   77 ++++++++++++++++++--------------------
 1 files changed, 36 insertions(+), 41 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 9f8f167..08aad9e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -203,25 +203,15 @@
                     // 杩囨护鐩樼偣/鎷f枡/骞舵澘浠诲姟
                     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);
-//                    if (wrkMast != null) {
-//                        News.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
-//                        continue;
-//                    }
+                    WrkMast wrkMast2 = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
+                    if (wrkMast2 != null) {
+                        News.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast2.getWrkNo());
+                        continue;
+                    }
 
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -394,6 +384,7 @@
     /**
      * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
      */
+    @Transactional
     public synchronized void stnToCrnStnPick(){
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鎷f枡鍏ュ簱鍙�
@@ -409,24 +400,20 @@
                 }
                 if (staProtocol.isAutoing()
                         && staProtocol.isLoading()
-                        // 0 - 9990 鎴栬�� 9996
-                        && (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990)
+                        && (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9999)
                         && staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue())
                         && staProtocol.isPakMk()){
 
                     // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-//                    if (barcodeThread == null) {
-//                        continue;
-//                    }
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+                    if (barcodeThread == null) {
+                        continue;
+                    }
+                    String barcode = barcodeThread.getBarcode();
 
                     WrkMast wrkMast = null;
-                    if (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990) {
-                        wrkMast = wrkMastMapper.selectPickStep(staProtocol.getWorkNo());
-                        if (null == wrkMast) {
-                            continue;
-                        }
-                    } else {
+                    wrkMast = wrkMastMapper.selectPickStepByBarcode(barcode);
+                    if (wrkMast == null) {
                         continue;
                     }
 //                    if (staProtocol.getWorkNo() == 9996) {
@@ -466,6 +453,7 @@
 //                            News.error("{}鏉$爜閿欒锛屾殏鏃犳嫞鏂欎换鍔★紒", barcode);
 //                        }
 //                    }
+
                     if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
                         || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo()) ) {
                         continue;
@@ -491,18 +479,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) {
@@ -520,8 +508,7 @@
                             wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
                             wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
                             wrkMast.setCrnNo(dto.getCrnNo());
-                            wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
-                            wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+                            wrkMast.setLocNo(sourceLocNo); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
                             wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
                             wrkMast.setModiTime(new Date());
                             if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -531,6 +518,14 @@
                                 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());

--
Gitblit v1.9.1