From 145de2dcd3124f236e7d06bcdee17c7be08048b1 Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期一, 11 十一月 2024 18:34:13 +0800 Subject: [PATCH] 修改搜索按照index索引 --- HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java | 107 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 61 insertions(+), 46 deletions(-) diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java index 9e67ea5..f4087b7 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java @@ -57,8 +57,10 @@ curCount++; int curChannelNum = 0; + int index = 0; while (curChannelNum < channelNum) { - curChannelNum++; + curChannelNum++;//鏈夊彲鑳戒笉鏄粠1寮�濮嬬殑锛屾墍浠ュ鍔爄ndex鍒ゆ柇 + index++; if (isWantData(bigType, littleType)) { AppliancesInfo appliancesInfo = new AppliancesInfo(); appliancesInfo.setDeviceSubnetID(subnetID); @@ -67,40 +69,40 @@ /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/ switch (bigType) { case Configuration.LIGTH_BIG_TYPE: - parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.CURTAIN_BIG_TYPE: - parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AIR_BIG_TYPE: - parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AUDIO_BIG_TYPE: - parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.LOGIC_BIG_TYPE: - parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GLOBAL_LOGIC_BIG_TYPE: - parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板 - parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SENSOR_BIG_TYPE: - parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏� - parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴 - parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹 - parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.DOOR_MACHINE_BIG_TYPE://闂ㄩ攣 - parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); @@ -300,7 +302,7 @@ } - private static void parseLightData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseLightData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("璋冨厜鍥炶矾"); @@ -349,6 +351,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.LIGTH_BIG_TYPE); appliancesInfo.setLittleType(littleType); @@ -371,7 +374,7 @@ } } - private static void parseCurtainData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseCurtainData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("寮�鍚堝笜鐢垫満"); @@ -396,6 +399,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.CURTAIN_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.CURTAIN_CTRL_COMMAND); @@ -408,7 +412,7 @@ } } - private static void parseAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("HVAC 妯″潡"); @@ -441,6 +445,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.AIR_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -463,7 +468,7 @@ } } - private static void parseAudioData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseAudioData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鑳屾櫙闊充箰妯″潡"); @@ -483,6 +488,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.AUDIO_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.AUDIO_CTRL_READ_COMMAND); @@ -496,7 +502,7 @@ HDLLog.I("闊充箰妯″潡锛�" + parentRemarks); } - private static void parseLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("閫昏緫妯″潡"); @@ -509,6 +515,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.LOGIC_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND); @@ -522,7 +529,7 @@ } } - private static void parseGlobalLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseGlobalLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鍏ㄥ眬閫昏緫妯″潡"); @@ -535,6 +542,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.GLOBAL_LOGIC_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND); @@ -559,7 +567,7 @@ * @param port * @param ipAddress */ - private static void parseSecurityData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseSecurityData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("瀹夐槻妯″潡"); @@ -576,6 +584,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.SECURITY_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -606,7 +615,7 @@ // 2019-07-03 灞忚斀 2019-11-5 浼犳劅鍣ㄩ兘鏀逛负骞叉帴鐐瑰疄鐜� - private static void parseSensorData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int curChannelNum, int port, String ipAddress) { + private static void parseSensorData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("浼犳劅鍣� 骞茬粨鐐�"); @@ -732,7 +741,8 @@ if (devicesData != null) { - appliancesInfo.setChannelNum(curChannelNum); + appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.SENSOR_BIG_TYPE); appliancesInfo.setLittleType(littleType); @@ -751,7 +761,7 @@ * 2020-07-20 * 鏂伴绯荤粺 */ - private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鏂伴绯荤粺妯″潡"); @@ -776,6 +786,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.FRESH_AIR_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -788,7 +799,7 @@ /** * 鍦扮儹 */ - private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鍦扮儹妯″潡"); @@ -813,6 +824,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.GEOTHERMAL_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -832,7 +844,7 @@ /** * 闂ㄩ攣 */ - private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 4: appliancesInfo.setDeviceName("闂ㄩ攣妯″潡"); @@ -844,6 +856,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.DOOR_MACHINE_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -871,7 +884,7 @@ * @param port * @param ipAddress */ - private static void parseCommonSwitchData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseCommonSwitchData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("閫氱敤寮�鍏�"); @@ -884,6 +897,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.COMMON_SWITCH_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -908,7 +922,7 @@ * @param mRemarks * @return */ - public static DevicesData addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) { + public static DevicesData addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) { boolean bWantData = false; DevicesData mDevicesData = new DevicesData(); mDevicesData.setSourceSubnetID(mSubnetID); @@ -918,7 +932,7 @@ List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); if (isWantData(mBigType, mLittleType)) { bWantData = true; - AppliancesInfo appliancesInfo = getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mRemarks, mRemarks); + AppliancesInfo appliancesInfo = getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mIndex, mRemarks, mRemarks); appliancesInfoList.add(appliancesInfo); // HDLLog.I( "鍚戞ā鍧楁坊鍔犲洖璺細"+"澶х被锛�" + mBigType + " 灏忕被锛�" + mLittleType +" 妯″潡澶囨敞" + mRemarks ); @@ -1003,7 +1017,7 @@ List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); if (isWantData(bigType, littleType)) { for (int i = 0; i < parentRemarksList.size(); i++) { - appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, i + 1, parentRemarks, parentRemarksList.get(i))); + appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, i + 1, i+1, parentRemarks, parentRemarksList.get(i))); } bWantData = true; @@ -1024,45 +1038,45 @@ return devicesData; } - public static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, String parentRemarks, String mRemarks) { + public static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, int index, String parentRemarks, String mRemarks) { AppliancesInfo appliancesInfo = new AppliancesInfo(); /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/ switch (bigType) { case Configuration.LIGTH_BIG_TYPE: - parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.CURTAIN_BIG_TYPE: - parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AIR_BIG_TYPE: - parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AUDIO_BIG_TYPE: - parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.LOGIC_BIG_TYPE: - parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GLOBAL_LOGIC_BIG_TYPE: - parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板 - parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SENSOR_BIG_TYPE: - parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏� - parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴 - parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GEOTHERMAL_BIG_TYPE://2020-07-20 鍦扮儹 - parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.DOOR_MACHINE_BIG_TYPE://2023-08-22 闂ㄩ攣 - parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); @@ -1074,7 +1088,8 @@ + "-" + appliancesInfo.getDeviceSubnetID() + "-" + appliancesInfo.getDeviceDeviceID() + "-" + appliancesInfo.getChannelNum(); - appliancesInfo.setRemarks(mRemarks); +// appliancesInfo.setRemarks(mRemarks); + HDLLog.I("---getDevicesInfo getRemarks()锛�" + appliancesInfo.getRemarks()); appliancesInfo.setDeviceKey(key);//2019-8-2 娣诲姞鍞竴鏍囪瘑key return appliancesInfo; @@ -1092,7 +1107,7 @@ * @param parentRemarks * @return */ - public static DevicesData addDevicesListWithoutSearching(int bigType, int littleType, int mSubnetID, int mDeviceID, int mChannelNum, String mChannelRemark, String parentRemarks) { + public static DevicesData addDevicesListWithoutSearching(int bigType, int littleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mChannelRemark, String parentRemarks) { // boolean bWantData = false; if (isWantData(bigType, littleType)) { DevicesData devicesData = new DevicesData(); @@ -1112,13 +1127,13 @@ if (isFindDevicesData) { - AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, parentRemarks, mChannelRemark); + AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, mIndex, parentRemarks, mChannelRemark); devicesDataList.get(index).getAppliancesInfoList().add(mAppliancesInfo); devicesData = devicesDataList.get(index); HandleSearch.OnDeviceListGetSuccessCallBack(); } else { List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); - appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, mChannelNum, parentRemarks, mChannelRemark)); + appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, mChannelNum, mIndex, parentRemarks, mChannelRemark)); devicesData.setAppliancesInfoList(appliancesInfoList); devicesDataList.add(devicesData); HandleSearch.OnDeviceListGetSuccessCallBack(); -- Gitblit v1.8.0