From 4e8ce3ea50e0e4718d5f2dc91633492b789765e0 Mon Sep 17 00:00:00 2001
From: gengby <858962040@qq.com>
Date: Tue, 14 Mar 2023 09:45:30 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../agv/ndcone/AgvNdcOneDeviceDriver.java     | 138 ++++++++++--------
 .../acs/device/driver/standard_storage.vue    |  17 ++-
 2 files changed, 93 insertions(+), 62 deletions(-)

diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
index 68f8e83..f7249b7 100644
--- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
+++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
@@ -169,29 +169,29 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
                 return;
             }
 
-            if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver){
-                Object reqWms = device.getExtraValue().get("reqWms");
-                if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")){
-                    JSONArray req = new JSONArray();
-                    JSONObject map = new JSONObject();
-                    map.put("vehicle_code", inst.getVehicle_code());
-                    map.put("status", "1");
-                    map.put("device_code", inst.getStart_point_code());
-                    map.put("task_code", inst.getTask_code());
-                    req.add(map);
-                    HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
-                    if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
-                        JSONObject resp = JSONObject.parseObject(httpResponse.body());
-                        if (resp.getInteger("status") == 200) {
-                            data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
-                            log.info("指令号:{},acs请求wms取货申请成功,wms允许agv申请取货,已反馈agv允许取货", inst.getInstruction_code());
-                        } else {
-                            log.warn("指令号:{},acs请求wms取货申请成功,wms不允许agv申请取货,未反馈agv允许取货", inst.getInstruction_code());
-                        }
+            Object reqWms = device.getExtraValue().get("reqWms");
+            if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")) {
+                JSONArray req = new JSONArray();
+                JSONObject map = new JSONObject();
+                map.put("vehicle_code", inst.getVehicle_code());
+                map.put("status", "1");
+                map.put("device_code", inst.getStart_point_code());
+                map.put("task_code", inst.getTask_code());
+                req.add(map);
+                HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
+                if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
+                    JSONObject resp = JSONObject.parseObject(httpResponse.body());
+                    if (resp.getInteger("status") == 200) {
+                        data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
+                        log.info("指令号:{},acs请求wms取货申请成功,wms允许agv申请取货,已反馈agv允许取货", inst.getInstruction_code());
                     } else {
-                        log.warn("指令号:{},acs请求wms取货申请失败,连接被拒绝,未反馈agv允许取货", inst.getInstruction_code());
+                        log.warn("指令号:{},acs请求wms取货申请成功,wms不允许agv申请取货,未反馈agv允许取货", inst.getInstruction_code());
                     }
+                } else {
+                    log.warn("指令号:{},acs请求wms取货申请失败,连接被拒绝,未反馈agv允许取货", inst.getInstruction_code());
                 }
+            } else {
+                data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
             }
             //取货完毕
             //(需要WCS反馈)
@@ -230,29 +230,29 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
                 return;
             }
 
-            if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver){
-                Object reqWms = device.getExtraValue().get("reqWms");
-                if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")){
-                    JSONArray req = new JSONArray();
-                    JSONObject map = new JSONObject();
-                    map.put("vehicle_code", inst.getVehicle_code());
-                    map.put("status", "2");
-                    map.put("device_code", inst.getStart_point_code());
-                    map.put("task_code", inst.getTask_code());
-                    req.add(map);
-                    HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
-                    if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
-                        JSONObject resp = JSONObject.parseObject(httpResponse.body());
-                        if (resp.getInteger("status") == 200) {
-                            data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
-                            log.info("指令号:{},acs反馈wms取货完成成功,wms允许agv取货完成,已反馈agv取货完成", inst.getInstruction_code());
-                        } else {
-                            log.warn("指令号:{},acs反馈wms取货完成成功,wms不允许agv取货完成,未反馈agv取货完成", inst.getInstruction_code());
-                        }
+            Object reqWms = device.getExtraValue().get("reqWms");
+            if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")) {
+                JSONArray req = new JSONArray();
+                JSONObject map = new JSONObject();
+                map.put("vehicle_code", inst.getVehicle_code());
+                map.put("status", "2");
+                map.put("device_code", inst.getStart_point_code());
+                map.put("task_code", inst.getTask_code());
+                req.add(map);
+                HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
+                if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
+                    JSONObject resp = JSONObject.parseObject(httpResponse.body());
+                    if (resp.getInteger("status") == 200) {
+                        data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
+                        log.info("指令号:{},acs反馈wms取货完成成功,wms允许agv取货完成,已反馈agv取货完成", inst.getInstruction_code());
                     } else {
-                        log.warn("指令号:{},acs反馈wms取货完成失败,连接被拒绝,未反馈agv取货完成", inst.getInstruction_code());
+                        log.warn("指令号:{},acs反馈wms取货完成成功,wms不允许agv取货完成,未反馈agv取货完成", inst.getInstruction_code());
                     }
+                } else {
+                    log.warn("指令号:{},acs反馈wms取货完成失败,连接被拒绝,未反馈agv取货完成", inst.getInstruction_code());
                 }
+            } else {
+                data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
             }
             //到达放货点
             //(需要WCS反馈)
@@ -287,29 +287,29 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
                 log.info("未找到关联编号{}对应的指令", ikey);
                 return;
             }
-            if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver){
-                Object reqWms = device.getExtraValue().get("reqWms");
-                if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")){
-                    JSONArray req = new JSONArray();
-                    JSONObject map = new JSONObject();
-                    map.put("vehicle_code", inst.getVehicle_code());
-                    map.put("status", "3");
-                    map.put("device_code", inst.getStart_point_code());
-                    map.put("task_code", inst.getTask_code());
-                    req.add(map);
-                    HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
-                    if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
-                        JSONObject resp = JSONObject.parseObject(httpResponse.body());
-                        if (resp.getInteger("status") == 200) {
-                            data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
-                            log.info("指令号:{},acs请求wms放货申请成功,wms允许agv申请放货,已反馈agv允许放货", inst.getInstruction_code());
-                        } else {
-                            log.warn("指令号:{},acs请求wms放货申请成功,wms不允许agv申请放货,未反馈agv允许放货", inst.getInstruction_code());
-                        }
+            Object reqWms = device.getExtraValue().get("reqWms");
+            if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")) {
+                JSONArray req = new JSONArray();
+                JSONObject map = new JSONObject();
+                map.put("vehicle_code", inst.getVehicle_code());
+                map.put("status", "3");
+                map.put("device_code", inst.getNext_point_code());
+                map.put("task_code", inst.getTask_code());
+                req.add(map);
+                HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
+                if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
+                    JSONObject resp = JSONObject.parseObject(httpResponse.body());
+                    if (resp.getInteger("status") == 200) {
+                        data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
+                        log.info("指令号:{},acs请求wms放货申请成功,wms允许agv申请放货,已反馈agv允许放货", inst.getInstruction_code());
                     } else {
-                        log.warn("指令号:{},acs请求wms放货申请失败,连接被拒绝,未反馈agv允许放货", inst.getInstruction_code());
+                        log.warn("指令号:{},acs请求wms放货申请成功,wms不允许agv申请放货,未反馈agv允许放货", inst.getInstruction_code());
                     }
+                } else {
+                    log.warn("指令号:{},acs请求wms放货申请失败,连接被拒绝,未反馈agv允许放货", inst.getInstruction_code());
                 }
+            } else {
+                data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
             }
             //放货完毕
             //(需要WCS反馈)
@@ -345,7 +345,23 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
                 log.info("未找到编号{}对应的指令", ikey);
                 return;
             }
-            if (StrUtil.equals(inst.getNext_device_code(), device_code)) {
+            Object reqWms = device.getExtraValue().get("reqWms");
+            if (ObjectUtil.isNotEmpty(reqWms) && reqWms.toString().equals("true")) {
+                JSONArray req = new JSONArray();
+                JSONObject map = new JSONObject();
+                map.put("vehicle_code", inst.getVehicle_code());
+                map.put("status", "4");
+                map.put("device_code", inst.getNext_point_code());
+                map.put("task_code", inst.getTask_code());
+                req.add(map);
+                HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(req);
+                if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) {
+                    data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
+                    log.info("指令号:{},acs请求wms放货申请成功,wms允许agv申请放货,已反馈agv允许放货", inst.getInstruction_code());
+                } else {
+                    log.warn("指令号:{},acs请求wms放货申请失败,连接被拒绝,未反馈agv允许放货", inst.getInstruction_code());
+                }
+            } else {
                 data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
             }
         }
diff --git a/acs/nladmin-ui/src/views/acs/device/driver/standard_storage.vue b/acs/nladmin-ui/src/views/acs/device/driver/standard_storage.vue
index 6f89389..3b3cd05 100644
--- a/acs/nladmin-ui/src/views/acs/device/driver/standard_storage.vue
+++ b/acs/nladmin-ui/src/views/acs/device/driver/standard_storage.vue
@@ -1,6 +1,20 @@
 <template>
   <!-- 标准版-货架-->
   <div>
+    <el-card class="box-card" shadow="never">
+      <div slot="header" class="clearfix">
+        <span class="role-span">指令相关:</span>
+      </div>
+      <el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="78px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="是否请求wms" label-width="150px">
+              <el-switch v-model="form.reqWms" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
     <el-card class="box-card" shadow="never">
       <div slot="header" class="clearfix">
         <span class="role-span">设备协议:</span>
@@ -133,7 +147,8 @@ export default {
         maxY: 0,
         maxZ: 0,
         minY: 0,
-        minZ: 0
+        minZ: 0,
+        reqWms: true
       },
       rules: {
         x: [