From 44f84111e08cb1cebae0f358116884a87d1e7c8e Mon Sep 17 00:00:00 2001 From: psh Date: Mon, 27 May 2024 22:09:54 +0800 Subject: [PATCH] PLCfix --- .../agv/server/impl/NDCAgvServiceImpl.java | 17 +- .../agv/server/impl/ZheDaAgvServiceImpl.java | 221 ++------ .../run/OneNDCSocketConnectionAutoRun.java | 2 +- .../device/device_driver/DriverTypeEnum.java | 4 +- .../service/impl/DeviceServiceImpl.java | 2 +- .../baoshijian/BaoshijianDefination.java | 62 +++ .../BaoshijianSiteDeviceDriver.java | 309 +++++++++++ .../tianneng/baoshijian/ItemProtocol.java | 156 ++++++ .../tianneng/guhuashi/ItemProtocol.java | 19 +- .../wms/service/impl/AcsToWmsServiceImpl.java | 1 - .../service/impl/InstructionServiceImpl.java | 24 +- .../org/nl/acs/opc/DeviceAppServiceImpl.java | 10 +- .../task/service/impl/TaskServiceImpl.java | 1 + .../nl/quartz/task/QueryZDAgvTaskStatus.java | 2 + .../main/resources/config/application-dev.yml | 2 +- .../resources/log/AgvNdcOneDeviceDriver.xml | 33 ++ .../src/main/resources/log/AutoCreateInst.xml | 33 ++ .../resources/log/LnshRGVDeviceDriver.xml | 33 ++ .../src/main/resources/log/Lucene.xml | 41 ++ .../main/resources/log/NDCAgvServiceImpl.xml | 33 ++ .../log/OneNDCSocketConnectionAutoRun.xml | 33 ++ .../src/main/resources/log/WmsToAcs.xml | 33 ++ .../main/resources/log/XgAgvDeviceDriver.xml | 2 +- .../src/main/resources/logback-spring.xml | 24 +- .../src/views/acs/device/config.vue | 2 + .../acs/device/driver/baoshijian_site.vue | 488 ++++++++++++++++++ .../acs/service/impl/AcsToWmsServiceImpl.java | 25 +- .../task/tasks/auto/GHCMLTask.java | 2 +- .../src/main/resources/logback-spring.xml | 28 +- 29 files changed, 1381 insertions(+), 261 deletions(-) create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianDefination.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcOneDeviceDriver.xml create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/AutoCreateInst.xml create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/LnshRGVDeviceDriver.xml create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/Lucene.xml create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/NDCAgvServiceImpl.xml create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml create mode 100644 acs/nladmin-system/nlsso-server/src/main/resources/log/WmsToAcs.xml create mode 100644 acs/nladmin-ui/src/views/acs/device/driver/baoshijian_site.vue 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 8635e66..5532712 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 @@ -85,8 +85,8 @@ public class NDCAgvServiceImpl implements NDCAgvService { int nextAddress = deviceService.queryAddressBydeviceCode(inst.getNext_point_code()); byte ikeyhigh = (byte) IntToHexHigh(Integer.parseInt(instcode)); byte ikeylow = (byte) IntToHexLow(Integer.parseInt(instcode)); - byte typehigh = (byte) IntToHexHigh(type); - byte typelow = (byte) IntToHexLow(type); + byte typehigh = (byte) IntToHexHigh(1); + byte typelow = (byte) IntToHexLow(1); byte qhdhigh = (byte) IntToHexHigh(startAddress); byte qhdlow = (byte) IntToHexLow(startAddress); byte fhdhigh = (byte) IntToHexHigh(nextAddress); @@ -145,20 +145,15 @@ public class NDCAgvServiceImpl implements NDCAgvService { byte[] b = new byte[]{(byte) 0X87, (byte) 0XCD, (byte) 0X00, (byte) 0X08, - (byte) 0X00, (byte) 0X12, + (byte) 0X00, (byte) 0X0A, (byte) 0X00, (byte) 0X01, (byte) 0X00, (byte) 0X6D, - (byte) 0X00, (byte) 0X0E, + (byte) 0X00, (byte) 0X06, (byte) indexhigh, (byte) indexlow, - (byte) 0X01, (byte) 0X14, - (byte) phasehigh, (byte) phaselow, - (byte) startPointHigh, (byte) startPointLow, - (byte) nextPointHigh, (byte) nextPointLow, - (byte) startHighHigh, (byte) startHighLow, - (byte) nextHighHigh, (byte) nextHighLow + (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/agv/server/impl/ZheDaAgvServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/ZheDaAgvServiceImpl.java index 8e1653e..391da0e 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/ZheDaAgvServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/ZheDaAgvServiceImpl.java @@ -77,9 +77,9 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { String agvurl = paramService.findByCode(AcsConfig.RGVURL).getValue(); String agvport = paramService.findByCode(AcsConfig.RGVPORT).getValue(); - agvurl = agvurl + ":" + agvport + "/v1/transportOrders/" + inst.getInstruction_code(); + agvurl = agvurl + ":" + agvport + "/transportOrders/" + inst.getInstruction_code(); - log.info("下发agv任务请求:{}", agvurl); + log.info("下发agv任务请求:{}内容为:{}", agvurl,String.valueOf(jo)); HttpResponse result = HttpRequest.post(agvurl) .body(String.valueOf(jo))//表单内容 @@ -103,12 +103,13 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { agvurl = paramService.findByCode(AcsConfig.RGVURL).getValue(); agvport = paramService.findByCode(AcsConfig.RGVPORT).getValue(); - - agvurl = agvurl + ":" + agvport + "/v1/transportOrders"; - HttpResponse result = HttpRequest.get(agvurl) + agvurl = agvurl + ":" + agvport + "/transportOrders/query"; + log.info("下发agv查询状态请求:{}内容为:{}", agvurl); + HttpResponse result = HttpRequest.post(agvurl) + .body(String.valueOf(new JSONObject()))//表单内容 .timeout(20000)//超时,毫秒 .execute(); - System.out.println("查询agv指令数据:" + result.body()); + log.info("查询agv指令数据:" + result.body()); return result; } else { @@ -149,85 +150,10 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { //取货的进入前等待和离开等待 if (action.equals("Load")) { if ("EntryRequired".equals(type)) { - //共挤线三工位 - if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { - hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); - if ((hailiangSmartplcTestDeviceDriver.getAction() == 1 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 1) { - inst.setExecute_status("1"); - is_feedback = true; - } - } - //叠盘位 - if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) { - emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); - int number = emptyVehicleStackingPositionDeviceDriver.getNumber(); - if (number < Integer.valueOf(str)) { - log.info("叠盘位:" + jobno + "当前层高为:" + number + ",不存在第" + str + "的托盘!"); - return null; - } - inst.setExecute_status("1"); - is_feedback = true; - } - //货梯对接线 - if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) { - cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); - if ((cargoLiftConveyorDeviceDriver.getAction() == 1 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 1) { - inst.setExecute_status("1"); - is_feedback = true; - } - } - //豪凯自动线对接位 - if (addressdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { - hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) addressdevice.getDeviceDriver(); - if ((hongXiangConveyorDeviceDriver.getAction() == 1 || hongXiangConveyorDeviceDriver.getAction() == 3) && hongXiangConveyorDeviceDriver.getMove() == 1) { - inst.setExecute_status("1"); - is_feedback = true; - } - } - //油漆线 - if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { - paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); - if ((paintConveyorDeviceDriver.getAction() == 1 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 1) { - inst.setExecute_status("1"); - is_feedback = true; - } - } + } if ("PauseOnStation".equals(type)) { - if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { - hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("2"); - hailiangSmartplcTestDeviceDriver.writing(2); - is_feedback = true; - } - if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) { - emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("2"); - emptyVehicleStackingPositionDeviceDriver.writing(2); - is_feedback = true; - } - - if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) { - cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("2"); - cargoLiftConveyorDeviceDriver.writing(2); - is_feedback = true; - } - - if (addressdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { - hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("2"); - hongXiangConveyorDeviceDriver.writing(2); - is_feedback = true; - } - - if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { - paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("2"); - paintConveyorDeviceDriver.writing(2); - is_feedback = true; - } } } @@ -238,21 +164,6 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { jo.put("task_code", inst.getInstruction_code()); JSONArray destinations = new JSONArray(); String inst_type = inst.getInstruction_type(); - //如果任务类型为1,在点位进行等待,则查询当前叠盘位的数量,取当前数量的层数进行追加任务 -// if ("1".equals(inst_type)) { -// emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); -// int current_num = emptyVehicleStackingPositionDeviceDriver.getNumber(); -// if (current_num > 12) { -// log.info("当前叠盘架:" + jobno + "已放满!"); -// return null; -// } -// String start_point_code = inst.getStart_point_code(); -// String next_point_code = inst.getNext_point_code(); -// start_point_code = start_point_code + "." + (current_num + 1); -// destinations.add(destination(start_point_code, "Load", "1", "1")); -// destinations.add(destination(next_point_code, "Unload", "1", "1")); -// -// } String resp = acsToWmsService.requestTaskAgain(address,task.getExt_task_id(),inst.getVehicle_code()); JSONObject respjson = JSONObject.parseObject(resp); @@ -281,7 +192,7 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { JSONObject complete = new JSONObject(); complete.put("task_code", inst.getInstruction_code()); - String url2 = agvurl + ":" + agvport + "markComplete"; + String url2 = agvurl + ":" + agvport + "/markComplete"; log.info("下发agv任务请求:{}", url2); HttpResponse result2 = HttpRequest.post(url2) @@ -294,85 +205,51 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { //放货的进入前等待和离开等待 if (action.equals("Unload")) { if ("EntryRequired".equals(type)) { - if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { - hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); - if ((hailiangSmartplcTestDeviceDriver.getAction() == 2 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 0) { - inst.setExecute_status("3"); - is_feedback = true; - } - } - if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) { - emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); - int number = emptyVehicleStackingPositionDeviceDriver.getNumber(); - if (number >= Integer.valueOf(str)) { - log.info("叠盘位:" + jobno + "第" + str + "上有货!"); - return null; - } - inst.setExecute_status("3"); - is_feedback = true; - } - - if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) { - cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); - if ((cargoLiftConveyorDeviceDriver.getAction() == 2 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 0) { - inst.setExecute_status("3"); - is_feedback = true; - } - } - - if (addressdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { - hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) addressdevice.getDeviceDriver(); - if ((hongXiangConveyorDeviceDriver.getAction() == 2 || hongXiangConveyorDeviceDriver.getAction() == 3) && hongXiangConveyorDeviceDriver.getMove() == 0) { - inst.setExecute_status("3"); - is_feedback = true; - } - } - - if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { - paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); - if ((paintConveyorDeviceDriver.getAction() == 2 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 0) { - inst.setExecute_status("3"); - is_feedback = true; - } - } } if ("PauseOnStation".equals(type)) { - if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { - hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("4"); - hailiangSmartplcTestDeviceDriver.writing(3); - is_feedback = true; - } - if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) { - emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("4"); - emptyVehicleStackingPositionDeviceDriver.writing(3); - is_feedback = true; - } + JSONObject jo = new JSONObject(); + jo.put("task_code", inst.getInstruction_code()); + JSONArray destinations = new JSONArray(); - if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) { - cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("4"); - cargoLiftConveyorDeviceDriver.writing(3); - is_feedback = true; - } + String resp = acsToWmsService.requestTaskAgain(address,task.getExt_task_id(),inst.getVehicle_code()); + JSONObject respjson = JSONObject.parseObject(resp); - if (addressdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { - hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("4"); - hongXiangConveyorDeviceDriver.writing(3); - is_feedback = true; - } - if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { - paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); - inst.setExecute_status("4"); - paintConveyorDeviceDriver.writing(3); - is_feedback = true; - } + String next_device_code = respjson.getString("next_point_code"); + DeviceDto device= deviceService.findByCode(next_device_code); + + destinations.add(destination(device.getRemark(), "Unload", "1", "1")); + + jo.put("destinations", destinations); + + String agvurl = paramService.findByCode(AcsConfig.RGVURL).getValue(); + String agvport = paramService.findByCode(AcsConfig.RGVPORT).getValue(); + + String url = agvurl + ":" + agvport + "/addDestinations"; + log.info("下发agv任务请求:{}", url); + + HttpResponse result = HttpRequest.post(url) + .body(String.valueOf(jo))//表单内容 + .timeout(20000)//超时,毫秒 + .execute(); + log.info("下发agv任务请求反馈:{}", result); + + //对任务进行封口 + JSONObject complete = new JSONObject(); + complete.put("task_code", inst.getInstruction_code()); + + String url2 = agvurl + ":" + agvport + "/markComplete"; + log.info("下发agv任务请求:{}", url2); + + HttpResponse result2 = HttpRequest.post(url2) + .body(String.valueOf(complete))//表单内容 + .timeout(20000)//超时,毫秒 + .execute(); + log.info("下发agv任务请求反馈:{}", result2); } + } JSONObject requestjo = new JSONObject(); if (is_feedback) { @@ -388,7 +265,7 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { String agvurl = paramService.findByCode(AcsConfig.RGVURL).getValue(); String agvport = paramService.findByCode(AcsConfig.RGVPORT).getValue(); - agvurl = agvurl + ":" + agvport + "/v1/transportOrders/" + jobno + "/interact"; + agvurl = agvurl + ":" + agvport + "/transportOrders/" + jobno + "/interact"; HttpResponse result = HttpRequest.post(agvurl) .body(String.valueOf(requestjo)) @@ -406,7 +283,7 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { String agvurl = paramService.findByCode(AcsConfig.RGVURL).getValue(); String agvport = paramService.findByCode(AcsConfig.RGVPORT).getValue(); - agvurl = agvurl + ":" + agvport + "/v1/" + code + "/markComplete"; + agvurl = agvurl + ":" + agvport + "/" + code + "/markComplete"; log.info("关闭agv运单序列请求:{}", agvurl); HttpResponse result = HttpRequest.post(agvurl) @@ -542,7 +419,7 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService { String agvurl = paramService.findByCode(AcsConfig.RGVURL).getValue(); String agvport = paramService.findByCode(AcsConfig.RGVPORT).getValue(); Instruction instruction = instructionService.findByCode(instCode); - agvurl = agvurl + ":" + agvport + "/rmds/v1/transportOrders/" + instCode + "/withdrawal"; + agvurl = agvurl + ":" + agvport + "/transportOrders/" + instCode + "/withdrawal"; log.info("删除agv指令请求agvurl:{}", agvurl); HttpResponse result = HttpRequest.post(agvurl) .body("{}") diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java index b623d6e..d4763cc 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java @@ -195,7 +195,7 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { if (phase == 0x67) { device = deviceAppService.findDeviceByCode(Integer.toString(arr[27])); } else { - device = deviceAppService.findDeviceByCode(Integer.toString(arr[20])); + device = deviceAppService.findDeviceByCode("AGV0" + Integer.toString(arr[20])); } if (ObjectUtil.isNotEmpty(device)) { if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) { diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java index 1771aaf..72ad705 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java @@ -32,7 +32,9 @@ public enum DriverTypeEnum { AUTODOOR(10, "standard_autodoor", "标准版-自动门", "autodoor"), TUBANXIAN_SITE(11, "tubanxian_site", "涂板线", "conveyor"), GUHUASHI_SITE(12, "guhuashi_site", "固化室", "conveyor"), - TIANNENG_SITE(13, "tianneng_site", "天能-检测站点", "conveyor"); + TIANNENG_SITE(13, "tianneng_site", "天能-检测站点", "conveyor"), + + BAOSHIJIAN_SITE(14,"baoshijian_site","保湿间","conveyor"); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java index 7ad75ab..98989a3 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java @@ -1738,7 +1738,7 @@ public class DeviceServiceImpl extends CommonServiceImpl i Iterator iterator = storageCells.iterator(); while (iterator.hasNext()) { StorageCellDto storageCellDto = (StorageCellDto) iterator.next(); - if (storageCellDto.getAddress() == code) { + if (storageCellDto.getAddress()!=null && storageCellDto.getAddress() == code) { return storageCellDto.getStorage_code(); } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianDefination.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianDefination.java new file mode 100644 index 0000000..ea1b727 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianDefination.java @@ -0,0 +1,62 @@ +package org.nl.acs.device_driver.tianneng.baoshijian; + +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; +import org.nl.acs.device.domain.Device; +import org.nl.acs.device.enums.DeviceType; +import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination; +import org.springframework.stereotype.Service; + +import java.util.LinkedList; +import java.util.List; + +/** + * 保湿间驱动 + * 说明:该站点为保湿间驱动 + */ +@Service +public class BaoshijianDefination implements OpcDeviceDriverDefination { + @Override + public String getDriverCode() { + return "baoshijian_site"; + } + + @Override + public String getDriverName() { + return "保湿间"; + } + + @Override + public String getDriverDescription() { + return "保湿间"; + } + + @Override + public DeviceDriver getDriverInstance(Device device) { + return (new BaoshijianSiteDeviceDriver()).setDevice(device).setDriverDefination(this); + + } + + @Override + public Class getDeviceDriverType() { + return BaoshijianSiteDeviceDriver.class; + } + + @Override + public List getFitDeviceTypes() { + List types = new LinkedList(); + types.add(DeviceType.conveyor); + return types; + } + + @Override + public List getReadableItemDtos() { + return ItemProtocol.getReadableItemDtos(); + } + + @Override + public List getWriteableItemDtos() { + return ItemProtocol.getWriteableItemDtos(); + } + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java new file mode 100644 index 0000000..123ddef --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/BaoshijianSiteDeviceDriver.java @@ -0,0 +1,309 @@ +package org.nl.acs.device_driver.tianneng.baoshijian; + +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.Data; +import lombok.RequiredArgsConstructor; +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.DeviceDriver; +import org.nl.acs.device_driver.RouteableDeviceDriver; +import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; +import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.ext.wms.data.BaseRequest; +import org.nl.acs.ext.wms.service.AcsToWmsService; +import org.nl.acs.instruction.domain.Instruction; +import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.monitor.DeviceStageMonitor; +import org.nl.acs.route.service.RouteLineService; +import org.nl.acs.task.service.TaskService; +import org.nl.acs.task.service.mapper.TaskMapper; +import org.nl.config.SpringContextHolder; +import org.openscada.opc.lib.da.Server; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 检测站点驱动 + */ +@Slf4j +@Data +@RequiredArgsConstructor +public class BaoshijianSiteDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor { + protected ItemProtocol itemProtocol = new ItemProtocol(this); + + InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl"); + + DeviceService deviceservice = SpringContextHolder.getBean("deviceServiceImpl"); + + RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl"); + + TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl"); + + TaskMapper taskMapper; + + AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl"); + + String container; + String container_type_desc; + String last_container_type_desc; + String last_container; + //放货准备锁 + String putReadyLock = null; + //有货标记 + protected boolean has_goods_tag = false; + + private Date time = new Date(); + + int mode = 0; + int error = 0; + int move = 0; + int task = 0; + int action = 0; + int last_mode = 0; + int last_error = 0; + int last_move = 0; + int last_task = 0; + Boolean isonline = true; + int hasGoods = 0; + String message = null; + Boolean iserror = false; + + int io_action = 0; + int last_io_action = 0; + int material_type = 0; + int last_material_type = 0; + int barcode = 0; + int last_barcode = 0; + + + boolean hasVehicle = false; + boolean isReady = false; + protected int instruction_num = 0; + protected int instruction_num_truth = 0; + boolean isFold = false; + private String assemble_check_tag; + + protected String current_stage_instruction_message; + protected String last_stage_instruction_message; + Integer heartbeat_tag; + private Date instruction_require_time = new Date(); + private Date instruction_finished_time = new Date(); + + private int instruction_require_time_out; + boolean in = false; + boolean out =false; + + private int instruction_finished_time_out; + + int branchProtocol = 0; + //备注 + String remark; + //数量 + String qty; + //物料 + String material; + //批次 + String batch; + //当前指令 + Instruction inst = null; + //上次指令 + Instruction last_inst = null; + + //触摸屏手动触发任务 + private Boolean is_has_task = false; + + //满盅入库请求标记 + boolean Sucess = false; + + //暂定 0就绪 1请求取货 2取货完成 3请求放货 4放货完成 5取货完成离开 6放货完成离开 7请求进入区域 8请求离开区域 + int flag; + + String devicecode; + + int x0 = 0; + int last_x0 = 0; + int x1 = 0; + int last_x1 = 0; + int x2 = 0; + int last_x2 = 0; + int x3 = 0; + int last_x3 = 0; + int x4 = 0; + int last_x4 = 0; + int x5 = 0; + int last_x5 = 0; + int x6 = 0; + int last_x6 = 0; + int x7 = 0; + int last_x7 = 0; + int x8 = 0; + int last_x8 = 0; + int x9 = 0; + int last_x9 = 0; + int x10 = 0; + int last_x10 = 0; + int x35 = 0; + int last_x35 = 0; + int x36 = 0; + int last_x36 = 0; + int x37 = 0; + int last_x37 = 0; + + + @Override + public Device getDevice() { + return this.device; + } + + + @Override + public void execute() { + String message = null; + try { + devicecode = this.getDeviceCode(); + log.info("123:"+devicecode); + x0 = this.itemProtocol.getX0(); + x1 = this.itemProtocol.getX1(); + x2 = this.itemProtocol.getX2(); + x3 = this.itemProtocol.getX3(); + x4 = this.itemProtocol.getX4(); + x5 = this.itemProtocol.getX5(); + x6 = this.itemProtocol.getX6(); + x7 = this.itemProtocol.getX7(); + x8 = this.itemProtocol.getX8(); + x9 = this.itemProtocol.getX9(); + x10 = this.itemProtocol.getX10(); + x35 = this.itemProtocol.getX35(); + x36 = this.itemProtocol.getX36(); + x37 = this.itemProtocol.getX37(); + + if (x1 != last_x1 && x1 == 0) { + log.info("设备{}反馈收片任务完成", this.devicecode); + this.writing("x6", 0); + this.writing("x8", 0); + } else if (x1 != last_x1 && x1 == 1 ) { + JSONObject jsonObject = new JSONObject(); + String device_code = this.devicecode + "DJW01"; + jsonObject.put("device_code", device_code); + jsonObject.put("requestDate", new Date()); + jsonObject.put("requestNo", IdUtil.simpleUUID()); + jsonObject.put("request_method_code", "TBXMLTASK"); + String result=acsToWmsService.applyTaskToWms(jsonObject); + JSONObject res_jo = JSONObject.parseObject(result); + if (res_jo.getString("status").equals("200")){ + this.writing("x6", 1); + } + } + + if (x2 != last_x2 && x2 == 0) { + log.info("设备{}反馈上空架完成", this.devicecode); + this.writing("x5", 0); + this.writing("x7", 0); + } else if (x2 != last_x2 && x2 == 1) { + JSONObject jsonObject = new JSONObject(); + String device_code = this.devicecode + "DJW02"; + jsonObject.put("device_code", device_code); + jsonObject.put("requestDate", new Date()); + jsonObject.put("requestNo", IdUtil.simpleUUID()); + jsonObject.put("request_method_code", "TBXQKTask"); + String result=acsToWmsService.applyTaskToWms(jsonObject); + JSONObject res_jo = JSONObject.parseObject(result); + if (res_jo.getString("status").equals("200")){ + this.writing("x5", 1); + } + } + + } catch (Exception var17) { + return; + } + + last_x0 = x0; + last_x1 = x1; + last_x2 = x2; + last_x3 = x3; + last_x4 = x4; + last_x5 = x5; + last_x6 = x6; + last_x7 = x7; + last_x8 = x8; + last_x9 = x9; + last_x10 = x10; + last_x35 = x35; + last_x36 = x36; + last_x37 = x37; + + } + + + public boolean exe_error() { + if (this.error == 0) { + return true; + } else { + log.debug("设备报警"); + return false; + } + } + + + public void executing(Server server, Map itemMap) { + this.control(itemMap); + } + + + public void writing(String param, int command) { + String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + param; + Map itemMap = new HashMap<>(); + itemMap.put(to_command, command); + this.control(itemMap); + } + + @Override + public JSONObject getDeviceStatusName() { + JSONObject jo = new JSONObject(); + String mode = ""; + String action = ""; + String move = ""; + if (this.getMode() == 0) { + mode = "未联机"; + } else if (this.getMode() == 1) { + mode = "单机"; + } else if (this.getMode() == 2) { + mode = "联机"; + } else if (this.getMode() == 3) { + mode = "运行中"; + } + + if (this.getMove() == 0) { + move = "无货"; + jo.put("hasGoods", false); + } else if (this.getMove() == 1) { + move = "有货"; + jo.put("hasGoods", true); + } else if (this.getMove() == 2) { + move = "有托盘有货"; + jo.put("hasGoods", true); + } + jo.put("device_name", this.getDevice().getDevice_name()); + jo.put("mode", mode); + jo.put("move", move); + jo.put("action", action); + jo.put("isOnline", this.getIsonline()); + jo.put("error", this.getError()); + jo.put("isError", this.getIserror()); + jo.put("task", this.getTask()); + return jo; + } + + @Override + public void setDeviceStatus(JSONObject data) { + + } + + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java new file mode 100644 index 0000000..5fd3d90 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/baoshijian/ItemProtocol.java @@ -0,0 +1,156 @@ +package org.nl.acs.device_driver.tianneng.baoshijian; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; +import org.nl.acs.device_driver.tianneng.guhuashi.GuhuashiSiteDeviceDriver; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Data +public class ItemProtocol { + + public static String item_x0 = "x0"; + public static String item_x1 = "x1"; + public static String item_x2 = "x2"; + public static String item_x3 = "x3"; + public static String item_x4 = "x4"; + public static String item_x5 = "x5"; + public static String item_x6 = "x6"; + public static String item_x7 = "x7"; + public static String item_x8 = "x8"; + public static String item_x9 = "x9"; + public static String item_x10 = "x10"; + public static String item_x35 = "x35"; + public static String item_x36 = "x36"; + public static String item_x37 = "x37"; + + + private BaoshijianSiteDeviceDriver driver; + + public ItemProtocol(BaoshijianSiteDeviceDriver driver) { + this.driver = driver; + } + + public int getX0() { + return this.getOpcIntegerValue(item_x0); + } + + public int getX1() { + return this.getOpcIntegerValue(item_x1); + } + + public int getX2() { + return this.getOpcIntegerValue(item_x2); + } + + public int getX3() { + return this.getOpcIntegerValue(item_x3); + } + + public int getX4() { + return this.getOpcIntegerValue(item_x4); + } + + public int getX5() { + return this.getOpcIntegerValue(item_x5); + } + + public int getX6() { + return this.getOpcIntegerValue(item_x6); + } + + public int getX7() { + return this.getOpcIntegerValue(item_x7); + } + + public int getX8() { + return this.getOpcIntegerValue(item_x8); + } + + public int getX9() { + return this.getOpcIntegerValue(item_x9); + } + + public int getX10() { + return this.getOpcIntegerValue(item_x10); + } + + public int getX35() { + return this.getOpcIntegerValue(item_x35); + } + + public int getX36() { + return this.getOpcIntegerValue(item_x36); + } + + public int getX37() { + return this.getOpcIntegerValue(item_x37); + } + + + Boolean isonline; + + public int getOpcIntegerValue(String protocol) { + try { + Integer value = this.driver.getIntegeregerValue(protocol); + if (value == null) { + // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); + setIsonline(false); + } else { + setIsonline(true); + return value; + } + } catch (Exception e) { + + } + return 0; + + } + + public String getOpcStringValue(String protocol) { + + try { + String value = this.driver.getStringValue(protocol); + if (value == null) { + // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); + setIsonline(false); + } else { + setIsonline(true); + return value; + } + } catch (Exception e) { + + } + return "0"; + } + + public static List getReadableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_x0, "系统状态", "400001")); + list.add(new ItemDto(item_x1, "收片完成", "400002")); + list.add(new ItemDto(item_x2, "需上空架", "400003")); + list.add(new ItemDto(item_x3, "门开到位", "400004")); + list.add(new ItemDto(item_x4, "门关到位", "400005")); + list.add(new ItemDto(item_x10, "备用字", "400011")); + list.add(new ItemDto(item_x35, "架数", "400036")); + list.add(new ItemDto(item_x36, "备用字", "400037")); + list.add(new ItemDto(item_x37, "机号", "400038")); + return list; + } + + public static List getWriteableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_x5, "上空架中", "400006")); + list.add(new ItemDto(item_x6, "下满架中", "400007")); + list.add(new ItemDto(item_x7, "上架完成", "400008")); + list.add(new ItemDto(item_x8, "下架完成(关门)", "400009")); + list.add(new ItemDto(item_x9, "开门请求", "400010")); + return list; + } + +} + diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/guhuashi/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/guhuashi/ItemProtocol.java index 6075d1d..98e3956 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/guhuashi/ItemProtocol.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/guhuashi/ItemProtocol.java @@ -153,16 +153,19 @@ public class ItemProtocol { Boolean isonline; public int getOpcIntegerValue(String protocol) { - Integer value = this.driver.getIntegeregerValue(protocol); - if (value == null) { - // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); - setIsonline(false); - } else { - setIsonline(true); - return value; + try { + Integer value = this.driver.getIntegeregerValue(protocol); + if (value == null) { + // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); + setIsonline(false); + } else { + setIsonline(true); + return value; + } + } catch (Exception e) { + } return 0; - } public static List getReadableItemDtos() { diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index 363640a..a2db2d3 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -148,7 +148,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override public String requestTaskAgain(String address, String task_id, String vehicle_code) { String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue(); - String device_code = deviceService.queryDeviceCodeByAddress(Integer.parseInt(address)); JSONObject jo = new JSONObject(); jo.put("task_id", task_id); String result2 = null; diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 8c06071..4d39c09 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -1019,29 +1019,6 @@ public class InstructionServiceImpl extends CommonServiceImpl List findDeviceDriver(Class clazz) { - List list = new ArrayList(); - Iterator var3 = this.findAllDevice().iterator(); + List list = new ArrayList<>(); + List devices = new ArrayList<>(this.findAllDevice()); // Create a copy of the collection + Iterator var3 = devices.iterator(); while (var3.hasNext()) { - Device device = (Device) var3.next(); + Device device = var3.next(); DeviceDriver deviceDriver = device.getDeviceDriver(); - //查找某驱动的所有子类 + // 查找某驱动的所有子类 if (deviceDriver != null && clazz.isAssignableFrom(deviceDriver.getClass())) { list.add((T) device.getDeviceDriver()); } @@ -249,6 +250,7 @@ public class DeviceAppServiceImpl implements DeviceAppService, ApplicationAutoIn return list; } + @Override public Map findDeviceOptions(DeviceType deviceType) { List list = this.findDevice(deviceType); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 8ebbc29..7da4931 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -871,6 +871,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme TaskFeedbackDto feefbackdto = taskFeedbackService.findByCode(entity.getTask_code()); FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest(); request.setTask_code(entity.getTask_code()); + request.setTask_id(entity.getExt_task_id()); request.setTask_status(entity.getTask_status()); request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode()); request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName()); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/QueryZDAgvTaskStatus.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/QueryZDAgvTaskStatus.java index ec5c4b4..727a39a 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/QueryZDAgvTaskStatus.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/QueryZDAgvTaskStatus.java @@ -28,9 +28,11 @@ public class QueryZDAgvTaskStatus { public void run() throws Exception { try { + log.info("自动线程开始查询浙大AGV任务状态"); HttpResponse response2 = agvService.queryAgvInstStatus("1"); //查询AGV指令列表 JSONArray inst_rows2 = JSONArray.parseArray(response2.body()); +// JSONArray inst_rows2 = JSONArray.parseArray(""); for (int i = 0; i < inst_rows2.size(); i++) { JSONObject inst_jo = inst_rows2.getJSONObject(i); String inst_code = inst_jo.getString("task_code"); diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index a4d013c..140e855 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -127,7 +127,7 @@ file: avatarMaxSize: 5 logging: file: - path: C:\log\wms + path: C:\log\acs config: classpath:logback-spring.xml # Sa-Token配置 diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcOneDeviceDriver.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcOneDeviceDriver.xml new file mode 100644 index 0000000..ec8c7bf --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcOneDeviceDriver.xml @@ -0,0 +1,33 @@ + + + + + + + + + ${LOG_HOME}/AGV驱动与NDC交互/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/AutoCreateInst.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/AutoCreateInst.xml new file mode 100644 index 0000000..c3bbeed --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/AutoCreateInst.xml @@ -0,0 +1,33 @@ + + + + + + + + + ${LOG_HOME}/自动创建指令/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/LnshRGVDeviceDriver.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/LnshRGVDeviceDriver.xml new file mode 100644 index 0000000..4436995 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/LnshRGVDeviceDriver.xml @@ -0,0 +1,33 @@ + + + + + + + + + ${LOG_HOME}/RGV日志/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/Lucene.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/Lucene.xml new file mode 100644 index 0000000..857dfa3 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/Lucene.xml @@ -0,0 +1,41 @@ + + + + + + + + + + ${LOG_HOME}/lucene/${DEVICECODE}/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + 512 + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/NDCAgvServiceImpl.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/NDCAgvServiceImpl.xml new file mode 100644 index 0000000..4d994b7 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/NDCAgvServiceImpl.xml @@ -0,0 +1,33 @@ + + + + + + + + + ${LOG_HOME}/NDCAGV服务/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml new file mode 100644 index 0000000..6c2075c --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml @@ -0,0 +1,33 @@ + + + + + + + + + ${LOG_HOME}/NDC交互日志/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/WmsToAcs.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/WmsToAcs.xml new file mode 100644 index 0000000..9ea3c61 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/WmsToAcs.xml @@ -0,0 +1,33 @@ + + + + + + + + + ${LOG_HOME}/WMS请求ACS/%d{yyyy-MM-dd}.%i.log + + 15 + + 50MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + ${log.charset} + + + + + + + + + + + diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/XgAgvDeviceDriver.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/XgAgvDeviceDriver.xml index c805802..3420c4e 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/log/XgAgvDeviceDriver.xml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/XgAgvDeviceDriver.xml @@ -11,7 +11,7 @@ 15 - 200MB + 50MB 2GB diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index 7f6c752..f14bed1 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -18,12 +18,19 @@ https://juejin.cn/post/6844903775631572999 - + + + + + + + + true - + ${log.pattern} @@ -38,13 +45,13 @@ https://juejin.cn/post/6844903775631572999 15 - 200MB + 50MB 20GB - + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n @@ -52,9 +59,9 @@ https://juejin.cn/post/6844903775631572999 - + - 0 + 0 500 @@ -65,9 +72,8 @@ https://juejin.cn/post/6844903775631572999 - - - + + diff --git a/acs/nladmin-ui/src/views/acs/device/config.vue b/acs/nladmin-ui/src/views/acs/device/config.vue index 4325451..7559797 100644 --- a/acs/nladmin-ui/src/views/acs/device/config.vue +++ b/acs/nladmin-ui/src/views/acs/device/config.vue @@ -91,11 +91,13 @@ import xg_agv from '@/views/acs/device/driver/agv/xg_agv' import tubanxian_site from './driver/tubanxian_site.vue' import tianneng_site from './driver/tianneng_site.vue' import guhuashi_site from './driver/guhuashi_site.vue' +import baoshijian_site from './driver/baoshijian_site.vue' export default { name: 'DeviceConfig', components: { tianneng_site, guhuashi_site, + baoshijian_site, standard_autodoor, tubanxian_site, standard_ordinary_site, diff --git a/acs/nladmin-ui/src/views/acs/device/driver/baoshijian_site.vue b/acs/nladmin-ui/src/views/acs/device/driver/baoshijian_site.vue new file mode 100644 index 0000000..da28c20 --- /dev/null +++ b/acs/nladmin-ui/src/views/acs/device/driver/baoshijian_site.vue @@ -0,0 +1,488 @@ + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index ee2b372..c4b74e5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -85,16 +85,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { BaseResponse result = BaseResponse.build(requestNo); String device_code = param.getString("device_code"); SchBasePoint deviceObj = pointService.getById(device_code); - if ("6".equals(requestMethodCode)) { - // 送满料 - param.put("config_code",deviceObj.getRegion_code() + "MLTask"); - } else if ("7".equals(requestMethodCode)) { - // 叫空盘 - param.put("config_code",deviceObj.getRegion_code() + "QKTask"); - } else if ("8".equals(requestMethodCode)) { - // 叫空盘 - param.put("config_code",deviceObj.getRegion_code() + "SKTask"); - } + param.put("config_code",requestMethodCode); +// if ("6".equals(requestMethodCode)) { +// // 送满料 +// param.put("config_code",deviceObj.getRegion_code() + "MLTask"); +// } else if ("7".equals(requestMethodCode)) { +// // 叫空盘 +// param.put("config_code",deviceObj.getRegion_code() + "QKTask"); +// } else if ("8".equals(requestMethodCode)) { +// // 叫空盘 +// param.put("config_code",deviceObj.getRegion_code() + "SKTask"); +// } try { if(ObjectUtil.isEmpty(requestMethodCode)){ throw new BadRequestException("任务类型不正确!requestMethodCode:"+requestMethodCode+",device_code:"+device_code); @@ -103,9 +104,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 执行创建任务 task.apply(param); } catch (Exception e) { - String message = ObjectUtil.isEmpty(e.getMessage()) - ? ((InvocationTargetException) e).getTargetException().getMessage() - : e.getMessage(); + String message =e.getMessage(); log.error("ACS请求LMS出现错误: {}", message); result.setCode(HttpStatus.HTTP_BAD_REQUEST); result.setMessage(message); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java index ced3846..0da9aae 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java @@ -103,7 +103,7 @@ public class GHCMLTask extends AbstractTask { // 找终点 String requestParam = task.getRequest_param(); JSONObject jsonObject = JSONObject.parseObject(requestParam); - jsonObject.put("material_id", groupInfo.getMaterial_id()); + jsonObject.put("material_id", ObjectUtil.isNotEmpty(groupInfo)?groupInfo.getMaterial_id():null); SchBasePoint point = findNextPoint(nextRegionStr, jsonObject); if (ObjectUtil.isEmpty(point)) { throw new BadRequestException("涂板线[" + task.getPoint_code1() + "]未找到所需点位!"); diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index db627cc..e1ccc79 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -37,7 +37,7 @@ https://juejin.cn/post/6844903775631572999 15 - 200MB + 50MB 20GB @@ -57,43 +57,43 @@ https://juejin.cn/post/6844903775631572999 - + - + - + - + - + - + - + - + - + - + - + - + - +