This commit is contained in:
2022-12-12 21:18:56 +08:00
parent c31a99bce9
commit 2451151303
17 changed files with 90 additions and 91 deletions

View File

View File

@@ -362,7 +362,7 @@ public class AgvServiceImpl implements AgvService {
String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
JSONObject jo = new JSONObject();
jo.put("id",code);
jo.put("id", code);
agvurl = agvurl + ":" + agvport + "/markComplete";
log.info("关闭agv运单序列请求:{}", agvurl);
@@ -555,26 +555,26 @@ public class AgvServiceImpl implements AgvService {
String state = arm_info.getString("task_status");
String state_name = null;
if(StrUtil.equals(state,"0")){
if (StrUtil.equals(state, "0")) {
state_name = "NONE";
} else if(StrUtil.equals(state,"1")){
} else if (StrUtil.equals(state, "1")) {
state_name = "WAITING";
} else if(StrUtil.equals(state,"2")) {
} else if (StrUtil.equals(state, "2")) {
state_name = "RUNNING";
} else if(StrUtil.equals(state,"3")){
} else if (StrUtil.equals(state, "3")) {
state_name = "SUSPENDED";
} else if(StrUtil.equals(state,"4")){
} else if (StrUtil.equals(state, "4")) {
state_name = "COMPLETED";
} else if(StrUtil.equals(state,"5")){
} else if (StrUtil.equals(state, "5")) {
state_name = "FAILED";
} else if(StrUtil.equals(state,"6")){
} else if (StrUtil.equals(state, "6")) {
state_name = "CANCELED";
}
String energyLevel = String.valueOf(rbk_report.getDouble("battery_level"));
String transportOrder = current_order.getString("id");
Instruction inst = instructionService.findByCodeFromCache(transportOrder);
if(!ObjectUtil.isEmpty(inst)){
if (!ObjectUtil.isEmpty(inst)) {
transportOrder = inst.getTask_code();
} else {
transportOrder = "";
@@ -628,7 +628,6 @@ public class AgvServiceImpl implements AgvService {
}
@Override
public HttpResponse queryXZAgvInstStatus(String instCode) {
@@ -719,8 +718,8 @@ public class AgvServiceImpl implements AgvService {
String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
JSONObject jo = new JSONObject();
jo.put("id",instCode);
jo.put("disableVehicle",false);
jo.put("id", instCode);
jo.put("disableVehicle", false);
agvurl = agvurl + ":" + agvport + "/terminate";
log.info("删除agv指令请求agvurl:{}", agvurl);
HttpResponse result = HttpRequest.post(agvurl)
@@ -1507,15 +1506,15 @@ public class AgvServiceImpl implements AgvService {
String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
agvurl = agvurl + ":" + agvport + "/setOrder";
System.out.println("请求地址为:"+agvurl);
System.out.println("请求地址为:" + agvurl);
HttpResponse result = HttpRequest.post(agvurl)
.body(String.valueOf(jo))//表单内容
.timeout(20000)//超时,毫秒
.execute();
System.out.println("返回结果为:"+result);
System.out.println("返回结果为:" + result);
log.info(agvurl);
log.info("任务号:{},指令号{},状态{},下发agv订单序列反馈:{}", inst.getTask_code(), inst.getInstruction_code(), result.getStatus(), result.body());
logServer.log(inst.getTask_code(),"sendOrderSequencesToXZ","info","",result.body(), String.valueOf(result.getStatus()),agvurl,inst.getVehicle_code());
logServer.log(inst.getTask_code(), "sendOrderSequencesToXZ", "info", "指令号:" + inst.getInstruction_code(), result.body(), String.valueOf(result.getStatus()), agvurl, inst.getVehicle_code());
return result;
} else {
return null;
@@ -1575,87 +1574,87 @@ public class AgvServiceImpl implements AgvService {
JSONArray ja = new JSONArray();
JSONObject jo = new JSONObject();
jo.put("blockId", IdUtil.simpleUUID());
jo.put("location",inst.getStart_point_code() + "IN");
jo.put("operation","script");
jo.put("id",inst.getStart_point_code() + "IN");
jo.put("script_name","userpy/interact.py");
jo.put("location", inst.getStart_point_code() + "IN");
jo.put("operation", "script");
jo.put("id", inst.getStart_point_code() + "IN");
jo.put("script_name", "userpy/interact.py");
JSONObject script_args = new JSONObject();
script_args.put("addr",addr);
script_args.put("addr", addr);
JSONObject data = new JSONObject();
JSONObject reach = new JSONObject();
reach.put("task_code",inst.getInstruction_code());
reach.put("address",inst.getStart_point_code() + "IN");
data.put("reach",reach);
script_args.put("data",data);
script_args.put("protocol","HTTP");
jo.put("script_args",script_args);
reach.put("task_code", inst.getInstruction_code());
reach.put("address", inst.getStart_point_code() + "IN");
data.put("reach", reach);
script_args.put("data", data);
script_args.put("protocol", "HTTP");
jo.put("script_args", script_args);
ja.add(jo);
JSONObject jo1 = new JSONObject();
jo1.put("blockId", IdUtil.simpleUUID());
jo1.put("location",inst.getStart_point_code());
jo1.put("operation","JackLoad");
jo1.put("location", inst.getStart_point_code());
jo1.put("operation", "JackLoad");
ja.add(jo1);
JSONObject jo2 = new JSONObject();
jo2.put("blockId", IdUtil.simpleUUID());
jo2.put("location",inst.getStart_point_code() + "OUT");
jo2.put("operation","script");
jo2.put("id",inst.getStart_point_code() + "OUT");
jo2.put("script_name","userpy/interact.py");
jo2.put("location", inst.getStart_point_code() + "OUT");
jo2.put("operation", "script");
jo2.put("id", inst.getStart_point_code() + "OUT");
jo2.put("script_name", "userpy/interact.py");
JSONObject script_args2 = new JSONObject();
script_args2.put("addr",addr);
script_args2.put("addr", addr);
JSONObject data2 = new JSONObject();
JSONObject reach2 = new JSONObject();
reach2.put("task_code",inst.getInstruction_code());
reach2.put("address",inst.getStart_point_code() + "OUT");
data2.put("reach",reach2);
script_args2.put("data",data2);
script_args2.put("protocol","HTTP");
jo2.put("script_args",script_args2);
reach2.put("task_code", inst.getInstruction_code());
reach2.put("address", inst.getStart_point_code() + "OUT");
data2.put("reach", reach2);
script_args2.put("data", data2);
script_args2.put("protocol", "HTTP");
jo2.put("script_args", script_args2);
ja.add(jo2);
JSONObject jo3 = new JSONObject();
jo3.put("blockId", IdUtil.simpleUUID());
jo3.put("location",inst.getNext_point_code() + "IN");
jo3.put("operation","script");
jo3.put("id",inst.getNext_point_code() + "IN");
jo3.put("script_name","userpy/interact.py");
jo3.put("location", inst.getNext_point_code() + "IN");
jo3.put("operation", "script");
jo3.put("id", inst.getNext_point_code() + "IN");
jo3.put("script_name", "userpy/interact.py");
JSONObject script_args3 = new JSONObject();
script_args3.put("addr",addr);
script_args3.put("addr", addr);
JSONObject data3 = new JSONObject();
JSONObject reach3 = new JSONObject();
reach3.put("task_code",inst.getInstruction_code());
reach3.put("address",inst.getNext_point_code() + "IN");
data3.put("reach",reach3);
script_args3.put("data",data3);
script_args3.put("protocol","HTTP");
jo3.put("script_args",script_args3);
reach3.put("task_code", inst.getInstruction_code());
reach3.put("address", inst.getNext_point_code() + "IN");
data3.put("reach", reach3);
script_args3.put("data", data3);
script_args3.put("protocol", "HTTP");
jo3.put("script_args", script_args3);
ja.add(jo3);
JSONObject jo4 = new JSONObject();
jo4.put("blockId",IdUtil.simpleUUID());
jo4.put("location",inst.getNext_point_code());
jo4.put("operation","JackUnload");
jo4.put("blockId", IdUtil.simpleUUID());
jo4.put("location", inst.getNext_point_code());
jo4.put("operation", "JackUnload");
ja.add(jo4);
JSONObject jo5 = new JSONObject();
jo5.put("blockId", IdUtil.simpleUUID());
jo5.put("location",inst.getNext_point_code() + "OUT");
jo5.put("operation","script");
jo5.put("id",inst.getNext_point_code() + "OUT");
jo5.put("script_name","userpy/interact.py");
jo5.put("location", inst.getNext_point_code() + "OUT");
jo5.put("operation", "script");
jo5.put("id", inst.getNext_point_code() + "OUT");
jo5.put("script_name", "userpy/interact.py");
JSONObject script_args5 = new JSONObject();
script_args5.put("addr",addr);
script_args5.put("addr", addr);
JSONObject data5 = new JSONObject();
JSONObject reach5 = new JSONObject();
reach5.put("task_code",inst.getInstruction_code());
reach5.put("address",inst.getNext_point_code() + "OUT");
data5.put("reach",reach5);
script_args5.put("data",data5);
script_args5.put("protocol","HTTP");
jo5.put("script_args",script_args5);
reach5.put("task_code", inst.getInstruction_code());
reach5.put("address", inst.getNext_point_code() + "OUT");
data5.put("reach", reach5);
script_args5.put("data", data5);
script_args5.put("protocol", "HTTP");
jo5.put("script_args", script_args5);
ja.add(jo5);
System.out.println(ja);
return ja;
return ja;
}
@Override

View File

@@ -20,6 +20,7 @@ import org.nl.acs.ext.wms.service.AcsToWmsService;
import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.log.service.LogServer;
import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.opc.WcsConfig;
@@ -59,6 +60,8 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class);
@Autowired
AcsConfigService acsConfigService = SpringContextHolder.getBean(AcsConfigService.class);
@Autowired
LogServer logServer = SpringContextHolder.getBean(LogServer.class);
String container;
String container_type_desc;
String last_container_type_desc;
@@ -212,13 +215,13 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
String param = "";
if (type == 1){
param = "Application_GVL_AGV_To_AGV_number_Fr_Command";
param = param.replace("number", device_code).replace("\"", "");
param = param.replace("number", this.getDevice().getDevice_code()).replace("\"", "");
} else if (type == 2){
param = "Application_GVL_AGV_To_AGV_number_Fr_Target";
param = param.replace("number", device_code).replace("\"", "");
param = param.replace("number", this.getDevice().getDevice_code()).replace("\"", "");
} else if (type == 3){
param = "Application_GVL_AGV_To_AGV_number_Fr_TaskNo";
param = param.replace("number", device_code).replace("\"", "");
param = param.replace("number", this.getDevice().getDevice_code()).replace("\"", "");
}
String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
+ "." + param;
@@ -226,8 +229,9 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
Server server = ReadUtil.getServer(opcservcerid);
Map<String, Object> itemMap = new HashMap<String, Object>();
itemMap.put(to_param, value);
ReadUtil.write(itemMap, server);
logServer.log("kong", "write", String.valueOf(type), param.toString(), String.valueOf(param), "200", "", "");
}
protected void thingToNothing() {

View File

@@ -15,7 +15,6 @@ import org.nl.exception.BadRequestException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
@@ -80,9 +79,9 @@ public class AgvWaitUtil {
standardCoveyorControlDeviceDriver.writing(1, "0");
feedMap.put("feedbackStatus", "applyTake");
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = String.valueOf(feedback.get("responseMessage"));
String responseMessage = String.valueOf(feedback.get("responseMessage"));
if (responseCode == 0) {
feedback.put("feedbackStatus", "taking");
acsToWmsZDService.taskFeedback(feedMap);
@@ -125,8 +124,7 @@ public class AgvWaitUtil {
feedMap.put("feedbackStatus", "takeFinish");
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = (String) feedback.get("responseMessage");
String responseMessage = (String.valueOf(feedback.get("responseMessage")));
if (responseCode == 0) {
map.put("status", 200);
map.put("message", "请求成功");
@@ -154,8 +152,7 @@ public class AgvWaitUtil {
feedMap.put("feedbackStatus", "takeFinish");
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = (String) feedback.get("responseMessage");
String responseMessage = (String.valueOf(feedback.get("responseMessage")));
if (responseCode == 0) {
map.put("status", 200);
map.put("message", "请求成功");
@@ -196,7 +193,7 @@ public class AgvWaitUtil {
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = (String) feedback.get("responseMessage");
String responseMessage = (String.valueOf(feedback.get("responseMessage")));
if (responseCode == 0) {
feedback.put("feedbackStatus", "puting");
acsToWmsZDService.taskFeedback(feedMap);
@@ -230,7 +227,7 @@ public class AgvWaitUtil {
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = (String) feedback.get("responseMessage");
String responseMessage = (String.valueOf(feedback.get("responseMessage")));
if (responseCode == 0) {
feedback.put("feedbackStatus", "puting");
acsToWmsZDService.taskFeedback(feedMap);
@@ -275,7 +272,7 @@ public class AgvWaitUtil {
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = (String) feedback.get("responseMessage");
String responseMessage = (String.valueOf(feedback.get("responseMessage")));
if (responseCode == 0) {
map.put("status", 200);
map.put("message", "请求成功");
@@ -303,8 +300,7 @@ public class AgvWaitUtil {
feedMap.put("feedbackStatus", "putFinish");
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
int responseCode = Integer.parseInt(String.valueOf(feedback.get("responseCode")));
String responseMessage = (String) feedback.get("responseMessage");
String responseMessage = (String.valueOf(feedback.get("responseMessage")));
if (responseCode == 0) {
map.put("status", 200);
map.put("message", "请求成功");

View File

@@ -39,6 +39,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
logServer.log("", "waitpointRequest", "erro", param.toString(), String.valueOf(map), "400", "api/agv/waitpointRequest", "");
throw new BadRequestException("请求失败,指令为空!");
}
logServer.log(inst_code, "waitpointRequest", "info", param.toString(), String.valueOf(map) + "请求等待点!", "200", "api/agv/waitpointRequest", "");
String task_code = instructionDto.getTask_code();
Map<String, Object> feedMap = new HashMap();
feedMap.put("taskCode", task_code);
@@ -51,13 +52,13 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
if (start_device_code.equals(deviceCodeNow)) {
return agvWaitUtil.waitInGet(deviceCodeNow, feedMap, param);
} else if (next_device_code.equals(deviceCodeNow)) {
return agvWaitUtil.waitOutGet(deviceCodeNow, feedMap, param);
return agvWaitUtil.waitInPut(deviceCodeNow, feedMap, param);
}
}
if (address.contains("OUT")) {
String deviceCodeNow = address.substring(0, address.length() - 3);
if (start_device_code.equals(deviceCodeNow)) {
return agvWaitUtil.waitInPut(deviceCodeNow, feedMap, param);
return agvWaitUtil.waitOutGet(deviceCodeNow, feedMap, param);
} else if (next_device_code.equals(deviceCodeNow)) {
return agvWaitUtil.waitOutPut(deviceCodeNow, feedMap, param);
}
@@ -65,6 +66,6 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
map.put("status", 400);
map.put("message", "请求失败,IN OUT 站点错误!");
logServer.log(task_code, "waitpointRequest", "erro", param.toString(), String.valueOf(map), "400", "api/agv/waitpointRequest", instructionDto.getVehicle_code());
throw new BadRequestException("请求失败,终点位置无货!");
throw new BadRequestException("请求失败,IN OUT 站点错误!");
}
}

View File

@@ -909,11 +909,11 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
List<RouteLineDto> shortPathsList = routeLineService.getShortPathLines(entity.getStart_device_code(), entity.getNext_device_code(), entity.getRoute_plan_code());
String type = shortPathsList.get(0).getType();
// != 0 为agv任务
// if (!StrUtil.equals(type, "0")) {
// if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.AGVTYPE).toString(), "3")) {
// agvService.markComplete(entity.getTask_code());
// }
// }
if (!StrUtil.equals(type, "0")) {
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.AGVTYPE).toString(), "3")) {
agvService.markComplete(entity.getTask_code());
}
}
}
@Override

View File

@@ -22,11 +22,10 @@ public class AutoCleanLog {
// 0 0/1 0,1 * * ? 每天0-1点执行间隔10分钟一次
//sys_log
//delete from sys_log where DATE(create_time) <= DATE(DATE_SUB(NOW(),INTERVAL 30 day)) limit 10;
WQLObject logTab = WQLObject.getWQLObject("sys_log");
WQLObject logTab = WQLObject.getWQLObject("acs_log");
int days = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.AutoCleanDays));
logTab.delete("DATE(create_time) <= DATE(DATE_SUB(NOW(),INTERVAL " + days + " day)) limit 50");
log.info("自动清理日志执行成功...!");
}
}