From 58d7b0e12ccd92cf3934f6582b51b5fbcecaa39a Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期四, 09 五月 2024 09:42:41 +0800 Subject: [PATCH] 修改注入方式 --- springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java index 643664b..df222d5 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java +++ b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcBitObject.java @@ -2,7 +2,9 @@ import java.lang.reflect.Array; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; public class PlcBitObject { @@ -71,16 +73,44 @@ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥 */ public List<Boolean> getPlcBitValues(List<String> codeids) { - List<Boolean> arrayList = new ArrayList(); + List<Boolean> arrayList = new ArrayList<>(); if (plcBitList != null) { - for (PlcBitInfo plcbitInfo : plcBitList) { - if (codeids.contains(plcbitInfo.getCodeId().toString())) - arrayList.add(plcbitInfo.getValue()); + Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭 + for (PlcBitInfo plcBitInfo : plcBitList) { + if (codeids.contains(plcBitInfo.getCodeId().toString())) { + resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue()); + } + } + for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘� + Boolean value = resultMap.get(codeId); + if (value != null) { + arrayList.add(value); + } else { + arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null + } } } return arrayList; } - + + + public List<String> getAddressListByCodeId(List<String> codeIdList) { + List<String> addressList = new ArrayList<>(); + for (String codeId : codeIdList) { + for (PlcBitInfo plcBitInfo : plcBitList) { + if (plcBitInfo.getCodeId().equals(codeId)) { + int index = plcBitInfo.getAddressIndex(); + String address = plcBitInfo.getAddress(index); + if (address != null) { + addressList.add(address); + } + } + } + } + return addressList; + } + + /** * 娣诲姞鍙傛暟瀹炰緥 * -- Gitblit v1.8.0