From 877a0dafe0da9f60e09b6b29742573ac33c00f56 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 19 六月 2024 08:07:12 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java |    2 ++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java           |    5 +++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java        |   45 +++++++++++++++++++++++++++++++++++++++++++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java                  |    3 +++
 4 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
index cd41492..c1cb3e6 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -139,6 +139,7 @@
                 if (!liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
                     return false;
                 }
+
                 break;
             case LIFT_WITH_GOODS:
                 // 鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂�
@@ -193,6 +194,7 @@
         }
 
         liftThread.setSyncTaskNo(0);//娓呴浂宸ヤ綔鍙�
+        liftThread.commandFinished(motion.getTaskNo());//璋冪敤瀹屾垚鍚庣画鎸囦护(閮ㄥ垎鎻愬崌鏈烘湁鍚庣画鎸囦护锛屽疄闄呮儏鍐电湅鏄惁鏈夌湡姝e疄鐜版柟娉�)
         return true;
     }
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
index b93e6eb..8cc8100 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.wcs.rcs.thread;
 
 import com.zy.asrs.wcs.common.ExecuteSupport;
+import com.zy.asrs.wcs.core.entity.Motion;
 import com.zy.asrs.wcs.core.model.command.LiftCommand;
 import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
 import com.zy.asrs.wcs.rcs.entity.Device;
@@ -33,6 +34,8 @@
 
     boolean isLock(ExecuteSupport support);
 
+    boolean commandFinished(Integer taskNo);
+
     //***************鑾峰彇鍛戒护*****************
     LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//鎻愬崌鏈虹Щ鍔�
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
index 082eeb2..43e1abd 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
@@ -346,6 +346,11 @@
     }
 
     @Override
+    public boolean commandFinished(Integer taskNo) {
+        return false;
+    }
+
+    @Override
     public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         /**
          * 浠诲姟绫诲瀷
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
index e9de853..69172ff 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -374,6 +374,36 @@
         return extend.getLock();
     }
 
+    @Override
+    public boolean commandFinished(Integer taskNo) {
+        try {
+            LiftCommand command = getTaskClearCommand();
+            String loginToken = requestLoginToken();
+            if (loginToken == null) {
+                return false;
+            }
+
+            HashMap<String, Object> headers = new HashMap<>();
+            headers.put("Authorization", "Bearer " + loginToken);
+
+            String response = new HttpHandler.Builder()
+                    .setUri(API_URL)
+                    .setPath("/RDS/lifterOperation")
+                    .setHeaders(headers)
+                    .setJson(command.getBody())
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            Integer code = jsonObject.getInteger("code");
+            if (code.equals(200)) {
+                return true;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return false;
+    }
+
     //***************璁惧灞傞�氳-涓嶅悓鍘傚晢璁惧閫氳鏂规涓嶄竴鑷�***************
 
     //璇锋眰鐧诲綍
@@ -544,6 +574,21 @@
         return command;
     }
 
+    //鑾峰彇鎻愬崌鏈轰换鍔℃竻闄ゅ懡浠�
+    private LiftCommand getTaskClearCommand() {
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("messageName", "lifterOperation");
+        body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+        body.put("deviceNo", Integer.parseInt(this.device.getDeviceNo()));
+        body.put("operation", 1);
+
+        LiftCommand command = new LiftCommand();
+        command.setLiftNo(Integer.valueOf(this.device.getDeviceNo()));
+        command.setBody(JSON.toJSONString(body));
+        command.setMode(LiftCommandModeType.RESET.id);
+        return command;
+    }
+
     /**
      * 鎵╁睍瀛楁
      */

--
Gitblit v1.9.1