现场调试问题修改;本地服务端从qt5升级到qt6

This commit is contained in:
lixiaoyuan
2025-11-19 15:07:51 +08:00
parent 450aff0eff
commit 8735a31b18
185 changed files with 1239 additions and 363633 deletions

View File

@@ -476,7 +476,6 @@ Errcode HttpEntity::deletePermission(const httplib::Request& req, njson& json, s
return DAO::deletePermissionById(permissionId);
}
Errcode HttpEntity::queryRoleList(const httplib::Request& req, njson& json, std::string& errmsg)
{
std::string token = req.get_param_value("page");
@@ -497,52 +496,49 @@ Errcode HttpEntity::queryRoleList(const httplib::Request& req, njson& json, std:
{
return err;
}
std::map<std::string, std::vector<Fields>> mapP;
for (int i = 0; i<vecPermission.size(); ++i)
std::map<std::string, std::vector<int>> mapRole;
std::map<std::string, std::vector<int>> mapChildren;
for (int i=0; i<vecPermission.size(); ++i)
{
auto& item = vecPermission[i];
std::string roleId = item.value("role_id");
std::string id = item.value("permission_id");
std::string parentId = item.value("parent_id");
mapP[roleId].push_back(vecPermission[i]);
mapRole[roleId].push_back(i);
if (parentId != "")
{
mapChildren[roleId + "-" + parentId].push_back(i);
}
}
for (auto& item : json["data"])
{
auto jsonpermission = njson::array();
std::string roleId = item["role_id"];
std::vector<Fields>& vecP = mapP[roleId];
std::map<std::string, int> mapParentPos;
for (int i = 0; i<vecP.size(); ++i)
for (auto& fieldsPos : mapRole[roleId])
{
auto& item = vecPermission[i];
if (item.value("parent_id") == "")
auto& fields = vecPermission[fieldsPos];
string parentId = fields.value("parent_id");
string permissionId = fields.value("permission_id");
if (parentId == "")
{
mapParentPos[item.value("permission_id")] = i;
njson node;
FieldsToJson(item, node);
node["children"] = njson::array();
jsonpermission.push_back(node);
}
}
// 重新遍历处理二级子权限,防止父权限信息还未创建时导致错误
for (int i = 0; i<vecP.size(); ++i)
{
auto& item = vecP[i];
std::string id = item.value("permission_id");
std::string parentId = item.value("parent_id");
if (parentId != "")
{
auto iter = mapParentPos.find(parentId);
if (iter != mapParentPos.end())
FieldsToJson(fields, node);
njson nodeChildren = njson::array();
auto iter = mapChildren.find(roleId + "-" + permissionId);
if (iter != mapChildren.end())
{
njson node;
FieldsToJson(item, node);
jsonpermission[iter->second]["children"].push_back(node);
for (auto& fieldsChildPos : iter->second)
{
njson nodeChild;
FieldsToJson(vecPermission[fieldsChildPos], nodeChild);
nodeChildren.push_back(nodeChild);
}
}
node["children"] = nodeChildren;
jsonpermission.push_back(node);
}
}
item["permission"] = jsonpermission;
@@ -565,6 +561,19 @@ Errcode HttpEntity::insertRole(const httplib::Request& req, njson& json, std::st
GetRequestParams(req, {"name", "describe", "is_open", "permission"}, params);
return DAO::insertRole(params);
};
static void JsonToFieldsRole(string roleId, njson& item, Fields& fields)
{
fields.set("role_id", roleId);
fields.set("permission_id", item["permission_id"].get<std::string>());
fields.set("is_open", item["is_open"].get<std::string>());
fields.set("is_view", item["is_view"].get<std::string>());
fields.set("is_add", item["is_add"].get<std::string>());
fields.set("is_edit", item["is_edit"].get<std::string>());
fields.set("is_del", item["is_del"].get<std::string>());
}
Errcode HttpEntity::updateRole(const httplib::Request& req, njson& json, std::string& errmsg)
{
Fields params;
@@ -588,14 +597,18 @@ Errcode HttpEntity::updateRole(const httplib::Request& req, njson& json, std::st
for (auto& item: jsonarray)
{
Fields fields;
fields.set("role_id", roleId);
fields.set("permission_id", item["permission_id"].get<std::string>());
fields.set("is_open", item["is_open"].get<std::string>());
fields.set("is_view", item["is_view"].get<std::string>());
fields.set("is_add", item["is_add"].get<std::string>());
fields.set("is_edit", item["is_edit"].get<std::string>());
fields.set("is_del", item["is_del"].get<std::string>());
JsonToFieldsRole(roleId, item, fields);
vecFields.push_back(fields);
if (item.contains("children"))
{
for (auto& item : item["children"])
{
Fields fields;
JsonToFieldsRole(roleId, item, fields);
vecFields.push_back(fields);
}
}
}
err = DAO::updateRolePermission(dao, roleId, vecFields);
}
@@ -1094,14 +1107,21 @@ Errcode HttpEntity::queryPredictionDetail(const httplib::Request& req, njson& js
{
const int num = 144;
std::vector<int> vecStoreIn(num, 0), vecStoreOut(num, 0), vecCharge(num, 0), vecSolar(num, 0), vecSolarP(num, 0);
for (int i = 0; i<num; ++i)
for (auto& item : Application::data().mapStation)
{
vecStoreIn[i] = 0;
vecStoreOut[i] = 0;
vecCharge[i] = 0;
vecSolar[i] = 0;
vecSolarP[i] = 0;
auto& station = item.second;
for (int i = 0; i < num; ++i)
{
vecStoreIn[i] += station->predictStorageIn[i];
vecStoreOut[i] += station->predictStorageOut[i];
vecCharge[i] += station->predictCharge[i];
vecSolar[i] = 0;
vecSolarP[i] = 0;
}
}
json["data"] = {
{"W_store_in", vecStoreIn},
{"W_store_out", vecStoreOut},
@@ -1263,13 +1283,14 @@ Errcode HttpEntity::queryStatTotal(const httplib::Request& req, njson& json, std
jsondata["launch_date"] = station->launchDate;
}
auto& appdata = Application::data();
std::vector<Fields> result;
DaoEntity::execOnce(sql, result);
if (result.size() > 0)
{
auto& fields = result[0];
// jsondata["launch_date"] = "2025-09-01"; //场站上线日期
//jsondata["launch_date"] = appdata.launchDate; //: 系统上线启用日期格式yyyy-mm-dd
// jsondata["station_id"] = station_id;
jsondata["storage_elect_in"] = fields.value("storage_elect_in"); //储能充电电量kWh精度0.001
jsondata["storage_elect_out"] = fields.value("storage_elect_out"); //储能放电电量kWh精度0.001