From 6548c75a24d8d0c23c8167980465831128abf579 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 06 十一月 2024 13:05:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jx-gt-crn-wcs' into jx-gt-crn-wcs

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   64 +++++++++++++------------------
 1 files changed, 27 insertions(+), 37 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 5388b89..4f29197 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -31,17 +31,17 @@
 import com.zy.core.enums.DevpType.DevpStateType;
 import com.zy.core.enums.DevpType.DevpTrayType;
 import com.zy.core.enums.DevpType.DevpWorkType;
-import com.zy.core.model.*;
+import com.zy.core.model.CrnSlave;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.LedSlave;
+import com.zy.core.model.Task;
 import com.zy.core.model.command.CrnCommand;
 import com.zy.core.model.command.LedCommand;
-import com.zy.core.model.command.RgvCommand;
 import com.zy.core.model.protocol.CrnProtocol;
-import com.zy.core.model.protocol.RgvProtocol;
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
 import com.zy.core.thread.LedThread;
-import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,7 +53,6 @@
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -117,9 +116,7 @@
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鍏ュ簱鍙�
             for (DevpSlave.Sta inSta : devp.getInSta()) {
-                // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
-                BarcodeThread barcodeThreadMat = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcodeMat());
+
                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
@@ -128,15 +125,6 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-
-                if (barcodeThread == null) {
-                    continue;
-                }
-
-                if (barcodeThreadMat == null) {
-                    continue;
-                }
-
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.stateType == DevpStateType.AUTO //鑷姩
                         && staProtocol.workType == DevpWorkType.BUSY //蹇欑
@@ -158,7 +146,6 @@
                             }
                             continue;
                         }
-                        barcodeThread.setBarcode("");
                         staProtocol.setWorkNo(wrkMast.getWrkNo());
                         staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo()));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -199,7 +186,6 @@
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-                            barcodeThread.setBarcode("");
                             staProtocol.setWorkNo(dto.getWorkNo());
                             staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -215,12 +201,6 @@
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         }else {
-                            staProtocol.setWorkNo(wrkNo);
-                            wrkNo++;
-                            staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//
 //                            if (ledThread != null) {
                                 String errorMsg = jsonObject.getString("msg");
                                 if (!Cools.isEmpty(errorMsg)) {
@@ -428,7 +408,7 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo((short) 161);
+                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     log.error("杈撻�佺嚎涓嬪彂5锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo());
@@ -663,7 +643,7 @@
                         }
 
                         // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
-                        wrkMast.setWrkSts(14L);
+                        wrkMast.setWrkSts(13L);
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
@@ -2116,13 +2096,13 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-                if (!(staProtocol.stateType == DevpStateType.AUTO && staProtocol.workType == DevpWorkType.BUSY && staProtocol.requestType == DevpRequestType.OUT)){
+                if (!(staProtocol.stateType == DevpStateType.AUTO)){
                     continue;
                 }
-                if (staProtocol.getWorkNo() != 0){
+                if (staProtocol.getWorkNo() == 0){
                     continue;
                 }
-                WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).eq("wrk_sts", 101).in("crn_no", 8, 9));
+                WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).eq("wrk_sts", 101));
                 if(!Cools.isEmpty(wrkMast1)){
                     continue;
                 }
@@ -2130,9 +2110,8 @@
                 //鏌ヨ鐘舵�佷负2鐨勪换鍔�
                 WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                         .eq("wrk_no", staProtocol.getWorkNo())
-                        .in("io_type",1,10,53,54,57)
-                        .in("wrk_sts", 2,104)
-                        .in("crn_no",8,9));
+                        .in("io_type",101,110,103,104,107)
+                        .eq("wrk_sts", 15));
                 if (Cools.isEmpty(wrkMast)) {
                     log.error(agvSta.getStaNo()+"绔�,杞彂agv浠诲姟鏈壘鍒板搴斾换鍔�,浠诲姟鍙凤細"+staProtocol.getWorkNo());
                     continue;
@@ -2141,7 +2120,7 @@
                 getAgvTaskParam(forwardAGVTaskParam,wrkMast,staProtocol.getSiteId());
                 String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask");
                 if ("SUCCESS".equals(request)) {
-                    wrkMast.setWrkSts(101L);
+                    wrkMast.setWrkSts(14L);
                     boolean update = wrkMastService.updateById(wrkMast);
                     if (update){
                         log.info("鍏ュ簱杞彂AGV浠诲姟瀹屾垚,浠诲姟鍙�:"+wrkMast.getWrkNo());
@@ -2157,21 +2136,32 @@
     }
 
     private void getAgvTaskParam(ForwardAGVTaskParam agvTaskCreateParam,WrkMast param,Integer staNo){
+        String sourceSite = "";
+        if (staNo == 1040 || staNo == 1042) {
+            sourceSite = "a";
+        } else if (staNo == 2010 || staNo == 2012) {
+            sourceSite = "b";
+        } else if(staNo == 3010  || staNo ==3012) {
+            sourceSite = "c";
+        } else if(staNo == 2000 || staNo ==2002) {
+            sourceSite = "d";
+        }
         List<ForwardAGVTaskParam.PositionCodePaths> agvTaskParamList = Arrays.asList(
                 //璧峰浣�
                 new ForwardAGVTaskParam.PositionCodePaths(staNo.toString(),"05"),
                 //鐩爣浣�
-                new ForwardAGVTaskParam.PositionCodePaths(param.getLocNo(),"05")
+                new ForwardAGVTaskParam.PositionCodePaths(sourceSite,"04")
         );
         Date date = new Date();
         DecimalFormat df = new DecimalFormat("0000");
         String wrkNo = "Crn"+df.format(param.getWrkNo())+date.getTime()/1000;
         agvTaskCreateParam.setReqCode(wrkNo);
         agvTaskCreateParam.setReqTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-        agvTaskCreateParam.setTaskTyp("GT1");
+        agvTaskCreateParam.setTaskTyp("GT4");
         agvTaskCreateParam.setCtnrCode(param.getBarcode());
         agvTaskCreateParam.setPositionCodePath(agvTaskParamList);
-        agvTaskCreateParam.setCtnrTyp("1");
+        agvTaskCreateParam.setCtnrTyp("2");
+        agvTaskCreateParam.setPriority("1");
         agvTaskCreateParam.setTaskCode(wrkNo);
 
     }

--
Gitblit v1.9.1