opt:优化全局头部状态栏接口显示
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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("查询首页")
|
||||||
|
|||||||
@@ -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");
|
|
||||||
// 执行其他操作...
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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();
|
||||||
/**
|
/**
|
||||||
* 查询首页
|
* 查询首页
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
@@ -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();
|
||||||
|
|||||||
@@ -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 = "";
|
||||||
|
|||||||
@@ -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 = "";
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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> <!– optional –>
|
|
||||||
<errorLoggerName>es-error-logger</errorLoggerName> <!– optional –>
|
|
||||||
<connectTimeout>30000</connectTimeout> <!– optional (in ms, default 30000) –>
|
|
||||||
<errorsToStderr>false</errorsToStderr> <!– optional (default false) –>
|
|
||||||
<includeCallerData>false</includeCallerData> <!– optional (default false) –>
|
|
||||||
<logsToStderr>false</logsToStderr> <!– optional (default false) –>
|
|
||||||
<maxQueueSize>104857600</maxQueueSize> <!– optional (default 104857600) –>
|
|
||||||
<maxRetries>3</maxRetries> <!– optional (default 3) –>
|
|
||||||
<readTimeout>30000</readTimeout> <!– optional (in ms, default 30000) –>
|
|
||||||
<sleepTime>250</sleepTime> <!– optional (in ms, default 250) –>
|
|
||||||
<rawJsonMessage>false</rawJsonMessage> <!– optional (default false) –>
|
|
||||||
<includeMdc>false</includeMdc> <!– optional (default false) –>
|
|
||||||
<maxMessageSize>20000</maxMessageSize> <!– optional (default -1 –>
|
|
||||||
<!– <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication" /> <!– optional –>–>
|
|
||||||
<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>
|
||||||
|
|||||||
3
pom.xml
3
pom.xml
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user