diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java index a7ec336..f1e0269 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java @@ -171,10 +171,13 @@ public class NDCAgvServiceImpl implements NDCAgvService { if (phase < 0 || index < 0) { return null; } + byte indexhigh = (byte) IntToHexHigh(index); byte indexlow = (byte) IntToHexLow(index); byte phasehigh = (byte) IntToHexHigh(phase); byte phaselow = (byte) IntToHexLow(phase); + byte resulthigh = (byte) IntToHexHigh(result); + byte resultlow = (byte) IntToHexLow(result); byte[] b = new byte[]{(byte) 0X87, (byte) 0XCD, (byte) 0X00, (byte) 0X08, @@ -183,11 +186,10 @@ public class NDCAgvServiceImpl implements NDCAgvService { (byte) 0X00, (byte) 0X6D, (byte) 0X00, (byte) 0X06, (byte) indexhigh, (byte) indexlow, - (byte) 0X01, (byte) 0X10, + (byte) 0X01, (byte) 0X12, (byte) phasehigh, (byte) phaselow }; - log.info("反馈agv动作数据--index:" + hexToString(indexhigh & 0xFF) + hexToString(indexlow & 0xFF) + ",phase:" + hexToString(phasehigh & 0xFF) + hexToString(phaselow & 0xFF)); System.out.println("反馈agv动作数据:" + Bytes2HexString(b)); 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 b6df756..8cd48f5 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 @@ -19,6 +19,7 @@ import org.nl.acs.device_driver.RequestMethodEnum; import org.nl.acs.device_driver.basedriver.agv.utils.AgvActionEnum; import org.nl.acs.device_driver.basedriver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; import org.nl.acs.device_driver.driver.AbstractDeviceDriver; +import org.nl.acs.device_driver.storage.standard_storage.StandardStorageDeviceDriver; import org.nl.acs.ext.wms.data.one.feedBackTaskStatus.FeedBackTaskStatusRequest; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; @@ -204,8 +205,14 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic //log.info("{},{}", device_code, "允许AGV取货。"); // lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, "允许AGV取货。")); } - //到达取货等待点 - //(需要WCS反馈) + // 到达货架 + if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { + log.info("到达{}取货点开始取货", device_code); + inst.setExecute_status("1"); + instructionService.update(inst); + data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); + flag = true; + } } else if (phase == 0x04) { data = getData(data, index, inst, task); //取货完毕 @@ -248,12 +255,17 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic agv_status = 2; //到达普通站点取货完成 if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - data = actionComplete(index, inst, device_code, 0, Integer.parseInt(AgvActionEnum.ACTION_STATUS.code("取货完成")), "取货完成"); + data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); log.info("agv进入" + device_code + "取货完成"); flag = true; } - //到达放货等待点 - //(需要WCS反馈) + //到达货架取货完成 + if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { + data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); + log.info("agv进入" + device_code + "取货完成"); + flag = true; + } + } else if (phase == 0x06) { data = getData(data, index, inst, task); //到达放货点 @@ -297,6 +309,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } + // 货架 + if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { + log.info("到达{}放货点", device_code); + data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); + flag = true; + } if (flag) { // log.info("==================允许AGV放货=================="); // logServer.deviceExecuteLog(device_code, "", "", "允许AGV放货。"); @@ -343,7 +361,13 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic //agv普通站点放货完成 if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { log.info("{}放货完成", device_code); - data = actionComplete(index, inst, device_code, 0, Integer.parseInt(AgvActionEnum.ACTION_STATUS.code("放货完成")), "放货完成"); + data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); + flag = true; + } + //agv货架放货完成 + if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { + log.info("{}放货完成", device_code); + data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } if (flag) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 6d7a80c..06d1092 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -58,25 +58,39 @@