opt:中鼎842优化
This commit is contained in:
@@ -209,7 +209,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
}
|
}
|
||||||
//任务完毕
|
//任务完毕
|
||||||
//(无车id及状态)
|
//(无车id及状态)
|
||||||
else if (phase == 0x14) {
|
else if (phase == 0x0A) {
|
||||||
if (ObjectUtil.isEmpty(inst)) {
|
if (ObjectUtil.isEmpty(inst)) {
|
||||||
log.info("未找到指令号{}对应的指令", ikey);
|
log.info("未找到指令号{}对应的指令", ikey);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -250,9 +250,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
standardOrdinarySiteDeviceDriver.setIndex(index);
|
standardOrdinarySiteDeviceDriver.setIndex(index);
|
||||||
standardOrdinarySiteDeviceDriver.setInst(inst);
|
standardOrdinarySiteDeviceDriver.setInst(inst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(data)) {
|
if (ObjectUtil.isNotEmpty(data)) {
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + Bytes2HexString(data));
|
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + Bytes2HexString(data));
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ import org.nl.system.service.dict.ISysDictService;
|
|||||||
import org.nl.system.service.dict.dao.Dict;
|
import org.nl.system.service.dict.dao.Dict;
|
||||||
import org.nl.system.service.param.ISysParamService;
|
import org.nl.system.service.param.ISysParamService;
|
||||||
import org.nl.config.SpringContextHolder;
|
import org.nl.config.SpringContextHolder;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -193,17 +194,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
|
|
||||||
if (agvaddr != 0) {
|
if (agvaddr != 0) {
|
||||||
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||||
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
device_code = old_device_code;
|
||||||
if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) {
|
|
||||||
String[] point = old_device_code.split(commonFinalParam.getBARRE());
|
|
||||||
device_code = point[0];
|
|
||||||
} else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) {
|
|
||||||
String[] point = old_device_code.split("\\.");
|
|
||||||
device_code = point[0];
|
|
||||||
emptyNum = point[1];
|
|
||||||
} else {
|
|
||||||
device_code = old_device_code;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
device = deviceAppService.findDeviceByCode(device_code);
|
device = deviceAppService.findDeviceByCode(device_code);
|
||||||
|
|
||||||
@@ -238,17 +229,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||||
if (agvaddr != 0) {
|
if (agvaddr != 0) {
|
||||||
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||||
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
|
||||||
if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) {
|
|
||||||
String[] point = old_device_code.split(commonFinalParam.getBARRE());
|
|
||||||
device_code = point[0];
|
|
||||||
} else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) {
|
|
||||||
String[] point = old_device_code.split("\\.");
|
|
||||||
device_code = point[0];
|
|
||||||
emptyNum = point[1];
|
|
||||||
} else {
|
|
||||||
device_code = old_device_code;
|
device_code = old_device_code;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
||||||
@@ -297,28 +280,38 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
.build();
|
.build();
|
||||||
logDto3.setLog_level(4);
|
logDto3.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto3);
|
luceneExecuteLogService.deviceExecuteLog(logDto3);
|
||||||
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
if(!StringUtils.isEmpty(param3.getString("taskCode")) && !param3.getString("taskCode").contains(CommonFinalParam.HYPHEN_)) {
|
||||||
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
||||||
String responseBody = httpResponse2.body();
|
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
||||||
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
String responseBody = httpResponse2.body();
|
||||||
int responseCode = responseJson.getIntValue("responseCode");
|
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
||||||
|
int responseCode = responseJson.getIntValue("responseCode");
|
||||||
|
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
|
||||||
.content("申请取货返回参数:" + responseBody)
|
|
||||||
.build();
|
|
||||||
logDto2.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
|
||||||
|
|
||||||
// 判断 responseCode 是否为 0,非 0 则返回
|
|
||||||
if (responseCode != 0) {
|
|
||||||
LuceneLogDto errorLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("WCS反馈失败, responseCode:" + responseCode
|
.content("申请取货返回参数:" + responseBody)
|
||||||
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
|
||||||
.build();
|
.build();
|
||||||
errorLog.setLog_level(2);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
|
||||||
|
// 判断 responseCode 是否为 0,非 0 则返回
|
||||||
|
if (responseCode != 0) {
|
||||||
|
LuceneLogDto errorLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("WCS反馈失败, responseCode:" + responseCode
|
||||||
|
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
||||||
|
.build();
|
||||||
|
errorLog.setLog_level(2);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
LuceneLogDto wcsNullLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 取货完成响应为空")
|
||||||
|
.build();
|
||||||
|
wcsNullLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsNullLog);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -404,19 +397,19 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(doorStatusLog);
|
luceneExecuteLogService.deviceExecuteLog(doorStatusLog);
|
||||||
|
|
||||||
if (door_open != 1) {
|
if (door_open != 1) {
|
||||||
// 下发开门指令
|
|
||||||
String doorOpenCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
|
||||||
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_open";
|
|
||||||
LuceneLogDto doorOpenLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[烘箱指令] 下发开门指令: " + doorOpenCmd + " = 2")
|
|
||||||
.build();
|
|
||||||
doorOpenLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(doorOpenLog);
|
|
||||||
|
|
||||||
hongXiangStationDeviceDriver.writing(doorOpenCmd, "2");
|
|
||||||
return;
|
String safeCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
} else {
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_agv_safe";
|
||||||
|
LuceneLogDto safeLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发安全指令: " + safeCmd + " = " + 0)
|
||||||
|
.build();
|
||||||
|
safeLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(safeLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(safeCmd, "0");
|
||||||
|
|
||||||
//到达取货点
|
//到达取货点
|
||||||
//门已经开了,此时请求取料
|
//门已经开了,此时请求取料
|
||||||
// to_oven1_door1_storage
|
// to_oven1_door1_storage
|
||||||
@@ -430,8 +423,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(storageLog);
|
luceneExecuteLogService.deviceExecuteLog(storageLog);
|
||||||
|
|
||||||
hongXiangStationDeviceDriver.writing(storageCmd, String.valueOf(hongXiangLocationInfo.getStorageNo()));
|
hongXiangStationDeviceDriver.writing(storageCmd, String.valueOf(hongXiangLocationInfo.getStorageNo()));
|
||||||
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
|
||||||
|
|
||||||
// AGV反馈日志
|
// AGV反馈日志
|
||||||
LuceneLogDto agvFeedbackLog = LuceneLogDto.builder()
|
LuceneLogDto agvFeedbackLog = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
@@ -441,7 +432,35 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(agvFeedbackLog);
|
luceneExecuteLogService.deviceExecuteLog(agvFeedbackLog);
|
||||||
|
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
|
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
|
||||||
|
|
||||||
|
|
||||||
|
// 下发开门指令
|
||||||
|
String doorOpenCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_open";
|
||||||
|
LuceneLogDto doorOpenLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发开门指令: " + doorOpenCmd + " = 2")
|
||||||
|
.build();
|
||||||
|
doorOpenLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(doorOpenLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(doorOpenCmd, "2");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
||||||
|
|
||||||
|
String safeCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_agv_safe";
|
||||||
|
LuceneLogDto safeLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发安全指令: " + safeCmd + " = " + 1)
|
||||||
|
.build();
|
||||||
|
safeLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(safeLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(safeCmd, "1");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(this.getDeviceCode())
|
.device_code(this.getDeviceCode())
|
||||||
@@ -471,17 +490,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
}
|
}
|
||||||
if (agvaddr != 0) {
|
if (agvaddr != 0) {
|
||||||
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||||
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
|
||||||
if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) {
|
|
||||||
String[] point = old_device_code.split(commonFinalParam.getBARRE());
|
|
||||||
device_code = point[0];
|
|
||||||
} else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) {
|
|
||||||
String[] point = old_device_code.split("\\.");
|
|
||||||
device_code = point[0];
|
|
||||||
emptyNum = point[1];
|
|
||||||
} else {
|
|
||||||
device_code = old_device_code;
|
device_code = old_device_code;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
||||||
@@ -518,6 +529,59 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
inst.setCarno(String.valueOf(carno));
|
inst.setCarno(String.valueOf(carno));
|
||||||
instructionService.update(inst);
|
instructionService.update(inst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//更新agv状态 - WCS系统交互
|
||||||
|
JSONObject param3 = new JSONObject();
|
||||||
|
param3.put("containerCode", inst.getVehicle_code());
|
||||||
|
param3.put("taskCode", inst.getTask_code());
|
||||||
|
param3.put("carId", inst.getCarno());
|
||||||
|
param3.put("taskType", inst.getInstruction_type());
|
||||||
|
param3.put("feedbackStatus", FeedbackStatusEnum.TAKE_FINISH.getCode());
|
||||||
|
|
||||||
|
// WCS交互日志
|
||||||
|
LuceneLogDto wcsLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS交互] 反馈取货完成, 参数:" + param3.toJSONString())
|
||||||
|
.build();
|
||||||
|
wcsLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsLog);
|
||||||
|
if(!StringUtils.isEmpty(param3.getString("taskCode")) && !param3.getString("taskCode").contains(CommonFinalParam.HYPHEN_)) {
|
||||||
|
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
||||||
|
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
||||||
|
String responseBody = httpResponse2.body();
|
||||||
|
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
||||||
|
int responseCode = responseJson.getIntValue("responseCode");
|
||||||
|
|
||||||
|
LuceneLogDto wcsResponseLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 取货完成响应, status:" + httpResponse2.getStatus() + ", body:" + responseBody)
|
||||||
|
.build();
|
||||||
|
wcsResponseLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsResponseLog);
|
||||||
|
|
||||||
|
// 判断 responseCode 是否为 0,非 0 则返回
|
||||||
|
if (responseCode != 0) {
|
||||||
|
LuceneLogDto errorLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 取货完成失败, responseCode:" + responseCode
|
||||||
|
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
||||||
|
.build();
|
||||||
|
errorLog.setLog_level(2);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
LuceneLogDto wcsNullLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 取货完成响应为空")
|
||||||
|
.build();
|
||||||
|
wcsNullLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsNullLog);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||||
standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver();
|
standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver();
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
@@ -557,6 +621,19 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(completeCmdLog);
|
luceneExecuteLogService.deviceExecuteLog(completeCmdLog);
|
||||||
|
|
||||||
hongXiangStationDeviceDriver.writing(completeCmd, "1");
|
hongXiangStationDeviceDriver.writing(completeCmd, "1");
|
||||||
|
|
||||||
|
|
||||||
|
String safeCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_agv_safe";
|
||||||
|
LuceneLogDto safeLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发安全指令: " + safeCmd + " = " + 0)
|
||||||
|
.build();
|
||||||
|
safeLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(safeLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(safeCmd, "0");
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
@@ -567,57 +644,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新agv状态 - WCS系统交互
|
|
||||||
JSONObject param3 = new JSONObject();
|
|
||||||
param3.put("containerCode", inst.getVehicle_code());
|
|
||||||
param3.put("taskCode", inst.getTask_code());
|
|
||||||
param3.put("carId", inst.getCarno());
|
|
||||||
param3.put("taskType", inst.getInstruction_type());
|
|
||||||
param3.put("feedbackStatus", FeedbackStatusEnum.TAKE_FINISH.getCode());
|
|
||||||
|
|
||||||
// WCS交互日志
|
|
||||||
LuceneLogDto wcsLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS交互] 反馈取货完成, 参数:" + param3.toJSONString())
|
|
||||||
.build();
|
|
||||||
wcsLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(wcsLog);
|
|
||||||
|
|
||||||
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
|
||||||
String responseBody = httpResponse2.body();
|
|
||||||
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
|
||||||
int responseCode = responseJson.getIntValue("responseCode");
|
|
||||||
|
|
||||||
LuceneLogDto wcsResponseLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS响应] 取货完成响应, status:" + httpResponse2.getStatus() + ", body:" + responseBody)
|
|
||||||
.build();
|
|
||||||
wcsResponseLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(wcsResponseLog);
|
|
||||||
|
|
||||||
// 判断 responseCode 是否为 0,非 0 则返回
|
|
||||||
if (responseCode != 0) {
|
|
||||||
LuceneLogDto errorLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS响应] 取货完成失败, responseCode:" + responseCode
|
|
||||||
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
|
||||||
.build();
|
|
||||||
errorLog.setLog_level(2);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
LuceneLogDto wcsNullLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS响应] 取货完成响应为空")
|
|
||||||
.build();
|
|
||||||
wcsNullLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(wcsNullLog);
|
|
||||||
}
|
|
||||||
|
|
||||||
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
||||||
|
|
||||||
|
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
|
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -639,16 +668,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
if (agvaddr != 0) {
|
if (agvaddr != 0) {
|
||||||
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
||||||
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||||
if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) {
|
|
||||||
String[] point = old_device_code.split(commonFinalParam.getBARRE());
|
|
||||||
device_code = point[0];
|
|
||||||
} else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) {
|
|
||||||
String[] point = old_device_code.split("\\.");
|
|
||||||
device_code = point[0];
|
|
||||||
emptyNum = point[1];
|
|
||||||
} else {
|
|
||||||
device_code = old_device_code;
|
device_code = old_device_code;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
||||||
if(null != hongXiangLocationInfo ){
|
if(null != hongXiangLocationInfo ){
|
||||||
@@ -688,28 +710,38 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
.build();
|
.build();
|
||||||
logDto3.setLog_level(4);
|
logDto3.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto3);
|
luceneExecuteLogService.deviceExecuteLog(logDto3);
|
||||||
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
if(!StringUtils.isEmpty(param3.getString("taskCode")) && !param3.getString("taskCode").contains(CommonFinalParam.HYPHEN_)) {
|
||||||
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
||||||
String responseBody = httpResponse2.body();
|
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
||||||
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
String responseBody = httpResponse2.body();
|
||||||
int responseCode = responseJson.getIntValue("responseCode");
|
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
||||||
|
int responseCode = responseJson.getIntValue("responseCode");
|
||||||
|
|
||||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||||
.device_code(device_code)
|
|
||||||
.content("申请放货返回参数:" + responseBody)
|
|
||||||
.build();
|
|
||||||
logDto2.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
|
||||||
|
|
||||||
// 判断 responseCode 是否为 0,非 0 则返回
|
|
||||||
if (responseCode != 0) {
|
|
||||||
LuceneLogDto errorLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
.device_code(device_code)
|
||||||
.content("WCS反馈失败, responseCode:" + responseCode
|
.content("申请放货返回参数:" + responseBody)
|
||||||
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
|
||||||
.build();
|
.build();
|
||||||
errorLog.setLog_level(2);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
|
||||||
|
// 判断 responseCode 是否为 0,非 0 则返回
|
||||||
|
if (responseCode != 0) {
|
||||||
|
LuceneLogDto errorLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("WCS反馈失败, responseCode:" + responseCode
|
||||||
|
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
||||||
|
.build();
|
||||||
|
errorLog.setLog_level(2);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
LuceneLogDto wcsNullLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 取货完成响应为空")
|
||||||
|
.build();
|
||||||
|
wcsNullLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsNullLog);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -792,20 +824,18 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(doorStatusLog);
|
luceneExecuteLogService.deviceExecuteLog(doorStatusLog);
|
||||||
|
|
||||||
if (door_open != 1) {
|
if (door_open != 1) {
|
||||||
String doorOpenCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
|
||||||
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_open";
|
|
||||||
LuceneLogDto doorOpenLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[烘箱指令] 下发开门指令: " + doorOpenCmd + " = 1")
|
|
||||||
.build();
|
|
||||||
doorOpenLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(doorOpenLog);
|
|
||||||
|
|
||||||
hongXiangStationDeviceDriver.writing(doorOpenCmd, "1");
|
String safeCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
return;
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_agv_safe";
|
||||||
} else {
|
LuceneLogDto safeLog = LuceneLogDto.builder()
|
||||||
//到达放货点
|
.device_code(device_code)
|
||||||
//门已经开了,此时请求放货
|
.content("[烘箱指令] 下发安全指令: " + safeCmd + " = " + 0)
|
||||||
|
.build();
|
||||||
|
safeLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(safeLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(safeCmd, "0");
|
||||||
|
|
||||||
String storageCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
String storageCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_storage";
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_storage";
|
||||||
LuceneLogDto storageLog = LuceneLogDto.builder()
|
LuceneLogDto storageLog = LuceneLogDto.builder()
|
||||||
@@ -816,7 +846,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(storageLog);
|
luceneExecuteLogService.deviceExecuteLog(storageLog);
|
||||||
|
|
||||||
hongXiangStationDeviceDriver.writing(storageCmd, String.valueOf(hongXiangLocationInfo.getStorageNo()));
|
hongXiangStationDeviceDriver.writing(storageCmd, String.valueOf(hongXiangLocationInfo.getStorageNo()));
|
||||||
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
|
||||||
|
|
||||||
// AGV反馈日志
|
// AGV反馈日志
|
||||||
LuceneLogDto agvFeedbackLog = LuceneLogDto.builder()
|
LuceneLogDto agvFeedbackLog = LuceneLogDto.builder()
|
||||||
@@ -827,7 +857,33 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(agvFeedbackLog);
|
luceneExecuteLogService.deviceExecuteLog(agvFeedbackLog);
|
||||||
|
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
|
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
|
||||||
|
|
||||||
|
|
||||||
|
String doorOpenCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_open";
|
||||||
|
LuceneLogDto doorOpenLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发开门指令: " + doorOpenCmd + " = 1")
|
||||||
|
.build();
|
||||||
|
doorOpenLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(doorOpenLog);
|
||||||
|
hongXiangStationDeviceDriver.writing(doorOpenCmd, "1");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
||||||
|
|
||||||
|
String safeCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_agv_safe";
|
||||||
|
LuceneLogDto safeLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发安全指令: " + safeCmd + " = " + 1)
|
||||||
|
.build();
|
||||||
|
safeLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(safeLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(safeCmd, "1");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(this.getDeviceCode())
|
.device_code(this.getDeviceCode())
|
||||||
@@ -860,16 +916,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
if (agvaddr != 0) {
|
if (agvaddr != 0) {
|
||||||
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
CommonFinalParam commonFinalParam = new CommonFinalParam();
|
||||||
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||||
if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) {
|
|
||||||
String[] point = old_device_code.split(commonFinalParam.getBARRE());
|
|
||||||
device_code = point[0];
|
|
||||||
} else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) {
|
|
||||||
String[] point = old_device_code.split("\\.");
|
|
||||||
device_code = point[0];
|
|
||||||
emptyNum = point[1];
|
|
||||||
} else {
|
|
||||||
device_code = old_device_code;
|
device_code = old_device_code;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
HongXiangLocationInfo hongXiangLocationInfo = CodeParserUtil.parseCode(device_code);
|
||||||
@@ -896,6 +945,57 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
log.info("未找到指令号{}对应的指令", ikey);
|
log.info("未找到指令号{}对应的指令", ikey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//更新agv状态 - WCS系统交互
|
||||||
|
JSONObject param3 = new JSONObject();
|
||||||
|
param3.put("containerCode", inst.getVehicle_code());
|
||||||
|
param3.put("taskCode", inst.getTask_code());
|
||||||
|
param3.put("carId", inst.getCarno());
|
||||||
|
param3.put("taskType", inst.getInstruction_type());
|
||||||
|
param3.put("feedbackStatus", FeedbackStatusEnum.PUT_FINISH.getCode());
|
||||||
|
|
||||||
|
// WCS交互日志
|
||||||
|
LuceneLogDto wcsLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS交互] 反馈放货完成, 参数:" + param3.toJSONString())
|
||||||
|
.build();
|
||||||
|
wcsLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsLog);
|
||||||
|
if(!StringUtils.isEmpty(param3.getString("taskCode")) && !param3.getString("taskCode").contains(CommonFinalParam.HYPHEN_)) {
|
||||||
|
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
||||||
|
String responseBody = httpResponse2.body();
|
||||||
|
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
||||||
|
int responseCode = responseJson.getIntValue("responseCode");
|
||||||
|
|
||||||
|
LuceneLogDto wcsResponseLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 放货完成响应, status:" + httpResponse2.getStatus() + ", body:" + responseBody)
|
||||||
|
.build();
|
||||||
|
wcsResponseLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsResponseLog);
|
||||||
|
|
||||||
|
// 判断 responseCode 是否为 0,非 0 则返回
|
||||||
|
if (responseCode != 0) {
|
||||||
|
LuceneLogDto errorLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 放货完成失败, responseCode:" + responseCode
|
||||||
|
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
||||||
|
.build();
|
||||||
|
errorLog.setLog_level(2);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
LuceneLogDto wcsNullLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[WCS响应] 放货完成响应为空")
|
||||||
|
.build();
|
||||||
|
wcsNullLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(wcsNullLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(this.getDeviceCode())
|
.device_code(this.getDeviceCode())
|
||||||
@@ -932,6 +1032,19 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
|
|
||||||
hongXiangStationDeviceDriver.writing(completeCmd, "1");
|
hongXiangStationDeviceDriver.writing(completeCmd, "1");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
String safeCmd = "to_oven" + hongXiangLocationInfo.getOvenNo()
|
||||||
|
+ "_door" + hongXiangLocationInfo.getShutterDoor() + "_agv_safe";
|
||||||
|
LuceneLogDto safeLog = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content("[烘箱指令] 下发安全指令: " + safeCmd + " = " + 0)
|
||||||
|
.build();
|
||||||
|
safeLog.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(safeLog);
|
||||||
|
|
||||||
|
hongXiangStationDeviceDriver.writing(safeCmd, "0");
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
@@ -942,55 +1055,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新agv状态 - WCS系统交互
|
|
||||||
JSONObject param3 = new JSONObject();
|
|
||||||
param3.put("containerCode", inst.getVehicle_code());
|
|
||||||
param3.put("taskCode", inst.getTask_code());
|
|
||||||
param3.put("carId", inst.getCarno());
|
|
||||||
param3.put("taskType", inst.getInstruction_type());
|
|
||||||
param3.put("feedbackStatus", FeedbackStatusEnum.PUT_FINISH.getCode());
|
|
||||||
|
|
||||||
// WCS交互日志
|
|
||||||
LuceneLogDto wcsLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS交互] 反馈放货完成, 参数:" + param3.toJSONString())
|
|
||||||
.build();
|
|
||||||
wcsLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(wcsLog);
|
|
||||||
|
|
||||||
HttpResponse httpResponse2 = acsToWcsService.feedbackTaskStatusToWcs(param3);
|
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(httpResponse2)) {
|
|
||||||
String responseBody = httpResponse2.body();
|
|
||||||
JSONObject responseJson = JSONObject.parseObject(responseBody);
|
|
||||||
int responseCode = responseJson.getIntValue("responseCode");
|
|
||||||
|
|
||||||
LuceneLogDto wcsResponseLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS响应] 放货完成响应, status:" + httpResponse2.getStatus() + ", body:" + responseBody)
|
|
||||||
.build();
|
|
||||||
wcsResponseLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(wcsResponseLog);
|
|
||||||
|
|
||||||
// 判断 responseCode 是否为 0,非 0 则返回
|
|
||||||
if (responseCode != 0) {
|
|
||||||
LuceneLogDto errorLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS响应] 放货完成失败, responseCode:" + responseCode
|
|
||||||
+ ", responseMessage:" + responseJson.getString("responseMessage"))
|
|
||||||
.build();
|
|
||||||
errorLog.setLog_level(2);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(errorLog);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
LuceneLogDto wcsNullLog = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content("[WCS响应] 放货完成响应为空")
|
|
||||||
.build();
|
|
||||||
wcsNullLog.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(wcsNullLog);
|
|
||||||
}
|
|
||||||
|
|
||||||
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.nl.acs.AcsConfig;
|
import org.nl.acs.AcsConfig;
|
||||||
import org.nl.acs.address.service.AddressService;
|
import org.nl.acs.address.service.AddressService;
|
||||||
import org.nl.acs.address.service.dto.AddressDto;
|
import org.nl.acs.address.service.dto.AddressDto;
|
||||||
|
import org.nl.acs.common.base.CommonFinalParam;
|
||||||
import org.nl.acs.device.service.DeviceService;
|
import org.nl.acs.device.service.DeviceService;
|
||||||
import org.nl.acs.ext.wms.RetryableUtil;
|
import org.nl.acs.ext.wms.RetryableUtil;
|
||||||
import org.nl.acs.ext.wms.service.AcsToWcsService;
|
import org.nl.acs.ext.wms.service.AcsToWcsService;
|
||||||
@@ -32,6 +33,7 @@ import org.nl.system.service.param.ISysParamService;
|
|||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@@ -69,9 +71,16 @@ public class AcsToWcsServiceImpl implements AcsToWcsService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HttpResponse feedbackTaskStatusToWcs(JSONObject jo) {
|
public HttpResponse feedbackTaskStatusToWcs(JSONObject jo) {
|
||||||
try {
|
try {
|
||||||
|
//查询task
|
||||||
|
if(!StringUtils.isEmpty(jo.getString("taskCode")) && jo.getString("taskCode").contains(CommonFinalParam.HYPHEN_)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
MDC.put(log_file_type, log_type);
|
MDC.put(log_file_type, log_type);
|
||||||
log.info("feedbackTaskStatusToWcs-----agv状态更新输入参数{}", jo);
|
log.info("feedbackTaskStatusToWcs-----agv状态更新输入参数{}", jo);
|
||||||
String wcsurl = paramService.findByCode(AcsConfig.WCSURL).getValue();
|
String wcsurl = paramService.findByCode(AcsConfig.WCSURL).getValue();
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
import groovy.lang.Lazy;
|
import groovy.lang.Lazy;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.nl.acs.AcsConfig;
|
import org.nl.acs.AcsConfig;
|
||||||
import org.nl.acs.agv.server.AcsToWmsZDService;
|
import org.nl.acs.agv.server.AcsToWmsZDService;
|
||||||
@@ -627,10 +628,8 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
task_code = CodeUtil.getNewCode("TASK_NO");
|
task_code = CodeUtil.getNewCode("TASK_NO");
|
||||||
task_code = CommonFinalParam.HYPHEN_ + task_code;
|
task_code = CommonFinalParam.HYPHEN_ + task_code;
|
||||||
}
|
}
|
||||||
String start_point_code;
|
|
||||||
String next_point_code = dto.getNext_point_code();
|
String next_point_code = dto.getNext_point_code();
|
||||||
String start_device_code = dto.getStart_device_code();
|
String start_point_code = dto.getStart_point_code();
|
||||||
String next_device_code = dto.getNext_device_code();
|
|
||||||
String route_plan_code = dto.getRoute_plan_code();
|
String route_plan_code = dto.getRoute_plan_code();
|
||||||
//本项目默认为2
|
//本项目默认为2
|
||||||
dto.setAgv_system_type("2");
|
dto.setAgv_system_type("2");
|
||||||
@@ -643,7 +642,8 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
dto.setTask_status(TaskStatusEnum.READY.getIndex());
|
dto.setTask_status(TaskStatusEnum.READY.getIndex());
|
||||||
dto.setStart_device_code2(dto.getStart_point_code2());
|
dto.setStart_device_code2(dto.getStart_point_code2());
|
||||||
dto.setNext_device_code2(dto.getNext_point_code2());
|
dto.setNext_device_code2(dto.getNext_point_code2());
|
||||||
|
dto.setStart_device_code(dto.getStart_point_code());
|
||||||
|
dto.setNext_device_code(dto.getNext_point_code());
|
||||||
|
|
||||||
if (StrUtil.isEmpty(dto.getPriority())) {
|
if (StrUtil.isEmpty(dto.getPriority())) {
|
||||||
dto.setPriority(CommonFinalParam.ONE);
|
dto.setPriority(CommonFinalParam.ONE);
|
||||||
@@ -652,50 +652,28 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
// 判断起点终点设备类型
|
// 判断起点终点设备类型
|
||||||
String startDeviceType = deviceAppService.findDeviceTypeByCode(dto.getStart_device_code());
|
String startDeviceType = deviceAppService.findDeviceTypeByCode(dto.getStart_device_code());
|
||||||
String nextDeviceType = deviceAppService.findDeviceTypeByCode(dto.getNext_device_code());
|
String nextDeviceType = deviceAppService.findDeviceTypeByCode(dto.getNext_device_code());
|
||||||
// 同一排转库任务不做路由校验
|
|
||||||
if (!(StrUtil.equals(DeviceType.storage.toString(), startDeviceType) && StrUtil.equals(DeviceType.storage.toString(), nextDeviceType) && StrUtil.equals(start_device_code, next_device_code))) {
|
|
||||||
if (routeLineService
|
|
||||||
.getShortPathLines(dto.getStart_device_code(), dto.getNext_device_code(), plan_code)
|
|
||||||
.size()
|
|
||||||
== 0) {
|
|
||||||
throw new BadRequestException(dto.getStart_point_code() + "->" + dto.getNext_point_code() + " " + LangProcess.msg("route_isNull"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String createTaskCheck = paramService.findByCode(AcsConfig.CREATETASKCHECK).getValue();
|
String createTaskCheck = paramService.findByCode(AcsConfig.CREATETASKCHECK).getValue();
|
||||||
DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class);
|
DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class);
|
||||||
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||||
Device nextdevice = appService.findDeviceByCode(next_device_code);
|
Device nextdevice = appService.findDeviceByCode(next_point_code);
|
||||||
if (nextdevice == null) {
|
if (nextdevice == null) {
|
||||||
//TODO 国际化处理
|
//TODO 国际化处理
|
||||||
throw new BadRequestException("终点设备未配置");
|
throw new BadRequestException("终点设备未配置");
|
||||||
}
|
}
|
||||||
Device startdevice = appService.findDeviceByCode(start_device_code);
|
Device startdevice = appService.findDeviceByCode(start_point_code);
|
||||||
if (startdevice == null) {
|
if (startdevice == null) {
|
||||||
//TODO 国际化处理
|
//TODO 国际化处理
|
||||||
throw new BadRequestException("起点设备未配置");
|
throw new BadRequestException("起点设备未配置");
|
||||||
}
|
}
|
||||||
dto.setMaterial(startdevice.getMaterial_type());
|
dto.setMaterial(startdevice.getMaterial_type());
|
||||||
if (StrUtil.equals(DeviceType.storage.toString(), startDeviceType)) {
|
List<RouteLineDto> shortPathsList =
|
||||||
start_point_code = start_device_code + CommonFinalParam.HYPHEN_ + dto.getFrom_y() + CommonFinalParam.HYPHEN_ + dto.getFrom_z();
|
routeLineService.getShortPathLines(
|
||||||
dto.setStart_point_code(start_point_code);
|
dto.getStart_device_code(), dto.getNext_device_code(), dto.getRoute_plan_code());
|
||||||
|
if (ObjectUtils.isEmpty(shortPathsList)) {
|
||||||
|
throw new Exception(dto.getStart_device_code() + "->" + dto.getNext_device_code() + "路由不通");
|
||||||
}
|
}
|
||||||
if (StrUtil.equals(DeviceType.storage.toString(), nextDeviceType)) {
|
|
||||||
next_point_code = next_device_code + CommonFinalParam.HYPHEN_ + dto.getTo_y() + CommonFinalParam.HYPHEN_ + dto.getTo_z();
|
|
||||||
dto.setNext_point_code(next_point_code);
|
|
||||||
}
|
|
||||||
if (StrUtil.equals(createTaskCheck, CommonFinalParam.ONE)) {
|
|
||||||
// 判断起点为输送设备
|
|
||||||
if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) {
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 判断起点为输送设备
|
|
||||||
if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (!StrUtil.equals(createTaskCheck, CommonFinalParam.ONE)) {
|
||||||
if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) {
|
if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) {
|
||||||
// if (nextdevice.getDeviceDriver() instanceof
|
// if (nextdevice.getDeviceDriver() instanceof
|
||||||
// XgAgvCarDeviceDriver) {
|
// XgAgvCarDeviceDriver) {
|
||||||
|
|||||||
Reference in New Issue
Block a user