add function
This commit is contained in:
@@ -743,9 +743,34 @@ int parse_device_cfg_web()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////用例这里将局部的map拷贝到全局map,后续根据协议台账修改
|
||||
// 先清空全局 container,再逐个拷贝 map 中的 terminal_dev
|
||||
std::lock_guard<std::mutex> lock(ledgermtx);
|
||||
|
||||
terminal_devlist.clear();
|
||||
|
||||
for (const auto& kv : terminal_dev_map) {
|
||||
terminal_devlist.push_back(kv.second); // kv.second 是对象,不用判断指针
|
||||
|
||||
terminal_dev dev = kv.second; // kv.second 是对象,不用判断指针
|
||||
|
||||
// ======= [新增] 对 terminal_dev 中 web 未返回/未设置字段做统一初始化,避免脏值 =======
|
||||
dev.guid.clear(); // [新增] 业务 guid 初始为空
|
||||
dev.busytype = 0; // [新增] 业务类型(状态机)默认 0
|
||||
dev.isbusy = 0; // [新增] 未进行业务
|
||||
dev.busytimecount = 0; // [新增] 业务计时清零
|
||||
dev.internal_values.clear(); // [新增] 内部定值清空,等后续业务真实填充
|
||||
// ------------------------------------------------------------------------------------
|
||||
|
||||
// ======= [新增] 对每个监测点做必要的内部结构初始化 =======
|
||||
for (auto &mon : dev.line) {
|
||||
// 暂态事件容器显式清理(虽然默认构造已空,但这里确保无脏数据)
|
||||
mon.qvvrevent.qvvrdata.clear(); // [新增]
|
||||
mon.qvvrevent.qvvrfile.clear(); // [新增]
|
||||
|
||||
// 定值列表清理,等待后续配置/采集填充
|
||||
mon.set_values.clear(); // [新增]
|
||||
}
|
||||
// ------------------------------------------------------------------------------------
|
||||
|
||||
terminal_devlist.push_back(dev);
|
||||
}
|
||||
|
||||
// 判断监测点接线类型
|
||||
|
||||
Reference in New Issue
Block a user