fix: 诺宝修改
This commit is contained in:
@@ -94,11 +94,17 @@ public class AgvWaitUtil {
|
|||||||
instructionService.update(inst);
|
instructionService.update(inst);
|
||||||
//如果是叉车,取货完成给输送线完成信号
|
//如果是叉车,取货完成给输送线完成信号
|
||||||
Device startDevice = deviceAppService.findDeviceByCode(startDeviceCode);
|
Device startDevice = deviceAppService.findDeviceByCode(startDeviceCode);
|
||||||
|
ManipulatorAgvStationDeviceDriver manipulatorAgvStationDeviceDriver;
|
||||||
if (inst.getAgv_system_type().equals(AgvSystemTypeEnum.XG_System_Type.getIndex())){
|
if (inst.getAgv_system_type().equals(AgvSystemTypeEnum.XG_System_Type.getIndex())){
|
||||||
BoxSubvolumesConveyorDeviceDriver boxSubvolumesConveyorDeviceDriver;
|
BoxSubvolumesConveyorDeviceDriver boxSubvolumesConveyorDeviceDriver;
|
||||||
boxSubvolumesConveyorDeviceDriver = (BoxSubvolumesConveyorDeviceDriver) startDevice.getDeviceDriver();
|
boxSubvolumesConveyorDeviceDriver = (BoxSubvolumesConveyorDeviceDriver) startDevice.getDeviceDriver();
|
||||||
boxSubvolumesConveyorDeviceDriver.writing(3);
|
boxSubvolumesConveyorDeviceDriver.writing(3);
|
||||||
}
|
}
|
||||||
|
if(inst.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())){
|
||||||
|
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) startDevice.getDeviceDriver();
|
||||||
|
manipulatorAgvStationDeviceDriver.writing(3);
|
||||||
|
|
||||||
|
}
|
||||||
JSONObject map = new JSONObject();
|
JSONObject map = new JSONObject();
|
||||||
map.put("status", 200);
|
map.put("status", 200);
|
||||||
map.put("message", "允许离开!");
|
map.put("message", "允许离开!");
|
||||||
@@ -113,7 +119,7 @@ public class AgvWaitUtil {
|
|||||||
ManipulatorAgvStationDeviceDriver manipulatorAgvStationDeviceDriver;
|
ManipulatorAgvStationDeviceDriver manipulatorAgvStationDeviceDriver;
|
||||||
if(endDevice.getDeviceDriver() instanceof ManipulatorAgvStationDeviceDriver){
|
if(endDevice.getDeviceDriver() instanceof ManipulatorAgvStationDeviceDriver){
|
||||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) endDevice.getDeviceDriver();
|
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) endDevice.getDeviceDriver();
|
||||||
manipulatorAgvStationDeviceDriver.writing(2);
|
manipulatorAgvStationDeviceDriver.writing(4);
|
||||||
if(manipulatorAgvStationDeviceDriver.getAction() != 1){
|
if(manipulatorAgvStationDeviceDriver.getAction() != 1){
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(inst.getCarno())
|
.device_code(inst.getCarno())
|
||||||
@@ -135,6 +141,13 @@ public class AgvWaitUtil {
|
|||||||
|
|
||||||
//放货完成等待
|
//放货完成等待
|
||||||
public JSONObject waitOutPut(String endDeviceCode, Instruction inst) {
|
public JSONObject waitOutPut(String endDeviceCode, Instruction inst) {
|
||||||
|
Device nextDevice = deviceAppService.findDeviceByCode(inst.getNext_device_code());
|
||||||
|
ManipulatorAgvStationDeviceDriver manipulatorAgvStationDeviceDriver;
|
||||||
|
if(inst.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())){
|
||||||
|
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) nextDevice.getDeviceDriver();
|
||||||
|
manipulatorAgvStationDeviceDriver.writing(5);
|
||||||
|
|
||||||
|
}
|
||||||
log.info("仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode);
|
log.info("仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode);
|
||||||
inst.setExecute_status("2");
|
inst.setExecute_status("2");
|
||||||
instructionService.update(inst);
|
instructionService.update(inst);
|
||||||
|
|||||||
@@ -695,8 +695,9 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
if (StrUtil.isBlank(address)) {
|
if (StrUtil.isBlank(address)) {
|
||||||
throw new BadRequestException("请求失败,地址为空!");
|
throw new BadRequestException("请求失败,地址为空!");
|
||||||
}
|
}
|
||||||
if (address.contains("IN")) {
|
if (address.contains("IN") || address.contains("WAITE")) {
|
||||||
String task_code = instructionDto.getTask_code();
|
String task_code = instructionDto.getTask_code();
|
||||||
|
String instructionCode = instructionDto.getInstruction_code();
|
||||||
String deviceCodeNow = address.substring(0, address.length() - 5);
|
String deviceCodeNow = address.substring(0, address.length() - 5);
|
||||||
if (ObjectUtil.isEmpty(deviceAppService.findDeviceByCode(deviceCodeNow))) {
|
if (ObjectUtil.isEmpty(deviceAppService.findDeviceByCode(deviceCodeNow))) {
|
||||||
throw new BadRequestException("设备号 " + deviceCodeNow + " 不存在!");
|
throw new BadRequestException("设备号 " + deviceCodeNow + " 不存在!");
|
||||||
@@ -707,19 +708,45 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
if (AgvActionTypeEnum.IN_STOCK.getCode().equals(instructionDto.getAgv_action_type()) || AgvActionTypeEnum.IN_OUT_STOCK.getCode().equals(instructionDto.getAgv_action_type())) {
|
if (AgvActionTypeEnum.IN_STOCK.getCode().equals(instructionDto.getAgv_action_type()) || AgvActionTypeEnum.IN_OUT_STOCK.getCode().equals(instructionDto.getAgv_action_type())) {
|
||||||
Integer actionType = ActionTypeEnum.IN_STOCK.getCode();
|
Integer actionType = ActionTypeEnum.IN_STOCK.getCode();
|
||||||
deviceCodeNow = applyXGAgvTask(task_code, actionType, instructionDto);
|
deviceCodeNow = applyXGAgvTask(task_code, actionType, instructionDto);
|
||||||
|
if (StrUtil.isNotEmpty(deviceCodeNow)) {
|
||||||
|
return agvWaitUtil.waitInGet(deviceCodeNow, instructionDto);
|
||||||
|
} else {
|
||||||
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
|
.content("取货分配新的点位为空")
|
||||||
|
.build();
|
||||||
|
logDto.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
|
throw new BadRequestException("取货分配新的点位为空");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return agvWaitUtil.waitInGet(deviceCodeNow, instructionDto);
|
return agvWaitUtil.waitInGet(deviceCodeNow, instructionDto);
|
||||||
} else if (address.contains("PUT")) {
|
} else if (address.contains("PUT") || address.contains("WAITE")) {
|
||||||
if (instructionDto.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())) {
|
if (instructionDto.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())) {
|
||||||
//如果是放货二次分配,取放货二次分配需要重新追加动作块
|
//如果是放货二次分配,取放货二次分配需要重新追加动作块
|
||||||
if (AgvActionTypeEnum.OUT_STOCK.getCode().equals(instructionDto.getAgv_action_type()) || AgvActionTypeEnum.IN_OUT_STOCK.getCode().equals(instructionDto.getAgv_action_type())) {
|
if (AgvActionTypeEnum.OUT_STOCK.getCode().equals(instructionDto.getAgv_action_type()) || AgvActionTypeEnum.IN_OUT_STOCK.getCode().equals(instructionDto.getAgv_action_type())) {
|
||||||
Integer actionType = ActionTypeEnum.OUT_STOCK.getCode();
|
Integer actionType = ActionTypeEnum.OUT_STOCK.getCode();
|
||||||
deviceCodeNow = applyXGAgvTask(task_code, actionType, instructionDto);
|
deviceCodeNow = applyXGAgvTask(task_code, actionType, instructionDto);
|
||||||
|
if (StrUtil.isNotEmpty(deviceCodeNow)) {
|
||||||
|
return agvWaitUtil.waitInPut(deviceCodeNow, instructionDto);
|
||||||
|
} else {
|
||||||
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
|
.content("防货分配新的点位为空")
|
||||||
|
.build();
|
||||||
|
logDto.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
|
throw new BadRequestException("防货分配新的点位为空");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (instructionDto.getAgv_system_type().equals(AgvSystemTypeEnum.XG_System_Type.getIndex())) {
|
} else if (instructionDto.getAgv_system_type().equals(AgvSystemTypeEnum.XG_System_Type.getIndex())) {
|
||||||
|
|
||||||
deviceCodeNow = applyCCAgvTask(task_code, instructionDto);
|
deviceCodeNow = applyCCAgvTask(task_code, instructionDto);
|
||||||
|
if (ObjectUtil.isEmpty(deviceCodeNow)) {
|
||||||
|
JSONObject map = new JSONObject();
|
||||||
|
map.put("status", 200);
|
||||||
|
map.put("message", "允许放货!");
|
||||||
|
log.info("允许仙工AGV放货,设备号 - {}", deviceCodeNow);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return agvWaitUtil.waitInPut(deviceCodeNow, instructionDto);
|
return agvWaitUtil.waitInPut(deviceCodeNow, instructionDto);
|
||||||
}
|
}
|
||||||
@@ -746,7 +773,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
param.put("task_code", task_code);
|
param.put("task_code", task_code);
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code(instructionDto.getCarno())
|
.device_code(instructionDto.getCarno())
|
||||||
.content("追加动叉车作块,参数:" + task_code )
|
.content("追加动叉车作块,参数:" + task_code)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
@@ -760,7 +787,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
//请求成功调用叉车追加动作块
|
//请求成功调用叉车追加动作块
|
||||||
sendAddSequencesToCCAgv(task_code, jo.getString("data"), instructionDto);
|
sendAddSequencesToCCAgv(instructionDto.getInstruction_code(), jo.getString("data"), instructionDto);
|
||||||
return jo.getString("data");
|
return jo.getString("data");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -792,7 +819,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
log.info("任务号:{},指令号{},追加诺宝运单:{}", instructionCode, instructionCode, jo);
|
log.info("任务号:{},指令号{},追加诺宝叉车运单:{}", instructionCode, instructionCode, jo);
|
||||||
|
|
||||||
if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), CommonFinalParam.ONE)) {
|
if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), CommonFinalParam.ONE)) {
|
||||||
String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue();
|
String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue();
|
||||||
@@ -808,8 +835,8 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
.timeout(20000)
|
.timeout(20000)
|
||||||
.execute();
|
.execute();
|
||||||
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
||||||
.device_code("叉车运单响应")
|
.device_code("叉车追加运单响应")
|
||||||
.content("指令号:" + instructionCode + ",下发追加诺宝运单反馈参数:" + jo)
|
.content("指令号:" + instructionCode + ",下发追加诺宝叉车运单反馈参数:" + jo)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto1);
|
luceneExecuteLogService.deviceExecuteLog(logDto1);
|
||||||
@@ -901,7 +928,6 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
com.alibaba.fastjson.JSONObject jo = new com.alibaba.fastjson.JSONObject();
|
com.alibaba.fastjson.JSONObject jo = new com.alibaba.fastjson.JSONObject();
|
||||||
jo.put("id", inst.getInstruction_code());
|
jo.put("id", inst.getInstruction_code());
|
||||||
//运单封口,true=创建运单之后不可添加动作块;false=创建运单可以添加动作块
|
//运单封口,true=创建运单之后不可添加动作块;false=创建运单可以添加动作块
|
||||||
//运单封口,true=创建运单之后不可添加动作块;false=创建运单可以添加动作块
|
|
||||||
if (AgvActionTypeEnum.ORDINARY.getCode().equals(inst.getAgv_action_type())) {
|
if (AgvActionTypeEnum.ORDINARY.getCode().equals(inst.getAgv_action_type())) {
|
||||||
jo.put("complete", true);
|
jo.put("complete", true);
|
||||||
} else {
|
} else {
|
||||||
@@ -1343,16 +1369,16 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
|
|
||||||
JSONObject jo9 = new JSONObject();
|
JSONObject jo9 = new JSONObject();
|
||||||
jo9.put("blockId", IdUtil.simpleUUID());
|
jo9.put("blockId", IdUtil.simpleUUID());
|
||||||
jo9.put("location", inst.getNext_device_code());
|
jo9.put("location", inst.getNext_device_code() + "WAITE");
|
||||||
jo9.put("operation", "script");
|
jo9.put("operation", "script");
|
||||||
jo9.put("id", inst.getNext_device_code());
|
jo9.put("id", inst.getNext_device_code() + "WAITE");
|
||||||
jo9.put("script_name", "userpy/interact.py");
|
jo9.put("script_name", "userpy/interact.py");
|
||||||
JSONObject script_args5 = new JSONObject();
|
JSONObject script_args5 = new JSONObject();
|
||||||
script_args5.put("addr", addr);
|
script_args5.put("addr", addr);
|
||||||
JSONObject data3 = new JSONObject();
|
JSONObject data3 = new JSONObject();
|
||||||
JSONObject reach3 = new JSONObject();
|
JSONObject reach3 = new JSONObject();
|
||||||
reach3.put("task_code", inst.getInstruction_code());
|
reach3.put("task_code", inst.getInstruction_code());
|
||||||
reach3.put("address", inst.getNext_device_code());
|
reach3.put("address", inst.getNext_device_code() + "WAITE");
|
||||||
data3.put("reach", reach3);
|
data3.put("reach", reach3);
|
||||||
script_args5.put("data", data3);
|
script_args5.put("data", data3);
|
||||||
script_args5.put("protocol", "HTTP");
|
script_args5.put("protocol", "HTTP");
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
} else {
|
} else {
|
||||||
List<TaskDto> taskDtos = taskserver.findByTrappedManipulatorReady();
|
List<TaskDto> taskDtos = taskserver.findByTrappedManipulatorReady();
|
||||||
List<TaskDto> taskDtosReady = new ArrayList<>();
|
List<TaskDto> taskDtosReady = new ArrayList<>();
|
||||||
TaskDto taskDto = new TaskDto();
|
TaskDto taskDto = null;
|
||||||
if (CollUtil.isNotEmpty(taskDtos)) {
|
if (CollUtil.isNotEmpty(taskDtos)) {
|
||||||
for (TaskDto taskDto1 : taskDtos) {
|
for (TaskDto taskDto1 : taskDtos) {
|
||||||
if (getDeviceCodeList.contains(taskDto1.getStart_device_code())) {
|
if (getDeviceCodeList.contains(taskDto1.getStart_device_code())) {
|
||||||
|
|||||||
@@ -691,7 +691,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
Instruction instruction = instructionService.findByDeviceCodeRunFromCache(String.valueOf(task));
|
Instruction instruction = checkInst();
|
||||||
if (ObjectUtil.isEmpty(instruction)) {
|
if (ObjectUtil.isEmpty(instruction)) {
|
||||||
message = "one_message9";
|
message = "one_message9";
|
||||||
return;
|
return;
|
||||||
@@ -718,6 +718,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
this.message = "申请更新点位,参数,接口返回:" + jo;
|
||||||
String poinCode = jo.getString("point_code");
|
String poinCode = jo.getString("point_code");
|
||||||
String vehicleCode = jo.getString("vehicle_code");
|
String vehicleCode = jo.getString("vehicle_code");
|
||||||
if (StrUtil.isNotEmpty(poinCode)) {
|
if (StrUtil.isNotEmpty(poinCode)) {
|
||||||
@@ -761,6 +762,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
this.message = "申请更新点位,参数,接口返回:" + jo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user