rev:修改定时刷新AGV信息
This commit is contained in:
@@ -29,6 +29,7 @@ import java.util.Map;
|
|||||||
@SaIgnore
|
@SaIgnore
|
||||||
public class HomeController {
|
public class HomeController {
|
||||||
|
|
||||||
|
|
||||||
private final HomeService homeService;
|
private final HomeService homeService;
|
||||||
|
|
||||||
@PostMapping("/queryHead")
|
@PostMapping("/queryHead")
|
||||||
|
|||||||
@@ -44,41 +44,32 @@ import java.util.stream.Collectors;
|
|||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class ErrorServiceImpl implements ErrorService{
|
public class ErrorServiceImpl implements ErrorService{
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String,Object> querryError(Map<String,String> jsonObject) {
|
public Map<String,Object> querryError(Map<String,String> jsonObject) {
|
||||||
String error_status = "无故障";
|
String errorStatus = "无故障";
|
||||||
try {
|
|
||||||
List<String> errorCodeList = new ArrayList<>();
|
List<String> errorCodeList = new ArrayList<>();
|
||||||
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
|
|
||||||
int Warning_Code = debugInfoJson.getInteger("Warning_Code");
|
|
||||||
Warning_Code = 754529;
|
|
||||||
JSONArray result = new JSONArray();
|
JSONArray result = new JSONArray();
|
||||||
for (int bitPosition = 0; bitPosition < 28; bitPosition++) {
|
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
|
||||||
if ((Warning_Code >> bitPosition) % 2 == 1) {
|
if(debugInfoJson.size()>0) {
|
||||||
error_status = "有故障";
|
int warningCode = debugInfoJson.getInteger("Warning_Code");
|
||||||
String error_code = "bit" + bitPosition;
|
for(int bitPosition = 0; bitPosition < 28; bitPosition++) {
|
||||||
errorCodeList.add(error_code);
|
if((warningCode >> bitPosition) % 2 == 1) {
|
||||||
|
errorStatus = "有故障";
|
||||||
|
String errorCode = "bit" + bitPosition;
|
||||||
|
errorCodeList.add(errorCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WQLObject wo = WQLObject.getWQLObject("st_agv_error");
|
WQLObject wo = WQLObject.getWQLObject("st_agv_error");
|
||||||
String errorCodes = errorCodeList.stream().collect(Collectors.joining("', '", "'", "'"));
|
String errorCodes = errorCodeList.stream().collect(Collectors.joining("', '", "'", "'"));
|
||||||
result = wo.query("error_code in ("+errorCodes+") order by error_code").getResultJSONArray(0);
|
result = wo.query("error_code in (" + errorCodes + ") order by error_code").getResultJSONArray(0);
|
||||||
|
}
|
||||||
JSONObject returnjo = new JSONObject();
|
JSONObject returnjo = new JSONObject();
|
||||||
returnjo.put("code", "1");
|
returnjo.put("code", "1");
|
||||||
returnjo.put("desc", "查询成功");
|
returnjo.put("desc", "查询成功");
|
||||||
returnjo.put("result", result);
|
returnjo.put("result", result);
|
||||||
returnjo.put("error_status", error_status);
|
returnjo.put("error_status", errorStatus);
|
||||||
return returnjo;
|
return returnjo;
|
||||||
}
|
}
|
||||||
catch(Exception e) {
|
|
||||||
Log.error("通信失败:" + e.getMessage());
|
|
||||||
throw new BadRequestException(e.getMessage() == null ? "通信失败,请检查系统参数中的Ros连接信息" : e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//@Override
|
//@Override
|
||||||
public Map<String,Object> querryError1(Map<String,String> jsonObject) {
|
public Map<String,Object> querryError1(Map<String,String> jsonObject) {
|
||||||
@@ -86,7 +77,6 @@ public class ErrorServiceImpl implements ErrorService{
|
|||||||
try {
|
try {
|
||||||
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
|
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
|
||||||
int Warning_Code = debugInfoJson.getInteger("Warning_Code");
|
int Warning_Code = debugInfoJson.getInteger("Warning_Code");
|
||||||
//int Warning_Code = 524305;
|
|
||||||
int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState");
|
int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState");
|
||||||
JSONArray ja = new JSONArray();
|
JSONArray ja = new JSONArray();
|
||||||
String error_code = "";
|
String error_code = "";
|
||||||
|
|||||||
@@ -37,10 +37,14 @@ import org.nl.agv.unit.sendToAgvUtil;
|
|||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.system.util.CodeUtil;
|
import org.nl.modules.system.util.CodeUtil;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qinx
|
* @author qinx
|
||||||
@@ -49,12 +53,18 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class HomeServiceImpl implements HomeService{
|
public class HomeServiceImpl implements HomeService{
|
||||||
|
@Resource
|
||||||
|
@Qualifier("threadPool")
|
||||||
|
private ThreadPoolExecutor pool;
|
||||||
//定时器查询调试信息,放入json其他地方直接调用;
|
//定时器查询调试信息,放入json其他地方直接调用;
|
||||||
public static JSONObject debugInfoJson = new JSONObject();
|
public static JSONObject debugInfoJson = new JSONObject();
|
||||||
|
|
||||||
|
public HomeServiceImpl(ThreadPoolExecutor pool) {
|
||||||
|
this.pool = pool;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void qeryDebuggerInfo() {
|
public void qeryDebuggerInfo() {
|
||||||
try {
|
|
||||||
Map<String,String> urlInfo = RosUtil.getRosHostInfo();
|
Map<String,String> urlInfo = RosUtil.getRosHostInfo();
|
||||||
//String result1 = HttpUtil.get("http://localhost:8011/api/pcsIfPurchaseorder/queryApt");
|
//String result1 = HttpUtil.get("http://localhost:8011/api/pcsIfPurchaseorder/queryApt");
|
||||||
//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}}}}";
|
//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}}}}";
|
||||||
@@ -128,11 +138,6 @@ public class HomeServiceImpl implements HomeService{
|
|||||||
}
|
}
|
||||||
debugInfoJson.put("PathFollow_Enable", PathFollow_Enable);
|
debugInfoJson.put("PathFollow_Enable", PathFollow_Enable);
|
||||||
}
|
}
|
||||||
catch(Exception e) {
|
|
||||||
Log.error("通信失败:" + e.getMessage());
|
|
||||||
throw new BadRequestException("通信失败,请检查系统参数中的java端口信息");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void QueryDebuggerInfo2() {
|
public void QueryDebuggerInfo2() {
|
||||||
debugInfoJson = new JSONObject();
|
debugInfoJson = new JSONObject();
|
||||||
@@ -254,7 +259,8 @@ public class HomeServiceImpl implements HomeService{
|
|||||||
String error_name = "正常运行";
|
String error_name = "正常运行";
|
||||||
JSONObject returnjo = new JSONObject();
|
JSONObject returnjo = new JSONObject();
|
||||||
JSONObject row = new JSONObject();
|
JSONObject row = new JSONObject();
|
||||||
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);
|
JSONObject tasking = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and task_type='1'").uniqueResult(0);
|
||||||
// 1 无任务 2 有任务未执行 3 执行中
|
// 1 无任务 2 有任务未执行 3 执行中
|
||||||
String task_status = "";
|
String task_status = "";
|
||||||
@@ -378,11 +384,6 @@ public class HomeServiceImpl implements HomeService{
|
|||||||
returnjo.put("result", row);
|
returnjo.put("result", row);
|
||||||
return returnjo;
|
return returnjo;
|
||||||
}
|
}
|
||||||
catch(Exception e) {
|
|
||||||
Log.error("通信失败:" + e.getMessage());
|
|
||||||
throw new BadRequestException(e.getMessage() == null ? "通信失败,请检查系统参数中的Ros连接信息" : e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String,Object> clickSave(Map<String,String> jsonObject) {
|
public Map<String,Object> clickSave(Map<String,String> jsonObject) {
|
||||||
|
|||||||
@@ -26,11 +26,14 @@ import org.nl.agv.enu.VehicleOperateEnum;
|
|||||||
import org.nl.agv.service.VehicleInfoService;
|
import org.nl.agv.service.VehicleInfoService;
|
||||||
import org.nl.agv.unit.sendToAgvUtil;
|
import org.nl.agv.unit.sendToAgvUtil;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author qinx
|
* @author qinx
|
||||||
@@ -39,6 +42,8 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class VehicleInfoServiceImpl implements VehicleInfoService{
|
public class VehicleInfoServiceImpl implements VehicleInfoService{
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String,Object> queryRestPoint(Map<String,String> jsonObject) {
|
public Map<String,Object> queryRestPoint(Map<String,String> jsonObject) {
|
||||||
ServiceResponse response = sendToAgvUtil.send("GetNodePointManagerTable");
|
ServiceResponse response = sendToAgvUtil.send("GetNodePointManagerTable");
|
||||||
@@ -260,9 +265,9 @@ public class VehicleInfoServiceImpl implements VehicleInfoService{
|
|||||||
JSONObject row = new JSONObject();
|
JSONObject row = new JSONObject();
|
||||||
try {
|
try {
|
||||||
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
|
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
|
||||||
//int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState");
|
int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState");
|
||||||
//todo 安全触边等传感器状态 ObstacleTouchState 识别不了
|
//todo 安全触边等传感器状态 ObstacleTouchState 识别不了
|
||||||
int ObstacleTouchState = 524305;
|
// int ObstacleTouchState = 524305;
|
||||||
int ObstacleDetectState = debugInfoJson.getInteger("ObstacleDetectState");
|
int ObstacleDetectState = debugInfoJson.getInteger("ObstacleDetectState");
|
||||||
int VehicleCtrlRealCustomStateByte0 = debugInfoJson.getInteger("VehicleCtrlRealCustomStateByte0");
|
int VehicleCtrlRealCustomStateByte0 = debugInfoJson.getInteger("VehicleCtrlRealCustomStateByte0");
|
||||||
//避障停车
|
//避障停车
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package org.nl.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.StopWatch;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.agv.service.HomeService;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author gbx
|
||||||
|
* @date 2023/10/17
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
@EnableScheduling
|
||||||
|
public class QueryInfoSchedule{
|
||||||
|
@Resource
|
||||||
|
private HomeService homeService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时更新agv状态信息
|
||||||
|
*
|
||||||
|
* @author gbx
|
||||||
|
* @date 2023/10/17
|
||||||
|
*/
|
||||||
|
//@Async("taskExecutor")
|
||||||
|
//@Scheduled(cron = "0/10 * * * * *")
|
||||||
|
public void queryAgvInfo() {
|
||||||
|
StopWatch stopWatch = new StopWatch();
|
||||||
|
stopWatch.start();
|
||||||
|
homeService.qeryDebuggerInfo();
|
||||||
|
stopWatch.stop();
|
||||||
|
System.out.println("查询AGV花费时间---= totalTime = " + stopWatch.getTotalTimeMillis());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user