diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index b5b0425..184f23b 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -270,8 +270,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic log.info("未找到关联编号{}对应的指令", ikey); return; } - data = getData(data, index, inst, task); - + //二次分配失败后,需要一直申请 + try { + data = getData(data, index, inst, task); + } catch (Exception e) { + log.error("tofix设备:{}的任务号:{}二次分配agv放货点申请失败,失败原因:{}", device_code, task.getTask_code(), e.getMessage()); + } //放货完毕 //(需要WCS反馈) } else if (phase == 0x09) { @@ -370,13 +374,16 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic if (!"2".equals(task.getTask_type())) { String resp = acsToWmsService.requestTaskAgain(task.getNext_point_code(), task.getExt_task_id(), inst.getVehicle_code()); JSONObject respjson = JSONObject.parseObject(resp); - String next_device_code = respjson.getString("next_point_code"); - task.setNext_point_code(next_device_code); - int start_address = deviceService.queryAddressBydeviceCode(inst.getStart_point_code()); - int next_address = deviceService.queryAddressBydeviceCode(next_device_code); - taskService.update(task); - data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, start_address, next_address, 0, 0); - log.info("指令号:{},phase:{},acs请求wms申请成功", inst.getInstruction_code(), phase); + if ("200".equals(respjson.getString("code"))) { + String next_device_code = respjson.getString("next_point_code"); + task.setNext_point_code(next_device_code); + int start_address = deviceService.queryAddressBydeviceCode(inst.getStart_point_code()); + int next_address = deviceService.queryAddressBydeviceCode(next_device_code); + taskService.update(task); + data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, start_address, next_address, 0, 0); + } else { + log.error("tofix设备:{}的任务号:{}二次分配agv放货点申请失败,失败原因:{}", device_code, task.getTask_code(), respjson.getString("message")); + } } else { data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java index 58f378a..d27e90f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java @@ -1003,7 +1003,9 @@ public class CockpitServiceImpl implements CockpitService { //todo 待补充信号逻辑 for (Object object : agv) { JSONObject jsonObject = (JSONObject) object; - if (StringUtils.isBlank(jsonObject.getString("move"))) { + if (StringUtils.isNotBlank(jsonObject.getString("task_id"))) { + jsonObject.put("move", "1"); + } else { jsonObject.put("move", "0"); } if (StringUtils.isBlank(jsonObject.getString("full"))) {