From 1279d6eee2934b2765ce4ea1bf3a4d45d931760d Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期二, 18 六月 2024 10:35:59 +0800 Subject: [PATCH] webservice推送设备状态和设备利用率 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java index 016b062..bf22dbf 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java @@ -23,6 +23,8 @@ import org.quartz.*; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.List; @@ -72,44 +74,41 @@ // 鑾峰彇瀛楀吀鏁版嵁 List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_OPERATING_SPEED_RANGE); - Integer range = 0; + BigDecimal range = BigDecimal.ZERO; if (dictModelList != null && !dictModelList.isEmpty()) { - range = Integer.valueOf(dictModelList.get(0).getValue()); + range = new BigDecimal(dictModelList.get(0).getValue()); } for (MdcEquipment mdcEquipment : mdcEquipmentList) { String saveTableName = mdcEquipment.getSaveTableName(); MdcEquipmentDto mdcEquipmentDto = new MdcEquipmentDto(); - try { - //鏌ヨ鍗曡〃鏁版嵁 - mdcEquipmentDto = mdcEquipmentService.getWorkLineLast(saveTableName); - } catch (Exception e) { - log.error("鏌ヨ鍗曡〃鏁版嵁澶辫触!", e); - } - if (StringUtils.isNotBlank(mdcEquipmentDto.getSpindlespeed()) && StringUtils.isNotBlank(mdcEquipmentDto.getActualspindlespeed())) { + //鏌ヨ鍗曡〃鏁版嵁 + mdcEquipmentDto = mdcEquipmentService.getWorkLineLast(saveTableName); + + if (mdcEquipmentDto != null && StringUtils.isNotBlank(mdcEquipmentDto.getSpindlespeed()) && StringUtils.isNotBlank(mdcEquipmentDto.getActualspindlespeed())) { MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle("璁惧杩愯杞�熸姤璀︼紒"); - messageDTO.setCategory("棰勮娑堟伅"); + messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); //璁惧畾 - Integer spindlespeed = Integer.valueOf(mdcEquipmentDto.getSpindlespeed()); + BigDecimal spindlespeed = new BigDecimal(mdcEquipmentDto.getSpindlespeed()); //瀹為檯 - Integer actualspindlespeed = Integer.valueOf(mdcEquipmentDto.getActualspindlespeed()); + BigDecimal actualspindlespeed = new BigDecimal(mdcEquipmentDto.getActualspindlespeed()); MdcOverrunAlarm mdcOverrunAlarm = new MdcOverrunAlarm(); mdcOverrunAlarm.setEquipmentId(mdcEquipment.getEquipmentId()); mdcOverrunAlarm.setSetValue(spindlespeed.toString()); mdcOverrunAlarm.setRealValue(actualspindlespeed.toString()); - if (range.equals(0)) { - if (spindlespeed > actualspindlespeed) { + if (range.equals(BigDecimal.ZERO)) { + if (spindlespeed.compareTo(actualspindlespeed) == 1) { // 璁惧畾鍊煎ぇ浜庡疄闄呭�� 浣� messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熶綆鎶ヨ锛�"); sysBaseApi.sendSysAnnouncement(messageDTO); mdcOverrunAlarm.setAlarmContent("璁惧杩愯杞�熸瘮NC浠g爜璁惧畾鍊间綆鎶ヨ"); mdcOverrunAlarmService.save(mdcOverrunAlarm); - } else if (spindlespeed < actualspindlespeed) { + } else if (spindlespeed.compareTo(actualspindlespeed) == -1) { // 璁惧畾鍊煎皬浜庡疄闄呭�� 楂� messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熼珮鎶ヨ锛�"); sysBaseApi.sendSysAnnouncement(messageDTO); @@ -117,16 +116,17 @@ mdcOverrunAlarmService.save(mdcOverrunAlarm); } } else { - int max = spindlespeed + spindlespeed * (range / 100); - int min = spindlespeed - spindlespeed * (range / 100); - if (actualspindlespeed > max || actualspindlespeed < min) { - if (spindlespeed > actualspindlespeed) { + BigDecimal multiply = spindlespeed.multiply(range.divide(new BigDecimal(100), 4, RoundingMode.HALF_UP)); + BigDecimal max = spindlespeed.add(multiply); + BigDecimal min = spindlespeed.subtract(multiply); + if (actualspindlespeed.compareTo(max) == 1 || actualspindlespeed.compareTo(min) == -1) { + if (spindlespeed.compareTo(actualspindlespeed) == 1) { // 璁惧畾鍊煎ぇ浜庡疄闄呭�� 浣� messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熶綆鎶ヨ锛�"); sysBaseApi.sendSysAnnouncement(messageDTO); mdcOverrunAlarm.setAlarmContent("璁惧杩愯杞�熸瘮NC浠g爜璁惧畾鍊间綆鎶ヨ"); mdcOverrunAlarmService.save(mdcOverrunAlarm); - } else if (spindlespeed < actualspindlespeed) { + } else if (spindlespeed.compareTo(actualspindlespeed) == -1) { // 璁惧畾鍊煎皬浜庡疄闄呭�� 楂� messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熼珮鎶ヨ锛�"); sysBaseApi.sendSysAnnouncement(messageDTO); -- Gitblit v1.9.3