|
@@ -69,20 +69,26 @@ void SPAServer::fromSuperBrainThread()
|
|
|
SPDLOG_LOGGER_DEBUG(m_logger, "删除算法信息");
|
|
|
m_toEQMDataBase.deleteAlgorithmInfo(vecAlgDelete);
|
|
|
}
|
|
|
+ /* 更新一次表格数据缓存 */
|
|
|
+ m_toEQMDataBase.getAlgorithmInfo(m_vecEqmAlgInfo);
|
|
|
if(vecAlgUpdate.size() > 0)
|
|
|
{
|
|
|
SPDLOG_LOGGER_DEBUG(m_logger, "写入算法信息");
|
|
|
- m_toEQMDataBase.writeAlgorithmInfo(vecAlgUpdate);
|
|
|
+ m_toEQMDataBase.writeAlgorithmInfo(vecAlgUpdate, m_vecEqmAlgInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /* 再读取数据库,刷新本地存储 */
|
|
|
+ if(vecAlgUpdate.size() > 0 || vecAlgDelete.size() > 0)
|
|
|
+ {
|
|
|
+ m_toEQMDataBase.getAlgorithmInfo(m_vecEqmAlgInfo);
|
|
|
}
|
|
|
|
|
|
vecAlgInfo.clear();
|
|
|
vecDevInfo.clear();
|
|
|
vecAlgUpdate.clear();
|
|
|
vecAlgDelete.clear();
|
|
|
- /* 再读取数据库,刷新本地存储 */
|
|
|
- m_toEQMDataBase.getAlgorithmInfo(m_vecEqmAlgInfo);
|
|
|
-
|
|
|
- std::this_thread::sleep_for(std::chrono::seconds(5));
|
|
|
+ std::this_thread::sleep_for(std::chrono::seconds(10));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -94,14 +100,20 @@ void SPAServer::compareAlgorithmInfo(const std::vector<AlgorithmInfo>& vecNewInf
|
|
|
{
|
|
|
for(const auto& it : vecNewInfo)
|
|
|
{
|
|
|
+ bool isExist = false;
|
|
|
for(const auto& it0 : m_vecEqmAlgInfo)
|
|
|
{
|
|
|
- if(it.ActionID != it0.ActionID)
|
|
|
+ /* 如果存在就退出循环 */
|
|
|
+ if(it.ActionID == it0.ActionID)
|
|
|
{
|
|
|
- vecAlgUpdate.push_back(it);
|
|
|
+ isExist = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ if(!isExist)
|
|
|
+ {
|
|
|
+ vecAlgUpdate.push_back(it);
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
vecAlgUpdate = vecNewInfo;
|
|
@@ -109,16 +121,22 @@ void SPAServer::compareAlgorithmInfo(const std::vector<AlgorithmInfo>& vecNewInf
|
|
|
/* 取出要删除的,如果新的数据是0,那么全部都要删除 */
|
|
|
if(vecNewInfo.size() > 0)
|
|
|
{
|
|
|
+ bool isExist = false;
|
|
|
for(const auto& it : m_vecEqmAlgInfo)
|
|
|
{
|
|
|
+ isExist = false;
|
|
|
for(const auto& it0 : vecNewInfo)
|
|
|
{
|
|
|
- if(it.ActionID != it0.ActionID)
|
|
|
+ if(it.ActionID == it0.ActionID)
|
|
|
{
|
|
|
- vecAlgDelete.push_back(it);
|
|
|
+ isExist = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ if(!isExist)
|
|
|
+ {
|
|
|
+ vecAlgDelete.push_back(it);
|
|
|
+ }
|
|
|
}
|
|
|
}else {
|
|
|
vecAlgDelete = m_vecEqmAlgInfo;
|