From 01a0ebfb4ed9a29aac9c5dedd88d0fbf1b7c6ccf Mon Sep 17 00:00:00 2001 From: lishuai <1793460677@qq.com> Date: Sat, 15 Jun 2024 15:09:22 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E8=AF=BA=E5=AE=9Dagv=E3=80=81=E8=AF=BA?= =?UTF-8?q?=E5=AE=9D=E5=8F=89=E8=BD=A6=E8=B0=83=E8=AF=95=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/acs/agv/AgvWaitUtil.java | 40 +- .../java/org/nl/acs/agv/QueryAGVStatus.java | 79 ++-- .../acs/agv/rest/XianGongAgvController.java | 2 + .../server/impl/XianGongAgvServiceImpl.java | 395 +++++++----------- .../BeltConveyorDeviceDriver.java | 44 +- .../BoxStorageOutConveyorDeviceDriver.java | 22 +- .../BoxSubvolumesConveyorDeviceDriver.java | 107 ++--- ...nishedProductOutBindLableDeviceDriver.java | 39 +- .../FoldDiscSiteDeviceDriver.java | 25 +- ...ConveyorWithScannerWeightDeviceDriver.java | 35 +- .../UnBoxLableConveyorDeviceDriver.java | 17 +- .../service/impl/InstructionServiceImpl.java | 39 +- .../resources/config/application-prod.yml | 5 + .../monitor/universal/universal.properties | 2 +- 14 files changed, 362 insertions(+), 489 deletions(-) diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java index fc61d1dde..71cb930e5 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/AgvWaitUtil.java @@ -9,7 +9,9 @@ import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.domain.Device; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.conveyor.standard_inspect_site.StandardInspectSiteDeviceDriver; +import org.nl.acs.device_driver.one_conveyor.box_subvolumes_conveyor.BoxSubvolumesConveyorDeviceDriver; import org.nl.acs.device_driver.one_manipulator.box_storage_manipulator.BoxStorageManipulatorDeviceDriver; +import org.nl.acs.device_driver.two_conveyor.manipulator_agv_station.ManipulatorAgvStationDeviceDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; @@ -41,15 +43,19 @@ public class AgvWaitUtil { public JSONObject waitInGet(String startDeviceCode, Instruction inst) { log.info("仙工AGV请求取货,设备号 - {}", startDeviceCode); Device startDevice = deviceAppService.findDeviceByCode(startDeviceCode); - StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; - if(startDevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver){ - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startDevice.getDeviceDriver(); - if(standardInspectSiteDeviceDriver.getError() != 0){ - JSONObject map = new JSONObject(); - map.put("status", 500); - map.put("message", "不允许取货!"); - log.info("不允许仙工AGV取货,烘箱对接位有报警,设备号 - {}", startDeviceCode); - return map; + ManipulatorAgvStationDeviceDriver manipulatorAgvStationDeviceDriver; + BoxSubvolumesConveyorDeviceDriver boxSubvolumesConveyorDeviceDriver; + if(startDevice.getDeviceDriver() instanceof ManipulatorAgvStationDeviceDriver){ + manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) startDevice.getDeviceDriver(); + manipulatorAgvStationDeviceDriver.writing(2); + if(manipulatorAgvStationDeviceDriver.getAction() != 1){ + throw new BadRequestException("上位系统不允许取货"); + } + } + if(startDevice.getDeviceDriver() instanceof BoxSubvolumesConveyorDeviceDriver){ + boxSubvolumesConveyorDeviceDriver = (BoxSubvolumesConveyorDeviceDriver) startDevice.getDeviceDriver(); + if(boxSubvolumesConveyorDeviceDriver.getMode() != 2){ + throw new BadRequestException("上位系统不允许取货"); } } JSONObject map = new JSONObject(); @@ -75,15 +81,13 @@ public class AgvWaitUtil { public JSONObject waitInPut(String endDeviceCode, Instruction inst) { log.info("仙工AGV请求放货,设备号 - {}", endDeviceCode); Device endDevice = deviceAppService.findDeviceByCode(endDeviceCode); - StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; - if(endDevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver){ - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) endDevice.getDeviceDriver(); - if(standardInspectSiteDeviceDriver.getError() != 0){ - JSONObject map = new JSONObject(); - map.put("status", 500); - map.put("message", "不允许放货!"); - log.info("不允许仙工AGV放货,烘箱对接位有报警,设备号 - {}", endDeviceCode); - return map; + ManipulatorAgvStationDeviceDriver manipulatorAgvStationDeviceDriver; + if(endDevice.getDeviceDriver() instanceof ManipulatorAgvStationDeviceDriver){ + manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) endDevice.getDeviceDriver(); + manipulatorAgvStationDeviceDriver.writing(2); + if(manipulatorAgvStationDeviceDriver.getAction() != 1){ + log.info("不允许仙工AGV取货,烘箱对接位有报警,设备号 - {}", endDevice); + throw new BadRequestException("上位系统不允许取货"); } } JSONObject map = new JSONObject(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java index 8588c6eaf..a754c6ce6 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java @@ -13,11 +13,13 @@ import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.task.enums.AgvSystemTypeEnum; import org.nl.config.SpringContextHolder; import org.nl.system.service.param.ISysParamService; import org.springframework.stereotype.Component; import java.util.List; +import java.util.stream.Collectors; /** * 定时查询AGV状态 @@ -30,48 +32,47 @@ public class QueryAGVStatus { InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class); List allInstFromCache = instructionService.findAllInstFromCache(); - if(CollUtil.isEmpty(allInstFromCache) || allInstFromCache.size() < 1){ + List agvInstruction = allInstFromCache.stream().filter(item -> AgvSystemTypeEnum.One_NDC_System_Type.getIndex().equals(item.getAgv_system_type()) || AgvSystemTypeEnum.XG_System_Type.getIndex().equals(item.getAgv_system_type())).collect(Collectors.toList()); + if (CollUtil.isEmpty(agvInstruction) || agvInstruction.size() < 1) { return; } - for (Instruction instruction : allInstFromCache) { - if ("4".equals(instruction.getInstruction_type())) { - String agvurl =paramService.findByCode(AcsConfig.AGVURL).getValue(); - String agvport = paramService.findByCode(AcsConfig.AGVPORT).getValue(); - JSONObject param = new JSONObject(); - agvurl = agvurl + ":" + agvport + "/" + instruction.getInstruction_code(); - log.info("根据运单号查询运单状态的请求:{}", agvurl); - HttpResponse result = HttpRequest.get(agvurl) - .timeout(20000)//超时,毫秒 - .execute(); - log.info("根据运单号查询运单状态的请求反馈:{}", result); - String body = result.body(); - JSONObject json = JSONObject.parseObject(body); - if(result.getStatus() == 200 && json.getString("id").equals(instruction.getInstruction_code())){ - // 已创建=CREATED, - // 待分配=TOBEDISPATCHED, - // 正在执行=RUNNING, - // 完成=FINISHED, - // 失败=FAILED(主动失败), - // 终止=STOPPED(被人为终止), - // 无法执行=Error(参数错误), - // 等待=WAITING - //执行中 - String state = json.getString("state"); - if ("RUNNING".equals(state) || "CREATED".equals(state) || "TOBEDISPATCHED".equals(state) || "WAITING".equals(state)) { - instruction.setInstruction_status("1"); - instructionService.update(instruction); - } else if ("FINISHED".equals(state)) { - instruction.setInstruction_status("2"); - try { - instructionService.finish(instruction); - } catch (Exception e) { - log.error("执行完成,但无法更新状态,可能由于参数错误导致的异常"); - e.printStackTrace(); - } - } else if ("STOPPED".equals(state) || "FAILED".equals(state) || "Error".equals(state)) { - instruction.setInstruction_status("1"); - instructionService.update(instruction); + for (Instruction instruction : agvInstruction) { + String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue(); + String agvport = paramService.findByCode(AcsConfig.AGVPORT).getValue(); + JSONObject param = new JSONObject(); + agvurl = agvurl + ":" + agvport + "/orderDetails/" + instruction.getInstruction_code(); + log.info("根据运单号查询运单状态的请求:{}", agvurl); + HttpResponse result = HttpRequest.get(agvurl) + .timeout(20000)//超时,毫秒 + .execute(); + log.info("根据运单号查询运单状态的请求反馈:{}", result); + String body = result.body(); + JSONObject json = JSONObject.parseObject(body); + if (result.getStatus() == 200 && json.getString("id").equals(instruction.getInstruction_code())) { + // 已创建=CREATED, + // 待分配=TOBEDISPATCHED, + // 正在执行=RUNNING, + // 完成=FINISHED, + // 失败=FAILED(主动失败), + // 终止=STOPPED(被人为终止), + // 无法执行=Error(参数错误), + // 等待=WAITING + //执行中 + String state = json.getString("state"); + if ("RUNNING".equals(state) || "CREATED".equals(state) || "TOBEDISPATCHED".equals(state) || "WAITING".equals(state)) { + instruction.setInstruction_status("1"); + instructionService.update(instruction); + } else if ("FINISHED".equals(state)) { + instruction.setInstruction_status("2"); + try { + instructionService.finish(instruction); + } catch (Exception e) { + log.error("执行完成,但无法更新状态,可能由于参数错误导致的异常"); + e.printStackTrace(); } + } else if ("STOPPED".equals(state) || "FAILED".equals(state) || "Error".equals(state)) { + instruction.setInstruction_status("1"); + instructionService.update(instruction); } } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java index 29e69257b..b1b998064 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/rest/XianGongAgvController.java @@ -1,5 +1,6 @@ package org.nl.acs.agv.rest; +import cn.dev33.satoken.annotation.SaIgnore; import com.alibaba.fastjson.JSONObject; import groovy.lang.Lazy; import org.nl.acs.agv.server.XianGongAgvService; @@ -24,6 +25,7 @@ public class XianGongAgvController { @PostMapping("/api/agv/xg/waitPointRequest") @Log("仙工AGV请求取放货") + @SaIgnore public ResponseEntity xgAGVWaitPointRequest(@RequestBody JSONObject requestParam) { return new ResponseEntity<>(xianGongAgentService.xgAGVWaitPointRequest(requestParam), HttpStatus.OK); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java index 9e832859b..1840ddfa7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/XianGongAgvServiceImpl.java @@ -259,7 +259,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { jo.put("priority", inst.getPriority()); LuceneLogDto logDto = LuceneLogDto.builder() .device_code("下发诺宝运单") - .content("任务号:"+inst.getTask_code()+",指令号:"+inst.getInstruction_code()+",下发agv订单序列参数:"+jo) + .content("任务号:" + inst.getTask_code() + ",指令号:" + inst.getInstruction_code() + ",下发agv订单序列参数:" + jo) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); @@ -280,7 +280,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { .execute(); LuceneLogDto logDto1 = LuceneLogDto.builder() .device_code("诺宝运单响应") - .content("任务号:"+inst.getTask_code()+",指令号:"+inst.getInstruction_code()+",下发诺宝订单序列反馈参数:"+jo) + .content("任务号:" + inst.getTask_code() + ",指令号:" + inst.getInstruction_code() + ",下发诺宝订单序列反馈参数:" + jo) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto1); @@ -326,134 +326,100 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { /** * 下发取货信号 + * * @param ja - * @param pointCode 起始点位 + * @param pointCode 起始点位 * @param device_code 起始设备 - * @param instCode 指令号 + * @param instCode 指令号 */ public void sendStartDeviceOrder(JSONArray ja, String pointCode, String device_code, String instCode) { Device startDevice = deviceAppService.findDeviceByCode(device_code); - //忽略取货校验 - if ("true".equals(startDevice.getExtraValue().get("ignore_pickup_check"))) { - //取货前等待 - JSONObject jo = new JSONObject(); - //动作块id - jo.put("blockId", IdUtil.simpleUUID()); - //目的地名称 - jo.put("location", pointCode + "INGET"); - //执行脚本 - jo.put("operation", "script"); - jo.put("id", pointCode + "INGET"); - //通信脚本,动作前后与现场设备交互的场景 - jo.put("script_name", "userpy/interact.py"); - JSONObject script_args = new JSONObject(); - //更改为现场设备IP及PORT - script_args.put("addr", addr); - JSONObject data = new JSONObject(); - JSONObject reach = new JSONObject(); - reach.put("task_code", instCode); - reach.put("address", pointCode + "INGET"); - data.put("reach", reach); - script_args.put("data", data); - script_args.put("protocol", "HTTP"); - jo.put("script_args", script_args); - ja.add(jo); - } - JSONObject jo3 = new JSONObject(); + //取货前等待 + JSONObject jo = new JSONObject(); //动作块id - jo3.put("blockId", IdUtil.simpleUUID()); + jo.put("blockId", IdUtil.simpleUUID()); //目的地名称 - jo3.put("location", pointCode + "INGET"); - jo3.put("id", pointCode + "INGET"); + jo.put("location", pointCode + "INGET"); //执行脚本 - jo3.put("operation", "expand"); + jo.put("operation", "script"); + jo.put("id", pointCode + "INGET"); //通信脚本,动作前后与现场设备交互的场景 - jo3.put("script_name", "Fork-expand.py"); + jo.put("script_name", "userpy/interact.py"); JSONObject script_args = new JSONObject(); - script_args.put("expandWidth", 0.2); - script_args.put("operation", "expand"); - jo3.put("script_args", script_args); - ja.add(jo3); + //更改为现场设备IP及PORT + script_args.put("addr", addr); + JSONObject data = new JSONObject(); + JSONObject reach = new JSONObject(); + reach.put("task_code", instCode); + reach.put("address", pointCode + "INGET"); + data.put("reach", reach); + script_args.put("data", data); + script_args.put("protocol", "HTTP"); + jo.put("script_args", script_args); + ja.add(jo); - JSONObject jo4 = new JSONObject(); - //动作块id - jo4.put("blockId", IdUtil.simpleUUID()); - //目的地名称 - jo4.put("location", pointCode + "INGET"); - jo4.put("id", pointCode + "INGET"); - //执行脚本 - jo4.put("operation", "stretch"); - //通信脚本,动作前后与现场设备交互的场景 - jo4.put("script_name", "Fork-expand.py"); - JSONObject script_args1 = new JSONObject(); - script_args1.put("expandWidth", 0.2); - script_args1.put("operation", "stretch"); - jo4.put("script_args", script_args1); - ja.add(jo4); //将货物顶起来,机器识别提升高度 JSONObject jo1 = new JSONObject(); jo1.put("blockId", IdUtil.simpleUUID()); jo1.put("location", pointCode); jo1.put("operation", "JackLoad"); - jo1.put("operationArgs", new JSONObject() {{ - put("recognize", true); - }}); +// jo1.put("operationArgs", new JSONObject() {{ +// put("recognize", true); +// }}); ja.add(jo1); - //取货完成等待 - if ("true".equals(startDevice.getExtraValue().get("ignore_pickup_check"))) { - JSONObject jo2 = new JSONObject(); - jo2.put("blockId", IdUtil.simpleUUID()); - jo2.put("location", pointCode + "OUTGET"); - jo2.put("operation", "script"); - jo2.put("id", pointCode + "OUTGET"); - jo2.put("script_name", "userpy/interact.py"); - JSONObject script_args2 = new JSONObject(); - script_args2.put("addr", addr); - JSONObject data2 = new JSONObject(); - JSONObject reach2 = new JSONObject(); - reach2.put("task_code", instCode); - reach2.put("address", pointCode + "OUTGET"); - data2.put("reach", reach2); - script_args2.put("data", data2); - script_args2.put("protocol", "HTTP"); - jo2.put("script_args", script_args2); - ja.add(jo2); - } + + JSONObject jo2 = new JSONObject(); + jo2.put("blockId", IdUtil.simpleUUID()); + jo2.put("location", pointCode + "OUTGET"); + jo2.put("operation", "script"); + jo2.put("id", pointCode + "OUTGET"); + jo2.put("script_name", "userpy/interact.py"); + JSONObject script_args2 = new JSONObject(); + script_args2.put("addr", addr); + JSONObject data2 = new JSONObject(); + JSONObject reach2 = new JSONObject(); + reach2.put("task_code", instCode); + reach2.put("address", pointCode + "OUTGET"); + data2.put("reach", reach2); + script_args2.put("data", data2); + script_args2.put("protocol", "HTTP"); + jo2.put("script_args", script_args2); + ja.add(jo2); } /** * 下发放货信号 + * * @param ja - * @param device_code 起始设备 - * @param instCode 指令号 - * @param pointCode 终点点位 + * @param device_code 起始设备 + * @param instCode 指令号 + * @param pointCode 终点点位 * @param nextDeviceCode 终点设备 */ public void sendEndDeviceOrder(JSONArray ja, String device_code, String instCode, String pointCode, String nextDeviceCode) { Device nextDevice = deviceAppService.findDeviceByCode(nextDeviceCode); - //忽略放货校验 - if ("true".equals(nextDevice.getExtraValue().get("ignore_release_check"))) { - //放货前等待 - JSONObject jo3 = new JSONObject(); - jo3.put("blockId", IdUtil.simpleUUID()); - jo3.put("location", pointCode + "INPUT"); - jo3.put("operation", "script"); - jo3.put("id", pointCode + "INPUT"); - jo3.put("script_name", "userpy/interact.py"); - JSONObject script_args3 = new JSONObject(); - script_args3.put("addr", addr); - JSONObject data3 = new JSONObject(); - JSONObject reach3 = new JSONObject(); - reach3.put("task_code", instCode); - reach3.put("address", pointCode + "INPUT"); - data3.put("reach", reach3); - script_args3.put("data", data3); - script_args3.put("protocol", "HTTP"); - jo3.put("script_args", script_args3); - ja.add(jo3); - } + + //放货前等待 + JSONObject jo3 = new JSONObject(); + jo3.put("blockId", IdUtil.simpleUUID()); + jo3.put("location", pointCode + "INPUT"); + jo3.put("operation", "script"); + jo3.put("id", pointCode + "INPUT"); + jo3.put("script_name", "userpy/interact.py"); + JSONObject script_args3 = new JSONObject(); + script_args3.put("addr", addr); + JSONObject data3 = new JSONObject(); + JSONObject reach3 = new JSONObject(); + reach3.put("task_code", instCode); + reach3.put("address", pointCode + "INPUT"); + data3.put("reach", reach3); + script_args3.put("data", data3); + script_args3.put("protocol", "HTTP"); + jo3.put("script_args", script_args3); + ja.add(jo3); + //放货前下发旋转角度 /*JSONObject json1 = new JSONObject(); @@ -478,27 +444,25 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { ja.add(jo4); - //忽略放货校验 - if ("true".equals(nextDevice.getExtraValue().get("ignore_release_check"))) { - //放货完成等待 - com.alibaba.fastjson.JSONObject jo5 = new com.alibaba.fastjson.JSONObject(); - jo5.put("blockId", IdUtil.simpleUUID()); - jo5.put("location", pointCode + "OUTPUT"); - jo5.put("operation", "script"); - jo5.put("id", pointCode + "OUTPUT"); - jo5.put("script_name", "userpy/interact.py"); - com.alibaba.fastjson.JSONObject script_args5 = new com.alibaba.fastjson.JSONObject(); - script_args5.put("addr", addr); - com.alibaba.fastjson.JSONObject data5 = new com.alibaba.fastjson.JSONObject(); - com.alibaba.fastjson.JSONObject reach5 = new com.alibaba.fastjson.JSONObject(); - reach5.put("task_code", instCode); - reach5.put("address", pointCode + "OUTPUT"); - data5.put("reach", reach5); - script_args5.put("data", data5); - script_args5.put("protocol", "HTTP"); - jo5.put("script_args", script_args5); - ja.add(jo5); - } + //放货完成等待 + com.alibaba.fastjson.JSONObject jo5 = new com.alibaba.fastjson.JSONObject(); + jo5.put("blockId", IdUtil.simpleUUID()); + jo5.put("location", pointCode + "OUTPUT"); + jo5.put("operation", "script"); + jo5.put("id", pointCode + "OUTPUT"); + jo5.put("script_name", "userpy/interact.py"); + com.alibaba.fastjson.JSONObject script_args5 = new com.alibaba.fastjson.JSONObject(); + script_args5.put("addr", addr); + com.alibaba.fastjson.JSONObject data5 = new com.alibaba.fastjson.JSONObject(); + com.alibaba.fastjson.JSONObject reach5 = new com.alibaba.fastjson.JSONObject(); + reach5.put("task_code", instCode); + reach5.put("address", pointCode + "OUTPUT"); + data5.put("reach", reach5); + script_args5.put("data", data5); + script_args5.put("protocol", "HTTP"); + jo5.put("script_args", script_args5); + ja.add(jo5); + } @@ -803,7 +767,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { jo.put("priority", inst.getPriority()); LuceneLogDto logDto = LuceneLogDto.builder() .device_code("下发叉车运单") - .content("任务号:"+inst.getTask_code()+",指令号:"+inst.getInstruction_code()+",下发叉车订单序列参数:"+jo) + .content("任务号:" + inst.getTask_code() + ",指令号:" + inst.getInstruction_code() + ",下发叉车订单序列参数:" + jo) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); @@ -824,7 +788,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { .execute(); LuceneLogDto logDto1 = LuceneLogDto.builder() .device_code("叉车运单响应") - .content("任务号:"+inst.getTask_code()+",指令号:"+inst.getInstruction_code()+",下发叉车订单序列反馈参数:"+jo) + .content("任务号:" + inst.getTask_code() + ",指令号:" + inst.getInstruction_code() + ",下发叉车订单序列反馈参数:" + jo) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto1); @@ -838,6 +802,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { /** * 叉车运单动作块 + * * @param inst * @return */ @@ -845,127 +810,89 @@ public class XianGongAgvServiceImpl implements XianGongAgvService { JSONArray ja = new JSONArray(); //起点 Device startDevice = deviceAppService.findDeviceByCode(inst.getStart_device_code()); - //忽略取货校验 - if ("true".equals(startDevice.getExtraValue().get("ignore_pickup_check"))) { - //取货前等待 - JSONObject jo = new JSONObject(); - //动作块id - jo.put("blockId", IdUtil.simpleUUID()); - //目的地名称 - jo.put("location", inst.getStart_point_code() + "INGET"); - //执行脚本 - jo.put("operation", "script"); - jo.put("id", inst.getStart_point_code() + "INGET"); - //通信脚本,动作前后与现场设备交互的场景 - jo.put("script_name", "userpy/interact.py"); - JSONObject script_args = new JSONObject(); - //更改为现场设备IP及PORT - script_args.put("addr", addr); - JSONObject data = new JSONObject(); - JSONObject reach = new JSONObject(); - reach.put("task_code", inst.getInstruction_code()); - reach.put("address", inst.getStart_point_code() + "INGET"); - data.put("reach", reach); - script_args.put("data", data); - script_args.put("protocol", "HTTP"); - jo.put("script_args", script_args); - ja.add(jo); - } - //货叉加载货物,会将叉车状态变成载货中 + String pointCode = inst.getStart_point_code(); + //取货前等待 + JSONObject jo = new JSONObject(); + //动作块id + jo.put("blockId", IdUtil.simpleUUID()); + //目的地名称 + jo.put("location", pointCode + "INGET"); + //执行脚本 + jo.put("operation", "script"); + jo.put("id", pointCode + "INGET"); + //通信脚本,动作前后与现场设备交互的场景 + jo.put("script_name", "userpy/interact.py"); + JSONObject script_args = new JSONObject(); + //更改为现场设备IP及PORT + script_args.put("addr", addr); + JSONObject data = new JSONObject(); + JSONObject reach = new JSONObject(); + reach.put("task_code", inst.getInstruction_code()); + reach.put("address", pointCode + "INGET"); + data.put("reach", reach); + script_args.put("data", data); + script_args.put("protocol", "HTTP"); + jo.put("script_args", script_args); + ja.add(jo); + + JSONObject jo1 = new JSONObject(); jo1.put("blockId", IdUtil.simpleUUID()); - jo1.put("location", inst.getStart_point_code()); - jo1.put("operation", "ForkLoad"); - //行走高度 - jo1.put("start_height", "0.1"); - //取货高度 - jo1.put("end_height", inst.getStart_height()); - //升起信号 - jo1.put("operationArgs", new JSONObject() {{ - put("recognize", true); - }}); + jo1.put("location", inst.getStart_point_code()+ "INGET"); + jo1.put("binTask", "InForkHeight"); ja.add(jo1); - //取货完成等待 - if ("true".equals(startDevice.getExtraValue().get("ignore_pickup_check"))) { - JSONObject jo2 = new JSONObject(); - jo2.put("blockId", IdUtil.simpleUUID()); - jo2.put("location", inst.getStart_point_code() + "OUTGET"); - jo2.put("operation", "script"); - jo2.put("id", inst.getStart_point_code() + "OUTGET"); - jo2.put("script_name", "userpy/interact.py"); - JSONObject script_args2 = new JSONObject(); - script_args2.put("addr", addr); - JSONObject data2 = new JSONObject(); - JSONObject reach2 = new JSONObject(); - reach2.put("task_code", inst.getInstruction_code()); - reach2.put("address", inst.getStart_point_code() + "OUTGET"); - data2.put("reach", reach2); - script_args2.put("data", data2); - script_args2.put("protocol", "HTTP"); - jo2.put("script_args", script_args2); - ja.add(jo2); - } + JSONObject jo6 = new JSONObject(); + jo6.put("blockId", IdUtil.simpleUUID()); + jo6.put("location", inst.getStart_point_code()); + jo6.put("binTask", "Script"); + ja.add(jo6); - //起点 - Device nextDevice = deviceAppService.findDeviceByCode(inst.getNext_device_code()); - //忽略放货校验 - if ("true".equals(nextDevice.getExtraValue().get("ignore_release_check"))) { - //放货前等待 - JSONObject jo3 = new JSONObject(); - jo3.put("blockId", IdUtil.simpleUUID()); - jo3.put("location", inst.getNext_point_code() + "INPUT"); - jo3.put("operation", "script"); - jo3.put("id", inst.getNext_point_code() + "INPUT"); - jo3.put("script_name", "userpy/interact.py"); - JSONObject script_args3 = new JSONObject(); - script_args3.put("addr", addr); - JSONObject data3 = new JSONObject(); - JSONObject reach3 = new JSONObject(); - reach3.put("task_code", inst.getInstruction_code()); - reach3.put("address", inst.getNext_point_code() + "INPUT"); - data3.put("reach", reach3); - script_args3.put("data", data3); - script_args3.put("protocol", "HTTP"); - jo3.put("script_args", script_args3); - ja.add(jo3); - } + JSONObject jo7 = new JSONObject(); + jo7.put("blockId", IdUtil.simpleUUID()); + jo7.put("location", inst.getStart_point_code()); + jo7.put("binTask", "ForkLoad"); + ja.add(jo7); - - //ForkUnload(货叉卸载货物,会将叉车的状态变成非载货中) + //取货完成 JSONObject jo2 = new JSONObject(); jo2.put("blockId", IdUtil.simpleUUID()); - jo2.put("location", inst.getStart_point_code()); - jo2.put("operation", "ForkUnload"); - //行走高度 - jo2.put("start_height", "0.2"); - //放货高度 - jo2.put("end_height", inst.getNext_height()); + jo2.put("location", pointCode + "OUTGET"); + jo2.put("operation", "script"); + jo2.put("id", pointCode + "OUTGET"); + jo2.put("script_name", "userpy/interact.py"); + JSONObject script_args2 = new JSONObject(); + script_args2.put("addr", addr); + JSONObject data2 = new JSONObject(); + JSONObject reach2 = new JSONObject(); + reach2.put("task_code", inst.getInstruction_code()); + reach2.put("address", pointCode + "OUTGET"); + data2.put("reach", reach2); + script_args2.put("data", data2); + script_args2.put("protocol", "HTTP"); + jo2.put("script_args", script_args2); ja.add(jo2); - //忽略放货校验 - if ("true".equals(nextDevice.getExtraValue().get("ignore_release_check"))) { - //放货完成等待 - com.alibaba.fastjson.JSONObject jo5 = new com.alibaba.fastjson.JSONObject(); - jo5.put("blockId", IdUtil.simpleUUID()); - jo5.put("location", inst.getNext_point_code() + "OUTPUT"); - jo5.put("operation", "script"); - jo5.put("id", inst.getNext_point_code() + "OUTPUT"); - jo5.put("script_name", "userpy/interact.py"); - com.alibaba.fastjson.JSONObject script_args5 = new com.alibaba.fastjson.JSONObject(); - script_args5.put("addr", addr); - com.alibaba.fastjson.JSONObject data5 = new com.alibaba.fastjson.JSONObject(); - com.alibaba.fastjson.JSONObject reach5 = new com.alibaba.fastjson.JSONObject(); - reach5.put("task_code", inst.getInstruction_code()); - reach5.put("address", inst.getNext_point_code() + "OUTPUT"); - data5.put("reach", reach5); - script_args5.put("data", data5); - script_args5.put("protocol", "HTTP"); - jo5.put("script_args", script_args5); - ja.add(jo5); - } + //ForkUnload(货叉卸载货物,会将叉车的状态变成非载货中) + JSONObject jo8 = new JSONObject(); + jo8.put("blockId", IdUtil.simpleUUID()); + jo8.put("location", inst.getStart_point_code()+"OUTGET"); + jo8.put("binTask", "OutForkHeight"); + ja.add(jo8); + + JSONObject jo9 = new JSONObject(); + jo9.put("blockId", IdUtil.simpleUUID()); + jo9.put("location", inst.getNext_point_code()); + jo9.put("binTask", "ForkUnload"); + ja.add(jo9); + + JSONObject jo10 = new JSONObject(); + jo10.put("blockId", IdUtil.simpleUUID()); + jo10.put("location", inst.getNext_point_code()+"OUTPUT"); + jo10.put("binTask", "OutForkHeight"); + ja.add(jo10); return ja; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java index 6012aa40e..18cbc8360 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java @@ -1,22 +1,18 @@ package org.nl.acs.device_driver.conveyor.belt_conveyor; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; -import org.nl.acs.AcsConfig; import org.nl.acs.agv.server.AgvService; import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.domain.Device; -import org.nl.acs.device.enums.ErrorType; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.RouteableDeviceDriver; @@ -24,13 +20,11 @@ import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; import org.nl.acs.device_driver.one_conveyor.fold_disc_site.FoldDiscSiteDeviceDriver; import org.nl.acs.device_driver.one_manipulator.box_package_manipulator.InteractionJsonDTO; -import org.nl.acs.enums.AcsToLmsApplyTaskTypeEnum; import org.nl.acs.enums.StorageTypeEnum; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; import org.nl.acs.history.ErrorUtil; import org.nl.acs.history.service.DeviceErrorLogService; -import org.nl.acs.history.service.dto.DeviceErrorLogDto; import org.nl.acs.history.service.impl.DeviceErrorLogServiceImpl; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.enums.InstructionStatusEnum; @@ -41,7 +35,6 @@ import org.nl.acs.opc.DeviceAppService; import org.nl.acs.route.service.RouteLineService; import org.nl.acs.route.service.dto.RouteLineDto; import org.nl.acs.task.enums.TaskStatusEnum; -import org.nl.acs.task.enums.TaskTypeEnum; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; import org.nl.common.utils.SecurityUtils; @@ -52,12 +45,9 @@ import org.nl.config.lucene.service.dto.LuceneLogDto; import org.nl.system.service.param.ISysParamService; import org.springframework.beans.factory.annotation.Autowired; -import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.CompletableFuture; -import static redis.clients.jedis.HostAndPort.localhost; - /** * 输送线 */ @@ -244,13 +234,8 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements to_container_no = this.itemProtocol.getContainer_direction(); - if (mode != last_mode) { - requireSucess = false; - if(mode == 2){ - clearWrite(); - } - } - if (move != last_move && move==0) { + + if (move != last_move && move==0 && last_move==1) { requireSucess = false; clearWrite(); } @@ -275,7 +260,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements //申请空托盘出库 if (mode == 8 && !requireSucess) { if (container_type==0){ - message = "universal_notCreateInstMessage7"; + message = "托盘类型为空"; } applyEmptyTask(StorageTypeEnum.DISKS_OUT.getType(), mode); @@ -284,10 +269,10 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements if (mode == 0) { this.setIsonline(false); - message = "universal_off-line"; + message = "脱机"; } else if (error != 0) { this.setIserror(true); - message = "universal_message3"; + message = "有报警"; } else { this.setIsonline(true); @@ -369,10 +354,6 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements map2.put("code","to_task"); map2.put("value","0"); list.add(map2); - Map map3 = new HashMap<>(); - map3.put("code","to_command"); - map3.put("value","0"); - list.add(map3); Map map4 = new HashMap<>(); map4.put("code","to_container_type"); map4.put("value","0"); @@ -419,6 +400,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.applyTwo(param); JSONObject jo = JSON.parseObject(response); + message = "申请空托盘出入库,返回参数:" + jo.getString("body"); if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -511,6 +493,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements String route_plan_code = taskDtoHandCode.getRoute_plan_code(); String next_device_code = taskDtoHandCode.getNext_device_code(); String interactionJson = taskDtoHandCode.getInteraction_json(); + String vehicleCode = taskDtoHandCode.getVehicle_code(); String containerType = ""; if (StrUtil.isNotEmpty(interactionJson)) { InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class); @@ -539,7 +522,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements if (StrUtil.equals(deviceAppservice.findDeviceTypeByCode(next_device_code), "storage")) { next_point_code = next_device_code + "-" + taskDtoHandCode.getTo_y() + "-" + taskDtoHandCode.getTo_z(); Instruction instdto = new Instruction(); - packageData(instdto, route_plan_code, taskDtoHandCode, taskid, taskcode, start_device_code, next_device_code, start_point_code, next_point_code, priority, containerType); + packageData(instdto, route_plan_code, taskDtoHandCode, taskid, taskcode, start_device_code, next_device_code, start_point_code, next_point_code, priority, containerType,vehicleCode); try { instructionService.create(instdto); } catch (Exception e) { @@ -569,6 +552,8 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements String start_point_code = taskdto.getStart_point_code(); String start_device_code = taskdto.getStart_device_code(); String route_plan_code = taskdto.getRoute_plan_code(); + String vehicleCode = taskdto.getVehicle_code(); + String next_device_code = ""; String containerType = ""; String interactionJson = taskdto.getInteraction_json(); @@ -641,7 +626,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements return false; } Instruction instdto = new Instruction(); - packageData(instdto, route_plan_code, taskdto, taskid, taskcode, start_device_code, next_device_code, start_point_code, next_point_code, priority, containerType); + packageData(instdto, route_plan_code, taskdto, taskid, taskcode, start_device_code, next_device_code, start_point_code, next_point_code, priority, containerType, vehicleCode); log.error("=================================,{}", instdto.getCreate_by()); try { instructionService.create(instdto); @@ -704,7 +689,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements this.writing(list3); } - private static void packageData(Instruction instdto, String route_plan_code, TaskDto taskdto, String taskid, String taskcode, String start_device_code, String next_device_code, String start_point_code, String next_point_code, String priority, String containerType) { + private static void packageData(Instruction instdto, String route_plan_code, TaskDto taskdto, String taskid, String taskcode, String start_device_code, String next_device_code, String start_point_code, String next_point_code, String priority, String containerType, String vehicleCode) { instdto.setInstruction_id(IdUtil.simpleUUID()); instdto.setRoute_plan_code(route_plan_code); instdto.setRemark(taskdto.getRemark()); @@ -723,6 +708,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements instdto.setInstruction_status("0"); instdto.setExecute_device_code(start_point_code); instdto.setVehicle_type(containerType); + instdto.setVehicle_code(vehicleCode); } public void writeData(String next_addr, Instruction instdto, Map map) { @@ -813,7 +799,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements jo.put("device_name", this.getDevice().getDevice_name()); jo.put("mode", mode); - jo.put("message", LangProcess.msg(message)); + jo.put("message", message); jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); if (this.getMove() == 0) { move = LangProcess.msg("universal_no"); @@ -838,7 +824,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements jo.put("isOnline", this.getIsonline()); jo.put("requireSucess", requireSucess); jo.put("hand_barcode", hand_barcode); - jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); + jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java index f7a33b98b..2921e52d4 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_storage_out_conveyor/BoxStorageOutConveyorDeviceDriver.java @@ -206,20 +206,15 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } - if (mode != last_mode) { - requireSucess = false; - if(mode == 2){ - clearWrite(); - } - } - if (move != last_move && move==0) { + + if (move != last_move && move==0 && last_move==1) { requireSucess = false; clearWrite(); } if (mode == 0) { this.setIsonline(false); - message = "universal_off-line"; + message = "脱机"; //有报警 @@ -228,7 +223,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i this.setIserror(false); if (error != 0) { this.setIserror(true); - message = "universal_message3"; + message = "有警报"; } Instruction instruction = null; @@ -296,10 +291,6 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i map2.put("code","to_task"); map2.put("value","0"); list.add(map2); - Map map3 = new HashMap<>(); - map3.put("code","to_command"); - map3.put("value","0"); - list.add(map3); Map map4 = new HashMap<>(); map4.put("code","to_container_type"); map4.put("value","0"); @@ -397,6 +388,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i logServer.deviceExecuteLog(this.device_code, "", "", "二楼到一楼输送线申请行架任务,参数:" + param); String response = acsToWmsService.applyTowToOne(param); JSONObject jo = JSON.parseObject(response); + message = "二楼到一楼输送线申请行架任务,返回参数:" + jo.getString("body"); if (response == null || jo.getInteger("status") == 200) { List list1 = new ArrayList(); Map map = new HashMap(); @@ -463,7 +455,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i return false; } } - message = "universal_message5"; + message = "下发电气任务号成功"; requireSucess = true; return true; } @@ -682,7 +674,7 @@ public class BoxStorageOutConveyorDeviceDriver extends AbstractOpcDeviceDriver i map.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); map.put("requireSucess", requireSucess); map.put("driver_type", "siemens_conveyor"); - map.put("message", LangProcess.msg(message)); + map.put("message",message); map.put("inst_message", this.inst_message); map.put("last_inst_message", this.last_inst_message); map.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java index ec3d234ba..a2808d1ec 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java @@ -204,13 +204,8 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } - if (mode != last_mode) { - requireSucess = false; - if(mode == 2){ - clearWrite(); - } - } - if (move != last_move && move==0) { + + if (move != last_move && move == 0 && last_move == 1) { requireSucess = false; clearWrite(); } @@ -224,7 +219,7 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i this.setIserror(false); if (error != 0) { this.setIserror(true); - message = "universal_message3"; + message = "有报警"; } Instruction instruction = null; @@ -237,8 +232,8 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i case 19: //申请AGV任务 if (move == 1 && !requireSucess) { - if (StrUtil.isEmpty(material_barcode)){ - message = "universal_notCreateInstMessage8"; + if (StrUtil.isEmpty(material_barcode)) { + message = "条码为空"; } applyAgvTask(); @@ -248,7 +243,7 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i //申请任务 if (move > 0 && !requireSucess) { instruction_require(); - }else { + } else { String remark = ""; ; if (mode != 2) { @@ -290,25 +285,21 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i private void clearWrite() { List list = new ArrayList<>(); Map map = new HashMap<>(); - map.put("code","to_target"); - map.put("value","0"); + map.put("code", "to_target"); + map.put("value", "0"); list.add(map); Map map2 = new HashMap<>(); - map2.put("code","to_task"); - map2.put("value","0"); + map2.put("code", "to_task"); + map2.put("value", "0"); list.add(map2); - Map map3 = new HashMap<>(); - map3.put("code","to_command"); - map3.put("value","0"); - list.add(map3); Map map4 = new HashMap<>(); - map4.put("code","to_container_type"); - map4.put("value","0"); + map4.put("code", "to_container_type"); + map4.put("value", "0"); list.add(map4); this.writing(list); - message=null; - vehicle_code=null; + message = null; + vehicle_code = null; } @@ -343,27 +334,22 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i .content("申请AGV任务,参数,接口返回:" + jo) .build(); luceneExecuteLogService.deviceExecuteLog(logDto2); - if (ObjectUtil.isEmpty(jo)) { - message = "one_message15"; - } else { - if (jo.getInteger("status") == 200) { - message = "one_message16"; - List list1 = new ArrayList(); - Map map = new HashMap(); - map.put("code", "to_command"); - map.put("value", 19); - list1.add(map); - this.writing(list1); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(device_code) - .content("申请AGV任务,返回参数:" + jo.getString("body")) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - requireSucess = true; - } else { - message = "one_message17"; - } + message = "申请AGV任务,参数,接口返回:" + jo; + + if (jo.getInteger("status") == 200) { + List list1 = new ArrayList(); + Map map = new HashMap(); + map.put("code", "to_command"); + map.put("value", 19); + list1.add(map); + this.writing(list1); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("申请AGV任务,返回参数:" + jo.getString("body")) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + requireSucess = true; } return; } @@ -376,23 +362,17 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,请求参数:" + apply + ",响应参数"); JSONObject jo = JSON.parseObject(str); - if (ObjectUtil.isEmpty(jo)) { - message = "one_message15"; -// requireSucess = true; - } else { - if (jo.getInteger("status") == 200) { - message = "one_message16"; - List list = new ArrayList(); - Map map = new HashMap(); - map.put("code", "to_command"); - map.put("value", 19); - list.add(map); - this.writing(list); - logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,返回参数:" + jo); - requireSucess = true; - } else { - message = "one_message17"; - } + + message = "申请AGV任务,参数,接口返回:" + jo; + if (jo.getInteger("status") == 200) { + List list = new ArrayList(); + Map map = new HashMap(); + map.put("code", "to_command"); + map.put("value", 19); + list.add(map); + this.writing(list); + logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,返回参数:" + jo); + requireSucess = true; } } @@ -464,13 +444,13 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i jo.put("isOnline", this.getIsonline()); jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); jo.put("isError", this.getIserror()); - jo.put("message", LangProcess.msg(message)); + jo.put("message", message); jo.put("hand_barcode", hand_barcode); jo.put("barcode", this.getMove() == 0 ? null : checkInst() == null ? vehicle_code : checkInst().getVehicle_code()); jo.put("is_click", true); jo.put("requireSucess", requireSucess); jo.put("driver_type", "siemens_conveyor"); - jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); + jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); return jo; } @@ -575,7 +555,6 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i return false; } } - message = "universal_message5"; requireSucess = true; return true; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java index 2e8d890f3..ad2dbc819 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java @@ -117,8 +117,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr int to_length = 0; int last_to_length = 0; - int to_weight = 0; - int last_to_weight = 0; + int to_height = 0; int last_to_height = 0; @@ -209,13 +208,8 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr logServer.deviceExecuteLog(this.device_code, "", "", "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null:" + ObjectUtil.isEmpty(this.itemProtocol)); } - if (mode != last_mode) { - requireSucess = false; - if(mode == 2){ - clearWrite(); - } - } - if (move != last_move && move==0) { + + if (move != last_move && move==0 && last_move==1) { requireSucess = false; clearWrite(); } @@ -223,7 +217,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr if (mode == 0) { this.setIsonline(false); - message = "universal_off-line"; + message = "脱机"; //有报警 @@ -232,7 +226,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr this.setIserror(false); if (error != 0) { this.setIserror(true); - message = "universal_message3"; + message = "有警报"; } Instruction instruction = null; @@ -318,7 +312,6 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr last_to_target = to_target; last_material_barcode = material_barcode; last_to_length = to_length; - last_to_weight = to_weight; last_to_height = to_height; } @@ -332,10 +325,6 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr map2.put("code","to_task"); map2.put("value","0"); list.add(map2); - Map map3 = new HashMap<>(); - map3.put("code","to_command"); - map3.put("value","0"); - list.add(map3); Map map4 = new HashMap<>(); map4.put("code","to_container_type"); map4.put("value","0"); @@ -354,7 +343,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr this.require_apply_strangulation_time = date; Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task)); if (ObjectUtil.isEmpty(inst) && StrUtil.isEmpty(inst.getVehicle_code())) { - message = "one_message11"; + message = "指令为空、或者托盘码未空"; return; } JSONObject param = new JSONObject(); @@ -369,6 +358,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.deviceApplyTwo(param); JSONObject jo = JSON.parseObject(response); + message = "申请捆扎,参数,接口返回:" + jo; if (StrUtil.isNotEmpty(jo.getString("body")) || jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -404,7 +394,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr // Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task)); if (StrUtil.isEmpty(inst.getVehicle_code())) { - message = "one_message11"; + message = "托盘码为空"; return; } JSONObject param = new JSONObject(); @@ -428,7 +418,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr try { this.writing(list); } catch (Exception e) { - message = "universal_write_erro"; + message = "写入异常"; } // Map datas = applyLabelingAndBindingResponse.getData(); requireSucess = true; @@ -466,7 +456,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr map.put("value", length); list.add(map); Map map2 = new HashMap(); - map2.put("code", "to_weight"); + map2.put("code", "to_width"); map2.put("value", width); list.add(map2); Map map3 = new HashMap(); @@ -516,7 +506,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr map.put("value", length); list.add(map); Map map2 = new HashMap(); - map2.put("code", "to_weight"); + map2.put("code", "to_width"); map2.put("value", width); list.add(map2); Map map3 = new HashMap(); @@ -579,7 +569,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr map.put("value", length); list.add(map); Map map2 = new HashMap(); - map2.put("code", "to_weight"); + map2.put("code", "to_width"); map2.put("value", width); list.add(map2); Map map3 = new HashMap(); @@ -610,7 +600,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr try { this.writing(list); } catch (Exception e) { - message = "universal_write_erro"; + message = "写入异常"; } this.setRequireSucess(true); @@ -700,7 +690,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr jo.put("isOnline", this.getIsonline()); jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); jo.put("isError", this.getIserror()); - jo.put("message", LangProcess.msg(message)); + jo.put("message", message); jo.put("hand_barcode", hand_barcode); jo.put("is_click", true); jo.put("requireSucess", requireSucess); @@ -812,7 +802,6 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr return false; } } - message = "universal_message5"; requireSucess = true; return true; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java index 18ca23771..7765179d2 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/fold_disc_site/FoldDiscSiteDeviceDriver.java @@ -209,13 +209,8 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements } - if (mode != last_mode) { - requireSucess = false; - if(mode == 2){ - clearWrite(); - } - } - if (move != last_move && move==0) { + + if (move != last_move && move==0 && last_move==1) { requireSucess = false; clearWrite(); } @@ -233,12 +228,12 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements if (mode == 0) { this.setIsonline(false); - message = "universal_off-line"; + message = "脱机"; //有报警 } else if (error != 0) { this.setIserror(true); - message = "universal_message3"; + message = "有报警"; //无报警 } else { this.setIsonline(true); @@ -250,7 +245,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements //申请空托盘入库 if (mode == 9 && move == 1 && !requireSucess) { if (container_type==0){ - message = "universal_notCreateInstMessage7"; + message = "托盘类型为空"; } applyEmptyTask(StorageTypeEnum.DISKS_IN.getType(), mode); @@ -260,7 +255,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements //申请空托盘出库 if (mode == 8 && !requireSucess) { if (container_type==0){ - message = "universal_notCreateInstMessage7"; + message = "托盘类型为空"; } applyEmptyTask(StorageTypeEnum.DISKS_OUT.getType(), mode); @@ -327,10 +322,6 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements map2.put("code","to_task"); map2.put("value","0"); list.add(map2); - Map map3 = new HashMap<>(); - map3.put("code","to_command"); - map3.put("value","0"); - list.add(map3); Map map4 = new HashMap<>(); map4.put("code","to_container_type"); map4.put("value","0"); @@ -382,7 +373,6 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements return false; } } - message = "universal_message5"; requireSucess = true; return true; } @@ -600,6 +590,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.applyTwo(param); JSONObject jo = JSON.parseObject(response); + message = "申请空托盘出入库,参数,接口返回:" + jo; if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -676,7 +667,7 @@ public class FoldDiscSiteDeviceDriver extends AbstractOpcDeviceDriver implements jo.put("isOnline", this.getIsonline()); jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); jo.put("isError", this.getIserror()); - jo.put("message", LangProcess.msg(message)); + jo.put("message", message); jo.put("notCreateTaskMessage", notCreateTaskMessage); jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); jo.put("feedMessage", LangProcess.msg(feedMessage)); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java index 6c19300f2..7d28608a1 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java @@ -243,13 +243,8 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv } - if (mode != last_mode) { - requireSucess = false; - if(mode == 2){ - clearWrite(); - } - } - if (move != last_move && move==0) { + + if (move != last_move && move==0 && last_move==1) { requireSucess = false; clearWrite(); } @@ -292,7 +287,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv //有报警 } else if (error != 0) { this.setIserror(true); - message = "one_mode5"; + message = "有报警"; //申请异常位任务 applyErrorTask(); } else { @@ -304,7 +299,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv //木箱入库申请入库任务 if (mode == 6 && !requireSucess){ if (StrUtil.isEmpty(barcode)){ - message = "universal_notCreateInstMessage8"; + message = "托盘条码为空"; } applyIn(StorageTypeEnum.BOX_IN.getType(),mode); @@ -313,7 +308,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv //子卷入库申请入库任务 if (mode == 7 && move == 1 && !requireSucess){ if (StrUtil.isEmpty(barcode)||StrUtil.isEmpty(material_barcode)){ - message = "universal_notCreateInstMessage8"; + message = "托盘条码为空、或者子卷码为空"; } applyIn(StorageTypeEnum.STORAGE.getType(),mode); @@ -323,7 +318,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv //申请空托盘入库 if (mode == 9 && move == 1 && !requireSucess){ if (container_type==0){ - message = "universal_notCreateInstMessage7"; + message = "托盘类型为空"; } applyEmptyTask(StorageTypeEnum.DISKS_IN.getType(), mode); @@ -332,14 +327,15 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv //申请退货入库 if (mode == 18 && move == 1 && !requireSucess){ if (StrUtil.isEmpty(barcode)){ - message = "universal_notCreateInstMessage8"; + message = "托盘条码为空"; } applyBoxReturnTask(StorageTypeEnum.BOX_RETURN.getType(), mode); } + //申请高度 if (mode == 23 && !requireSucess){ if (StrUtil.isEmpty(barcode)||StrUtil.isEmpty(material_barcode)){ - message = "universal_notCreateInstMessage8"; + message = "条码为空"; } applyErrorHeight(); @@ -413,6 +409,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.getBoxInfo(param); JSONObject jo = JSON.parseObject(response); + message = "申请高度等级,返回参数:" + jo; if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -468,6 +465,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.applyTwo(param); JSONObject jo = JSON.parseObject(response); + message = "申请退货入库,返回参数:" + jo; if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -506,10 +504,6 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv map2.put("code","to_task"); map2.put("value","0"); list.add(map2); - Map map3 = new HashMap<>(); - map3.put("code","to_command"); - map3.put("value","0"); - list.add(map3); Map map4 = new HashMap<>(); map4.put("code","to_container_type"); map4.put("value","0"); @@ -574,6 +568,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.applyTwo(param); JSONObject jo = JSON.parseObject(response); + message = "申请空托盘出入库,返回参数:" + jo; if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -623,7 +618,8 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.applyTwo(param); JSONObject jo = JSON.parseObject(response); - if (jo.getInteger("status") == 200) { + message = "木箱、子卷入库申请入库任务,返回参数:" + jo; + if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) .content("木箱、子卷入库申请入库任务,参数,接口返回:" + jo) @@ -787,7 +783,6 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv map3.put("code", "to_container_type"); map3.put("value", containerType); list.add(map3); - this.writing(list); List list2 = new ArrayList(); Map map4 = new HashMap(); @@ -977,7 +972,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv jo.put("isOnline", this.getIsonline()); jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); jo.put("isError", this.getIserror()); - jo.put("message", LangProcess.msg(message)); + jo.put("message", message); jo.put("notCreateTaskMessage", notCreateTaskMessage); jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); jo.put("feedMessage", LangProcess.msg(feedMessage)); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java index 232510df3..a44f5d923 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java @@ -191,7 +191,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl } if (mode == 0) { this.setIsonline(false); - message = "universal_off-line"; + message = "脱机"; //有报警 @@ -200,15 +200,15 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl this.setIserror(false); if (error != 0) { this.setIserror(true); - message = "universal_message3"; + message = "有报警"; } Instruction instruction = instructionService.findByCode(String.valueOf(task)); //空箱出库开盖位,申请开盖 - if (mode == 7 && move == 1 && task > 0 ) { + if (mode == 15 && move == 1 && task > 0 ) { //不允许开盖,完成出库任务,自动去扫码位 if (StrUtil.isEmpty(instruction.getVehicle_code())){ - message = "universal_notCreateInstMessage8"; + message = "任务托盘码为空"; } applyUnbox(instruction.getVehicle_code()); @@ -252,6 +252,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl luceneExecuteLogService.deviceExecuteLog(logDto); String response = acsToWmsService.getBoxInfo(param); JSONObject jo = JSON.parseObject(response); + message = "木箱开盖,返回参数:" + jo; if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -266,7 +267,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl List list1 = new ArrayList(); Map map = new HashMap(); map.put("code", "to_command"); - map.put("value", 7); + map.put("value", 15); list1.add(map); this.writing(list1); }else { @@ -316,7 +317,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl try { this.writing(list); } catch (Exception e) { - message = "universal_write_erro"; + message = "写入异常"; } this.setRequireSucess(true); @@ -412,7 +413,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl jo.put("isOnline", this.getIsonline()); jo.put("error", ErrorUtil.getDictDetail("ssx_error_type", String.valueOf(this.getError()))); jo.put("isError", this.getIserror()); - jo.put("message", LangProcess.msg(message)); + jo.put("message", message); jo.put("hand_barcode", hand_barcode); jo.put("barcode", this.getMove() == 0 ? null : checkInst() == null ? vehicle_code : checkInst().getVehicle_code()); jo.put("is_click", true); @@ -512,7 +513,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl return false; } } - message = "universal_message5"; + message = "申请任务成功"; requireSucess = true; return true; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 17c669027..0bbc70bbd 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -382,11 +382,11 @@ public class InstructionServiceImpl extends CommonServiceImpl instructionMybatis = instructionMapper.selectList(Wrappers.lambdaQuery(InstructionMybatis.class) .eq(InstructionMybatis::getTask_code, dto.getTask_code())); - if(CollUtil.isNotEmpty(instructionMybatis) && instructionMybatis.stream().anyMatch(inst -> inst.getStart_device_code() - .equals(start_device_code))){ + if (CollUtil.isNotEmpty(instructionMybatis) && instructionMybatis.stream().anyMatch(inst -> inst.getStart_device_code() + .equals(start_device_code))) { return; } } @@ -471,7 +471,7 @@ public class InstructionServiceImpl extends CommonServiceImpl 0 && StrUtil.equals(shortPathsList.get(0).getType(), CommonFinalParam.ONE) && dto.getAgv_system_type().equals(AgvSystemTypeEnum.Two_NDC_System_Type.getIndex())) { + if (shortPathsList.size() > 0 && StrUtil.equals(shortPathsList.get(0).getType(), CommonFinalParam.ONE) && dto.getAgv_system_type().equals(AgvSystemTypeEnum.Two_NDC_System_Type.getIndex())) { // 0为输送、立库任务 1 1楼叉车系统 2 2楼1区域AGV系统 3 2楼2区域AGV系统 if (!StrUtil.equals(task.getAgv_system_type(), "0") && ObjectUtil.isNotEmpty(task.getAgv_system_type())) { @@ -501,26 +501,28 @@ public class InstructionServiceImpl extends CommonServiceImpl 0 && StrUtil.equals(shortPathsList.get(0).getType(), CommonFinalParam.ONE) && dto.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())) { + if (shortPathsList.size() > 0 && StrUtil.equals(shortPathsList.get(0).getType(), CommonFinalParam.ONE)) { Device deviceByCode = deviceAppService.findDeviceByCode(dto.getStart_device_code()); - if (StrUtil.equals(task.getRequest_again_success(), "1")) { - //追加订单 - HttpResponse result = xiangGongAgvService.addOrderSequences(dto); - if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { - dto.setSend_status("2"); - } else { - dto.setSend_status("1"); - } +// if (StrUtil.equals(task.getRequest_again_success(), "1")) { +// //追加订单 +// HttpResponse result = xiangGongAgvService.addOrderSequences(dto); +// if (ObjectUtils.isEmpty(result) || result.getStatus() != 200) { +// dto.setSend_status("2"); +// } else { +// dto.setSend_status("1"); +// } +// +// } else + if (dto.getAgv_system_type().equals(AgvSystemTypeEnum.XG_System_Type.getIndex())) { //仙工叉车 - } else if (deviceByCode.getDeviceDriver() instanceof BeltConveyorDeviceDriver&& dto.getAgv_system_type().equals(AgvSystemTypeEnum.XG_System_Type.getIndex())) { HttpResponse response = xiangGongAgvService.sendOrderSequencesToForklift(dto); if (ObjectUtils.isEmpty(response) || response.getStatus() != 200) { dto.setSend_status("2"); } else { dto.setSend_status("1"); } - } else { - //创建运单序列 + } else if (dto.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())) { + //一楼agv任务创建运单序列 HttpResponse response = xiangGongAgvService.sendOrderSequencesToXZ(dto); if (ObjectUtils.isEmpty(response) || response.getStatus() != 200) { dto.setSend_status("2"); @@ -534,7 +536,7 @@ public class InstructionServiceImpl extends CommonServiceImpl it = instructions.iterator(); while (it.hasNext()) { Instruction inst = it.next(); - if (StrUtil.equals(devicecode, inst.getNext_device_code()) && Integer.parseInt(inst.getInstruction_status())<=Integer.parseInt(InstructionStatusEnum.BUSY.getIndex())) { + if (StrUtil.equals(devicecode, inst.getNext_device_code()) && Integer.parseInt(inst.getInstruction_status()) <= Integer.parseInt(InstructionStatusEnum.BUSY.getIndex())) { return inst; } } @@ -1867,7 +1869,6 @@ public class InstructionServiceImpl extends CommonServiceImpl