From 3b0c30d5918f1b50b3eb1a92b17124d5087e4a75 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期五, 10 五月 2024 16:29:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java | 62 +++++++++++-------------------- 1 files changed, 22 insertions(+), 40 deletions(-) diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java index 2a86a0f..f427416 100644 --- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java +++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java @@ -1,9 +1,6 @@ package com.mes.device; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class PlcBitObject { @@ -11,7 +8,8 @@ private String plcAddressBegin; // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害 private int plcAddressLength; - private ArrayList<PlcBitInfo> plcBitList; + //private ArrayList<PlcBitInfo> plcBitList; + private LinkedHashMap<String,PlcBitInfo> plcBitMap; /** * @return 鏁版嵁鍖哄紑濮嬪湴鍧� @@ -44,8 +42,8 @@ /** * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎 */ - public ArrayList<PlcBitInfo> getBitList() { - return plcBitList; + public LinkedHashMap<String,PlcBitInfo> getBitMap() { + return plcBitMap; } /** @@ -55,38 +53,29 @@ * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥 */ public PlcBitInfo getPlcBit(String codeid) { - if (plcBitList != null) { - for (PlcBitInfo plcbitInfo : plcBitList) { + if (plcBitMap != null) { + /*for (PlcBitInfo plcbitInfo : plcBitList) { if (plcbitInfo.getCodeId().equals(codeid)) return plcbitInfo; - } - return null; + }*/ + return plcBitMap.get(codeid); } else + { return null; + } } /** * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥 * - * @param codeid 鍙傛暟鏍囪瘑 + * @param codeids 鍙傛暟鏍囪瘑 * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥 */ public List<Boolean> getPlcBitValues(List<String> codeids) { List<Boolean> arrayList = new ArrayList<>(); - if (plcBitList != null) { - Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭 - for (PlcBitInfo plcBitInfo : plcBitList) { - if (codeids.contains(plcBitInfo.getCodeId().toString())) { - resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue()); - } - } + if (plcBitMap != null) { for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘� - Boolean value = resultMap.get(codeId); - if (value != null) { - arrayList.add(value); - } else { - arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null - } + arrayList.add(plcBitMap.get(codeId).getValue()); } } return arrayList; @@ -96,15 +85,7 @@ 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); - } - } - } + addressList.add(plcBitMap.get(codeId).getAddress()); } return addressList; } @@ -116,11 +97,11 @@ * @param param 鍙傛暟瀹炰緥 */ public void addPlcBit(PlcBitInfo param) { - if (plcBitList != null) - plcBitList.add(param); + if (plcBitMap != null) + plcBitMap.put(param.getCodeId(),param); else { - plcBitList = new ArrayList<PlcBitInfo>(); - plcBitList.add(param); + plcBitMap = new LinkedHashMap<String,PlcBitInfo>(); + plcBitMap.put(param.getCodeId(),param); } } @@ -130,8 +111,9 @@ * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎 */ public void setPlcBitList(List<Boolean> plcValueArray) { - if (plcBitList != null) { - for (PlcBitInfo plcbitInfo : plcBitList) { + if (plcBitMap != null) { + Collection<PlcBitInfo> values=plcBitMap.values(); + for (PlcBitInfo plcbitInfo : values) { plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex())); } } -- Gitblit v1.8.0