diff --git a/nladmin-system/pom.xml b/nladmin-system/pom.xml
index 5c42f2f..0e55dac 100644
--- a/nladmin-system/pom.xml
+++ b/nladmin-system/pom.xml
@@ -255,7 +255,7 @@
mysql
mysql-connector-java
- ${mysql.version}
+ 8.0.28
diff --git a/nladmin-system/src/main/java/org/nl/agv/rest/SortingExample.java b/nladmin-system/src/main/java/org/nl/agv/rest/SortingExample.java
new file mode 100644
index 0000000..7b65d68
--- /dev/null
+++ b/nladmin-system/src/main/java/org/nl/agv/rest/SortingExample.java
@@ -0,0 +1,40 @@
+package org.nl.agv.rest;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Queue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+public class SortingExample {
+ public static void main(String[] args) {
+ // 假设 itemArray 是你的JSONArray
+ JSONArray itemArray = new JSONArray();
+ // 假设你有一个 Queue 用于存储排序后的元素
+ Queue sortedQueue = new LinkedBlockingQueue<>();
+
+ // 将JSONArray中的元素按照num字段从小到大进行排序
+ List listToSort = new ArrayList<>();
+ for (int i = 0; i < itemArray.size(); i++) {
+ listToSort.add(itemArray.getJSONObject(i));
+ }
+
+ // 使用Comparator按照num字段从小到大排序
+ Collections.sort(listToSort, Comparator.comparingInt(o -> o.getIntValue("num")));
+
+ // 将排序后的元素放入队列中
+ sortedQueue.addAll(listToSort);
+
+ // 遍历队列中的元素,按照顺序执行相关操作
+ while (!sortedQueue.isEmpty()) {
+ JSONObject element = sortedQueue.poll();
+ // 在这里执行你需要的操作,例如处理元素中的num字段
+ int num = element.getIntValue("num");
+ // 执行其他操作...
+ }
+ }
+}
diff --git a/nladmin-system/src/main/java/org/nl/agv/rest/TaskController.java b/nladmin-system/src/main/java/org/nl/agv/rest/TaskController.java
index 5ed5c17..22b1c52 100644
--- a/nladmin-system/src/main/java/org/nl/agv/rest/TaskController.java
+++ b/nladmin-system/src/main/java/org/nl/agv/rest/TaskController.java
@@ -1,6 +1,4 @@
package org.nl.agv.rest;
-
-
import cn.dev33.satoken.annotation.SaIgnore;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -14,7 +12,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-
import java.util.Map;
/**
diff --git a/nladmin-system/src/main/java/org/nl/agv/service/impl/HomeServiceImpl.java b/nladmin-system/src/main/java/org/nl/agv/service/impl/HomeServiceImpl.java
index e6b6665..7f07093 100644
--- a/nladmin-system/src/main/java/org/nl/agv/service/impl/HomeServiceImpl.java
+++ b/nladmin-system/src/main/java/org/nl/agv/service/impl/HomeServiceImpl.java
@@ -22,12 +22,12 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
+import com.esotericsoftware.minlog.Log;
import edu.wpi.rail.jrosbridge.Ros;
import edu.wpi.rail.jrosbridge.Topic;
import edu.wpi.rail.jrosbridge.callback.TopicCallback;
import edu.wpi.rail.jrosbridge.messages.Message;
import edu.wpi.rail.jrosbridge.services.ServiceResponse;
-import jline.internal.Log;
import lombok.RequiredArgsConstructor;
import com.alibaba.fastjson.JSONObject;
import org.nl.agv.enu.TaskSendBackStatusEnum;
@@ -41,6 +41,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@@ -66,79 +68,85 @@ public class HomeServiceImpl implements HomeService{
@Override
public void qeryDebuggerInfo() {
Map urlInfo = RosUtil.getRosHostInfo();
+ //todo RosJons模拟数据用,正式需改回
//String result1 = HttpUtil.get("http://localhost:8011/api/pcsIfPurchaseorder/queryApt");
- //todo 用,正式需改回
- //String result1 = "{\"Msg_DisplayState\":{\"AGV_ID\":255,\"Auto_In_Line_State\":0,\"Bosch_Car_Global_Theta\":-90.19221757272916,\"Bosch_Car_Global_rx\":-1.0619603784858553,\"Bosch_Car_Global_ry\":0.0020978358374357303,\"Bosch_Loc_State\":-2,\"Bosch_No_Rec_State\":0,\"Bosch_raw_age\":0.01389455795288086,\"Bosch_raw_epoch\":1,\"Bosch_raw_locState\":-2,\"Bosch_raw_qw\":0.9999999908132869,\"Bosch_raw_qx\":0.0,\"Bosch_raw_qy\":0.0,\"Bosch_raw_qz\":0.00013554861104682667,\"Bosch_raw_timestamp\":1695633231.1093392,\"Bosch_raw_uniqueId\":0,\"Bosch_raw_x\":0.0008994877773440588,\"Bosch_raw_x_odo\":0.0008994877773440588,\"Bosch_raw_y\":0.0006906610801896382,\"Bosch_raw_y_odo\":0.0006906610801896382,\"Bosch_raw_yaw\":0.00027109722292381746,\"Bosch_raw_yaw_odo\":0.0006906610801896382,\"Bosch_raw_z\":0.0,\"CAD_Or_TCS_Ctrl\":0,\"Car_Global_Theta\":-90.19221757272916,\"Car_Global_rx\":-1.0619603784858553,\"Car_Global_ry\":0.0020978358374357303,\"CurNodeID\":0,\"Cur_Stop_Info1_Authorized_Pass\":1,\"Cur_Stop_Info1_High_Precious_Enable\":1,\"Cur_Stop_Info1_Reached_Stop\":0,\"Cur_Stop_Info1_Set_Patht\":0.0,\"Cur_Stop_Info1_Set_Pathx\":0.0,\"Cur_Stop_Info1_Set_Pathy\":0.0,\"Cur_Stop_Info1_Single_Request_Sch\":0,\"Cur_Stop_Info1_Single_Stop_Sch\":0,\"Cur_Stop_Info1_StopEndNode\":0,\"Cur_Stop_Info1_StopStartNode\":0,\"Cur_Stop_Info1_Stop_Endt\":0.0,\"Cur_Stop_Info1_Stop_Endx\":0.0,\"Cur_Stop_Info1_Stop_Endy\":0.0,\"Cur_Stop_Info1_Stop_Num\":0,\"Cur_Stop_Info2_Authorized_Pass\":1,\"Cur_Stop_Info2_High_Precious_Enable\":1,\"Cur_Stop_Info2_Reached_Stop\":0,\"Cur_Stop_Info2_Set_Patht\":0.0,\"Cur_Stop_Info2_Set_Pathx\":0.0,\"Cur_Stop_Info2_Set_Pathy\":0.0,\"Cur_Stop_Info2_Single_Request_Sch\":0,\"Cur_Stop_Info2_Single_Stop_Sch\":0,\"Cur_Stop_Info2_StopEndNode\":0,\"Cur_Stop_Info2_StopStartNode\":0,\"Cur_Stop_Info2_Stop_Endt\":0.0,\"Cur_Stop_Info2_Stop_Endx\":0.0,\"Cur_Stop_Info2_Stop_Endy\":0.0,\"Cur_Stop_Info2_Stop_Num\":0,\"Curtis_Warning_Code_Pump\":0,\"Curtis_Warning_Code_Speed\":82,\"Curtis_Warning_Code_Steer\":0,\"EndNode\":0,\"Env_CustomName\":\"NobleLift\",\"Env_HMIUseJavaApp\":\"true\",\"Env_LearnEnable\":\"true\",\"Env_Lu_ROS_IP2\":\"\",\"Env_SoftwareVersion\":\"[Version]Magic4.1[Info]2023_09_21_20_41_37_Lu_ROS_magic4_waypointab_v31\",\"Env_VehicleType\":\"PS10LMT_HuaHai\",\"Get_Nav350_Curr_Layer\":0,\"Language\":1022739087,\"LastAltitudeExpectValue_mm\":0,\"LastGantryXExpectValue_mm\":0,\"LastGantryYExpectValue_mm\":0,\"Lateral_Deviation_m\":0.0,\"License_Info\":\"EC060800FFFBEBBF 6B7685747EBC EC060800FFFBEBBF 6B7685747EBC 2021/8/26 13:46:47 2021/8/26 13:46:47 1 UserClass5 Magic4_1\",\"LindeAgwSteerCenterPivotPlateAng\":0,\"LindeAgwSteerErrorFlag\":0,\"LindeAgwSteerModeSelectorState\":0,\"LindeAgwTracLiftErrorFlag\":0,\"LindeAgwTracLiftModeSelectorState\":0,\"LindeDriveErrCode1\":0,\"LindeDriveErrCode2\":0,\"LindeDriveErrCode3\":0,\"LindeDriveErrCode4\":0,\"LindeLiftErrCode1\":0,\"LindeLiftErrCode2\":0,\"LindeLiftErrCode3\":0,\"LindeLiftErrCode4\":0,\"LindeSteerErrCode1\":0,\"LindeSteerErrCode2\":0,\"LindeSteerErrCode3\":0,\"LindeSteerErrCode4\":0,\"Login_Info\":\"\",\"Min_Dist\":0.0,\"MissionCompleteAltitude_mm_RemoteOrHMI_FB\":0,\"MissionCompleteGantryX_mm_RemoteOrHMI_FB\":0,\"MissionCompleteGantryY_mm_RemoteOrHMI_FB\":0,\"Navi_Method\":3,\"ObstacleDetectState\":0,\"ObstacleTouchState\":0,\"Out_Of_Path_Times\":0,\"PFC_Sch\":0,\"PFC_State\":\"[PathFollow_Control_Handle_WLANJSON][PathFollow_Schedule_WLANJSON=0]\\n\",\"PLC_Warning_Code\":0,\"PWR_Percent\":100,\"PWR_Warn\":0,\"PathFollow_Enable\":0,\"PathFollow_Expect_AltitudeCtrlEnable\":0,\"PathFollow_Expect_GantryXCtrlEnable\":0,\"PathFollow_Expect_GantryYCtrlEnable\":0,\"Plate_Check_Err_Code\":0,\"ReachState\":0,\"RealAutoChargeState\":0,\"Ref_std_rt\":0.0,\"Ref_std_rx\":0.0,\"Ref_std_ry\":0.0,\"Remote_Or_HMI_Ctrl\":1,\"SVreal_angle\":0.0,\"Sche_JSON_Sche_Enable\":0,\"Speedm_Tmp\":0.0,\"StartNode\":0,\"Sub_Warning_Code0\":0,\"Sys_Mode\":4,\"Task_Sch\":0,\"Task_State\":\"\",\"Update_Sch\":0,\"Update_State\":\"\",\"VehicleCtrlExpThrottle\":0,\"VehicleCtrlRealAltitude_mm\":998,\"VehicleCtrlRealCustomStateByte0\":0,\"VehicleCtrlRealCustomStateByte1\":0,\"VehicleCtrlRealCustomStateByte2\":0,\"VehicleCtrlRealCustomStateByte3\":0,\"VehicleCtrlRealGantryX_mm\":0,\"VehicleCtrlRealGantryY_mm\":0,\"VehicleCtrlRealJoyEnable\":0,\"VehicleCtrlRealRCEnable\":0,\"VehicleCtrl_CAN_Err_Info\":0,\"Vertical_Deviation_deg\":0.0,\"Warning_Code\":754529,\"header\":{\"frame_id\":\"\",\"seq\":1904,\"stamp\":{\"nsec\":160948865,\"sec\":1695633231}}}}";
- //JSONObject json = JSONObject.parseObject(result1);
- String result = HttpUtil.get(urlInfo.get("javaUrl"));
- JSONObject json = JSONObject.parseObject(result);
- JSONObject jo = JSONObject.parseObject(json.getString("Msg_DisplayState"));
- debugInfoJson.put("Msg_Timestamp", jo.getJSONObject("header").getJSONObject("stamp").getString("sec"));
- debugInfoJson.put("AGV_ID", jo.getString("AGV_ID"));
- debugInfoJson.put("Sys_Mode", jo.getString("Sys_Mode"));
- debugInfoJson.put("screen", jo.getString("Remote_Or_HMI_Ctrl"));
- debugInfoJson.put("tcs", jo.getString("CAD_Or_TCS_Ctrl"));
- debugInfoJson.put("sche", jo.getString("Sche_JSON_Sche_Enable"));
- debugInfoJson.put("rc", jo.getString("VehicleCtrlRealRCEnable"));
- debugInfoJson.put("joy", jo.getString("VehicleCtrlRealJoyEnable"));
- debugInfoJson.put("VehicleCtrlExpThrottle", jo.getString("VehicleCtrlExpThrottle"));
- debugInfoJson.put("Warning_Code", jo.getString("Warning_Code"));
- debugInfoJson.put("Car_Global_rx", jo.getString("Car_Global_rx"));
- debugInfoJson.put("Car_Global_ry", jo.getString("Car_Global_ry"));
- debugInfoJson.put("Car_Global_Theta", jo.getString("Car_Global_Theta"));
- debugInfoJson.put("Lateral_Deviation_m", jo.getString("Lateral_Deviation_m"));
- debugInfoJson.put("Vertical_Deviation_deg", jo.getString("Vertical_Deviation_deg"));
- debugInfoJson.put("Out_Of_Path_Times", jo.getString("Out_Of_Path_Times"));
- debugInfoJson.put("PLC_Warning_Code", jo.getString("PLC_Warning_Code"));
- debugInfoJson.put("Min_Dist", jo.getString("Min_Dist"));
- debugInfoJson.put("Auto_In_Line_State", jo.getString("Auto_In_Line_State"));
- debugInfoJson.put("PathFollow_Enable", jo.getString("PathFollow_Enable"));
- debugInfoJson.put("StartNode", jo.getString("StartNode"));
- debugInfoJson.put("EndNode", jo.getString("EndNode"));
- debugInfoJson.put("RealAutoChargeState", jo.getString("RealAutoChargeState"));
- debugInfoJson.put("PWR_Percent", jo.getString("PWR_Percent"));
- debugInfoJson.put("SVreal_angle", jo.getString("SVreal_angle"));
- debugInfoJson.put("Speedm_Tmp", jo.getString("Speedm_Tmp"));
- debugInfoJson.put("VehicleCtrlRealAltitude_mm", jo.getString("VehicleCtrlRealAltitude_mm"));
- debugInfoJson.put("ReachState", jo.getString("ReachState"));
- debugInfoJson.put("ObstacleDetectState", jo.getString("ObstacleDetectState"));
- debugInfoJson.put("ObstacleTouchState", jo.getString("ObstacleTouchState"));
- debugInfoJson.put("PWR_Warn", jo.getString("PWR_Warn"));
- debugInfoJson.put("VehicleCtrl_CAN_Err_Info", jo.getString("VehicleCtrl_CAN_Err_Info"));
- debugInfoJson.put("Curtis_Warning_Code_Speed", jo.getString("Curtis_Warning_Code_Speed"));
- debugInfoJson.put("Curtis_Warning_Code_Steer", jo.getString("Curtis_Warning_Code_Steer"));
- debugInfoJson.put("VehicleCtrlRealCustomStateByte0", jo.getString("VehicleCtrlRealCustomStateByte0"));
- debugInfoJson.put("VehicleCtrlRealCustomStateByte1", jo.getString("VehicleCtrlRealCustomStateByte1"));
- debugInfoJson.put("VehicleCtrlRealCustomStateByte2", jo.getString("VehicleCtrlRealCustomStateByte2"));
- debugInfoJson.put("VehicleCtrlRealCustomStateByte3", jo.getString("VehicleCtrlRealCustomStateByte3"));
- debugInfoJson.put("LastAltitudeExpectValue_mm", jo.getString("LastAltitudeExpectValue_mm"));
- debugInfoJson.put("Get_Nav350_Curr_Layer", jo.getString("Get_Nav350_Curr_Layer"));
- debugInfoJson.put("Update_Sch", jo.getString("Update_Sch"));
- debugInfoJson.put("Update_State", jo.getString("Update_State"));
- debugInfoJson.put("Task_Sch", jo.getString("Task_Sch"));
- debugInfoJson.put("Task_State", jo.getString("Task_State"));
- debugInfoJson.put("PFC_Sch", jo.getString("PFC_Sch"));
- debugInfoJson.put("PFC_State", jo.getString("PFC_State"));
- debugInfoJson.put("License_Info", jo.getString("License_Info"));
- debugInfoJson.put("Env_CustomName", jo.getString("Env_CustomName"));
- debugInfoJson.put("Env_VehicleType", jo.getString("Env_VehicleType"));
- debugInfoJson.put("Env_SoftwareVersion", jo.getString("Env_SoftwareVersion"));
- debugInfoJson.put("Remote_Or_HMI_Ctrl", jo.getString("Remote_Or_HMI_Ctrl"));
- debugInfoJson.put("CAD_Or_TCS_Ctrl", jo.getString("CAD_Or_TCS_Ctrl"));
- debugInfoJson.put("Sche_JSON_Sche_Enable", jo.getString("Sche_JSON_Sche_Enable"));
- debugInfoJson.put("VehicleCtrlRealRCEnable", jo.getString("VehicleCtrlRealRCEnable"));
- debugInfoJson.put("VehicleCtrlRealJoyEnable", jo.getString("VehicleCtrlRealJoyEnable"));
- String PathFollow_Enable = jo.getString("PathFollow_Enable");
- if(StrUtil.equals("0", PathFollow_Enable)) {
- JSONObject taskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete='0'and task_status='01'").uniqueResult(0);
- if(ObjectUtil.isNotEmpty(taskjo)) {
- taskjo.put("task_status", "02");
- taskjo.put("task_status_name", "任务完成");
- taskjo.put("update_time", DateUtil.now());
- WQLObject.getWQLObject("ST_TASK_INFO").update(taskjo);
+ String result1 = "{\"Msg_DisplayState\":{\"AGV_ID\":255,\"Auto_In_Line_State\":0,\"Bosch_Car_Global_Theta\":-90.19221757272916,\"Bosch_Car_Global_rx\":-1.0619603784858553,\"Bosch_Car_Global_ry\":0.0020978358374357303,\"Bosch_Loc_State\":-2,\"Bosch_No_Rec_State\":0,\"Bosch_raw_age\":0.01389455795288086,\"Bosch_raw_epoch\":1,\"Bosch_raw_locState\":-2,\"Bosch_raw_qw\":0.9999999908132869,\"Bosch_raw_qx\":0.0,\"Bosch_raw_qy\":0.0,\"Bosch_raw_qz\":0.00013554861104682667,\"Bosch_raw_timestamp\":1695633231.1093392,\"Bosch_raw_uniqueId\":0,\"Bosch_raw_x\":0.0008994877773440588,\"Bosch_raw_x_odo\":0.0008994877773440588,\"Bosch_raw_y\":0.0006906610801896382,\"Bosch_raw_y_odo\":0.0006906610801896382,\"Bosch_raw_yaw\":0.00027109722292381746,\"Bosch_raw_yaw_odo\":0.0006906610801896382,\"Bosch_raw_z\":0.0,\"CAD_Or_TCS_Ctrl\":0,\"Car_Global_Theta\":-90.19221757272916,\"Car_Global_rx\":-1.0619603784858553,\"Car_Global_ry\":0.0020978358374357303,\"CurNodeID\":0,\"Cur_Stop_Info1_Authorized_Pass\":1,\"Cur_Stop_Info1_High_Precious_Enable\":1,\"Cur_Stop_Info1_Reached_Stop\":0,\"Cur_Stop_Info1_Set_Patht\":0.0,\"Cur_Stop_Info1_Set_Pathx\":0.0,\"Cur_Stop_Info1_Set_Pathy\":0.0,\"Cur_Stop_Info1_Single_Request_Sch\":0,\"Cur_Stop_Info1_Single_Stop_Sch\":0,\"Cur_Stop_Info1_StopEndNode\":0,\"Cur_Stop_Info1_StopStartNode\":0,\"Cur_Stop_Info1_Stop_Endt\":0.0,\"Cur_Stop_Info1_Stop_Endx\":0.0,\"Cur_Stop_Info1_Stop_Endy\":0.0,\"Cur_Stop_Info1_Stop_Num\":0,\"Cur_Stop_Info2_Authorized_Pass\":1,\"Cur_Stop_Info2_High_Precious_Enable\":1,\"Cur_Stop_Info2_Reached_Stop\":0,\"Cur_Stop_Info2_Set_Patht\":0.0,\"Cur_Stop_Info2_Set_Pathx\":0.0,\"Cur_Stop_Info2_Set_Pathy\":0.0,\"Cur_Stop_Info2_Single_Request_Sch\":0,\"Cur_Stop_Info2_Single_Stop_Sch\":0,\"Cur_Stop_Info2_StopEndNode\":0,\"Cur_Stop_Info2_StopStartNode\":0,\"Cur_Stop_Info2_Stop_Endt\":0.0,\"Cur_Stop_Info2_Stop_Endx\":0.0,\"Cur_Stop_Info2_Stop_Endy\":0.0,\"Cur_Stop_Info2_Stop_Num\":0,\"Curtis_Warning_Code_Pump\":0,\"Curtis_Warning_Code_Speed\":82,\"Curtis_Warning_Code_Steer\":0,\"EndNode\":0,\"Env_CustomName\":\"NobleLift\",\"Env_HMIUseJavaApp\":\"true\",\"Env_LearnEnable\":\"true\",\"Env_Lu_ROS_IP2\":\"\",\"Env_SoftwareVersion\":\"[Version]Magic4.1[Info]2023_09_21_20_41_37_Lu_ROS_magic4_waypointab_v31\",\"Env_VehicleType\":\"PS10LMT_HuaHai\",\"Get_Nav350_Curr_Layer\":0,\"Language\":1022739087,\"LastAltitudeExpectValue_mm\":0,\"LastGantryXExpectValue_mm\":0,\"LastGantryYExpectValue_mm\":0,\"Lateral_Deviation_m\":0.0,\"License_Info\":\"EC060800FFFBEBBF 6B7685747EBC EC060800FFFBEBBF 6B7685747EBC 2021/8/26 13:46:47 2021/8/26 13:46:47 1 UserClass5 Magic4_1\",\"LindeAgwSteerCenterPivotPlateAng\":0,\"LindeAgwSteerErrorFlag\":0,\"LindeAgwSteerModeSelectorState\":0,\"LindeAgwTracLiftErrorFlag\":0,\"LindeAgwTracLiftModeSelectorState\":0,\"LindeDriveErrCode1\":0,\"LindeDriveErrCode2\":0,\"LindeDriveErrCode3\":0,\"LindeDriveErrCode4\":0,\"LindeLiftErrCode1\":0,\"LindeLiftErrCode2\":0,\"LindeLiftErrCode3\":0,\"LindeLiftErrCode4\":0,\"LindeSteerErrCode1\":0,\"LindeSteerErrCode2\":0,\"LindeSteerErrCode3\":0,\"LindeSteerErrCode4\":0,\"Login_Info\":\"\",\"Min_Dist\":0.0,\"MissionCompleteAltitude_mm_RemoteOrHMI_FB\":0,\"MissionCompleteGantryX_mm_RemoteOrHMI_FB\":0,\"MissionCompleteGantryY_mm_RemoteOrHMI_FB\":0,\"Navi_Method\":3,\"ObstacleDetectState\":0,\"ObstacleTouchState\":0,\"Out_Of_Path_Times\":0,\"PFC_Sch\":0,\"PFC_State\":\"[PathFollow_Control_Handle_WLANJSON][PathFollow_Schedule_WLANJSON=0]\\n\",\"PLC_Warning_Code\":0,\"PWR_Percent\":100,\"PWR_Warn\":0,\"PathFollow_Enable\":0,\"PathFollow_Expect_AltitudeCtrlEnable\":0,\"PathFollow_Expect_GantryXCtrlEnable\":0,\"PathFollow_Expect_GantryYCtrlEnable\":0,\"Plate_Check_Err_Code\":0,\"ReachState\":0,\"RealAutoChargeState\":0,\"Ref_std_rt\":0.0,\"Ref_std_rx\":0.0,\"Ref_std_ry\":0.0,\"Remote_Or_HMI_Ctrl\":1,\"SVreal_angle\":0.0,\"Sche_JSON_Sche_Enable\":0,\"Speedm_Tmp\":0.0,\"StartNode\":0,\"Sub_Warning_Code0\":0,\"Sys_Mode\":4,\"Task_Sch\":0,\"Task_State\":\"\",\"Update_Sch\":0,\"Update_State\":\"\",\"VehicleCtrlExpThrottle\":0,\"VehicleCtrlRealAltitude_mm\":998,\"VehicleCtrlRealCustomStateByte0\":0,\"VehicleCtrlRealCustomStateByte1\":0,\"VehicleCtrlRealCustomStateByte2\":0,\"VehicleCtrlRealCustomStateByte3\":0,\"VehicleCtrlRealGantryX_mm\":0,\"VehicleCtrlRealGantryY_mm\":0,\"VehicleCtrlRealJoyEnable\":0,\"VehicleCtrlRealRCEnable\":0,\"VehicleCtrl_CAN_Err_Info\":0,\"Vertical_Deviation_deg\":0.0,\"Warning_Code\":754529,\"header\":{\"frame_id\":\"\",\"seq\":1904,\"stamp\":{\"nsec\":160948865,\"sec\":1695633231}}}}";
+ JSONObject json = JSONObject.parseObject(result1);
+ try {
+ //String result = HttpUtil.get(urlInfo.get("javaUrl"));
+ //JSONObject json = JSONObject.parseObject(result);
+ JSONObject jo = JSONObject.parseObject(json.getString("Msg_DisplayState"));
+ debugInfoJson.put("Msg_Timestamp", jo.getJSONObject("header").getJSONObject("stamp").getString("sec"));
+ debugInfoJson.put("AGV_ID", jo.getString("AGV_ID"));
+ debugInfoJson.put("Sys_Mode", jo.getString("Sys_Mode"));
+ debugInfoJson.put("screen", jo.getString("Remote_Or_HMI_Ctrl"));
+ debugInfoJson.put("tcs", jo.getString("CAD_Or_TCS_Ctrl"));
+ debugInfoJson.put("sche", jo.getString("Sche_JSON_Sche_Enable"));
+ debugInfoJson.put("rc", jo.getString("VehicleCtrlRealRCEnable"));
+ debugInfoJson.put("joy", jo.getString("VehicleCtrlRealJoyEnable"));
+ debugInfoJson.put("VehicleCtrlExpThrottle", jo.getString("VehicleCtrlExpThrottle"));
+ debugInfoJson.put("Warning_Code", jo.getString("Warning_Code"));
+ debugInfoJson.put("Car_Global_rx", jo.getString("Car_Global_rx"));
+ debugInfoJson.put("Car_Global_ry", jo.getString("Car_Global_ry"));
+ debugInfoJson.put("Car_Global_Theta", jo.getString("Car_Global_Theta"));
+ debugInfoJson.put("Lateral_Deviation_m", jo.getString("Lateral_Deviation_m"));
+ debugInfoJson.put("Vertical_Deviation_deg", jo.getString("Vertical_Deviation_deg"));
+ debugInfoJson.put("Out_Of_Path_Times", jo.getString("Out_Of_Path_Times"));
+ debugInfoJson.put("PLC_Warning_Code", jo.getString("PLC_Warning_Code"));
+ debugInfoJson.put("Min_Dist", jo.getString("Min_Dist"));
+ debugInfoJson.put("Auto_In_Line_State", jo.getString("Auto_In_Line_State"));
+ debugInfoJson.put("PathFollow_Enable", jo.getString("PathFollow_Enable"));
+ debugInfoJson.put("StartNode", jo.getString("StartNode"));
+ debugInfoJson.put("EndNode", jo.getString("EndNode"));
+ debugInfoJson.put("RealAutoChargeState", jo.getString("RealAutoChargeState"));
+ debugInfoJson.put("PWR_Percent", jo.getString("PWR_Percent"));
+ debugInfoJson.put("SVreal_angle", jo.getString("SVreal_angle"));
+ debugInfoJson.put("Speedm_Tmp", jo.getString("Speedm_Tmp"));
+ debugInfoJson.put("VehicleCtrlRealAltitude_mm", jo.getString("VehicleCtrlRealAltitude_mm"));
+ debugInfoJson.put("ReachState", jo.getString("ReachState"));
+ debugInfoJson.put("ObstacleDetectState", jo.getString("ObstacleDetectState"));
+ debugInfoJson.put("ObstacleTouchState", jo.getString("ObstacleTouchState"));
+ debugInfoJson.put("PWR_Warn", jo.getString("PWR_Warn"));
+ debugInfoJson.put("VehicleCtrl_CAN_Err_Info", jo.getString("VehicleCtrl_CAN_Err_Info"));
+ debugInfoJson.put("Curtis_Warning_Code_Speed", jo.getString("Curtis_Warning_Code_Speed"));
+ debugInfoJson.put("Curtis_Warning_Code_Steer", jo.getString("Curtis_Warning_Code_Steer"));
+ debugInfoJson.put("VehicleCtrlRealCustomStateByte0", jo.getString("VehicleCtrlRealCustomStateByte0"));
+ debugInfoJson.put("VehicleCtrlRealCustomStateByte1", jo.getString("VehicleCtrlRealCustomStateByte1"));
+ debugInfoJson.put("VehicleCtrlRealCustomStateByte2", jo.getString("VehicleCtrlRealCustomStateByte2"));
+ debugInfoJson.put("VehicleCtrlRealCustomStateByte3", jo.getString("VehicleCtrlRealCustomStateByte3"));
+ debugInfoJson.put("LastAltitudeExpectValue_mm", jo.getString("LastAltitudeExpectValue_mm"));
+ debugInfoJson.put("Get_Nav350_Curr_Layer", jo.getString("Get_Nav350_Curr_Layer"));
+ debugInfoJson.put("Update_Sch", jo.getString("Update_Sch"));
+ debugInfoJson.put("Update_State", jo.getString("Update_State"));
+ debugInfoJson.put("Task_Sch", jo.getString("Task_Sch"));
+ debugInfoJson.put("Task_State", jo.getString("Task_State"));
+ debugInfoJson.put("PFC_Sch", jo.getString("PFC_Sch"));
+ debugInfoJson.put("PFC_State", jo.getString("PFC_State"));
+ debugInfoJson.put("License_Info", jo.getString("License_Info"));
+ debugInfoJson.put("Env_CustomName", jo.getString("Env_CustomName"));
+ debugInfoJson.put("Env_VehicleType", jo.getString("Env_VehicleType"));
+ debugInfoJson.put("Env_SoftwareVersion", jo.getString("Env_SoftwareVersion"));
+ debugInfoJson.put("Remote_Or_HMI_Ctrl", jo.getString("Remote_Or_HMI_Ctrl"));
+ debugInfoJson.put("CAD_Or_TCS_Ctrl", jo.getString("CAD_Or_TCS_Ctrl"));
+ debugInfoJson.put("Sche_JSON_Sche_Enable", jo.getString("Sche_JSON_Sche_Enable"));
+ debugInfoJson.put("VehicleCtrlRealRCEnable", jo.getString("VehicleCtrlRealRCEnable"));
+ debugInfoJson.put("VehicleCtrlRealJoyEnable", jo.getString("VehicleCtrlRealJoyEnable"));
+ String PathFollow_Enable = jo.getString("PathFollow_Enable");
+ if(StrUtil.equals("0", PathFollow_Enable)) {
+ JSONObject taskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete='0'and task_status='01'").uniqueResult(0);
+ if(ObjectUtil.isNotEmpty(taskjo)) {
+ taskjo.put("task_status", "02");
+ taskjo.put("task_status_name", "任务完成");
+ taskjo.put("update_time", DateUtil.now());
+ WQLObject.getWQLObject("ST_TASK_INFO").update(taskjo);
+ }
}
+ debugInfoJson.put("PathFollow_Enable", PathFollow_Enable);
+ }
+ catch(Exception e) {
+ Log.error("通信失败:" + e.getMessage());
+ throw new BadRequestException(e.getMessage() == null ? "通信失败,请检查系统参数中的Ros连接信息" : e.getMessage());
}
- debugInfoJson.put("PathFollow_Enable", PathFollow_Enable);
}
public void QueryDebuggerInfo2() {
@@ -230,7 +238,7 @@ public class HomeServiceImpl implements HomeService{
//手自动是Sys_Mode 3 REMA手动 4自动 5 IO手持方式的手动,这个车不装
String automatic_status = debugInfoJson.getString("Sys_Mode");
if(StrUtil.equals(automatic_status, "3")) {
- agvrun_status_name = "REMA手动";
+ agvrun_status_name = "手动";
}
if(StrUtil.equals(automatic_status, "4")) {
agvrun_status_name = "自动";
@@ -256,134 +264,150 @@ public class HomeServiceImpl implements HomeService{
String automatic_status_name = "";
String device_info = "";
String task_name = "";
+ String task_info = "";
Integer electric = 0;
String speed = "";
String error_name = "正常运行";
JSONObject returnjo = new JSONObject();
JSONObject row = new JSONObject();
- //查询调试信息
- CompletableFuture.runAsync(this::qeryDebuggerInfo, pool);
- JSONObject tasking = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and task_type='1'").uniqueResult(0);
- // 1 无任务 2 有任务未执行 3 执行中
- String task_status = "";
- //1确认完成 2确认完成继续下个任务 3继续搬运,4返回休息点
- String date = DateUtil.today();
- if(tasking == null) {
- task_status = "无任务";
- }
- JSONObject tasked = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='00'and task_type='1'").uniqueResult(0);
- if(tasked != null) {
- task_status = "有任务未执行";
- }
- if(tasking != null) {
- task_status = "执行中";
- task_name = "任务号:" + tasking.getString("task_code") + "-" + "目标点:" + tasking.getString("next_point_code");
- }
- JSONObject unManFinishTask = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='02' and is_manualfinished='0'and task_type='1'").uniqueResult(0);
- if(unManFinishTask != null && tasked == null) {
- button_code = "1";
- button_name = "确认完成";
- }
- if(unManFinishTask != null && tasked != null) {
- button_code = "2";
- button_name = "确认完成继续下个任务";
- }
- //任务都完成了,但是还有未完成的任务
- if(unManFinishTask == null && tasked != null) {
- button_code = "3";
- button_name = "继续搬运";
- }
- if(unManFinishTask == null && tasked == null) {
- button_code = "4";
- button_name = "返回休息点";
- //假如所有的任务都完成,包括返回休息点的任务,且最后一个完成任务的时间是返回休息电的任务也不显示
- JSONObject doingtaskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 ", "update_time desc").uniqueResult(0);
- if(doingtaskjo != null && doingtaskjo.getString("task_type").equals("2")) {
+ try {
+ //查询调试信息
+ CompletableFuture.runAsync(this::qeryDebuggerInfo, pool);
+ JSONObject tasking = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and task_type='1'").uniqueResult(0);
+ // 1 无任务 2 有任务未执行 3 执行中
+ String task_status = "";
+ //1确认完成 2确认完成继续下个任务 3继续搬运,4返回休息点
+ String date = DateUtil.today();
+ if(tasking == null) {
+ task_status = "无任务";
+ }
+ //JSONObject tasked = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='00'and task_type='1' order by seq_num ").uniqueResult(0);
+ JSONObject tasked = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='00'and task_type='1' order by seq_num ").uniqueResult(0);
+ if(tasked != null) {
+ task_status = "有任务未执行";
+ }
+ if(tasking != null) {
+ task_status = "执行中";
+ task_name = "任务号:" + tasking.getString("task_code");
+ task_info = "目标点:" + tasking.getString("next_point_code");
+ }
+ // else if(tasked!=null)
+ // {
+ // task_name = "任务号:" + tasked.getString("task_code");
+ // task_info = "目标点:" + tasked.getString("next_point_code");
+ // }
+ JSONObject unManFinishTask = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='02' and is_manualfinished='0'and task_type='1'").uniqueResult(0);
+ if(unManFinishTask != null && tasked == null) {
+ button_code = "1";
+ button_name = "确认完成";
+ }
+ if(unManFinishTask != null && tasked != null) {
+ button_code = "2";
+ button_name = "确认完成继续下个任务";
+ }
+ //任务都完成了,但是还有未完成的任务
+ if(unManFinishTask == null && tasked != null) {
+ button_code = "3";
+ button_name = "继续搬运";
+ }
+ if(unManFinishTask == null && tasked == null) {
+ button_code = "4";
+ button_name = "返回休息点";
+ //假如所有的任务都完成,包括返回休息点的任务,且最后一个完成任务的时间是返回休息电的任务也不显示
+ JSONObject doingtaskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 ", "update_time desc").uniqueResult(0);
+ if(doingtaskjo != null && doingtaskjo.getString("task_type").equals("2")) {
+ button_code = "";
+ button_name = "";
+ }
+ }
+ //假如有执行中的任务,则不显示
+ JSONObject doingtaskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and is_manualfinished='0'").uniqueResult(0);
+ if(doingtaskjo != null) {
button_code = "";
button_name = "";
}
+ String task_num = "待执行0";
+ //分母 今天所有的任务,分子今天未完成的任务
+ JSONArray alltaskja = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_type='1' and date ='" + date + "'").getResultJSONArray(0);
+ if(alltaskja.size() > 0) {
+ JSONArray todaytaskja = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_type='1' and date ='" + date + "' and task_status='00'").getResultJSONArray(0);
+ String alltask_num = String.valueOf(alltaskja.size());
+ String todaytask_num = String.valueOf(todaytaskja.size());
+ task_num = "待执行" + todaytask_num + "/" + alltask_num;
+ }
+ if(debugInfoJson.size() > 0) {
+ //车辆运行还是待机是PathFollow_Enable 1为运行 0为待机
+ String agvrun_status = debugInfoJson.getString("PathFollow_Enable");
+ if(StrUtil.equals(agvrun_status, "1")) {
+ automatic_status_name = "运行";
+ }
+ if(StrUtil.equals(agvrun_status, "0")) {
+ automatic_status_name = "待机";
+ }
+ //手自动是Sys_Mode 3 REMA手动 4自动 5 IO手持方式的手动,这个车不装
+ String automatic_status = debugInfoJson.getString("Sys_Mode");
+ if(StrUtil.equals(automatic_status, "3")) {
+ agvrun_status_name = "手动";
+ }
+ if(StrUtil.equals(automatic_status, "4")) {
+ agvrun_status_name = "自动";
+ }
+ if(StrUtil.equals(automatic_status, "5")) {
+ agvrun_status_name = "IO";
+ }
+ //速度
+ speed = debugInfoJson.getString("Speedm_Tmp") == null ? "0" : debugInfoJson.getString("Speedm_Tmp");
+ BigDecimal e = new BigDecimal(speed).setScale(3, RoundingMode.HALF_UP);
+ row.put("speed", e + "m/s");
+ //agv状态枚举
+ row.put("agvrun_status", agvrun_status);
+ //agv状态名称,1为运行 0为待机
+ row.put("agvrun_status_name", agvrun_status_name);
+ //agv操纵枚举
+ row.put("automatic_status", automatic_status);
+ //agv操纵名称,3 REMA手动 4自动
+ row.put("automatic_status_name", automatic_status_name);
+ //假如电量低于30 ,则返回休息电
+ electric = debugInfoJson.getInteger("PWR_Percent");
+ //电量
+ row.put("electric", electric);
+ if(electric < 30) {
+ button_code = "4";
+ button_name = "返回休息点";
+ }
+ String Env_CustomName = debugInfoJson.getString("Env_CustomName");
+ String Env_VehicleType = debugInfoJson.getString("Env_VehicleType");
+ //设备名称
+ device_info = Env_CustomName + Env_VehicleType;
+ }
+ ErrorServiceImpl errorServiceImpl = new ErrorServiceImpl();
+ Map error = errorServiceImpl.querryError(null);
+ JSONArray errorResult = JSONArray.parseArray(JSON.toJSONString(error.get("result")));
+ if(errorResult.size() > 0) {
+ error_name = errorResult.getJSONObject(0).getString("error_name");
+ }
+ //row.put("agv_error", (String) error.get("error_status"));
+ //故障信息
+ row.put("error_name", error_name);
+ //设备信息
+ row.put("device_info", device_info);
+ //任务状态
+ row.put("task_status", task_status);
+ //当前任务
+ row.put("task_name", task_name);
+ row.put("task_info", task_info);
+ row.put("task_num", task_num);
+ row.put("button_code", button_code);
+ row.put("button_name", button_name);
+ returnjo.put("code", "1");
+ returnjo.put("desc", "操作成功");
+ returnjo.put("result", row);
+ return returnjo;
}
- //假如有执行中的任务,则不显示
- JSONObject doingtaskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and is_manualfinished='0'").uniqueResult(0);
- if(doingtaskjo != null) {
- button_code = "";
- button_name = "";
+ catch(Exception e) {
+ Log.error("通信失败:" + e.getMessage());
+ throw new BadRequestException(e.getMessage() == null ? "通信失败,请检查系统参数中的Ros连接信息" : e.getMessage());
}
- String task_num = "待执行0";
- //分母 今天所有的任务,分子今天未完成的任务
- JSONArray alltaskja = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_type='1' and date ='" + date + "'").getResultJSONArray(0);
- if(alltaskja.size() > 0) {
- JSONArray todaytaskja = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_type='1' and date ='" + date + "' and task_status='00'").getResultJSONArray(0);
- String alltask_num = String.valueOf(alltaskja.size());
- String todaytask_num = String.valueOf(todaytaskja.size());
- task_num = "待执行" + todaytask_num + "/" + alltask_num;
- }
- if(debugInfoJson.size() > 0) {
- //车辆运行还是待机是PathFollow_Enable 1为运行 0为待机
- String agvrun_status = debugInfoJson.getString("PathFollow_Enable");
- if(StrUtil.equals(agvrun_status, "1")) {
- automatic_status_name = "运行";
- }
- if(StrUtil.equals(agvrun_status, "0")) {
- automatic_status_name = "待机";
- }
- //手自动是Sys_Mode 3 REMA手动 4自动 5 IO手持方式的手动,这个车不装
- String automatic_status = debugInfoJson.getString("Sys_Mode");
- if(StrUtil.equals(automatic_status, "3")) {
- agvrun_status_name = "REMA手动";
- }
- if(StrUtil.equals(automatic_status, "4")) {
- agvrun_status_name = "自动";
- }
- if(StrUtil.equals(automatic_status, "5")) {
- agvrun_status_name = "IO手持方式的手动";
- }
- //速度
- speed = debugInfoJson.getString("Speedm_Tmp") == null ? "0" : debugInfoJson.getString("Speedm_Tmp");
- row.put("speed", speed + "m/s");
- //agv状态枚举
- row.put("agvrun_status", agvrun_status);
- //agv状态名称,1为运行 0为待机
- row.put("agvrun_status_name", agvrun_status_name);
- //agv操纵枚举
- row.put("automatic_status", automatic_status);
- //agv操纵名称,3 REMA手动 4自动
- row.put("automatic_status_name", automatic_status_name);
- //假如电量低于30 ,则返回休息电
- electric = debugInfoJson.getInteger("PWR_Percent");
- //电量
- row.put("electric", electric);
- if(electric < 30) {
- button_code = "4";
- button_name = "返回休息点";
- }
- String Env_CustomName = debugInfoJson.getString("Env_CustomName");
- String Env_VehicleType = debugInfoJson.getString("Env_VehicleType");
- //设备名称
- device_info = Env_CustomName + Env_VehicleType;
- }
- ErrorServiceImpl errorServiceImpl = new ErrorServiceImpl();
- Map error = errorServiceImpl.querryError(null);
- JSONArray errorResult = JSONArray.parseArray(JSON.toJSONString(error.get("result")));
- if(errorResult.size() > 0) {
- error_name = errorResult.getJSONObject(0).getString("error_name");
- }
- //row.put("agv_error", (String) error.get("error_status"));
- //故障信息
- row.put("error_name", error_name);
- //设备信息
- row.put("device_info", device_info);
- //任务状态
- row.put("task_status", task_status);
- //当前任务
- row.put("task_name", task_name);
- row.put("task_num", task_num);
- row.put("button_code", button_code);
- row.put("button_name", button_name);
- returnjo.put("code", "1");
- returnjo.put("desc", "操作成功");
- returnjo.put("result", row);
- return returnjo;
}
@Override
@@ -460,7 +484,7 @@ public class HomeServiceImpl implements HomeService{
JSONObject doingtaskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' ").uniqueResult(0);
if(ObjectUtil.isNotEmpty(doingtaskjo)) {
returnjo.put("code", "0");
- returnjo.put("desc", "有正在执行的任务,不能生产返回休息点的任务");
+ returnjo.put("desc", "有正在执行的任务,不能生成返回休息点的任务");
return returnjo;
}
String rest_pointcode = (String) taskServiceServiceImpl.queryPoint(new HashMap<>()).get("rest_pointcode");
diff --git a/nladmin-system/src/main/java/org/nl/agv/service/impl/TaskServiceServiceImpl.java b/nladmin-system/src/main/java/org/nl/agv/service/impl/TaskServiceServiceImpl.java
index 5b07b5b..afae959 100644
--- a/nladmin-system/src/main/java/org/nl/agv/service/impl/TaskServiceServiceImpl.java
+++ b/nladmin-system/src/main/java/org/nl/agv/service/impl/TaskServiceServiceImpl.java
@@ -53,35 +53,40 @@ public class TaskServiceServiceImpl implements TaskService{
@Override
public Map queryPoint(Map jsonObject) {
- JSONObject returnjo = new JSONObject();
- String rest_pointcode = "";
- ServiceResponse response = sendToAgvUtil.send("GetStationFloorIndexTable");
- String result_info = JSONObject.parseObject(response.toString()).getString("ROS_String_Output");
- String[] split = result_info.split("\\n");
- for(int i = 0; i < split.length; i++) {
- String row = split[i];
- String[] rowArr = row.split("\\s+");
- pointJson.put(rowArr[3], rowArr[4].contains("<") ? "" : rowArr[4]);
- }
- JSONArray arr = new JSONArray();
- for(Object key : pointJson.keySet()) {
- String value = (String) pointJson.get(key);
- System.out.println("Key = " + key + ", Value = " + value);
- JSONObject row = new JSONObject();
- row.put("point_code", key);
- row.put("point_name", value);
- row.put("code_name", key + "-" + value);
- if(StrUtil.equals("休息", value)) {
- rest_pointcode = (String) key;
- }
- arr.add(row);
- }
JSONObject jsonObject1 = new JSONObject();
- jsonObject1.put("result_info", result_info);
- returnjo.put("code", "1");
- returnjo.put("desc", "查询成功!");
- returnjo.put("rest_pointcode", rest_pointcode);
- returnjo.put("result", arr);
+ JSONObject returnjo = new JSONObject();
+ try {
+ String rest_pointcode = "";
+ ServiceResponse response = sendToAgvUtil.send("GetStationFloorIndexTable");
+ String result_info = JSONObject.parseObject(response.toString()).getString("ROS_String_Output");
+ String[] split = result_info.split("\\n");
+ for(int i = 0; i < split.length; i++) {
+ String row = split[i];
+ String[] rowArr = row.split("\\s+");
+ pointJson.put(rowArr[3], rowArr[4].contains("<") ? "" : rowArr[4]);
+ }
+ JSONArray arr = new JSONArray();
+ for(Object key : pointJson.keySet()) {
+ String value = (String) pointJson.get(key);
+ System.out.println("Key = " + key + ", Value = " + value);
+ JSONObject row = new JSONObject();
+ row.put("point_code", key);
+ row.put("point_name", value);
+ row.put("code_name", key + "-" + value);
+ if(StrUtil.equals("休息", value)) {
+ rest_pointcode = (String) key;
+ }
+ arr.add(row);
+ }
+ jsonObject1.put("result_info", result_info);
+ returnjo.put("code", "1");
+ returnjo.put("desc", "查询成功!");
+ returnjo.put("rest_pointcode", rest_pointcode);
+ returnjo.put("result", arr);
+ }
+ catch(Exception ex) {
+ String sfd = ex.getMessage();
+ }
return returnjo;
}
@@ -179,15 +184,8 @@ public class TaskServiceServiceImpl implements TaskService{
}
for(int i = 0; i < jsonArray.size(); i++) {
JSONObject taskjo = jsonArray.getJSONObject(i);
- String task_num = taskjo.getString("task_num");
- String seq_num = taskjo.getString("seq_num");
- JSONObject taskrow = taskTable.query("task_code='" + task_num + "'").uniqueResult(0);
- /* String task_status = taskjo.getString("task_status");
- if (StrUtil.equals(task_status,"01")){
- taskrow.put("seq_num", 1);
- }else{
- taskrow.put("seq_num", i + 2);
- }*/
+ String taskNum = taskjo.getString("task_code");
+ JSONObject taskrow = taskTable.query("task_code='" + taskNum + "'").uniqueResult(0);
taskrow.put("seq_num", i + 1);
taskrow.put("is_delete", "0");
taskTable.update(taskrow);
diff --git a/nladmin-system/src/main/java/org/nl/agv/service/impl/VehicleInfoServiceImpl.java b/nladmin-system/src/main/java/org/nl/agv/service/impl/VehicleInfoServiceImpl.java
index c51334a..e9d2ceb 100644
--- a/nladmin-system/src/main/java/org/nl/agv/service/impl/VehicleInfoServiceImpl.java
+++ b/nladmin-system/src/main/java/org/nl/agv/service/impl/VehicleInfoServiceImpl.java
@@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
import com.esotericsoftware.minlog.Log;
import edu.wpi.rail.jrosbridge.services.ServiceResponse;
import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
import org.nl.agv.enu.VehicleOperateEnum;
import org.nl.agv.service.VehicleInfoService;
import org.nl.agv.unit.sendToAgvUtil;
@@ -145,9 +146,11 @@ public class VehicleInfoServiceImpl implements VehicleInfoService{
break;
}
}
+ String code = "0".equals(response.toJsonObject().get("result").toString()) ? "1" : "0";
+ String desc = "0".equals(response.toJsonObject().get("result").toString()) ? "操作成功!" : "操作失败!";
JSONObject returnjo = new JSONObject();
- returnjo.put("code", "1");
- returnjo.put("desc", "操作成功");
+ returnjo.put("code", code);
+ returnjo.put("desc", desc);
return returnjo;
}
@@ -214,8 +217,10 @@ public class VehicleInfoServiceImpl implements VehicleInfoService{
//航向角度
BigDecimal z = new BigDecimal(debugInfoJson.getString("Car_Global_Theta")).setScale(3, RoundingMode.HALF_UP);
row.put("z", z);
- row.put("send_speed", debugInfoJson.getString("VehicleCtrlExpThrottle"));
- row.put("real_speed", debugInfoJson.getString("Speedm_Tmp"));
+ BigDecimal s = new BigDecimal(debugInfoJson.getString("VehicleCtrlExpThrottle")).setScale(3, RoundingMode.HALF_UP);
+ row.put("send_speed", s);
+ BigDecimal m = new BigDecimal(debugInfoJson.getString("Speedm_Tmp")).setScale(3, RoundingMode.HALF_UP);
+ row.put("real_speed", m);
//舵轮角度
BigDecimal u = new BigDecimal(debugInfoJson.getString("SVreal_angle")).setScale(3, RoundingMode.HALF_UP);
row.put("carrier", u);
diff --git a/nladmin-system/src/main/java/org/nl/agv/wql/QAGVERROR.wql b/nladmin-system/src/main/java/org/nl/agv/wql/QAGVERROR.wql
index 4bcee67..f3ef5d0 100644
--- a/nladmin-system/src/main/java/org/nl/agv/wql/QAGVERROR.wql
+++ b/nladmin-system/src/main/java/org/nl/agv/wql/QAGVERROR.wql
@@ -14,45 +14,45 @@
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
- 输入.error_code TYPEAS s_string
+ 输入.error_code TYPEAS s_string
+
-
[临时表]
--这边列出来的临时表就会在运行期动态创建
-
+
[临时变量]
--所有中间过程变量均可在此处定义
-
+
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
-
+
##########################################
# 2、主过程前处理 #
##########################################
-
-
+
+
##########################################
# 3、业务主过程 #
##########################################
-
+
IF 输入.flag = "1"
QUERY
SELECT
*
FROM
ST_AGV_ERROR as agv
- WHERE
+ WHERE
1=1
OPTION 输入.error_code <> ""
agv.error_code = 输入.error_code
ENDOPTION
- ENDSELECT
+ ENDSELECT
ENDQUERY
ENDIF
@@ -60,9 +60,8 @@ ENDIF
QUERY
SELECT
task.task_uuid,
- task.task_code AS task_num,
- task.next_point_code AS target_point,
- task.next_point_code AS target_point,
+ task.task_code,
+ task.next_point_code,
task.task_status,
task.task_status_name,
task.seq_num,
@@ -91,18 +90,3 @@ ENDIF
ENDSELECT
ENDQUERY
ENDIF
-
-IF 输入.flag = "4"
- QUERY
- SELECT
- *
- FROM
- ST_AGV_ERROR as agv
- WHERE
- 1=1
- OPTION 输入.error_code <> ""
- agv.error_code = 输入.error_code
- ENDOPTION
- ENDSELECT
- ENDQUERY
-ENDIF
diff --git a/nladmin-system/src/main/java/org/nl/agv/wql/agv.xls b/nladmin-system/src/main/java/org/nl/agv/wql/agv.xls
index e7a6de7..58b49e0 100644
Binary files a/nladmin-system/src/main/java/org/nl/agv/wql/agv.xls and b/nladmin-system/src/main/java/org/nl/agv/wql/agv.xls differ