From c8289c743578df5d268bdf70033447a7b49a8750 Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Wed, 2 Aug 2023 17:24:12 +0800 Subject: [PATCH] rev --- .../LnshStationDeviceDriver.java | 40 +- .../ConveyorPressStationDeviceDriver.java | 40 +- .../LnshMixingMillDeviceDriver.java | 8 +- ...nshPalletizingManipulatorDeviceDriver.java | 4 +- ...alletizingManipulatorSiteDeviceDriver.java | 2 +- .../lnsh_press/LnshPressDeviceDriver.java | 121 +- .../lnsh_station/LnshStationDeviceDriver.java | 42 +- .../main/java/org/nl/acs/ext/wms/LmsUtil.java | 10 +- .../java/org/nl/acs/ext/wms/RespUtil.java | 1 - .../java/org/nl/acs/ext/wms/data/Resp.java | 19 +- .../main/resources/config/application-dev.yml | 5 +- .../acs/device/driver/lnsh/lnsh_press.vue | 126 +- .../src/views/acs/monitor/device/index.vue | 1170 +++++++++++------ 13 files changed, 1041 insertions(+), 547 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/converor_barcode/LnshStationDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/converor_barcode/LnshStationDeviceDriver.java index 137fc84..2740de8 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/converor_barcode/LnshStationDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/converor_barcode/LnshStationDeviceDriver.java @@ -486,12 +486,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求失败" + resp.getMessage();; } lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); return true; @@ -519,12 +519,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -551,12 +551,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -584,12 +584,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -616,12 +616,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -648,12 +648,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求失败" + resp.getMessage();; } return true; } else { @@ -680,12 +680,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求失败" + resp.getMessage();; } return true; } else { @@ -712,12 +712,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求失败" + resp.getMessage();; } return true; } else { @@ -743,12 +743,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求失败" + resp.getMessage();; } return true; } else { @@ -774,12 +774,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求失败" + resp.getMessage();; } return true; } else { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/conveyor_press_station/ConveyorPressStationDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/conveyor_press_station/ConveyorPressStationDeviceDriver.java index 2476966..a28cbd5 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/conveyor_press_station/ConveyorPressStationDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/conveyor_press_station/ConveyorPressStationDeviceDriver.java @@ -486,12 +486,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求失败" + resp.getMessage();; } lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); return true; @@ -519,12 +519,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -551,12 +551,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -584,12 +584,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -616,12 +616,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -648,12 +648,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求失败" + resp.getMessage();; } return true; } else { @@ -680,12 +680,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求失败" + resp.getMessage();; } return true; } else { @@ -712,12 +712,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求失败" + resp.getMessage();; } return true; } else { @@ -743,12 +743,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求失败" + resp.getMessage();; } return true; } else { @@ -774,12 +774,12 @@ public class ConveyorPressStationDeviceDriver extends AbstractOpcDeviceDriver im message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求失败" + resp.getMessage();; } return true; } else { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_mixing_mill/LnshMixingMillDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_mixing_mill/LnshMixingMillDeviceDriver.java index bffbb20..0e709c8 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_mixing_mill/LnshMixingMillDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_mixing_mill/LnshMixingMillDeviceDriver.java @@ -397,12 +397,12 @@ public class LnshMixingMillDeviceDriver extends AbstractOpcDeviceDriver implemen message = RequestMethodEnum.getName("order_verify") + "order_verify 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("order_verify") + "order_verify 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("order_verify") + "order_verify 接口请求失败" + resp.getMessage();; } lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); } @@ -419,12 +419,12 @@ public class LnshMixingMillDeviceDriver extends AbstractOpcDeviceDriver implemen message = RequestMethodEnum.getName("order_finish") + "order_finish 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("order_finish") + "order_finish 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("order_finish") + "order_finish 接口请求失败" + resp.getMessage();; } lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java index 49fab5e..79da20f 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java @@ -376,12 +376,12 @@ public class LnshPalletizingManipulatorDeviceDriver extends AbstractOpcDeviceDri message = RequestMethodEnum.getName("apply_one_grab") + "apply_one_grab 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_one_grab") + "apply_one_grab 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_one_grab") + "apply_one_grab 接口请求失败" + resp.getMessage();; } lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); return true; diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java index 0b46b78..cb0ab22 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java @@ -919,7 +919,7 @@ public class LnshPalletizingManipulatorSiteDeviceDriver extends AbstractOpcDevic request.setRequestNo(IdUtil.simpleUUID()); request.setRequestDate(AgvUtil.getDate()); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_press/LnshPressDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_press/LnshPressDeviceDriver.java index b55e6e3..09ee1fb 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_press/LnshPressDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_press/LnshPressDeviceDriver.java @@ -3,6 +3,7 @@ package org.nl.acs.device_driver.lnsh.lnsh_press; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpResponse; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.Getter; import lombok.Setter; @@ -11,9 +12,12 @@ import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.RequestMethodEnum; 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.AcsToWmsData.applyTask.ApplyTaskRequest; +import org.nl.acs.ext.wms.data.Resp; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.dto.Instruction; @@ -24,12 +28,15 @@ import org.nl.acs.order.service.ProduceshiftorderService; import org.nl.acs.order.service.dto.ProduceshiftorderDto; import org.nl.acs.route.service.RouteLineService; import org.nl.acs.task.service.TaskService; +import org.nl.modules.lucene.service.LuceneExecuteLogService; +import org.nl.modules.lucene.service.dto.LuceneLogDto; import org.nl.modules.wql.util.SpringContextHolder; import org.openscada.opc.lib.da.Server; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -59,6 +66,8 @@ public class LnshPressDeviceDriver extends AbstractOpcDeviceDriver implements De ProduceshiftorderService produceshiftorderService = SpringContextHolder.getBean("produceshiftorderServiceImpl"); + LuceneExecuteLogService lucene = SpringContextHolder.getBean("luceneExecuteLogServiceImpl"); + //放货准备锁 String putReadyLock = null; //有货标记 @@ -125,7 +134,7 @@ public class LnshPressDeviceDriver extends AbstractOpcDeviceDriver implements De mode = this.itemProtocol.getMode(); error = this.itemProtocol.getError(); status = this.itemProtocol.getStatus(); - open_time = this.itemProtocol.getOpen_time(); + //open_time = this.itemProtocol.getOpen_time(); standby_time = this.itemProtocol.getStandby_time(); production_time = this.itemProtocol.getProduction_time(); error_time = this.itemProtocol.getError_time(); @@ -191,6 +200,8 @@ public class LnshPressDeviceDriver extends AbstractOpcDeviceDriver implements De } } catch (Exception var17) { + log.info(var17.getMessage()); + message = "错误:" + var17.getMessage(); return; } @@ -211,36 +222,24 @@ public class LnshPressDeviceDriver extends AbstractOpcDeviceDriver implements De message = ""; Instruction instruction = null; List toInstructions; - switch (mode) { - case 1: - log.debug("设备运转模式:等待工作"); - return; - case 2: - break; - case 3: - //排产单确认 - if (!requireSucess && !"0".equals(order_No) && StrUtil.isNotBlank(order_No)) { - JSONObject json = new JSONObject(); - json.put("workorder_code", order_No); - json.put("type", "1"); - enterProduction(json); - } - break; - case 4: - //工单完成反馈 - if (!requireSucess && !"0".equals(order_No) && StrUtil.isNotBlank(order_No)) { - JSONObject json = new JSONObject(); - json.put("workorder_code", order_No); - json.put("qty", qty); - json.put("unqualified_qty", unqualified); - json.put("type", "2"); - enterProduction(json); + + + if (mode > 2 && !requireSucess) { + if (ObjectUtil.isNotEmpty(this.device.getExtraValue().get(String.valueOf(mode)))) { + String modethod = this.device.getExtraValue().get(String.valueOf(mode)).toString(); + try { + applyRequest(modethod); + } catch (Exception e) { + message = "错误:" + e.getMessage(); + this.setIserror(true); } - break; + } else { + message = "无效模式请求,驱动未配置此请求方法"; + } + } else { + message = "无请求"; } - - } last_mode = mode; last_status = status; @@ -267,6 +266,72 @@ public class LnshPressDeviceDriver extends AbstractOpcDeviceDriver implements De } } + + /** + * 请求 + * + * @param + */ + public synchronized boolean applyRequest(String modethod) throws Exception { + Object obj1 = this; + 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; + Object obj = this.getClass().getDeclaredConstructor().newInstance(); + Method method1 = this.getClass().getMethod(modethod, null); + method1.invoke(this, null); + return true; + } + } + + + public synchronized boolean order_verify() { + if (!"0".equals(order_No) && StrUtil.isNotBlank(order_No)) { + ApplyTaskRequest request = new ApplyTaskRequest(); + request.setDevice_code(this.getDevice_code()); + request.setRequest_medthod_code(Thread.currentThread().getStackTrace()[1].getMethodName()); + request.setRequest_medthod_name(RequestMethodEnum.getName(Thread.currentThread().getStackTrace()[1].getMethodName())); + request.setOrder_code(this.getOrder_No()); + message = RequestMethodEnum.getName("order_verify") + "order_verify 接口请求LMS..."; + lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); + Resp resp = acsToWmsService.applyTask(request); + if (resp.getCode() == 200) { + this.writing(this.mode); + this.setRequireSucess(true); + } else { + this.writing(400); + message = RequestMethodEnum.getName("order_verify") + "order_verify 接口请求失败" + resp.getMessage(); + } + lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); + } + return true; + } + + public synchronized boolean order_finish() { + if (!"0".equals(order_No) && StrUtil.isNotBlank(order_No)) { + ApplyTaskRequest request = new ApplyTaskRequest(); + request.setDevice_code(this.getDevice_code()); + request.setRequest_medthod_code(Thread.currentThread().getStackTrace()[1].getMethodName()); + request.setRequest_medthod_name(RequestMethodEnum.getName(Thread.currentThread().getStackTrace()[1].getMethodName())); + request.setOrder_code(this.getOrder_No()); + message = RequestMethodEnum.getName("order_finish") + "order_finish 接口请求LMS..."; + lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); + Resp resp = acsToWmsService.applyTask(request); + if (resp.getCode() == 200) { + this.writing(this.mode); + this.setRequireSucess(true); + } else { + this.writing(400); + message = RequestMethodEnum.getName("order_finish") + "order_finish 接口请求失败" + resp.getMessage();; + } + lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); + } + return true; + } + /** * 排产单确认 * diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java index 6bbfb42..4efbe9e 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java @@ -202,7 +202,7 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements List toInstructions; - if (mode > 2) { + if (mode > 2 && !requireSucess) { if (ObjectUtil.isNotEmpty(this.device.getExtraValue().get(String.valueOf(mode)))) { String modethod = this.device.getExtraValue().get(String.valueOf(mode)).toString(); try { @@ -486,12 +486,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); Resp resp = acsToWmsService.applyTask(request); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_put_full_vehicle") + "apply_put_full_vehicle 接口请求失败" + resp.getMessage();; } lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message)); return true; @@ -519,12 +519,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_put_empty_vehicle") + "apply_put_empty_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -551,12 +551,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_take_empty_vehicle") + "apply_take_empty_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -584,12 +584,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_take_full_vehicle") + "apply_take_full_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -616,12 +616,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_force_take_full_vehicle") + "apply_force_take_full_vehicle 接口请求失败" + resp.getMessage();; } return true; } else { @@ -648,12 +648,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_force_take_full_vehicle_in_storage") + "apply_force_take_full_vehicle_in_storage 接口请求失败" + resp.getMessage();; } return true; } else { @@ -680,12 +680,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("barcode_sucess_apply") + "barcode_sucess_apply 接口请求失败" + resp.getMessage();; } return true; } else { @@ -712,12 +712,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("get_vehicle_info") + "get_vehicle_info 接口请求失败" + resp.getMessage();; } return true; } else { @@ -743,12 +743,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("force_no_package") + "force_no_package 接口请求失败" + resp.getMessage();; } return true; } else { @@ -774,12 +774,12 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求LMS..."; lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, message + "参数:" + JSON.toJSONString(request))); - if (StrUtil.equals(resp.result, "true")) { + if (resp.getCode() == 200) { this.writing(this.mode); this.setRequireSucess(true); } else { this.writing(400); - message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求失败" + resp.getComment();; + message = RequestMethodEnum.getName("apply_labelling") + "apply_labelling 接口请求失败" + resp.getMessage();; } return true; } else { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/LmsUtil.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/LmsUtil.java index 06b0b11..84b8de7 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/LmsUtil.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/LmsUtil.java @@ -27,9 +27,8 @@ public class LmsUtil { String isConnect = paramService.findByCode("hasWms").getValue(); if (StrUtil.equals("0", isConnect)) { JSONObject result = new JSONObject(); - result.put("result", "false"); - result.put("code", "1"); - result.put("comment", "参数配置表中-hasWms为:0"); + result.put("400", "500"); + result.put("message", "参数配置表中-hasWms为:0"); log.info("请求LMS异常返回参数:{}", String.valueOf(result)); return String.valueOf(result); //throw new BadRequestException("参数配置表中-hasWms为:0"); @@ -46,9 +45,8 @@ public class LmsUtil { return body; } catch (Exception e) { JSONObject result = new JSONObject(); - result.put("result", "false"); - result.put("code", "1"); - result.put("comment", e.getMessage()); + result.put("code", "500"); + result.put("message", e.getMessage()); log.info("请求LMS异常返回参数:{}", String.valueOf(result)); return String.valueOf(result); } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/RespUtil.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/RespUtil.java index 1480660..82ef17a 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/RespUtil.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/RespUtil.java @@ -11,7 +11,6 @@ public class RespUtil { public static Resp getResp(String result, T t) { JSONObject jsonObject = JSONObject.parseObject(result); Resp resp = new Resp<>(); - resp.setData(t); resp = JSONObject.toJavaObject(jsonObject, Resp.class); return resp; } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/data/Resp.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/data/Resp.java index 03f2b41..c58f668 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/data/Resp.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/data/Resp.java @@ -9,24 +9,7 @@ import lombok.Data; * @createDate: 2022/11/24 */ @Data -public class Resp { - /** - * 成功返回true,失败返回false - */ - public String result; +public class Resp extends BaseResponse { - /** - * 错误码(0表示成功)1代表入库目的位置有货,其他更多情况待定 - */ - public String code; - /** - * 错误信息,如果成功则为null - */ - public String comment; - - /** - * 报文携带的数据 - */ - public T data; } diff --git a/acs/nladmin-system/src/main/resources/config/application-dev.yml b/acs/nladmin-system/src/main/resources/config/application-dev.yml index 2df3cd8..09af722 100644 --- a/acs/nladmin-system/src/main/resources/config/application-dev.yml +++ b/acs/nladmin-system/src/main/resources/config/application-dev.yml @@ -6,9 +6,10 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:rl_mg_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:rl_mg_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:rl_mg_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} - password: ${DB_PWD:123456} + password: ${DB_PWD:Root.123456} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/acs/nladmin-ui/src/views/acs/device/driver/lnsh/lnsh_press.vue b/acs/nladmin-ui/src/views/acs/device/driver/lnsh/lnsh_press.vue index 4e464d6..abb8258 100644 --- a/acs/nladmin-ui/src/views/acs/device/driver/lnsh/lnsh_press.vue +++ b/acs/nladmin-ui/src/views/acs/device/driver/lnsh/lnsh_press.vue @@ -159,6 +159,67 @@ + +
+ 交互相关: +
+
+ + + + + 新增一行 + + + +
+
+ + + + + + + + + + + +
+
+
PLC读取字段: @@ -294,8 +355,61 @@ export default { dataOpcservers: [], dataOpcPlcs: [], deviceList: [], + requestMethodList: [], data1: [], data2: [], + modeform: { + tableData: [ + { + mode: '3', + request: 'order_verify' + }, + { + mode: '4', + request: 'order_finish' + }, + { + mode: '5', + request: 'apply_put_full_vehicle' + }, + { + mode: '6', + request: 'apply_put_empty_vehicle' + }, + { + mode: '7', + request: 'apply_take_empty_vehicle' + }, + { + mode: '8', + request: 'apply_take_full_vehicle' + }, + { + mode: '9', + request: 'apply_force_take_full_vehicle' + }, + { + mode: '10', + request: 'apply_force_take_full_vehicle_in_storage' + }, + { + mode: '11', + request: 'barcode_sucess_apply' + }, + { + mode: '12', + request: 'get_vehicle_info' + }, + { + mode: '13', + request: 'force_no_package' + }, + { + mode: '14', + request: 'apply_labelling' + } + ] + }, form: { inspect_in_stocck: true, ignore_pickup_check: true, @@ -349,9 +463,19 @@ export default { deviceCrud.selectDeviceList().then(data => { this.deviceList = data }) + deviceCrud.selectRequestMethodList().then(data => { + this.requestMethodList = data + }) }) }, methods: { + insertdtl() { + this.modeform.tableData.push({mode: '', request: '' }) + }, + deleteRow(index, rows) { + debugger + rows.splice(index, 1) + }, finishReadEdit(data) { // 编辑的是code列,并且值包含mode if (data.code.indexOf('mode') !== -1) { @@ -518,7 +642,7 @@ export default { parentForm.is_route = true parentForm.plc_id = this.plc_id parentForm.opc_id = this.opc_id - updateConfig(parentForm, this.form, null, this.data1, this.data2).then(res => { + updateConfig(parentForm, this.form, this.modeform, this.data1, this.data2).then(res => { this.notify('保存成功', 'success') this.configLoading = false }).catch(err => { diff --git a/acs/nladmin-ui/src/views/acs/monitor/device/index.vue b/acs/nladmin-ui/src/views/acs/monitor/device/index.vue index 6b523f3..d989977 100644 --- a/acs/nladmin-ui/src/views/acs/monitor/device/index.vue +++ b/acs/nladmin-ui/src/views/acs/monitor/device/index.vue @@ -1,133 +1,34 @@ + + -