From 5b41adbf674d07f71f0602c68985557f879d5dc0 Mon Sep 17 00:00:00 2001 From: yanps Date: Sat, 11 May 2024 11:16:48 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=A2=9E=E5=8A=A0=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=BA=A7=E5=88=AB=E6=A0=A1=E9=AA=8C,?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=B7=9D=E7=AB=99=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/acs/AcsConfig.java | 4 + ...nishedProductOutBindLableDeviceDriver.java | 1 + .../UnBoxLableConveyorDeviceDriver.java | 2 + .../BoxPackageManipulatorDeviceDriver.java | 3 + .../BoxStorageManipulatorDeviceDriver.java | 4 + .../ReturnGoodManipulatorDeviceDriver.java | 3 + ...pedManipulatorManipulatorDeviceDriver.java | 3 + .../device_driver/rgv/RgvDeviceDriver.java | 4 +- .../StandardStackerDeviceDriver.java | 3 + .../blanking_button/BlankingButtonDriver.java | 1 + .../OvenGantryManipulatorDeviceDriver.java | 22 +- .../PlugPullDeviceSiteDeviceDriver.java | 3 + .../PullHeadManipulatorDeviceDriver.java | 6 +- .../ranging_stations/ItemProtocol.java | 79 +++ .../RangingStationsDefination.java | 61 +++ .../RangingStationsDeviceDriver.java | 403 +++++++++++++++ .../wms/service/impl/AcsToWmsServiceImpl.java | 31 +- .../wms/service/impl/WmsToAcsServiceImpl.java | 4 +- .../nl/acs/opc/DeviceOpcProtocolRunable.java | 35 +- .../lucene/service/dto/LuceneLogDto.java | 11 +- .../impl/LuceneExecuteLogServiceImpl.java | 24 +- .../service/quartz/task/AutoCreateInst.java | 1 + .../src/views/acs/device/config.vue | 2 + .../acs/device/driver/ranging_stations.vue | 489 ++++++++++++++++++ 24 files changed, 1147 insertions(+), 52 deletions(-) create mode 100644 acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/ItemProtocol.java create mode 100644 acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDefination.java create mode 100644 acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDeviceDriver.java create mode 100644 acs2/nladmin-ui/src/views/acs/device/driver/ranging_stations.vue diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java index 0f64f17f5..e57361faf 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java @@ -117,4 +117,8 @@ public interface AcsConfig { * 指令下发立库 */ String INSTSENDLK = "instSendLk"; + /** + * 日志级别 + */ + String LOGLEVEL = "log_level"; } 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 ed7fafc21..7c8805928 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 @@ -339,6 +339,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr .device_code(device_code) .content("申请捆扎,参数,接口返回:" + jo) .build(); + logDto2.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto2); // Map datas = applyLabelingAndBindingResponse.getData(); packagePLCData(jo.getString("data"), mode); 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 9ad3ed248..fc7b9ce1c 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 @@ -621,6 +621,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl .device_code(device_code) .content(device_code + inst.getInstruction_code() + "再次下发电气信号") .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); try { Thread.sleep(1000); @@ -664,6 +665,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl .device_code(device_code) .content(device_code + inst.getInstruction_code() + "再次下发电气信号") .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); try { Thread.sleep(500); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java index f0ac006b3..8a55936ac 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_package_manipulator/BoxPackageManipulatorDeviceDriver.java @@ -434,6 +434,7 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); return false; } @@ -459,6 +460,7 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); } this.setRequireSucess(true); @@ -559,6 +561,7 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java index 8ca88bdc6..5dbe033d0 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/box_storage_manipulator/BoxStorageManipulatorDeviceDriver.java @@ -166,6 +166,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content("读取信号值时出现异常" + this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.device_code + "." + Arrays.toString(e.getStackTrace())) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); } @@ -386,6 +387,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); return false; } //创建指令后修改任务状态 @@ -409,6 +411,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); } this.setRequireSucess(true); @@ -505,6 +508,7 @@ public class BoxStorageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java index 7379801ed..7d60f656f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/return_good_manipulator/ReturnGoodManipulatorDeviceDriver.java @@ -405,6 +405,7 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); return false; } //创建指令后修改任务状态 @@ -428,6 +429,7 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); } this.setRequireSucess(true); @@ -520,6 +522,7 @@ public class ReturnGoodManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java index 05972fa56..76794eee8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java @@ -398,6 +398,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); return false; } //创建指令后修改任务状态 @@ -423,6 +424,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice .device_code(device_code) .content(device_code+"创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); } this.setRequireSucess(true); @@ -545,6 +547,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/rgv/RgvDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/rgv/RgvDeviceDriver.java index 673912e87..23b4fee90 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/rgv/RgvDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/rgv/RgvDeviceDriver.java @@ -358,8 +358,8 @@ public class RgvDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDr jo.put("isError", this.getIserror()); jo.put("message", message); jo.put("notCreateTaskMessage", notCreateTaskMessage); - jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); - jo.put("feedMessage", LangProcess.msg(feedMessage)); + jo.put("notCreateInstMessage",notCreateInstMessage); + jo.put("feedMessage", feedMessage); jo.put("driver_type", "siemens_conveyor"); jo.put("is_click", true); return jo; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java index c3af51494..9dbde4efd 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java @@ -651,6 +651,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme .device_code(device_code) .content("申请更新点位,参数,接口返回:" + jo) .build(); + logDto2.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto2); String poinCode = jo.getString("point_code"); if (StrUtil.isNotEmpty(poinCode)) { @@ -690,6 +691,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme .device_code(device_code) .content("申请更新点位,返回参数:" + jo.getString("body")) .build(); + logDto2.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto2); } } @@ -1147,6 +1149,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme .device_code(device_code) .content("下发电气信号:" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blanking_button/BlankingButtonDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blanking_button/BlankingButtonDriver.java index 303ce4396..d69c17f02 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blanking_button/BlankingButtonDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blanking_button/BlankingButtonDriver.java @@ -302,6 +302,7 @@ public class BlankingButtonDriver extends AbstractOpcDeviceDriver implements Dev .device_code(deviceCode) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java index 834c6ca28..492c3e487 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -329,9 +329,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; OvenInspectSiteDeviceDriver ovenInspectSiteDeviceDriver; - /*if (startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { + /*if (startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof RangingStationsDeviceDriver) { ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) startdevice.getDeviceDriver(); - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); + standardInspectSiteDeviceDriver = (RangingStationsDeviceDriver) nextdevice.getDeviceDriver(); if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) { notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!指令号:" + instruction.getInstruction_code(); @@ -344,9 +344,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i return false; } } - if (nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { + if (nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof RangingStationsDeviceDriver) { ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startdevice.getDeviceDriver(); + standardInspectSiteDeviceDriver = (RangingStationsDeviceDriver) startdevice.getDeviceDriver(); if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) { notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!指令号:" + instruction.getInstruction_code(); @@ -415,6 +415,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(msg) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); List list = new ArrayList<>(); Map map = new HashMap(); @@ -471,9 +472,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver; OvenInspectSiteDeviceDriver ovenInspectSiteDeviceDriver; - /*if (startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { + /*if (startdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && nextdevice.getDeviceDriver() instanceof RangingStationsDeviceDriver) { ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) startdevice.getDeviceDriver(); - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); + standardInspectSiteDeviceDriver = (RangingStationsDeviceDriver) nextdevice.getDeviceDriver(); if (ovenInspectSiteDeviceDriver.getMove() != 1 || standardInspectSiteDeviceDriver.getMove() == 1) { notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!任务号:" + task.getTask_code(); @@ -486,9 +487,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i return false; } } - if (nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { + if (nextdevice.getDeviceDriver() instanceof OvenInspectSiteDeviceDriver && startdevice.getDeviceDriver() instanceof RangingStationsDeviceDriver) { ovenInspectSiteDeviceDriver = (OvenInspectSiteDeviceDriver) nextdevice.getDeviceDriver(); - standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) startdevice.getDeviceDriver(); + standardInspectSiteDeviceDriver = (RangingStationsDeviceDriver) startdevice.getDeviceDriver(); if (ovenInspectSiteDeviceDriver.getMove() == 1 || standardInspectSiteDeviceDriver.getMove() != 1) { notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱检测站点-普通检测站点:" + ovenInspectSiteDeviceDriver.getDevicecode() + "无货,无法下发指令或" + standardInspectSiteDeviceDriver.getDevicecode() + "有货,无法下发指令!" + "!任务号:" + task.getTask_code(); @@ -575,6 +576,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content("创建指令时出现异常:" + e.getMessage()) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); return false; } @@ -591,6 +593,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(notCreateInstMessage) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); throw new BadRequestException("设备:" + startDevice.getDevice_code() + "未设置电气调度号!"); } @@ -600,6 +603,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(notCreateInstMessage) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!"); } @@ -615,6 +619,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(msg) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); List list = new ArrayList<>(); Map map = new HashMap(); @@ -772,6 +777,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i .device_code(device_code) .content(notCreateInstMessage) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); } return isClose; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java index eae811986..f36ba36a6 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java @@ -524,6 +524,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); this.control(itemMap); } @@ -543,6 +544,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); } } @@ -637,6 +639,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(3); luceneExecuteLogService.deviceExecuteLog(logDto); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java index 8771de923..4adedc04a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java @@ -665,10 +665,10 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp jo.put("isOnline", this.getIsonline()); jo.put("error", 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)); + jo.put("notCreateInstMessage", notCreateInstMessage); + jo.put("feedMessage", feedMessage); jo.put("driver_type", "siemens_conveyor"); jo.put("is_click", true); jo.put("x", xPosition); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/ItemProtocol.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/ItemProtocol.java new file mode 100644 index 000000000..fd89df48f --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/ItemProtocol.java @@ -0,0 +1,79 @@ +package org.nl.acs.device_driver.two_conveyor.ranging_stations; + +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Data +public class ItemProtocol { + + + public static String item_mode = "mode"; + public static String item_length = "length"; + public static String item_action = "action"; + public static String item_to_command = "to_command"; + + private RangingStationsDeviceDriver driver; + + public ItemProtocol(RangingStationsDeviceDriver driver) { + this.driver = driver; + } + + public int getMode() { + return this.getOpcIntegerValue(item_mode); + } + public int getLength() { + return this.getOpcIntegerValue(item_length); + } + + public int getAction() { + return this.getOpcIntegerValue(item_action); + } + + public int getToCommand() { + return this.getOpcIntegerValue(item_to_command); + } + + + /** + *是否有货 + */ + public int hasGoods(int move) { + return move; + } + + 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; + } + return 0; + + } + + public static List getReadableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_mode, "工作模式", "DB600.B2", Boolean.valueOf(true))); + list.add(new ItemDto(item_length, "测距", "DB600.D6")); + list.add(new ItemDto(item_action, "取放信号", "DB600.D8")); + return list; + } + + public static List getWriteableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true))); + return list; + } + +} + diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDefination.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDefination.java new file mode 100644 index 000000000..71bdff8f9 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDefination.java @@ -0,0 +1,61 @@ +package org.nl.acs.device_driver.two_conveyor.ranging_stations; + +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; + +/** + * AGV站点-测距 + */ +@Service +public class RangingStationsDefination implements OpcDeviceDriverDefination { + @Override + public String getDriverCode() { + return "ranging_stations"; + } + + @Override + public String getDriverName() { + return "AGV站点-测距"; + } + + @Override + public String getDriverDescription() { + return "AGV站点-测距"; + } + + @Override + public DeviceDriver getDriverInstance(Device device) { + return (new RangingStationsDeviceDriver()).setDevice(device).setDriverDefination(this); + + } + + @Override + public Class getDeviceDriverType() { + return RangingStationsDeviceDriver.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/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDeviceDriver.java new file mode 100644 index 000000000..b455f83e1 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/ranging_stations/RangingStationsDeviceDriver.java @@ -0,0 +1,403 @@ +package org.nl.acs.device_driver.two_conveyor.ranging_stations; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +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.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.opc.WcsConfig; +import org.nl.acs.route.service.RouteLineService; +import org.nl.acs.route.service.dto.RouteLineDto; +import org.nl.acs.task.domain.Task; +import org.nl.acs.task.enums.TaskStatusEnum; +import org.nl.acs.task.service.TaskService; +import org.nl.acs.task.service.dto.TaskDto; +import org.nl.acs.task.service.mapper.TaskMapper; +import org.nl.acs.utils.ConvertUtil; +import org.nl.common.utils.CodeUtil; +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; + +/** + * AGV站点-测距 + */ +@Slf4j +@Data +@RequiredArgsConstructor +public class RangingStationsDeviceDriver 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 last_mode = 0; + Boolean isonline = true; + int hasGoods = 0; + String message = null; + Boolean iserror = false; + + int length = 0; + int last_length = 0; + int action = 0; + int last_action = 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 requireSucess = 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; + + @Override + public Device getDevice() { + return this.device; + } + + + @Override + public void execute() { + String message = null; + try { + devicecode = this.getDeviceCode(); + mode = this.itemProtocol.getMode(); + length = this.itemProtocol.getLength(); + action = this.itemProtocol.getAction(); + if (mode != last_mode) { + this.setRequireSucess(false); + if (mode == 2) { + this.writing(0); + } + } + + + } catch (Exception var17) { + return; + } + + if (!this.itemProtocol.getIsonline()) { + this.setIsonline(false); + this.setIserror(true); + message = "信号量同步异常"; + //未联机 + } else if (mode == 0) { + this.setIsonline(false); + this.setIserror(true); + message = "未联机"; + //有报警 + } else { + this.setIsonline(true); + this.setIserror(false); + message = ""; + Instruction instruction = null; + List toInstructions; + switch (mode) { + case 1: + log.debug("设备运转模式:等待工作"); + return; + case 2: + break; + /*case 4: + //叫料 + if (move == 0 && !requireSucess) { + apply(4); + } + break; + case 5: + //满料出库 + if (move == 1 && !requireSucess) { + apply(5); + } + break; + case 6: + //申请空盘 + if (move == 0 && !requireSucess) { + apply(6); + } + break; + case 7: + //空托盘出库 + if (move == 1 && !requireSucess) { + apply(7); + } + break;*/ + default: + break; + } + + switch (flag) { + //取货完成 + case 1: + writing(2); + return; + //放货完成 + case 2: + writing(3); + return; + default: + break; + } + + } + last_mode = mode; + + } + + + + protected void thingToNothing() { + log.debug("从有货到无货 清理数据"); + this.set_last_container(container, container_type_desc); + } + + public void set_last_container(String barcode, String type_desc) { + this.set_last_container(barcode); + this.set_last_container_type_desc(type_desc); + } + + public void set_last_container(String barcode) { + } + + public void set_last_container_type_desc(String type) { + } + + public boolean exe_business() { + return true; + } + + /*protected void executing(Instruction instruction) { + this.executing(1, instruction, ""); + }*/ + + /*public void executing(int command, Instruction instruction, String appendMessage) { + String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_command; + String to_target = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_target; + String to_task = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_task; + if (appendMessage == null) { + appendMessage = ""; + } + if (instruction != null) { + instruction_num = Integer.parseInt(instruction.getInstruction_code()); + } + Map itemMap = new HashMap(); + itemMap.put(to_command, 1); + itemMap.put(to_task, instruction_num); + this.control(itemMap); + + }*/ + + public void executing(Server server, Map itemMap) { + this.control(itemMap); + } + + public void writing(int command) { + String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_command; + + //String opcservcerid = this.getDevice().getOpc_server_id(); +//Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + itemMap.put(to_command, command); + this.control(itemMap); + + } + + + public boolean instruction_require(String container_code) { + return instruction_require(container_code, WcsConfig.task_container_type_default_desc); + } + + /** + * 请求指令 + * + * @param container_code + * @param container_type + */ + public synchronized boolean instruction_require(String container_code, String container_type) { + Date date = new Date(); + if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) { + log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); + return false; + } else { + this.instruction_require_time = date; + TaskDto dto = new TaskDto(); + String now = DateUtil.now(); + dto.setTask_id(IdUtil.simpleUUID()); + dto.setCreate_by(this.getDevice().getDevice_code()); + dto.setUpdate_by(this.getDevice().getDevice_code()); + dto.setStart_point_code(this.getDevice().getDevice_code()); + dto.setVehicle_code(container_code); + dto.setVehicle_type(container_type); + + String taskcode = CodeUtil.getNewCode("TASK_NO"); + dto.setTask_code("-" + taskcode); + dto.setTask_status(TaskStatusEnum.READY.getIndex()); + dto.setPriority("101"); + RouteLineDto jo = routelineserver.findByCode(this.getDevice().getDevice_code()); + String next_device_codecode = jo.getNext_device_code(); + if (StrUtil.isEmpty(next_device_codecode)) { + throw new RuntimeException("该设备未找到对应路由"); + } + dto.setNext_point_code(next_device_codecode); + dto.setUpdate_time(now); + dto.setCreate_time(now); + +// WQLObject wo = WQLObject.getWQLObject("acs_task"); +// JSONObject json = (JSONObject) JSONObject.toJSON(dto); +// +// wo.insert(json); + + Task entity = ConvertUtil.convert(dto, Task.class); + taskMapper.insert(entity); + requireSucess = false; + return true; + } + } + + @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("isError", this.getIserror()); + return jo; + } + + @Override + public void setDeviceStatus(JSONObject data) { + + } + + /** + * lms申请任务 + * + * @param + */ + public synchronized boolean apply(Integer type) { + return false; + } +} diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index d820d2429..4cdb503b7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -102,7 +102,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { type = "error"; } log.info("applyTaskToWms-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto("applyTaskToWms", String.valueOf(result2.getStatus()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTaskToWms", String.valueOf(result2.getStatus()), JSON.toJSONString(jo), String.valueOf(result2.body()), "ACS向LMS申请生箔按钮任务"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); @@ -184,7 +184,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { type = "error"; } log.info("applyTaskToWms-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto("applyTaskToWms", String.valueOf(result2.getStatus()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTaskToWms", String.valueOf(result2.getStatus()), JSON.toJSONString(param), String.valueOf(result2.body()), "二期入库申请任务"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); @@ -224,7 +224,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { type = "error"; } log.info("applyTaskToWms-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto("applyTaskToWms", String.valueOf(result2.getStatus()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTaskToWms", String.valueOf(result2.getStatus()), JSON.toJSONString(param), String.valueOf(result2.body()), "二期发货申请任务"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); @@ -264,7 +264,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { type = "error"; } log.info("applyTaskToWms-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto("applyTaskToWms", String.valueOf(result2.getStatus()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTaskToWms", String.valueOf(result2.getStatus()), JSON.toJSONString(param), String.valueOf(result2.body()), "二期发货申请捆扎、贴标"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); @@ -304,7 +304,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { type = "error"; } log.info("applyTaskToWms-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto("applyTaskToWms", String.valueOf(result2.getStatus()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTaskToWms", String.valueOf(result2.getStatus()), JSON.toJSONString(param), String.valueOf(result2.body()), "二期发货申请捆扎、贴标"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); @@ -404,7 +404,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("message", e.getMessage()); return JSONObject.toJavaObject(map, ApplyGreenFoilButtonResponse.class); } - LuceneLogDto luceneLogDto = new LuceneLogDto("ApplyGreenFoilButtonRequest", String.valueOf(applyGreenFoilButtonResponse.getCode()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"ApplyGreenFoilButtonRequest", String.valueOf(applyGreenFoilButtonResponse.getCode()), JSON.toJSONString(param), String.valueOf(applyGreenFoilButtonResponse.getMessage()), "ACS向LMS申请生箔按钮任务"); luceneLogService.interfaceExecuteLog(luceneLogDto); } @@ -439,7 +439,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("message", e.getMessage()); return JSONObject.toJavaObject(map, BlankingButtonResponse.class); } - LuceneLogDto luceneLogDto = new LuceneLogDto("BlankingButtonRequest", String.valueOf(blankingButtonResponse.getCode()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"BlankingButtonRequest", String.valueOf(blankingButtonResponse.getCode()), JSON.toJSONString(param), String.valueOf(blankingButtonResponse.getMessage()), "ACS向LMS申请表处下料位按钮任务"); luceneLogService.interfaceExecuteLog(luceneLogDto); } @@ -469,15 +469,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject jsonObject = JSONObject.parseObject(result); log.info("ApplyPlugPullSitResponse----返回参数{}", result); applyPlugPullSitResponse = JSONObject.toJavaObject(jsonObject, ApplyPlugPullSitResponse.class); + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"ApplyPlugPullSiteRequest", String.valueOf(applyPlugPullSitResponse.getCode()), + JSON.toJSONString(param), String.valueOf(result), "ACS向LMS申请套管"); + luceneLogService.interfaceExecuteLog(luceneLogDto); } catch (Exception e) { JSONObject map = new JSONObject(); map.put("status", 400); map.put("message", e.getMessage()); return JSONObject.toJavaObject(map, ApplyPlugPullSitResponse.class); } - LuceneLogDto luceneLogDto = new LuceneLogDto("ApplyPlugPullSiteRequest", String.valueOf(applyPlugPullSitResponse.getCode()), - JSON.toJSONString(param), String.valueOf(applyPlugPullSitResponse.getMessage()), "ACS向LMS申请套管"); - luceneLogService.interfaceExecuteLog(luceneLogDto); + } return applyPlugPullSitResponse; } finally { @@ -511,7 +512,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("message", e.getMessage()); return JSONObject.toJavaObject(map, ApplyfeedbackSubVolumeWeightResponse.class); } - LuceneLogDto luceneLogDto = new LuceneLogDto("applyfeedbackSubVolumeWeightRequest", String.valueOf(applyfeedbackSubVolumeWeightResponse.getCode()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyfeedbackSubVolumeWeightRequest", String.valueOf(applyfeedbackSubVolumeWeightResponse.getCode()), JSON.toJSONString(param), String.valueOf(applyfeedbackSubVolumeWeightResponse.getMessage()), "ACS向LMS申请套管"); luceneLogService.interfaceExecuteLog(luceneLogDto); } @@ -547,7 +548,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("message", e.getMessage()); return JSONObject.toJavaObject(map, ApplyManipulatorActionResponse.class); } - LuceneLogDto luceneLogDto = new LuceneLogDto("ApplyManipulatorActionRequest", String.valueOf(applyManipulatorActionResponse.getCode()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"ApplyManipulatorActionRequest", String.valueOf(applyManipulatorActionResponse.getCode()), JSON.toJSONString(param), String.valueOf(applyManipulatorActionResponse), "ACS向LMS申请反馈子卷重量"); luceneLogService.interfaceExecuteLog(luceneLogDto); } @@ -584,7 +585,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { map.put("message", e.getMessage()); return JSONObject.toJavaObject(map, GetWasteFoilWeightResponse.class); } - LuceneLogDto luceneLogDto = new LuceneLogDto("GetWasteFoilWeightRequest", String.valueOf(getWasteFoilWeightResponse.getCode()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"GetWasteFoilWeightRequest", String.valueOf(getWasteFoilWeightResponse.getCode()), JSON.toJSONString(param), String.valueOf(getWasteFoilWeightResponse), "ACS向LMS申请反馈"); luceneLogService.interfaceExecuteLog(luceneLogDto); } @@ -610,7 +611,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { .body(); log.info("gccQueryStationState - 响应参数{}", responseBody); JSONObject jsonObject = JSONObject.parseObject(responseBody); - LuceneLogDto luceneLogDto = new LuceneLogDto("gccQueryStationState", String.valueOf(jsonObject.get("code")), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"gccQueryStationState", String.valueOf(jsonObject.get("code")), JSON.toJSONString("StartStationCode=" + inst.getStart_point_code() + "&EndStationCode=" + inst.getNext_point_code()), String.valueOf(jsonObject), "ACS查询站点有无货状态"); luceneLogService.interfaceExecuteLog(luceneLogDto); @@ -677,7 +678,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { type = "error"; } log.info("applyTaskToWms-----输出参数{}", result2.body()); - LuceneLogDto luceneLogDto = new LuceneLogDto("applyTaskToWms", String.valueOf(result2.getStatus()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"applyTaskToWms", String.valueOf(result2.getStatus()), JSON.toJSONString(param), String.valueOf(result2.body()), "申请更新点位"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index 32d80efdc..bd31b24b9 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java @@ -534,7 +534,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { } response.setStatus(200); response.setMessage("success"); - LuceneLogDto luceneLogDto = new LuceneLogDto("putAction", String.valueOf(response.getCode()), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"putAction", String.valueOf(response.getCode()), jsonObject, String.valueOf(response), "LMS下发动作"); luceneExecuteLogService.interfaceExecuteLog(luceneLogDto); log.info("putAction--------------:输出参数:" + response); @@ -769,7 +769,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { resultJson.put("status", HttpStatus.OK.value()); resultJson.put("message", "操作成功"); resultJson.put("data", backja); - LuceneLogDto luceneLogDto = new LuceneLogDto("queryDevice", String.valueOf(resultJson.get("status")), + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"queryDevice", String.valueOf(resultJson.get("status")), jsonObject, String.valueOf(resultJson), "LMS查询设备状态"); luceneExecuteLogService.interfaceExecuteLog(luceneLogDto); return resultJson; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java index e33cfa395..5de8c9107 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceOpcProtocolRunable.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; +import org.nl.acs.AcsConfig; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.opc.service.dto.OpcServerManageDto; import org.nl.acs.udw.UnifiedDataAccessor; @@ -13,9 +14,11 @@ import org.nl.acs.udw.UnifiedDataAppService; import org.nl.common.enums.LogTypeEnum; import org.nl.config.SpringContextHolder; import org.nl.config.lucene.service.dto.LuceneLogDto; +import org.nl.system.service.param.ISysParamService; import org.openscada.opc.lib.da.*; import java.util.*; +import java.util.regex.Pattern; @Slf4j @@ -400,6 +403,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC } private void logItemChanged(String itemId, UnifiedDataAccessor accessor_value, Object value, OpcItemDto itemDto) { + ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class); Object his = accessor_value.getValue(itemId); List relate_items = itemDto.getRelate_items(); if (relate_items != null && !relate_items.isEmpty()) { @@ -414,35 +418,32 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) { // 存在上次点位值为null情况 则不记录日志 if(!(his instanceof Float) && !(value instanceof Float)){ - LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1), + LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(),4, itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1), String.valueOf(his), String.valueOf(value)); luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc()); - log.info("{}", JSON.toJSONString(luceneLogDto)); + String logLevel = paramService.findByCode(AcsConfig.LOGLEVEL).getValue(); + if(StrUtil.isNotEmpty(logLevel) && isNumeric(logLevel) && (luceneLogDto.getLog_level() >= Integer.parseInt(logLevel))){ + log.info("{}", JSON.toJSONString(luceneLogDto)); + } } } } else { -// if(his instanceof int[]){ -// if(!Arrays.equals((long[]) his, (long[]) value)){ -// log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value}); -// } -// } else if(his instanceof String){ -// if(!StrUtil.equals((CharSequence) his, (CharSequence) value)){ -// log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value}); -// } -// } else { -// log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value}); -// } - -// log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value}); if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time") && !itemDto.getItem_code().endsWith("consumption")) { if(!(his instanceof Float) && !(value instanceof Float)){ - LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1), + LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(),4, itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1), String.valueOf(his), String.valueOf(value)); luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc()); - log.info("{}", JSON.toJSONString(luceneLogDto)); + String logLevel = paramService.findByCode(AcsConfig.LOGLEVEL).getValue(); + if(StrUtil.isNotEmpty(logLevel) && isNumeric(logLevel) && (luceneLogDto.getLog_level() >= Integer.parseInt(logLevel))){ + log.info("{}", JSON.toJSONString(luceneLogDto)); + } } } } } + public static boolean isNumeric(String str) { + return Pattern.compile("^[0-9]+$").matcher(str).matches(); + } + } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/dto/LuceneLogDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/dto/LuceneLogDto.java index 560ad4b0c..dc3a78979 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/dto/LuceneLogDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/dto/LuceneLogDto.java @@ -37,6 +37,10 @@ public class LuceneLogDto { /* 日志类型 */ private String log_type; + /** + * 日志级别 + */ + private Integer log_level; /* 方法 */ private String method; @@ -69,11 +73,12 @@ public class LuceneLogDto { private String update_time; - public LuceneLogDto(final String opc_server_code, final String opc_plc_code, + public LuceneLogDto(final String opc_server_code, final String opc_plc_code,final Integer log_level, final String device_code, final String to_home, final String last_home, final String home) { super(); this.device_code = device_code; + this.log_level = log_level; this.content = "信号 [" + opc_server_code + "." + opc_plc_code + "." @@ -83,10 +88,10 @@ public class LuceneLogDto { + home; } - public LuceneLogDto(final String method, final String status, + public LuceneLogDto(final Integer log_level,final String method, final String status, final String requestparam, final String responseparam, final String content) { super(); - this.content = content; + this.log_level = log_level; this.method = method; this.status_code = status; this.requestparam = requestparam; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/impl/LuceneExecuteLogServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/impl/LuceneExecuteLogServiceImpl.java index fdc9d036a..f98c1ed62 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/impl/LuceneExecuteLogServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/service/impl/LuceneExecuteLogServiceImpl.java @@ -1,15 +1,21 @@ package org.nl.config.lucene.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.acs.AcsConfig; +import org.nl.config.SpringContextHolder; import org.nl.config.lucene.enums.LogTypeEnum; import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; +import org.nl.system.service.param.ISysParamService; import org.slf4j.MDC; import org.springframework.stereotype.Service; +import java.util.regex.Pattern; + /** * @author jlm * @description 服务实现 @@ -20,6 +26,8 @@ import org.springframework.stereotype.Service; @Slf4j public class LuceneExecuteLogServiceImpl implements LuceneExecuteLogService { + + @Override public void deviceItemValue(String device_code, String key, String value) { String now = DateUtil.now(); @@ -27,14 +35,26 @@ public class LuceneExecuteLogServiceImpl implements LuceneExecuteLogService { @Override public void deviceExecuteLog(LuceneLogDto luceneLogDto) { + ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class); luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc()); - log.info("{}", JSON.toJSONString(luceneLogDto)); + String logLevel = paramService.findByCode(AcsConfig.LOGLEVEL).getValue(); + if(StrUtil.isNotEmpty(logLevel) && isNumeric(logLevel) && (luceneLogDto.getLog_level() >= Integer.parseInt(logLevel))){ + log.info("{}", JSON.toJSONString(luceneLogDto)); + } + } + + public static boolean isNumeric(String str) { + return Pattern.compile("^[0-9]+$").matcher(str).matches(); } @Override public void interfaceExecuteLog(LuceneLogDto luceneLogDto) { + ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class); luceneLogDto.setLogType(LogTypeEnum.INTERFACE_LOG.getDesc()); - log.info("{}", JSON.toJSONString(luceneLogDto)); + String logLevel = paramService.findByCode(AcsConfig.LOGLEVEL).getValue(); + if(StrUtil.isNotEmpty(logLevel) && isNumeric(logLevel) && (luceneLogDto.getLog_level() >= Integer.parseInt(logLevel))){ + log.info("{}", JSON.toJSONString(luceneLogDto)); + } } @Override diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java index 5f4bc05ae..3debd9ce3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java @@ -196,6 +196,7 @@ public class AutoCreateInst { .device_code("定时创建指令失败") .content(e.getMessage()) .build(); + logDto.setLog_level(2); luceneExecuteLogService.deviceExecuteLog(logDto); continue; } diff --git a/acs2/nladmin-ui/src/views/acs/device/config.vue b/acs2/nladmin-ui/src/views/acs/device/config.vue index 2eb9742a6..9119a1ef8 100644 --- a/acs2/nladmin-ui/src/views/acs/device/config.vue +++ b/acs2/nladmin-ui/src/views/acs/device/config.vue @@ -75,6 +75,7 @@ import { get, selectDriverCodeList } from '@/api/acs/device/driverConfig' import { getDicts } from '@/views/system/dict/dict' import standard_autodoor from '@/views/acs/device/driver/standard_autodoor' import standard_inspect_site from './driver/standard_inspect_site' +import ranging_stations from './driver/ranging_stations' import standard_ordinary_site from './driver/standard_ordinary_site' import standard_storage from '@/views/acs/device/driver/standard_storage' import standard_scanner from '@/views/acs/device/driver/standard_scanner' @@ -153,6 +154,7 @@ export default { belt_conveyor, double_station_stacker, lamp_three_color, + ranging_stations, box_palletizing_manipulator, hongxiang_conveyor, hongxiang_device, diff --git a/acs2/nladmin-ui/src/views/acs/device/driver/ranging_stations.vue b/acs2/nladmin-ui/src/views/acs/device/driver/ranging_stations.vue new file mode 100644 index 000000000..c421eda4d --- /dev/null +++ b/acs2/nladmin-ui/src/views/acs/device/driver/ranging_stations.vue @@ -0,0 +1,489 @@ + + + + +