opt:优化全局头部状态栏接口显示

This commit is contained in:
2023-12-18 09:25:02 +08:00
parent 1ad728015d
commit 1e67172511
13 changed files with 646 additions and 699 deletions

View File

@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>hl_one_wms</artifactId> <artifactId>gt_agv_plus</artifactId>
<groupId>org.nl</groupId> <groupId>org.nl</groupId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>

View File

@@ -36,8 +36,8 @@ public class HomeController {
@Log("查询头部") @Log("查询头部")
@ApiOperation("查询头部") @ApiOperation("查询头部")
//@PreAuthorize("@el.check('sect:list')") //@PreAuthorize("@el.check('sect:list')")
public ResponseEntity<Object> queryHead(@RequestBody Map<String, String> whereJson) { public ResponseEntity<Object> queryHead() {
return new ResponseEntity<>(homeService.queryHead(whereJson), HttpStatus.OK); return new ResponseEntity<>(homeService.queryHead(), HttpStatus.OK);
} }
@PostMapping("/queryHomePage") @PostMapping("/queryHomePage")
@Log("查询首页") @Log("查询首页")

View File

@@ -1,40 +0,0 @@
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<JSONObject> sortedQueue = new LinkedBlockingQueue<>();
// 将JSONArray中的元素按照num字段从小到大进行排序
List<JSONObject> 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");
// 执行其他操作...
}
}
}

View File

@@ -17,7 +17,7 @@ public interface HomeService {
* @param * @param
* @return Map<String, Object> * @return Map<String, Object>
*/ */
Map<String, Object> queryHead(Map<String, String> jsonObject); Map<String, Object> queryHead();
/** /**
* 查询首页 * 查询首页
* *

View File

@@ -66,96 +66,96 @@ public class ErrorServiceImpl implements ErrorService{
} }
//@Override //@Override
public Map<String,Object> querryError1(Map<String,String> jsonObject) { // public Map<String,Object> querryError1(Map<String,String> jsonObject) {
String error_status = "无故障"; // String error_status = "无故障";
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 ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState"); // int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState");
JSONArray ja = new JSONArray(); // JSONArray ja = new JSONArray();
String error_code = ""; // String error_code = "";
//bit0 障碍物报警 barrier // //bit0 障碍物报警 barrier
if(Warning_Code % 2 == 1) { // if(Warning_Code % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "barrier"; // error_code = "barrier";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} // }
//bit1 起点报警 startPoint // //bit1 起点报警 startPoint
if((Warning_Code >> 2) % 2 == 1) { // if((Warning_Code >> 2) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "startPoint"; // error_code = "startPoint";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} // }
//bit2 急停开关报警 stop // //bit2 急停开关报警 stop
if((Warning_Code >> 10) % 2 == 1) { // if((Warning_Code >> 10) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "stop"; // error_code = "stop";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} // }
//bit3 触边开关报警 touchSwith // //bit3 触边开关报警 touchSwith
if((ObstacleTouchState >> 1) % 2 == 1) { // if((ObstacleTouchState >> 1) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "touchSwith"; // error_code = "touchSwith";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} // }
//bit0 速度异常 speedError // //bit0 速度异常 speedError
if((Warning_Code >> 6) % 2 == 1) { // if((Warning_Code >> 6) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "speedError"; // error_code = "speedError";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} //bit0 定位异常 locationError // } //bit0 定位异常 locationError
if((Warning_Code >> 7) % 2 == 1) { // if((Warning_Code >> 7) % 2 == 1) {
error_status = ""; // error_status = "是";
error_code = "startPoint"; // error_code = "startPoint";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} // }
//bit0 路径异常 wayError // //bit0 路径异常 wayError
if((Warning_Code >> 8) % 2 == 1) { // if((Warning_Code >> 8) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "wayError"; // error_code = "wayError";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
ja.add(row); // ja.add(row);
} // }
//电池异常 batteryError // //电池异常 batteryError
if((Warning_Code >> 11) % 2 == 1) { // if((Warning_Code >> 11) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "batteryError"; // error_code = "batteryError";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
row.put("error_content", debugInfoJson.getString("PWR_Warn")); // row.put("error_content", debugInfoJson.getString("PWR_Warn"));
ja.add(row); // ja.add(row);
} // }
//CURTIS异常 CURTIS // //CURTIS异常 CURTIS
if((Warning_Code >> 24) % 2 == 1) { // if((Warning_Code >> 24) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "CURTIS"; // error_code = "CURTIS";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
row.put("error_content", debugInfoJson.getString("Curtis_Warning_Code_Speed")); // row.put("error_content", debugInfoJson.getString("Curtis_Warning_Code_Speed"));
ja.add(row); // ja.add(row);
} // }
//CAN通讯异常 CAN // //CAN通讯异常 CAN
if((Warning_Code >> 19) % 2 == 1) { // if((Warning_Code >> 19) % 2 == 1) {
error_status = "有故障"; // error_status = "有故障";
error_code = "CAN"; // error_code = "CAN";
JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0); // JSONObject row = WQL.getWO("QAGVERROR").addParam("flag", "1").addParam("error_code", error_code).process().uniqueResult(0);
row.put("error_content", debugInfoJson.getString("VehicleCtrl_CAN_Err_Info")); // row.put("error_content", debugInfoJson.getString("VehicleCtrl_CAN_Err_Info"));
ja.add(row); // ja.add(row);
} // }
JSONObject returnjo = new JSONObject(); // JSONObject returnjo = new JSONObject();
returnjo.put("code", "1"); // returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("QuerySuccess", null)); // returnjo.put("desc", LangUtils.getMsgLanguage("QuerySuccess", null));
returnjo.put("result", ja); // returnjo.put("result", ja);
returnjo.put("error_status", error_status); // returnjo.put("error_status", error_status);
return returnjo; // return returnjo;
} // }
catch(Exception e) { // catch(Exception e) {
Log.error("通信失败4:" + e.getMessage()); // Log.error("通信失败4:" + e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage()); // throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage());
} // }
} // }
} }

View File

@@ -22,10 +22,10 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.esotericsoftware.minlog.Log;
import edu.wpi.rail.jrosbridge.services.ServiceResponse; import edu.wpi.rail.jrosbridge.services.ServiceResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.agv.entity.HomeInfo; import org.nl.agv.entity.HomeInfo;
import org.nl.agv.enu.*; import org.nl.agv.enu.*;
@@ -39,25 +39,23 @@ 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.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor;
import static org.nl.common.utils.LangUtils.getLanguage; import static org.nl.common.utils.LangUtils.getLanguage;
/** /**
* @author qinx * @author qinx
* @date 2021-09-23 * @date 2021-09-23
*/ */
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class HomeServiceImpl implements HomeService { public class HomeServiceImpl implements HomeService {
@@ -66,6 +64,7 @@ public class HomeServiceImpl implements HomeService {
private ThreadPoolExecutor pool; private ThreadPoolExecutor pool;
//定时器查询调试信息放入json其他地方直接调用 //定时器查询调试信息放入json其他地方直接调用
public static JSONObject debugInfoJson = new JSONObject(); public static JSONObject debugInfoJson = new JSONObject();
public static JSONObject debugInfoJsonQuick = new JSONObject();
public HomeServiceImpl(ThreadPoolExecutor pool) { public HomeServiceImpl(ThreadPoolExecutor pool) {
this.pool = pool; this.pool = pool;
@@ -79,13 +78,28 @@ public class HomeServiceImpl implements HomeService {
*/ */
@Override @Override
public Map<String, Object> queryHomePage(Map<String, String> jsonObject) { public Map<String, Object> queryHomePage(Map<String, String> jsonObject) {
String lang = LocaleContextHolder.getLocale().getLanguage();
HomeInfo homeInfo = new HomeInfo(); HomeInfo homeInfo = new HomeInfo();
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
JSONObject row = new JSONObject(); JSONObject row = new JSONObject();
try { try {
CompletableFuture.runAsync(this::qeryDebuggerInfo, pool); //查询调试信息
CompletableFuture.runAsync(this::handleTaskStatus, pool); CompletableFuture.runAsync(() -> {
try {
qeryDebuggerInfo();
} catch (Exception e) {
//记录异常日志
log.error("queryHomePage-查询调试信息失败:{}", e.getMessage());
}
}, pool);
//执行任务操作
CompletableFuture.runAsync(() -> {
try {
handleTaskStatus();
} catch (Exception e) {
//记录异常日志
log.error("queryHomePage-执行任务操作失败:{}", e.getMessage());
}
}, pool);
List<JSONObject> allTasks = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0").getResultJSONArray(0).toJavaList(JSONObject.class); List<JSONObject> allTasks = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0").getResultJSONArray(0).toJavaList(JSONObject.class);
// 执行中任务 // 执行中任务
Optional<JSONObject> taskingOptional = allTasks.stream().filter(task -> TaskStatusEnum.RUNNING.getCode().equals(task.getString("task_status")) && !TaskTypeEnum.REST.getCode().equals(task.getString("task_type"))).findFirst(); Optional<JSONObject> taskingOptional = allTasks.stream().filter(task -> TaskStatusEnum.RUNNING.getCode().equals(task.getString("task_status")) && !TaskTypeEnum.REST.getCode().equals(task.getString("task_type"))).findFirst();
@@ -175,8 +189,8 @@ public class HomeServiceImpl implements HomeService {
returnjo.put("result", homeInfo); returnjo.put("result", homeInfo);
return returnjo; return returnjo;
} catch (Exception e) { } catch (Exception e) {
Log.error("通信失败1:" + e.getMessage()); log.error("queryHomePage-查询首页:{}",e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage()); throw new BadRequestException(e.getMessage() == null ? "queryHomePage:" + LangUtils.getMsgLanguage("CommunicationFail", null) : "queryHomePage:" + e.getMessage());
} }
} }
@@ -241,172 +255,19 @@ public class HomeServiceImpl implements HomeService {
homeInfo.setEn_automatic_status_name(LangUtils.getLanguage("Automatic", "en")); homeInfo.setEn_automatic_status_name(LangUtils.getLanguage("Automatic", "en"));
homeInfo.setZh_automatic_status_name(LangUtils.getLanguage("Automatic", "zh")); homeInfo.setZh_automatic_status_name(LangUtils.getLanguage("Automatic", "zh"));
} else if (StrUtil.equals(automaticStatus, "5")) { } else if (StrUtil.equals(automaticStatus, "5")) {
homeInfo.setAgvrun_status_name("IO"); homeInfo.setAutomatic_status_name("IO");
homeInfo.setEn_agvrun_status_name("IO"); homeInfo.setEn_automatic_status_name("IO");
homeInfo.setZh_agvrun_status_name("IO"); homeInfo.setZh_automatic_status_name("IO");
} }
} }
public Map<String, Object> queryHomePage1(Map<String, String> jsonObject) {
String button_code = "";
String button_name = "";
String agvrun_status_name = "";
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();
try {
//查询调试信息
CompletableFuture.runAsync(this::qeryDebuggerInfo, pool);
JSONObject tasking = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and task_type!='2'").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!='2'").uniqueResult(0);
JSONObject tasked = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='00'and task_type!='2' 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!='2'").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 && "2".equals(doingtaskjo.getString("task_type"))) {
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!='2' and date ='" + date + "'").getResultJSONArray(0);
if (alltaskja.size() > 0) {
JSONArray todaytaskja = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_type!='2' 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", LangUtils.getMsgLanguage("OperationSuccess", null));
returnjo.put("result", row);
return returnjo;
} catch (Exception e) {
Log.error("通信失败3:" + e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage());
}
}
@Override @Override
public Map<String, Object> clickSave(Map<String, String> jsonObject) { public Map<String, Object> clickSave(Map<String, String> jsonObject) {
try {
WQLObject taskTable = WQLObject.getWQLObject("ST_TASK_INFO"); WQLObject taskTable = WQLObject.getWQLObject("ST_TASK_INFO");
String button_code = (String) jsonObject.get("button_code"); String button_code = jsonObject.get("button_code");
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
//1确认完成 //1确认完成
if (StrUtil.equals(button_code, "1")) { if (StrUtil.equals(button_code, "1")) {
@@ -537,6 +398,10 @@ public class HomeServiceImpl implements HomeService {
returnjo.put("code", "1"); returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("OperationSuccess", null)); returnjo.put("desc", LangUtils.getMsgLanguage("OperationSuccess", null));
return returnjo; return returnjo;
} catch (Exception e) {
log.error("clickSave-首页确认操作:{}",e.getMessage());
throw new BadRequestException(e.getMessage() == null ? "clickSave:" + LangUtils.getMsgLanguage("CommunicationFail", null) : "clickSave:"+e.getMessage());
}
} }
@@ -544,34 +409,56 @@ public class HomeServiceImpl implements HomeService {
* 已合并至queryHomePage * 已合并至queryHomePage
*/ */
@Override @Override
public Map<String, Object> queryHead(Map<String, String> jsonObject) { public Map<String, Object> queryHead() {
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
String agvrun_status_name = ""; String agvrun_status_name = "";
String en_agvrun_status_name = "";
String zh_agvrun_status_name = "";
String automatic_status_name = ""; String automatic_status_name = "";
String en_automatic_status_name = "";
String zh_automatic_status_name = "";
String electric = "50";
CompletableFuture.runAsync(() -> {
try {
handleTaskStatus();
} catch (Exception e) {
e.printStackTrace();
//记录异常日志
}
}, pool);
electric = debugInfoJsonQuick.getString("PWR_Percent");
//车辆运行还是待机是PathFollow_Enable 1为运行 0为待机 //车辆运行还是待机是PathFollow_Enable 1为运行 0为待机
String agvrun_status = debugInfoJson.getString("PathFollow_Enable"); if (StrUtil.equals(debugInfoJsonQuick.getString("PathFollow_Enable"), "1")) {
if (StrUtil.equals(agvrun_status, "1")) { agvrun_status_name = LangUtils.getLanguage("Run", null);
automatic_status_name = "运行"; en_agvrun_status_name = LangUtils.getLanguage("Run", "en");
} zh_agvrun_status_name = LangUtils.getLanguage("Run", "zh");
if (StrUtil.equals(agvrun_status, "0")) { } else {
automatic_status_name = "待机"; agvrun_status_name = LangUtils.getLanguage("Standby", null);
en_agvrun_status_name = LangUtils.getLanguage("Standby", "en");
zh_agvrun_status_name = LangUtils.getLanguage("Standby", "zh");
} }
//手自动是Sys_Mode 3 REMA手动 4自动 5 IO手持方式的手动这个车不装 //手自动是Sys_Mode 3 REMA手动 4自动 5 IO手持方式的手动这个车不装
String automatic_status = debugInfoJson.getString("Sys_Mode"); if (StrUtil.equals(debugInfoJsonQuick.getString("Sys_Mode"), "3")) {
if (StrUtil.equals(automatic_status, "3")) { automatic_status_name = LangUtils.getLanguage("Manual", null);
agvrun_status_name = "手动"; en_automatic_status_name = LangUtils.getLanguage("Manual", "en");
zh_automatic_status_name = LangUtils.getLanguage("Manual", "zh");
} else if (StrUtil.equals(debugInfoJsonQuick.getString("Sys_Mode"), "4")) {
automatic_status_name = LangUtils.getLanguage("Automatic", null);
en_automatic_status_name = LangUtils.getLanguage("Automatic", "en");
zh_automatic_status_name = LangUtils.getLanguage("Automatic", "zh");
} else if (StrUtil.equals(debugInfoJsonQuick.getString("Sys_Mode"), "5")) {
automatic_status_name = "IO";
en_automatic_status_name = "IO";
zh_automatic_status_name = "IO";
} }
if (StrUtil.equals(automatic_status, "4")) { result.put("electric", electric);
agvrun_status_name = "自动";
}
if (StrUtil.equals(automatic_status, "5")) {
agvrun_status_name = "IO手持方式的手动";
}
result.put("agvrun_status", agvrun_status);
result.put("agvrun_status_name", agvrun_status_name); result.put("agvrun_status_name", agvrun_status_name);
result.put("automatic_status", automatic_status); result.put("en_agvrun_status_name", en_agvrun_status_name);
result.put("zh_agvrun_status_name", zh_agvrun_status_name);
result.put("automatic_status_name", automatic_status_name); result.put("automatic_status_name", automatic_status_name);
result.put("en_automatic_status_name", en_automatic_status_name);
result.put("zh_automatic_status_name", zh_automatic_status_name);
returnjo.put("code", "1"); returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("OperationSuccess", null)); returnjo.put("desc", LangUtils.getMsgLanguage("OperationSuccess", null));
returnjo.put("result", result); returnjo.put("result", result);
@@ -582,113 +469,102 @@ public class HomeServiceImpl implements HomeService {
public void qeryDebuggerInfo() { public void qeryDebuggerInfo() {
//todo RosJons模拟数据用正式需改回 //todo RosJons模拟数据用正式需改回
//String result1 = HttpUtil.get("http://localhost:8011/api/pcsIfPurchaseorder/queryApt"); //String result1 = HttpUtil.get("http://localhost:8011/api/pcsIfPurchaseorder/queryApt");
try { Map<String, String> urlInfo = RosUtil.getRosHostInfo();
Map<String, String> urlInfo = RosUtil.getRosHostInfo(); String result;
String result; if ("prod".equals(isProd)) {
if ("prod".equals(isProd)) { result = HttpUtil.get(urlInfo.get("javaUrl"));
result = HttpUtil.get(urlInfo.get("javaUrl")); } else {
} else { result = "{\"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\":11,\"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\":99,\"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}}}}";
result = "{\"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\":11,\"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(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("MissionCompleteAltitude_mm_RemoteOrHMI_FB", jo.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB"));
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"));
debugInfoJson.put("CurNodeID", jo.getString("CurNodeID"));
//handleTaskStatus;
} catch (Exception e) {
Log.error("通信失败5:" + e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage());
} }
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("MissionCompleteAltitude_mm_RemoteOrHMI_FB", jo.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB"));
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"));
debugInfoJson.put("CurNodeID", jo.getString("CurNodeID"));
//handleTaskStatus;
} }
public JSONObject qeryDebuggerInfoQuick() { private void qeryDebuggerInfoQuick() {
//todo RosJons模拟数据用正式需改回 //todo RosJons模拟数据用正式需改回
//String result1 = HttpUtil.get("http://localhost:8011/api/pcsIfPurchaseorder/queryApt"); Map<String, String> urlInfo = RosUtil.getRosHostInfo();
try { String result;
Map<String, String> urlInfo = RosUtil.getRosHostInfo(); if ("prod".equals(isProd)) {
String result; result = HttpUtil.get(urlInfo.get("javaUrl"));
if ("prod".equals(isProd)) { } else {
result = HttpUtil.get(urlInfo.get("javaUrl")); result = "{\"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\":11,\"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\":99,\"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}}}}";
} else {
result = "{\"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\":11,\"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(result);
JSONObject jo = JSONObject.parseObject(json.getString("Msg_DisplayState"));
JSONObject debugInfoJsons = new JSONObject();
debugInfoJsons.put("PathFollow_Enable", jo.getString("PathFollow_Enable"));
debugInfoJsons.put("MissionCompleteAltitude_mm_RemoteOrHMI_FB", jo.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB"));
debugInfoJsons.put("CurNodeID", jo.getString("CurNodeID"));
return debugInfoJsons;
} catch (Exception e) {
Log.error("通信失败6:" + e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage());
} }
JSONObject json = JSONObject.parseObject(result);
JSONObject jo = JSONObject.parseObject(json.getString("Msg_DisplayState"));
debugInfoJsonQuick.put("PathFollow_Enable", jo.getString("PathFollow_Enable"));
debugInfoJsonQuick.put("Sys_Mode", jo.getString("Sys_Mode"));
debugInfoJsonQuick.put("PWR_Percent", jo.getString("PWR_Percent"));
debugInfoJsonQuick.put("MissionCompleteAltitude_mm_RemoteOrHMI_FB", jo.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB"));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void handleTaskStatus() { public void handleTaskStatus() {
JSONObject debugInfoJsons = qeryDebuggerInfoQuick();
JSONObject taskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete='0'and task_status='01'").uniqueResult(0); JSONObject taskjo = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete='0'and task_status='01'").uniqueResult(0);
qeryDebuggerInfoQuick();
//小车停止,且已到达目标点位 //小车停止,且已到达目标点位
if (ObjectUtil.isNotEmpty(taskjo) && StrUtil.equals("0", debugInfoJsons.getString("PathFollow_Enable")) && debugInfoJsons.getString("CurNodeID").equals(taskjo.getString("next_point_code"))) { if (ObjectUtil.isNotEmpty(taskjo) && StrUtil.equals("0", debugInfoJsonQuick.getString("PathFollow_Enable")) && debugInfoJsonQuick.getString("CurNodeID").equals(taskjo.getString("next_point_code"))) {
//叉腿高度 //叉腿高度
String legHeight = debugInfoJsons.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB") == null ? "0" : debugInfoJsons.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB"); String legHeight = debugInfoJsonQuick.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB") == null ? "0" : debugInfoJsonQuick.getString("MissionCompleteAltitude_mm_RemoteOrHMI_FB");
//legHeight = "20"; //legHeight = "20";
//普通任务 //普通任务
if (TaskTypeEnum.COMMON.getCode().equals(taskjo.getString("task_type"))) { if (TaskTypeEnum.COMMON.getCode().equals(taskjo.getString("task_type"))) {
@@ -710,9 +586,9 @@ public class HomeServiceImpl implements HomeService {
String error = TaskSendBackStatusEnum.getName(resultflag); String error = TaskSendBackStatusEnum.getName(resultflag);
} }
} }
debugInfoJsons = qeryDebuggerInfoQuick(); qeryDebuggerInfoQuick();
//叉腿抬高动作已下发且高度为10或20且待机发送返程任务 //叉腿抬高动作已下发且高度为10或20且待机发送返程任务
if (((Integer.parseInt(legHeight) == 20)) && StrUtil.equals("0", debugInfoJsons.getString("PathFollow_Enable")) && "0".equals(taskjo.getString("step"))) { if (((Integer.parseInt(legHeight) == 20)) && StrUtil.equals("0", debugInfoJsonQuick.getString("PathFollow_Enable")) && "0".equals(taskjo.getString("step"))) {
createReturnTask(taskjo); createReturnTask(taskjo);
} }
} else { } else {
@@ -729,9 +605,9 @@ public class HomeServiceImpl implements HomeService {
String error = TaskSendBackStatusEnum.getName(resultflag); String error = TaskSendBackStatusEnum.getName(resultflag);
} }
} }
debugInfoJsons = qeryDebuggerInfoQuick(); qeryDebuggerInfoQuick();
//叉腿抬高动作已下发且高度为10或20且待机发送返程任务 //叉腿抬高动作已下发且高度为10或20且待机发送返程任务
if (((Integer.parseInt(legHeight) == 10)) && StrUtil.equals("0", debugInfoJsons.getString("PathFollow_Enable")) && "0".equals(taskjo.getString("step"))) { if (((Integer.parseInt(legHeight) == 10)) && StrUtil.equals("0", debugInfoJsonQuick.getString("PathFollow_Enable")) && "0".equals(taskjo.getString("step"))) {
createReturnTask(taskjo); createReturnTask(taskjo);
} }
} }
@@ -802,7 +678,160 @@ public class HomeServiceImpl implements HomeService {
//System.out.println("花费时间------------------------------------------------------------------------------------------*************************************************************************************************= totalTime = " + stopWatch.getTotalTimeMillis()); //System.out.println("花费时间------------------------------------------------------------------------------------------*************************************************************************************************= totalTime = " + stopWatch.getTotalTimeMillis());
} }
// public Map<String, Object> queryHomePage1(Map<String, String> jsonObject) {
// String button_code = "";
// String button_name = "";
// String agvrun_status_name = "";
// 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();
// try {
// //查询调试信息
// CompletableFuture.runAsync(this::qeryDebuggerInfo, pool);
// JSONObject tasking = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='01' and task_type!='2'").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!='2'").uniqueResult(0);
// JSONObject tasked = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_status='00'and task_type!='2' 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!='2'").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 && "2".equals(doingtaskjo.getString("task_type"))) {
// 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!='2' and date ='" + date + "'").getResultJSONArray(0);
// if (alltaskja.size() > 0) {
// JSONArray todaytaskja = WQLObject.getWQLObject("ST_TASK_INFO").query("is_delete= 0 and task_type!='2' 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", LangUtils.getMsgLanguage("OperationSuccess", null));
// returnjo.put("result", row);
// return returnjo;
// } catch (Exception e) {
// Log.error("通信失败3:" + e.getMessage());
// throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage());
// }
// }
// public void QueryDebuggerInfo2() { // public void QueryDebuggerInfo2() {
// debugInfoJson = new JSONObject(); // debugInfoJson = new JSONObject();
// Ros ros = RosUtil.getRos(); // Ros ros = RosUtil.getRos();

View File

@@ -24,6 +24,7 @@ import cn.hutool.core.util.StrUtil;
import edu.wpi.rail.jrosbridge.services.ServiceResponse; import edu.wpi.rail.jrosbridge.services.ServiceResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.agv.enu.TaskTypeEnum; import org.nl.agv.enu.TaskTypeEnum;
import org.nl.agv.service.TaskService; import org.nl.agv.service.TaskService;
@@ -44,15 +45,18 @@ import static org.nl.common.utils.LangUtils.getLanguage;
* @author zhanghouying * @author zhanghouying
* @date 2019-08-24 * @date 2019-08-24
*/ */
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@EnableScheduling @EnableScheduling
public class TaskServiceServiceImpl implements TaskService { public class TaskServiceServiceImpl implements TaskService {
public static JSONObject pointJson = new JSONObject(); public static JSONObject pointJson = new JSONObject();
/**
* 获取点位
*/
@Override @Override
public Map<String, Object> queryPoint(Map<String, String> jsonObject) { public Map<String, Object> queryPoint(Map<String, String> jsonObject) {
JSONObject jsonObject1 = new JSONObject();
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
try { try {
String rest_pointcode = ""; String rest_pointcode = "";
@@ -82,73 +86,20 @@ public class TaskServiceServiceImpl implements TaskService {
} }
arr.add(row); arr.add(row);
} }
jsonObject1.put("result_info", result_info);
returnjo.put("code", "1"); returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("QuerySuccess", null)); returnjo.put("desc", LangUtils.getMsgLanguage("QuerySuccess", null));
returnjo.put("rest_pointcode", rest_pointcode); returnjo.put("rest_pointcode", rest_pointcode);
returnjo.put("result", arr); returnjo.put("result", arr);
} catch (Exception ex) { } catch (Exception e) {
String error = ex.getMessage(); log.error("queryPoint-获取点位:{}",e.getMessage());
throw new BadRequestException(e.getMessage() == null ? "queryPoint:" + LangUtils.getMsgLanguage("CommunicationFail", null) :"queryPoint:" + e.getMessage());
} }
return returnjo; return returnjo;
} }
// @Override /**
// public Map<String, Object> confirmPoint1(Map<String, String> jsonObject) { * 下发任务
// String pointCode = jsonObject.get("point_code"); */
// JSONObject returnjo = new JSONObject();
// if (StrUtil.isEmpty(pointCode)) {
// throw new BadRequestException("站点不能为空!");
// }
// //查询未完成的指令有多少条
// int num = WQL.getWO("QAGVERROR").addParam("flag", "3").process().uniqueResult(0).getInteger("num");
// //查询最多的任务数量
// int maxTaskNum = WQLObject.getWQLObject("ST_SYSTEM_PARAM").query("1=1").uniqueResult(0).getInteger("max_task_num");
// if (num >= maxTaskNum) {
// returnjo.put("code", "1");
// returnjo.put("desc", "未执行的任务数量达到上限!");
// return returnjo;
// }
// JSONObject taskjo = new JSONObject();
// int seqNum = 1;
// String task_status = "00";
// String task_status_name = "生成未执行";
// //查询未完成最大的顺序号
// JSONObject taskrow = WQLObject.getWQLObject("ST_TASK_INFO").query("is_manualfinished=0", "seq_num desc").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(taskrow)) {
// seqNum = taskrow.getInteger("seq_num") + 1;
// }
// if (ObjectUtil.isEmpty(taskrow)) {
// //只有第一条下发给agv
// String a = "HMIStepOrRTPathFollow:0;" + pointCode + ";1#";
// ServiceResponse send = sendToAgvUtil.send(a);
// JSONObject resjo = JSONObject.parseObject(send.toString());
// if (StrUtil.equals("0", resjo.getString("result"))) {
// task_status_name = "执行中";
// task_status = "01";
// }
// JSONObject change = sendToAgvUtil.change(pointCode);
// //sendToAgvUtil.sendtask(change.getString("first"), change.getString("last"));
// }
// taskjo.put("task_uuid", IdUtil.simpleUUID());
// taskjo.put("task_code", CodeUtil.getNewCode("TASK_NO"));
// taskjo.put("task_status", task_status);
// taskjo.put("task_status_name", task_status_name);
// taskjo.put("next_point_code", pointCode);
// taskjo.put("task_type", "1");
// taskjo.put("is_delete", "0");
// taskjo.put("seq_num", seqNum);
// taskjo.put("date", DateUtil.today());
// taskjo.put("create_time", DateUtil.now());
// taskjo.put("is_agvfinished", "0");
// taskjo.put("is_manualfinished", "0");
// taskjo.put("create_by", SecurityUtils.getCurrentNickName());
// WQLObject.getWQLObject("ST_TASK_INFO").insert(taskjo);
// returnjo.put("code", "1");
// returnjo.put("desc", "新增成功!");
// return returnjo;
// }
@Override @Override
public Map<String, Object> confirmPoint(Map<String, String> jsonObject) { public Map<String, Object> confirmPoint(Map<String, String> jsonObject) {
String point_code = jsonObject.get("point_code"); String point_code = jsonObject.get("point_code");
@@ -256,9 +207,9 @@ public class TaskServiceServiceImpl implements TaskService {
returnjo.put("code", "1"); returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("OperationSuccess", null)); returnjo.put("desc", LangUtils.getMsgLanguage("OperationSuccess", null));
return returnjo; return returnjo;
} catch (Exception ex) { } catch (Exception e) {
String error = ex.getMessage(); log.error("confirmPoint-下发任务:{}",e.getMessage());
throw new BadRequestException(ex.getMessage()); throw new BadRequestException(e.getMessage() == null ? "confirmPoint:" + LangUtils.getMsgLanguage("CommunicationFail", null) : "confirmPoint:" + e.getMessage());
} }
} }
@@ -297,7 +248,7 @@ public class TaskServiceServiceImpl implements TaskService {
@Override @Override
public Map<String, Object> deleteTask(Map<String, String> jsonObject) { public Map<String, Object> deleteTask(Map<String, String> jsonObject) {
String task_num = (String) jsonObject.get("task_num"); String task_num = jsonObject.get("task_num");
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
if (StrUtil.isEmpty(task_num)) { if (StrUtil.isEmpty(task_num)) {
returnjo.put("code", "0"); returnjo.put("code", "0");
@@ -366,6 +317,62 @@ public class TaskServiceServiceImpl implements TaskService {
return returnjo; return returnjo;
} }
// @Override
// public Map<String, Object> confirmPoint1(Map<String, String> jsonObject) {
// String pointCode = jsonObject.get("point_code");
// JSONObject returnjo = new JSONObject();
// if (StrUtil.isEmpty(pointCode)) {
// throw new BadRequestException("站点不能为空!");
// }
// //查询未完成的指令有多少条
// int num = WQL.getWO("QAGVERROR").addParam("flag", "3").process().uniqueResult(0).getInteger("num");
// //查询最多的任务数量
// int maxTaskNum = WQLObject.getWQLObject("ST_SYSTEM_PARAM").query("1=1").uniqueResult(0).getInteger("max_task_num");
// if (num >= maxTaskNum) {
// returnjo.put("code", "1");
// returnjo.put("desc", "未执行的任务数量达到上限!");
// return returnjo;
// }
// JSONObject taskjo = new JSONObject();
// int seqNum = 1;
// String task_status = "00";
// String task_status_name = "生成未执行";
// //查询未完成最大的顺序号
// JSONObject taskrow = WQLObject.getWQLObject("ST_TASK_INFO").query("is_manualfinished=0", "seq_num desc").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(taskrow)) {
// seqNum = taskrow.getInteger("seq_num") + 1;
// }
// if (ObjectUtil.isEmpty(taskrow)) {
// //只有第一条下发给agv
// String a = "HMIStepOrRTPathFollow:0;" + pointCode + ";1#";
// ServiceResponse send = sendToAgvUtil.send(a);
// JSONObject resjo = JSONObject.parseObject(send.toString());
// if (StrUtil.equals("0", resjo.getString("result"))) {
// task_status_name = "执行中";
// task_status = "01";
// }
// JSONObject change = sendToAgvUtil.change(pointCode);
// //sendToAgvUtil.sendtask(change.getString("first"), change.getString("last"));
// }
// taskjo.put("task_uuid", IdUtil.simpleUUID());
// taskjo.put("task_code", CodeUtil.getNewCode("TASK_NO"));
// taskjo.put("task_status", task_status);
// taskjo.put("task_status_name", task_status_name);
// taskjo.put("next_point_code", pointCode);
// taskjo.put("task_type", "1");
// taskjo.put("is_delete", "0");
// taskjo.put("seq_num", seqNum);
// taskjo.put("date", DateUtil.today());
// taskjo.put("create_time", DateUtil.now());
// taskjo.put("is_agvfinished", "0");
// taskjo.put("is_manualfinished", "0");
// taskjo.put("create_by", SecurityUtils.getCurrentNickName());
// WQLObject.getWQLObject("ST_TASK_INFO").insert(taskjo);
// returnjo.put("code", "1");
// returnjo.put("desc", "新增成功!");
// return returnjo;
// }
// public static String getLanguage(String type, String langDefined) { // public static String getLanguage(String type, String langDefined) {
// String lang = StringUtils.isBlank(langDefined) ? LocaleContextHolder.getLocale().getLanguage() : langDefined; // String lang = StringUtils.isBlank(langDefined) ? LocaleContextHolder.getLocale().getLanguage() : langDefined;
// String name = ""; // String name = "";

View File

@@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
import com.esotericsoftware.minlog.Log; import com.esotericsoftware.minlog.Log;
import edu.wpi.rail.jrosbridge.services.ServiceResponse; import edu.wpi.rail.jrosbridge.services.ServiceResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.agv.enu.EnEnum; import org.nl.agv.enu.EnEnum;
import org.nl.agv.enu.LanguageEnum; import org.nl.agv.enu.LanguageEnum;
@@ -45,6 +46,7 @@ import static org.nl.common.utils.LangUtils.getLanguage;
* @author qinx * @author qinx
* @date 2019-08-24 * @date 2019-08-24
*/ */
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class VehicleInfoServiceImpl implements VehicleInfoService { public class VehicleInfoServiceImpl implements VehicleInfoService {
@@ -90,72 +92,77 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
return returnjo; return returnjo;
} }
@Override
public Map<String, Object> queryControlStatus(Map<String, String> jsonObject) {
return null;
}
/**
* 车辆控制操作
*/
@Override @Override
public Map<String, Object> Shut_down(Map<String, String> jsonObject) { public Map<String, Object> Shut_down(Map<String, String> jsonObject) {
ServiceResponse response = new ServiceResponse(); try {
// 1-关机、2-显示屏控制、3-TCS控制、4-RC控制、5-Joy控制 ServiceResponse response = new ServiceResponse();
if (ObjectUtil.isNotEmpty(jsonObject)) { // 1-关机、2-显示屏控制、3-TCS控制、4-RC控制、5-Joy控制
String enable = "0".equals(jsonObject.get("bool")) ? "false#" : "true#"; if (ObjectUtil.isNotEmpty(jsonObject)) {
VehicleOperateEnum status = VehicleOperateEnum.getType(jsonObject.get("type")); String enable = "0".equals(jsonObject.get("bool")) ? "false#" : "true#";
switch (status) { VehicleOperateEnum status = VehicleOperateEnum.getType(jsonObject.get("type"));
//关机 switch (status) {
case OFF: //关机
response = sendToAgvUtil.send("PowerOff"); case OFF:
break; response = sendToAgvUtil.send("PowerOff");
case SCREEN: break;
response = sendToAgvUtil.send("Remote_Or_HMI_Ctrl:" + enable); case SCREEN:
break; response = sendToAgvUtil.send("Remote_Or_HMI_Ctrl:" + enable);
case TCS: break;
response = sendToAgvUtil.send("CAD_Or_TCS_Ctrl:" + enable); case TCS:
break; response = sendToAgvUtil.send("CAD_Or_TCS_Ctrl:" + enable);
case SCHE: break;
response = sendToAgvUtil.send("Sche_JSON_Sche_Enable:" + enable); case SCHE:
break; response = sendToAgvUtil.send("Sche_JSON_Sche_Enable:" + enable);
case RC: break;
response = sendToAgvUtil.send("VehicleCtrlRealRCEnable:" + enable); case RC:
break; response = sendToAgvUtil.send("VehicleCtrlRealRCEnable:" + enable);
case JOY: break;
response = sendToAgvUtil.send("VehicleCtrlRealJoyEnable:" + enable); case JOY:
break; response = sendToAgvUtil.send("VehicleCtrlRealJoyEnable:" + enable);
//退出 break;
case QUITNOW: //退出
response = sendToAgvUtil.send("QuitNow"); case QUITNOW:
break; response = sendToAgvUtil.send("QuitNow");
//软启动(任务重置) break;
case REBORNINIT: //软启动(任务重置)
response = sendToAgvUtil.send("HMIRebornInitNow"); case REBORNINIT:
break; response = sendToAgvUtil.send("HMIRebornInitNow");
//跳过起点 break;
case STARTCHECK: //跳过起点
response = sendToAgvUtil.send("HMIStartCheckNow"); case STARTCHECK:
break; response = sendToAgvUtil.send("HMIStartCheckNow");
//重启 break;
case REBOOT: //重启
response = sendToAgvUtil.send("PowerReboot"); case REBOOT:
break; response = sendToAgvUtil.send("PowerReboot");
//全屏 break;
case FULL: //全屏
response = sendToAgvUtil.send("FullScreenNow"); case FULL:
break; response = sendToAgvUtil.send("FullScreenNow");
//跳过托盘检测 break;
case SKIPPLATE: //跳过托盘检测
response = sendToAgvUtil.send("SkipPlateCheckNow"); case SKIPPLATE:
break; response = sendToAgvUtil.send("SkipPlateCheckNow");
default: break;
break; default:
break;
}
} }
String code = "0".equals(response.toJsonObject().get("result").toString()) ? "1" : "0";
String desc = "0".equals(response.toJsonObject().get("result").toString()) ? LangUtils.getMsgLanguage("OperationSuccess", null) : LangUtils.getMsgLanguage("OperationFailed", null);
JSONObject returnjo = new JSONObject();
returnjo.put("code", code);
returnjo.put("desc", desc);
return returnjo;
} catch (Exception e) {
log.error("Shut_down-车辆控制操作:{}", e.getMessage());
throw new BadRequestException(e.getMessage() == null ? "Shut_down:" + LangUtils.getMsgLanguage("CommunicationFail", null) : "Shut_down:" + e.getMessage());
} }
String code = "0".equals(response.toJsonObject().get("result").toString()) ? "1" : "0";
String desc = "0".equals(response.toJsonObject().get("result").toString()) ? LangUtils.getMsgLanguage("OperationSuccess", null) : LangUtils.getMsgLanguage("OperationFailed", null);
JSONObject returnjo = new JSONObject();
returnjo.put("code", code);
returnjo.put("desc", desc);
return returnjo;
} }
@Override @Override
@@ -187,6 +194,9 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
return returnjo; return returnjo;
} }
/**
* 查询车辆状态
*/
@Override @Override
public Map<String, Object> queryVehicleStatus(Map<String, String> jsonObject) { public Map<String, Object> queryVehicleStatus(Map<String, String> jsonObject) {
JSONObject row = new JSONObject(); JSONObject row = new JSONObject();
@@ -210,8 +220,7 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
zh_working_status = getLanguage("Abnormal", "zh"); zh_working_status = getLanguage("Abnormal", "zh");
en_working_status = getLanguage("Abnormal", "en"); en_working_status = getLanguage("Abnormal", "en");
} }
// 车辆运行还是待机是PathFollow_Enable 1为运行 0为待机
// 车辆运行还是待机是PathFollow_Enable 1为运行 0为待机
String PathFollow_Enable = debugInfoJson.getString("PathFollow_Enable"); String PathFollow_Enable = debugInfoJson.getString("PathFollow_Enable");
if (StrUtil.equals(PathFollow_Enable, "0")) { if (StrUtil.equals(PathFollow_Enable, "0")) {
vehicle_status = getLanguage("Standby", null); vehicle_status = getLanguage("Standby", null);
@@ -255,8 +264,8 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
returnjo.put("result", row); returnjo.put("result", row);
return returnjo; return returnjo;
} catch (Exception e) { } catch (Exception e) {
Log.error("通信失败2:" + e.getMessage()); log.error("queryVehicleStatus-查询车辆状态:{}", e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage()); throw new BadRequestException(e.getMessage() == null ? "queryVehicleStatus:" + LangUtils.getMsgLanguage("CommunicationFail", null) : "queryVehicleStatus:" + e.getMessage());
} }
} }
@@ -273,7 +282,7 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
String speedStop_status = "0"; String speedStop_status = "0";
// 安全触边 // 安全触边
String securityTentacle_status = "0"; String securityTentacle_status = "0";
// 超声波报警 // 传感器停车
String ultrasonic_status = "0"; String ultrasonic_status = "0";
//ObstacleTouchState bit0 为 叉腿端部的安全开关触发信号 1 触发 0 未触发 //ObstacleTouchState bit0 为 叉腿端部的安全开关触发信号 1 触发 0 未触发
//ObstacleTouchState bit1 为 触边条安全开关触发信号 1 触发 0 未触发 //ObstacleTouchState bit1 为 触边条安全开关触发信号 1 触发 0 未触发
@@ -282,56 +291,51 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
//ObstacleTouchState bit4 为导航雷达pfr2000或NAV350 防护触发信号 1 触发 0 未触发 //ObstacleTouchState bit4 为导航雷达pfr2000或NAV350 防护触发信号 1 触发 0 未触发
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
JSONObject row = new JSONObject(); JSONObject row = new JSONObject();
try { JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson;
JSONObject debugInfoJson = HomeServiceImpl.debugInfoJson; int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState");
int ObstacleTouchState = debugInfoJson.getInteger("ObstacleTouchState"); //int ObstacleTouchState = 524305;
//int ObstacleTouchState = 524305; //todo 用,正式需改回
//todo 用,正式需改回 int ObstacleDetectState = debugInfoJson.getInteger("ObstacleDetectState");
int ObstacleDetectState = debugInfoJson.getInteger("ObstacleDetectState"); int VehicleCtrlRealCustomStateByte0 = debugInfoJson.getInteger("VehicleCtrlRealCustomStateByte0");
int VehicleCtrlRealCustomStateByte0 = debugInfoJson.getInteger("VehicleCtrlRealCustomStateByte0"); //避障停车
//避障停车 if (ObstacleDetectState % 2 == 1) {
if (ObstacleDetectState % 2 == 1) { speedStop_status = "1";
speedStop_status = "1";
}
//避障减速
if ((ObstacleDetectState >> 1) % 2 == 1) {
speedReduction_status = "1";
}
//todo 测试,待调试修改回来
//复位按钮
// if(VehicleCtrlRealCustomStateByte0 % 2 == 1) {
// resetButton_status = "1";
// }
//todo 超声波报警测试,待调试修改回来
if (ObstacleTouchState % 2 == 1) {
ultrasonic_status = "1";
}
//安全触边
if ((ObstacleTouchState >> 1) % 2 == 1) {
securityTentacle_status = "1";
}
////急停按钮
if ((ObstacleTouchState >> 2) % 2 == 1) {
stopButton_status = "1";
}
// if ((ObstacleTouchState >> 3) % 2 == 1) {
// }
// if ((ObstacleTouchState >> 4) % 2 == 1) {
// }
row.put("stopButton_status", stopButton_status);
row.put("speedReduction_status", speedReduction_status);
row.put("resetButton_status", resetButton_status);
row.put("speedStop_status", speedStop_status);
row.put("ultrasonic_status", ultrasonic_status);
row.put("securityTentacle_status", securityTentacle_status);
returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("QuerySuccess", null));
returnjo.put("result", row);
return returnjo;
} catch (Exception e) {
Log.error("通信失败querrySensor:" + e.getMessage());
throw new BadRequestException(e.getMessage() == null ? LangUtils.getMsgLanguage("CommunicationFail", null) : e.getMessage());
} }
//避障减速
if ((ObstacleDetectState >> 1) % 2 == 1) {
speedReduction_status = "1";
}
//todo 测试,待调试修改回来
//复位按钮
// if(VehicleCtrlRealCustomStateByte0 % 2 == 1) {
// resetButton_status = "1";
// }
//todo 传感器停车,待调试修改回来
if (ObstacleTouchState % 2 == 1) {
ultrasonic_status = "1";
}
//安全触边
if ((ObstacleTouchState >> 1) % 2 == 1) {
securityTentacle_status = "1";
}
////急停按钮
if ((ObstacleTouchState >> 2) % 2 == 1) {
stopButton_status = "1";
}
// if ((ObstacleTouchState >> 3) % 2 == 1) {
// }
// if ((ObstacleTouchState >> 4) % 2 == 1) {
// }
row.put("stopButton_status", stopButton_status);
row.put("speedReduction_status", speedReduction_status);
row.put("resetButton_status", resetButton_status);
row.put("speedStop_status", speedStop_status);
row.put("ultrasonic_status", ultrasonic_status);
row.put("securityTentacle_status", securityTentacle_status);
returnjo.put("code", "1");
returnjo.put("desc", LangUtils.getMsgLanguage("QuerySuccess", null));
returnjo.put("result", row);
return returnjo;
} }
@Override @Override
@@ -390,6 +394,12 @@ public class VehicleInfoServiceImpl implements VehicleInfoService {
return returnjo; return returnjo;
} }
@Override
public Map<String, Object> queryControlStatus(Map<String, String> jsonObject) {
return null;
}
// public static String getLanguage(String type, String langDefined) { // public static String getLanguage(String type, String langDefined) {
// String lang = StringUtils.isBlank(langDefined) ? LocaleContextHolder.getLocale().getLanguage() : langDefined; // String lang = StringUtils.isBlank(langDefined) ? LocaleContextHolder.getLocale().getLanguage() : langDefined;
// String name = ""; // String name = "";

View File

@@ -34,7 +34,6 @@ public class RosUtil{
*/ */
public static Map<String,String> getRosHostInfo() { public static Map<String,String> getRosHostInfo() {
Map<String,String> map = new HashMap<>(); Map<String,String> map = new HashMap<>();
try {
String rosHost = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ros_host").getValue(); String rosHost = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ros_host").getValue();
String rosPort = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ros_port").getValue(); String rosPort = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ros_port").getValue();
String javaPort = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("java_port").getValue(); String javaPort = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("java_port").getValue();
@@ -43,11 +42,6 @@ public class RosUtil{
map.put("javaPort", javaPort); map.put("javaPort", javaPort);
map.put("url", map.get("hostName") + ":" + map.get("port")); map.put("url", map.get("hostName") + ":" + map.get("port"));
map.put("javaUrl", "http://"+map.get("hostName") + ":" + map.get("javaPort")); map.put("javaUrl", "http://"+map.get("hostName") + ":" + map.get("javaPort"));
}
catch(Exception e) {
log.error("获取Ros域名信息失败");
throw new BadRequestException(e.getMessage());
}
return map; return map;
} }
} }

View File

@@ -242,7 +242,14 @@ public class OnlineUserService{
public Map<String,Object> login(Map paramMap) { public Map<String,Object> login(Map paramMap) {
JSONObject returnjo = new JSONObject(); JSONObject returnjo = new JSONObject();
//查询调试信息 //查询调试信息
CompletableFuture.runAsync(this::queryDebugInfo, pool); CompletableFuture.runAsync(() -> {
try {
queryDebugInfo();
} catch (Exception e) {
e.printStackTrace();
//记录异常日志
}
}, pool);
// 密码解密 - 前端的加密规则: encrypt // 密码解密 - 前端的加密规则: encrypt
AuthUserDto authUser = JSON.toJavaObject((JSON) JSON.toJSON(paramMap), AuthUserDto.class); AuthUserDto authUser = JSON.toJavaObject((JSON) JSON.toJSON(paramMap), AuthUserDto.class);
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword());

View File

@@ -23,9 +23,9 @@ spring:
task: task:
pool: pool:
# 核心线程池大小 # 核心线程池大小
core-pool-size: 10 core-pool-size: 20
# 最大线程数 # 最大线程数
max-pool-size: 30 max-pool-size: 50
# 活跃时间 # 活跃时间
keep-alive-seconds: 60 keep-alive-seconds: 60
# 队列容量 # 队列容量
@@ -47,7 +47,7 @@ rsa:
private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A== private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
logging: logging:
file: file:
path: C:\logs\nlwms\ path: /home/generallu/apt/
demo: demo:
monitor: monitor:
server-url: https://www.demo-monitor.com server-url: https://www.demo-monitor.com

View File

@@ -16,77 +16,15 @@ https://juejin.cn/post/6844903775631572999
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/> <springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/> <property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置--> <!--引入默认的一些设置-->
<!-- <include resource="log/AutoCreateInst.xml"/>-->
<!-- <appender name="esLogAppender" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
<url>http://47.96.133.178:8200/_bulk</url>
<index>${esIndex}</index>
<type>mes_log</type>
<loggerName>es-logger</loggerName> &lt;!&ndash; optional &ndash;&gt;
<errorLoggerName>es-error-logger</errorLoggerName> &lt;!&ndash; optional &ndash;&gt;
<connectTimeout>30000</connectTimeout> &lt;!&ndash; optional (in ms, default 30000) &ndash;&gt;
<errorsToStderr>false</errorsToStderr> &lt;!&ndash; optional (default false) &ndash;&gt;
<includeCallerData>false</includeCallerData> &lt;!&ndash; optional (default false) &ndash;&gt;
<logsToStderr>false</logsToStderr> &lt;!&ndash; optional (default false) &ndash;&gt;
<maxQueueSize>104857600</maxQueueSize> &lt;!&ndash; optional (default 104857600) &ndash;&gt;
<maxRetries>3</maxRetries> &lt;!&ndash; optional (default 3) &ndash;&gt;
<readTimeout>30000</readTimeout> &lt;!&ndash; optional (in ms, default 30000) &ndash;&gt;
<sleepTime>250</sleepTime> &lt;!&ndash; optional (in ms, default 250) &ndash;&gt;
<rawJsonMessage>false</rawJsonMessage> &lt;!&ndash; optional (default false) &ndash;&gt;
<includeMdc>false</includeMdc> &lt;!&ndash; optional (default false) &ndash;&gt;
<maxMessageSize>20000</maxMessageSize> &lt;!&ndash; optional (default -1 &ndash;&gt;
&lt;!&ndash; <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication" /> &lt;!&ndash; optional &ndash;&gt;&ndash;&gt;
<properties>
<property>
<name>system</name>
<value>lms</value>
</property>
<property>
<name>traceId</name>
<value>%X{traceId}</value>
</property>
<property>
<name>logLevel</name>
<value>%level</value>
</property>
<property>
<name>requestMethod</name>
<value>%X{requestMethod}</value>
</property>
<property>
<name>requestTime</name>
<value>%d{yyyy-MM-dd HH:mm:ss.SSS}</value>
</property>
<property>
<name>requestIp</name>
<value>%X{requestIp}</value>
</property>
<property>
<name>thread</name>
<value>%thread</value>
</property>
<property>
<name>logger</name>
<value>%logger</value>
</property>
</properties>
<headers>
<header>
<name>Content-Type</name>
<value>application/json</value>
</header>
</headers>
</appender>-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi> <encoder>
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
<!-- <charset>${log.charset}</charset>-->
</encoder> </encoder>
</appender> </appender>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="${logPath}"/> <property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 --> <!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
@@ -99,29 +37,23 @@ https://juejin.cn/post/6844903775631572999
<!--所有日志最多占多大容量--> <!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap> <totalSizeCap>20GB</totalSizeCap>
</rollingPolicy> </rollingPolicy>
<!-- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">--> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符--> <!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder> </encoder>
</appender> </appender>
<!--异步到文件--> <!--异步到文件-->
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender"> <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold> <discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize> <queueSize>500</queueSize>
<appender-ref ref="FILE"/> <appender-ref ref="FILE"/>
</appender> </appender>
<!--开发环境:打印控制台--> <!--开发环境:打印控制台-->
<springProfile name="dev"> <springProfile name="dev">
<root level="info"> <root level="DEBUG">
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
<!-- <appender-ref ref="esLogAppender"/>-->
</root> </root>
<logger name="jdbc.audit" level="ERROR" additivity="false"> <logger name="jdbc.audit" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
</logger> </logger>
@@ -144,23 +76,32 @@ https://juejin.cn/post/6844903775631572999
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
</logger> </logger>
</springProfile> </springProfile>
<!--测试环境:打印控制台-->
<springProfile name="test">
<!-- 打印sql -->
<logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE"/>
</logger>
<root level="info">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod"> <springProfile name="prod">
<root level="warn"> <root level="ERROR">
<appender-ref ref="CONSOLE"/> <appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/> <appender-ref ref="asyncFileAppender"/>
</root> </root>
<logger name="jdbc.audit" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="springfox.documentation" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="jdbc.sqltiming" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.jinterop" level="ERROR" additivity="false">
<appender-ref ref="asyncFileAppender"/>
</logger>
<logger name="org.nl.modules.schedule" level="OFF"> </logger>
</springProfile> </springProfile>
</configuration> </configuration>

View File

@@ -4,8 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.nl</groupId> <artifactId>gt_agv_plus</artifactId>
<artifactId>hl_one_wms</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<name>开发平台</name> <name>开发平台</name>