南瑞意见修改:前端页面和后端接口

This commit is contained in:
lixiaoyuan
2026-01-05 16:13:13 +08:00
parent 97e4b182de
commit e278ae1003
51 changed files with 2812 additions and 958 deletions

View File

@@ -28,6 +28,9 @@ std::shared_ptr<Device> Device::create(Fields& fields)
static const int BCU_UNIT_SIZE = 256;
Device::Device()
{
cacheU = vector<float>(144, 0);
cacheI = vector<float>(144, 0);
cacheP = vector<float>(144, 0);
vecBCUUnit = std::vector<std::vector<float>>(BCU_UNIT_SIZE, std::vector<float>(5, 0.0f));
}
@@ -104,54 +107,54 @@ int Device::startComm()
return 0;
}
void Device::getCacheVoltage(std::vector<std::string>& vec)
{
vec.resize(mapCacheVoltage.size());
int i = 0;
for (auto iter = mapCacheVoltage.begin(); iter != mapCacheVoltage.end(); ++iter)
{
vec[i] = Utils::toStr(iter->second);
i++;
}
}
void Device::getCacheCurrent(std::vector<std::string>& vec)
{
vec.resize(mapCacheCurrent.size());
int i = 0;
for (auto iter = mapCacheCurrent.begin(); iter != mapCacheCurrent.end(); ++iter)
{
vec[i] = Utils::toStr(iter->second);
i++;
}
}
void Device::getCachePower(std::vector<std::string>& vec)
{
vec.resize(mapCachePower.size());
int i = 0;
for (auto iter = mapCachePower.begin(); iter != mapCachePower.end(); ++iter)
{
vec[i] = Utils::toStr(iter->second);
i++;
}
}
//void Device::getCacheVoltage(std::vector<std::string>& vec)
//{
// vec.resize(mapCacheVoltage.size());
// int i = 0;
// for (auto iter = mapCacheVoltage.begin(); iter != mapCacheVoltage.end(); ++iter)
// {
// vec[i] = Utils::toStr(iter->second);
// i++;
// }
//}
//void Device::getCacheCurrent(std::vector<std::string>& vec)
//{
// vec.resize(mapCacheCurrent.size());
// int i = 0;
// for (auto iter = mapCacheCurrent.begin(); iter != mapCacheCurrent.end(); ++iter)
// {
// vec[i] = Utils::toStr(iter->second);
// i++;
// }
//}
//void Device::getCachePower(std::vector<std::string>& vec)
//{
// vec.resize(mapCachePower.size());
// int i = 0;
// for (auto iter = mapCachePower.begin(); iter != mapCachePower.end(); ++iter)
// {
// vec[i] = Utils::toStr(iter->second);
// i++;
// }
//}
void Device::setCache(int datatype, std::vector<float>& vd)
{
std::map<int, float>* mapptr = NULL;
if (datatype == 1) { mapptr = &mapCacheVoltage; }
else if (datatype == 2) { mapptr = &mapCacheCurrent; }
else if (datatype == 3) { mapptr = &mapCachePower; }
std::vector<float>* vecptr = NULL;
if (datatype == 1) { vecptr = &cacheU; }
else if (datatype == 2) { vecptr = &cacheI; }
else if (datatype == 3) { vecptr = &cacheP; }
if (mapptr)
if (vecptr)
{
const int step = 600;
const int N = 86400/step;
int64_t tsSeconds = Utils::timeDaySeconds();
int npos = tsSeconds / step;
for (int i = 0; i<N; ++i)
for (int i = 0; i<N && i< vecptr->size(); ++i)
{
if (i < vd.size()) { (*mapptr)[i] = vd[i]; }
else if (i <= npos) { (*mapptr)[i] = 0; }
if (i < vd.size()) { (*vecptr)[i] = vd[i]; }
else if (i <= npos) { (*vecptr)[i] = 0; }
}
}
}
@@ -164,9 +167,9 @@ bool Device::cache(int npos)
}
if (npos == 0)
{
mapCacheVoltage.clear();
mapCacheCurrent.clear();
mapCachePower.clear();
std::fill(cacheU.begin(), cacheU.end(), 0);
std::fill(cacheI.begin(), cacheI.end(), 0);
std::fill(cacheP.begin(), cacheP.end(), 0);
}
std::string addrV;
@@ -186,9 +189,9 @@ bool Device::cache(int npos)
int U = Utils::toInt(this->getParam(addrV, "0"));
int I = Utils::toInt(this->getParam(addrI, "0"));
int P = addrP.empty() ? U*I*0.001 : Utils::toInt(this->getParam(addrP, "0"));
mapCacheVoltage[npos] = U;
mapCacheCurrent[npos] = I;
mapCachePower[npos] = P;
cacheU[npos] = U;
cacheI[npos] = I;
cacheP[npos] = P;
return true;
}