批量导入NB电表
该方法用于批量导入NB电表,支持预导入和非预导入设备,并进行数据校验和同步到前置机。
方法参数
communityId: 小区IDmodelId: 电表型号IDschemeId: 电价方案IDexcelNbMeterDtos: 待导入的电表信息列表
方法逻辑
- 校验用户是否为租户用户,非租户用户不支持NB电表的批量导入。
- 校验Excel导入数据。
- 查询归属小区和设备型号,并根据电价方案ID查询电价方案。
- 如果选择了复费率的电价,则需要校验尖峰平谷的底度数是否都有值。
- 自动处理归属的楼栋单元。
- 处理预导入的设备:
- 获取预导入电表信息列表。
- 校验电表编号是否在平台预导入,如果未预导入,则提示用户更正。
- 根据表格内填入数据,修改预导入电表信息,包括底度数、安装信息、密码等级、密码等。
- 设置楼栋单元信息。
- 处理非预导入设备:
- 校验上传数据是否完整。
- 创建新的电表信息,并进行数据保存。
- 同步数据到前置机,根据IoT平台的类型分组进行同步。
代码解释
nbElectricMeterPreImportList 中的 setPwdLevel 方法是在 preImportList.forEach 循环中调用的,这意味着每次循环中都会设置 nbElectricMeter 对象的 pwdLevel 属性。
如果 setPwdLevel 方法没有生效,可能是以下原因:
preImportList列表中的元素没有调用setPwdLevel方法。请检查ImportExcelNbElectricMeterDto类的定义,确保pwdLevel字段存在并且有相应的 getter 和 setter 方法。preImportList列表中的元素的pwdLevel字段值为 null 或空字符串,导致setPwdLevel方法没有实际设置属性值。请确保在调用setPwdLevel方法之前,pwdLevel字段的值是非空的。nbElectricMeter对象在其他地方被修改或重新赋值,导致setPwdLevel方法设置的值被覆盖。请检查代码中是否有其他地方修改了nbElectricMeter对象的pwdLevel属性。
如果以上解决方法都无效,请提供更多关于问题的上下文信息,以便更好地理解问题并给出准确的解决方案。
原文地址: https://www.cveoy.top/t/topic/gOCj 著作权归作者所有。请勿转载和采集!