From ceb33d7020bcc1620d43cdcb9d1ea51a17c81a0d Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 16 十月 2024 13:20:34 +0800
Subject: [PATCH] 整理三方接口

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  101 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 89 insertions(+), 12 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 071bfaa..6c4e932 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.utils.RouteUtils;
 import com.zy.asrs.utils.Utils;
 import com.zy.asrs.utils.VersionUtils;
+import com.zy.common.constant.GhjtApiConstant;
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.MatDto;
 import com.zy.common.model.SearchLocParam;
@@ -1591,8 +1592,10 @@
                 continue;
             }
 
+            log.info("{}鍙峰爢鍨涙満閫夊畾鐨勫嚭搴撳彛鏄瘂}",crnProtocol.getCrnNo(),crnStn.getPlatNo());
+
             // 宸ヤ綔妗g姸鎬佸垽鏂�
-            if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
+            if ((wrkMast.getIoType() < 100 && wrkMast.getIoType()!=12) || wrkMast.getSourceStaNo() == null) {
                 log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
                 continue;
             }
@@ -1696,10 +1699,9 @@
                 crnCommand.setSourcePosX(sourceSta.getRow1().shortValue());     // 婧愬簱浣嶆帓
                 crnCommand.setSourcePosY(sourceSta.getBay1().shortValue());     // 婧愬簱浣嶅垪
                 crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue());     // 婧愬簱浣嶅眰
-                crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
-                crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
-                crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
-                crnCommand.setDestinationStaNo(crnStn.getPlatNo().shortValue());
+//                crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
+//                crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
+//                crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
                 crnCommand.setDestinationStaNo(crnStn.getPlatNo().shortValue());
                 if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                     log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
@@ -1726,9 +1728,6 @@
      */
     private boolean crnEnabled(WrkMast wrkMast) {
 
-        String url = "http://192.168.14.249:8008";
-        String path = "/api/Task/DockStatus";
-
         // 鑾峰彇璇锋眰澶�
         Map<String,Object> headers = new HashMap<>();
         headers.put("digi-type","sync ");
@@ -1745,8 +1744,8 @@
         String response;
         try {
             response = new HttpHandler.Builder()
-                    .setUri(url)
-                    .setPath(path)
+                    .setUri(GhjtApiConstant.GWCS_IP_PORT)
+                    .setPath(GhjtApiConstant.GWCS_CKMT_URL)
                     .setHeaders(headers)
                     .setJson(body)
                     .build()
@@ -1759,8 +1758,8 @@
                     success = false;
                 }
             } else {
-                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url + path, body, response);
-                throw new CoolException("涓嬪彂鍑哄簱浠诲姟缁橤WCS(浠庡嚭搴撶爜澶村埌鍑哄簱鍙�)澶辫触");
+                log.error("纭鍑哄簱鐮佸ご鏄惁鍙敤澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", GhjtApiConstant.GWCS_IP_PORT + GhjtApiConstant.GWCS_CKMT_URL, body, response);
+                throw new CoolException("纭鍑哄簱鐮佸ご鏄惁鍙敤澶辫触");
             }
         } catch (Exception e) {
             success = false;
@@ -2021,6 +2020,9 @@
                     // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
                     if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
                         wrkMast.setWrkSts(4L);
+                        if (wrkMast.getIoType() == 3) {
+                            wrkMast.setWrkSts(13L);
+                        }
                     } else {
                         continue;
                     }
@@ -4614,4 +4616,79 @@
         }
     }
 
+    /**
+     * 浜屾ゼ绌烘墭鍥炴祦鍒颁竴妤硷紝3.绔欏埌绔欎换鍔�
+     */
+    public synchronized void emptyTrayReflux() {
+        for (CrnSlave crn : slaveProperties.getCrn()) {
+            List<WrkMast> wrkMastList = wrkMastMapper.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2)
+                    .eq("crn_no",crn.getId()).eq("io_type", 3));
+            for (WrkMast wrkMast : wrkMastList) {
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    continue;
+                }
+                if (crnProtocol.getStatusType() == CrnStatusType.IDLE
+                        && crnProtocol.getTaskNo() == 0
+                        && crnProtocol.getModeType() == CrnModeType.AUTO
+                        && crnProtocol.getLoaded() == 0
+                        && crnProtocol.getForkPos() == 0) {
+
+                    CrnSlave.CrnStn crnStn = null;
+                    CrnSlave.CrnStn crnStn2 = null;
+                    for (CrnSlave.CrnStn crnStn1 : crn.getCrnOutStn()){
+                        if(crnStn1.getStaNo().equals(wrkMast.getStaNo())){
+                            crnStn = crnStn1;
+                            break;
+                        }
+                    }
+                    for (CrnSlave.CrnStn crnStn1 : crn.getCrnInStn()){
+                        if(crnStn1.getStaNo().equals(wrkMast.getSourceStaNo())){
+                            crnStn2 = crnStn1;
+                            break;
+                        }
+                    }
+                    if(Cools.isEmpty(crnStn) || Cools.isEmpty(crnStn2)){
+                        continue;
+                    }
+
+                    // 鍏ュ簱鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+                    CrnCommand crnCommand = new CrnCommand();
+                    crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+                    crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+                    crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+                    crnCommand.setSourcePosX(crnStn2.getRow().shortValue());     // 婧愬簱浣嶆帓
+                    crnCommand.setSourcePosY(crnStn2.getBay().shortValue());     // 婧愬簱浣嶅垪
+                    crnCommand.setSourcePosZ(crnStn2.getLev().shortValue());     // 婧愬簱浣嶅眰
+                    crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
+                    crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
+                    crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
+//                    crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue());     // 婧愬簱浣嶆帓
+                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+                        log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+                    } else {
+                        // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
+                        Date now = new Date();
+                        wrkMast.setWrkSts(3L);
+                        wrkMast.setCrnStrTime(now);
+                        wrkMast.setModiTime(now);
+                        if (wrkMastMapper.updateById(wrkMast) == 0) {
+                            log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                        }
+                    }
+                    break;
+                }
+
+            }
+        }
+    }
+
+    /**
+     * 12.璺ㄥ贩閬撶Щ搴�
+     */
+    public synchronized void autoMoveLoc() {
+
+    }
 }

--
Gitblit v1.9.1