From c51323e6fcc84f08bc8c01e3dd6c916427f83f4e Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 07 三月 2024 10:41:50 +0800 Subject: [PATCH] 设备状态长时间未变化算法更新 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 87 ++++++++++++++++++++++--------------------- 1 files changed, 45 insertions(+), 42 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java index 5891439..83817f6 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java @@ -455,7 +455,7 @@ } else { value = "鏃�"; } - } else if ("alarmContent".equals(englishName)) { + } else if ("alarmContent".equals(englishName)) { if (oporation == 22) { List<MdcAlarmInfo> mdcAlarmInfo = mdcAlarmInfoService.list(new LambdaQueryWrapper<MdcAlarmInfo>().eq(MdcAlarmInfo::getDriveType, mdcEquipment.getDriveType()).eq(MdcAlarmInfo::getAlarmCode, equipmentLog.getAlarm()).eq(MdcAlarmInfo::getIsUse, 0)); if (mdcAlarmInfo != null && !mdcAlarmInfo.isEmpty()) { @@ -759,8 +759,13 @@ Map<String, Object> param = new HashMap<>(); param.put("columns", builder.toString()); param.put("tableName", saveTableName); - Map<String, Object> map = this.baseMapper.getWorkLineLast(param); - if (map != null) { + Map<String, Object> map = new HashMap<>(); + try { + map = this.baseMapper.getWorkLineLast(param); + } catch (Exception e) { + log.error("鏌ヨ鍗曡〃鏁版嵁鍑哄樊锛�", e); + } + if (!map.isEmpty()) { for (MdcEquipmentThreshold mdcEquipmentThreshold : mdcEquipmentThresholdList) { Integer actualValue = Integer.valueOf(map.get(mdcEquipmentThreshold.getEnglishName()).toString()); Integer max = mdcEquipmentThreshold.getMaxThreshold(); @@ -790,45 +795,6 @@ } } } - - -// //鏌ヨ鍗曡〃鏁版嵁 -// MdcEquipmentDto mdcEquipmentDto = this.baseMapper.getWorkLineLast(saveTableName); -// if (mdcEquipmentDto != null) { -// MessageDTO messageDTO = new MessageDTO(); -// messageDTO.setTitle("璁惧杩愯杞�熸姤璀︼紒"); -// messageDTO.setCategory("棰勮娑堟伅"); -// messageDTO.setFromUser("admin"); -// messageDTO.setToUser("admin"); -// Integer spindlespeed = Integer.valueOf(mdcEquipmentDto.getSpindlespeed()); -// Integer actualspindlespeed = Integer.valueOf(mdcEquipmentDto.getActualspindlespeed()); -// if (range.equals(0)) { -// if (spindlespeed > actualspindlespeed) { -// // 瀹為檯鍊煎ぇ浜庤瀹氬�� 楂� -// messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熼珮鎶ヨ锛�"); -// sysBaseApi.sendSysAnnouncement(messageDTO); -// } else if (spindlespeed < actualspindlespeed) { -// // 瀹為檯鍊煎皬浜庤瀹氬�� 浣� -// messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熶綆鎶ヨ锛�"); -// sysBaseApi.sendSysAnnouncement(messageDTO); -// } -// } else { -// int max = actualspindlespeed + actualspindlespeed * (range / 100); -// int min = actualspindlespeed - actualspindlespeed * (range / 100); -// if (spindlespeed > max || spindlespeed < min) { -// if (spindlespeed > actualspindlespeed) { -// // 瀹為檯鍊煎ぇ浜庤瀹氬�� 楂� -// messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熼珮鎶ヨ锛�"); -// sysBaseApi.sendSysAnnouncement(messageDTO); -// } else if (spindlespeed < actualspindlespeed) { -// // 瀹為檯鍊煎皬浜庤瀹氬�� 浣� -// messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熶綆鎶ヨ锛�"); -// sysBaseApi.sendSysAnnouncement(messageDTO); -// } -// } -// } -// -// } } } @@ -849,4 +815,41 @@ return this.baseMapper.exportXlsList(mdcEquipment); } + /** + * 閫氳繃杞﹂棿ids鑾峰彇璁惧鏍� + * + * @param ids + * @return + */ + @Override + public List<MdcEquipmentTree> loadTreeListByProductionIds(String ids) { + List<String> productionIds = Arrays.asList(ids.split(",")); + //鑾峰彇鎵�鏈変骇绾挎暟鎹� + List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder)); + List<String> allProductionIds = new ArrayList<>(); + //鎵惧埌鎵�鏈変骇绾縤d鐨勪笂绾d + if (!productionIds.isEmpty()) { + for (String productionId : productionIds) { + this.getAllProductionIds(productionList, productionId, allProductionIds); + } + } + //杩囨护浜х嚎鏁版嵁 + List<MdcProduction> list = productionList.stream().filter((MdcProduction mdcProduction) -> allProductionIds.contains(mdcProduction.getId())).collect(Collectors.toList()); + //缁勮浜х嚎璁惧鏍� + List<MdcEquipmentTree> treeList = FindsEquipmentProductionUtil.wrapEquipmentProductionTreeList(list); + //濉厖璁惧鏁版嵁 + FillEquipmentByProduction(treeList); + return treeList; + } + + /** + * 鏌ヨ鍗曡〃鏁版嵁 + * @param tableName + * @return + */ + @Override + public MdcEquipmentDto getWorkLineLast(String tableName) { + return this.baseMapper.findWorkLineLast(tableName); + } + } -- Gitblit v1.9.3