diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java index dc58b1a..4935ebf 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java @@ -417,6 +417,9 @@ public class AgvServiceImpl implements AgvService { if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) { String instcode = inst.getInstruction_code(); int type = Integer.parseInt(inst.getInstruction_type()); + if (type == 3) { + type = 1; + } int priority = Integer.parseInt(inst.getPriority()) + 128; DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class); DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class); diff --git a/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java b/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java index 7511df9..dc7f89a 100644 --- a/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java +++ b/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java @@ -829,6 +829,10 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { break; case 1: TaskDto taskDto = taskService.findByCode(inst.getTask_code()); + boolean tag = false; + if (!StrUtil.startWith(inst.getTask_code(), "-") || StrUtil.equals(taskDto.getTask_type(),"3")) { + tag = true; + } //开始任务/上报订单号(无车id及状态) if (phase == 0x01) { @@ -879,17 +883,24 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } if (device.getDeviceDriver() instanceof StorageConveyorDeviceDriver) { storageConveyorDeviceDriver = (StorageConveyorDeviceDriver) device.getDeviceDriver(); - HttpResponse response = acsToXrlkService.isTakePermission(device.getDevice_code()); - if (response.getStatus() == 200) { - JSONObject jo = JSONObject.fromObject(response.body()); - if (StrUtil.equals(jo.get("result").toString(), "1")) { - data = AgvService.sendAgvOneModeInst(phase, index, 0); + + //如果为acs创建的任务并且任务类型为3,那么就不需要调用立库接口 + if (!tag) { + HttpResponse response = acsToXrlkService.isTakePermission(device.getDevice_code()); + if (response.getStatus() == 200) { + JSONObject jo = JSONObject.fromObject(response.body()); + if (StrUtil.equals(jo.get("result").toString(), "1")) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else { + log.info("AGV请求取货设备{},立库WMS不允许取货", device_code); + } } else { - log.info("AGV请求取货设备{},立库WMS不允许取货", device_code); + log.info("AGV请求取货设备{},接口请求立库WMS失败", device_code); } } else { - log.info("AGV请求取货设备{},接口请求立库WMS失败", device_code); + data = AgvService.sendAgvOneModeInst(phase, index, 0); } + } if (device.getDeviceDriver() instanceof StandardEmptyPalletSiteDeviceDriver) { standardEmptyPalletSiteDeviceDriver = (StandardEmptyPalletSiteDeviceDriver) device.getDeviceDriver(); @@ -947,18 +958,23 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } if (device.getDeviceDriver() instanceof StorageConveyorDeviceDriver) { storageConveyorDeviceDriver = (StorageConveyorDeviceDriver) device.getDeviceDriver(); - HttpResponse response = acsToXrlkService.AGVWorkStatus(device.getDevice_code(), "2"); - if (response.getStatus() == 200) { - JSONObject jo = JSONObject.fromObject(response.body()); - if (StrUtil.equals(jo.get("result").toString(), "1")) { - data = AgvService.sendAgvOneModeInst(phase, index, 0); + + //如果为acs创建的任务并且任务类型为3,那么就不需要调用立库接口 + if (!tag) { + HttpResponse response = acsToXrlkService.AGVWorkStatus(device.getDevice_code(), "2"); + if (response.getStatus() == 200) { + JSONObject jo = JSONObject.fromObject(response.body()); + if (StrUtil.equals(jo.get("result").toString(), "1")) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else { + log.info("AGV取货完成反馈设备{},{}", device_code, jo.getString("message")); + } } else { - log.info("AGV取货完成反馈设备{},{}", device_code, jo.getString("message")); + log.info("AGV取货完成反馈设备{},接口请求立库WMS失败", device_code); } } else { - log.info("AGV取货完成反馈设备{},接口请求立库WMS失败", device_code); + data = AgvService.sendAgvOneModeInst(phase, index, 0); } - } if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver(); @@ -1100,16 +1116,22 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } if (device.getDeviceDriver() instanceof StorageConveyorDeviceDriver) { storageConveyorDeviceDriver = (StorageConveyorDeviceDriver) device.getDeviceDriver(); - HttpResponse response = acsToXrlkService.isPutPermission(device.getDevice_code()); - if (response.getStatus() == 200) { - JSONObject jo = JSONObject.fromObject(response.body()); - if (StrUtil.equals(jo.get("result").toString(), "1")) { - data = AgvService.sendAgvOneModeInst(phase, index, 0); + + //如果为acs创建的任务并且任务类型为3,那么就不需要调用立库接口 + if (!tag) { + HttpResponse response = acsToXrlkService.isPutPermission(device.getDevice_code()); + if (response.getStatus() == 200) { + JSONObject jo = JSONObject.fromObject(response.body()); + if (StrUtil.equals(jo.get("result").toString(), "1")) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else { + log.info("AGV请求放货设备{},立库WMS不允许放货", device_code); + } } else { - log.info("AGV请求放货设备{},立库WMS不允许放货", device_code); + log.info("AGV请求放货设备{},接口请求立库WMS失败", device_code); } } else { - log.info("AGV请求放货设备{},接口请求立库WMS失败", device_code); + data = AgvService.sendAgvOneModeInst(phase, index, 0); } } if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { @@ -1272,18 +1294,23 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } if (device.getDeviceDriver() instanceof StorageConveyorDeviceDriver) { storageConveyorDeviceDriver = (StorageConveyorDeviceDriver) device.getDeviceDriver(); - HttpResponse response = acsToXrlkService.AGVWorkStatus(device.getDevice_code(), "1"); - if (response.getStatus() == 200) { - JSONObject jo = JSONObject.fromObject(response.body()); - if (StrUtil.equals(jo.get("result").toString(), "1")) { - data = AgvService.sendAgvOneModeInst(phase, index, 0); + + //如果为acs创建的任务并且任务类型为3,那么就不需要调用立库接口 + if (!tag) { + HttpResponse response = acsToXrlkService.AGVWorkStatus(device.getDevice_code(), "1"); + if (response.getStatus() == 200) { + JSONObject jo = JSONObject.fromObject(response.body()); + if (StrUtil.equals(jo.get("result").toString(), "1")) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else { + log.info("AGV放货完成反馈设备{},{}", device_code, jo.getString("message")); + } } else { - log.info("AGV放货完成反馈设备{},{}", device_code, jo.getString("message")); + log.info("AGV放货完成反馈设备{},接口请求立库WMS失败", device_code); } } else { - log.info("AGV放货完成反馈设备{},接口请求立库WMS失败", device_code); + data = AgvService.sendAgvOneModeInst(phase, index, 0); } - } } //任务完毕 @@ -1336,17 +1363,23 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } if (relevance_device.getDeviceDriver() instanceof StorageConveyorDeviceDriver) { storageConveyorDeviceDriver = (StorageConveyorDeviceDriver) device.getDeviceDriver(); - HttpResponse response = acsToXrlkService.invokeDoor(device.getDevice_code()); - if (response.getStatus() == 200) { - JSONObject jo = JSONObject.fromObject(response.body()); - if (StrUtil.equals(jo.get("result").toString(), "1")) { - data = AgvService.sendAgvOneModeInst(phase, index, 0); + //如果为acs创建的任务并且任务类型为3,那么就不需要调用立库接口 + if (!tag) { + HttpResponse response = acsToXrlkService.invokeDoor(device.getDevice_code()); + if (response.getStatus() == 200) { + JSONObject jo = JSONObject.fromObject(response.body()); + if (StrUtil.equals(jo.get("result").toString(), "1")) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else { + log.info("AGV请求进入{},{}", device_code, jo.getString("message")); + } } else { - log.info("AGV请求进入{},{}", device_code, jo.getString("message")); + log.info("AGV请求进入设备{},接口请求立库WMS失败", device_code); } } else { - log.info("AGV请求进入设备{},接口请求立库WMS失败", device_code); + data = AgvService.sendAgvOneModeInst(phase, index, 0); } + } }