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 a833342..4b02cfd 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 @@ -192,7 +192,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic agv_status = 1; //到达普通站点 if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - log.info("到达{}取货点开始取货", device_code); + log.info("到达{}取货点开始取货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -200,7 +200,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } // 到达货架 if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { - log.info("到达{}取货点开始取货", device_code); + log.info("到达{}取货点开始取货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -209,7 +209,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic //到达称重平台 if (device.getDeviceDriver() instanceof WeightPlatformDeviceDriver) { - log.info("到达{}取货点开始取货", device_code); + log.info("到达{}取货点开始取货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -226,7 +226,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic // 判断是否允许取货 if (deviceDriver.getAction() == 1) { log.info("到达{}取货点开始取货", device_code); - inst.setExecute_status("1"); + inst.setExecute_status("1"+"指令号:"+ikey); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; @@ -241,7 +241,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic Map param = new HashMap<>(); param.put(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_out, 1); deviceDriver.writing(param); - log.info("到达{}取货点开始取货", device_code); + log.info("到达{}取货点开始取货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -258,7 +258,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic Map param = new HashMap<>(); param.put(org.nl.acs.device_driver.basedriver.pallet_dispenser.ItemProtocol.to_out, 1); deviceDriver.writing(param); - log.info("到达{}取货点开始取货", device_code); + log.info("到达{}取货点开始取货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -316,7 +316,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } if (deviceDriver.getIs_put_confirm()) { data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("agv进入" + device_code + "取货完成"); + log.info("agv进入" + device_code + "取货完成"+"指令号:"+ikey); flag = true; deviceDriver.setIs_put_confirm(false); } else { @@ -327,14 +327,14 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic //到达货架取货完成 if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("agv进入" + device_code + "取货完成"); + log.info("agv进入" + device_code + "取货完成"+"指令号:"+ikey); flag = true; } //到达称重平台取货完成 if (device.getDeviceDriver() instanceof WeightPlatformDeviceDriver) { data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("agv进入" + device_code + "取货完成"); + log.info("agv进入" + device_code + "取货完成"+"指令号:"+ikey); flag = true; } @@ -345,7 +345,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic param.put(ItemProtocol.to_out_finish, 1); deviceDriver.writing(param); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("agv进入" + device_code + "取货完成"); + log.info("agv进入" + device_code + "取货完成"+"指令号:"+ikey); flag = true; } @@ -357,7 +357,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic param.put("to_out", 0); deviceDriver.writing(param); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("agv进入" + device_code + "取货完成"); + log.info("agv进入" + device_code + "取货完成"+"指令号:"+ikey); flag = true; } @@ -368,7 +368,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic param.put("to_out", 0); deviceDriver.writing(param); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("agv进入" + device_code + "取货完成"); + log.info("agv进入" + device_code + "取货完成"+"指令号:"+ikey); flag = true; } @@ -412,19 +412,19 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic agv_status = 3; //普通站点 if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - log.info("到达{}放货点", device_code); + log.info("到达{}放货点", device_code+"指令号:"+ikey); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } // 货架 if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { - log.info("到达{}放货点", device_code); + log.info("到达{}放货点", device_code+"指令号:"+ikey); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } // 称重平台 if (device.getDeviceDriver() instanceof WeightPlatformDeviceDriver) { - log.info("到达{}放货点", device_code); + log.info("到达{}放货点", device_code+"指令号:"+ikey); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } @@ -437,7 +437,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic deviceDriver.writing(param); // 判断是否允许放货 if (deviceDriver.getAction() == 1) { - log.info("到达{}放货点开始放货", device_code); + log.info("到达{}放货点开始放货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -451,7 +451,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic if (deviceDriver.getHeartbeat() == 1) { // 下发请求放货 deviceDriver.writing(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_in, "1"); - log.info("到达{}放货点开始放货", device_code); + log.info("到达{}放货点开始放货", device_code+"指令号:"+ikey); inst.setExecute_status("1"); instructionService.update(inst); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); @@ -504,7 +504,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic deviceDriver.setIs_get_confirm(true); } if (deviceDriver.getIs_get_confirm()) { - log.info("{}放货完成", device_code); + log.info("{}放货完成", device_code+"指令号:"+ikey); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; deviceDriver.setIs_get_confirm(false); @@ -515,13 +515,13 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } //agv货架放货完成 if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { - log.info("{}放货完成", device_code); + log.info("{}放货完成", device_code+"指令号:"+ikey); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } //称重平台放货完成 if (device.getDeviceDriver() instanceof WeightPlatformDeviceDriver) { - log.info("{}放货完成", device_code); + log.info("{}放货完成", device_code+"指令号:"+ikey); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } @@ -532,7 +532,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic param.put(ItemProtocol.to_in_finish, 1); deviceDriver.writing(param); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("{}放货完成", device_code); + log.info("{}放货完成", device_code+"指令号:"+ikey); flag = true; } @@ -541,7 +541,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver(); deviceDriver.writing("to_in", "0"); data = ndcAgvService.sendAgvOneModeInst(phase, index, 0); - log.info("{}放货完成", device_code); + log.info("{}放货完成", device_code+"指令号:"+ikey); flag = true; } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/ItemProtocol.java index 9845e14..bdd5c7b 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/ItemProtocol.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/ItemProtocol.java @@ -17,19 +17,19 @@ public class ItemProtocol { this.driver = driver; } - public String getWeight() { + public Integer getWeight() { return this.getStringgerValue(weight); } - public String getStringgerValue(String protocol) { - String value = this.driver.getStringgerValue(protocol); + public Integer getStringgerValue(String protocol) { + Integer value = this.driver.getIntegeregerValue(protocol); if (value == null) { // log.error("读取错误!"); } else { return value; } - return "0"; + return 0; } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/WeightPlatformDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/WeightPlatformDeviceDriver.java index dde9d4f..220d3ac 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/WeightPlatformDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/weight_platform/WeightPlatformDeviceDriver.java @@ -64,13 +64,13 @@ public class WeightPlatformDeviceDriver extends AbstractOpcDeviceDriver implemen protected boolean has_goods_tag = false; String devicecode; // 重量 - String weight = "0"; + Integer weight = 0; Boolean iserror = false; int move = 0; int last_error = 0; - String last_weight = "0"; + Integer last_weight = 0; boolean hasVehicle = false; boolean isReady = false; diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java index c59db4f..e760af0 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/WmsToAcsController.java @@ -128,4 +128,12 @@ public class WmsToAcsController { return new ResponseEntity<>(wmstoacsService.isGetPut(param), HttpStatus.OK); } + @PostMapping("/getDevice") + @Log("wms获取设备") + /** wms获取设备 */ + @SaIgnore + public ResponseEntity getDevice(@RequestBody JSONObject param) { + return new ResponseEntity<>(wmstoacsService.getDevice(param), HttpStatus.OK); + } + } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/WmsToAcsService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/WmsToAcsService.java index 21be08f..aed2de9 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/WmsToAcsService.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/WmsToAcsService.java @@ -132,4 +132,6 @@ public interface WmsToAcsService { CreateTaskResponse getEmpReady(JSONObject param); CreateTaskResponse isGetPut(JSONObject param); + + CreateTaskResponse getDevice(JSONObject param); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index 5cd9402..dc2e9c3 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java @@ -465,14 +465,14 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { response.setMessage("设备【" + device_code + "】不存在"); } WeightPlatformDeviceDriver driver = (WeightPlatformDeviceDriver) device.getDeviceDriver(); - String weight = driver.getWeight(); - if (ObjectUtil.isEmpty(weight) || Double.parseDouble(weight) == 0) { + Integer weight = driver.getWeight(); + if (ObjectUtil.isEmpty(weight) || weight == 0) { weight = driver.getWeight(); } // 返回wms重量 HashMap data = new HashMap<>(); - data.put("weigh", NumberUtil.div(weight, "100").toString()); + data.put("weigh", NumberUtil.div(String.valueOf(weight), "100").toString()); response.setStatus(200); response.setParameters(data); log.info("ACS接收WMS任务获取重量--------------:输出参数:" + JSON.toJSONString(response)); @@ -551,6 +551,12 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { response.setStatus(200); deviceDriver.setIs_put_confirm(true); } + if (type.equals("3")) { + // 放货完成 + response.setStatus(200); + deviceDriver.setIs_put_confirm(false); + deviceDriver.setIs_get_confirm(false); + } } else { response.setStatus(400); response.setMessage("当前点位不需要下发取放货完成信号!"); @@ -565,4 +571,37 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { return response; } + @Override + public CreateTaskResponse getDevice(JSONObject param) { + MDC.put(log_file_type, log_type); + log.info("ACS接收WMS获取设备-----输入参数{}", param); + CreateTaskResponse response = new CreateTaskResponse(); + try { + String device_code = param.getString("device_code"); + if (ObjectUtil.isEmpty(device_code)) { + response.setStatus(400); + response.setMessage("设备不能为空"); + } + // 根据设备编码 + DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); + Device device = deviceAppService.findDeviceByCode(device_code); + if (ObjectUtil.isEmpty(device)) { + response.setStatus(400); + response.setMessage("设备【" + device_code + "】不存在"); + } + + StandardOrdinarySiteDeviceDriver driver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); + // 返回状态 + HashMap data = new HashMap<>(); + data.put("get_status", driver.getIs_get_confirm().toString()); + data.put("put_status", driver.getIs_put_confirm().toString()); + response.setStatus(200); + response.setParameters(data); + log.info("ACS接收WMS获取设备--------------:输出参数:" + JSON.toJSONString(response)); + return response; + } finally { + MDC.remove(log_file_type); + } + } + }