2025-08-20 19:00:22 +08:00
|
|
|
|
#include "Dao.h"
|
|
|
|
|
|
#include "common/Utils.h"
|
|
|
|
|
|
|
|
|
|
|
|
std::string DAO::sqlPageLimit(int index, int size)
|
|
|
|
|
|
{
|
|
|
|
|
|
int startIndex = index * size;
|
|
|
|
|
|
if (startIndex < 0) { startIndex = 0; }
|
|
|
|
|
|
return " LIMIT " + std::to_string(startIndex) + "," + std::to_string(size);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool DAO::count(DaoEntity& dao, std::string tableName, std::string condition, int& count)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT COUNT(*) count FROM " + tableName;
|
|
|
|
|
|
if (!condition.empty()) { sql += " WHERE " + condition; };
|
|
|
|
|
|
sql += ";";
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
std::vector<Fields> result;
|
2025-08-20 19:00:22 +08:00
|
|
|
|
bool ret = dao.exec(sql, result);
|
|
|
|
|
|
if (ret)
|
|
|
|
|
|
{
|
2025-08-26 18:36:25 +08:00
|
|
|
|
count = (result.size() > 0) ? result[0].get<int>("count") : 0;
|
2025-08-20 19:00:22 +08:00
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::exec(std::shared_ptr<DaoEntity> dao, std::string sql)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!dao) { dao = DaoEntity::create(""); }
|
|
|
|
|
|
if (!dao->isConnected())
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_CONN;
|
|
|
|
|
|
}
|
|
|
|
|
|
auto ret = dao->exec(sql);
|
|
|
|
|
|
return ret ? Errcode::OK : Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Errcode DAO::exec(std::shared_ptr<DaoEntity> dao, std::string sql, vector<Fields>& result)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!dao) { dao = DaoEntity::create(""); }
|
|
|
|
|
|
if (!dao->isConnected())
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_CONN;
|
|
|
|
|
|
}
|
|
|
|
|
|
auto ret = dao->exec(sql, result);
|
|
|
|
|
|
return ret ? Errcode::OK : Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-20 19:00:22 +08:00
|
|
|
|
static bool QueryCount(DaoEntity& dao, std::string sqlFrom, int& count)
|
|
|
|
|
|
{
|
2025-08-22 19:06:50 +08:00
|
|
|
|
std::vector<Fields> result;
|
2025-08-20 19:00:22 +08:00
|
|
|
|
bool ret = dao.exec("SELECT COUNT(*) count " + sqlFrom, result);
|
|
|
|
|
|
if (ret)
|
|
|
|
|
|
{
|
2025-08-26 18:36:25 +08:00
|
|
|
|
count = (result.size() > 0) ? result[0].get<int>("count") : 0;
|
2025-08-20 19:00:22 +08:00
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
static bool QueryPagination(std::string sqlFields, std::string sqlCondition, PageInfo& page, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
DaoEntity dao("");
|
|
|
|
|
|
|
|
|
|
|
|
int count {0};
|
2025-08-22 19:06:50 +08:00
|
|
|
|
if (!QueryCount(dao, sqlCondition, count))
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
page.total = count;
|
|
|
|
|
|
std::string sql = "SELECT " + sqlFields + " " + sqlCondition + DAO::sqlPageLimit(page.index, page.size);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
bool ret = dao.exec(sql, result);
|
|
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: sql=" << sql;
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
// 新增用户信息
|
|
|
|
|
|
Errcode DAO::insertUser(Fields& params)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
2025-08-22 19:06:50 +08:00
|
|
|
|
std::string createTime = Utils::timeStr();
|
|
|
|
|
|
auto dao = DaoEntity::create(DMUser::TABLENAME);
|
|
|
|
|
|
std::string account = params.value(DMUser::ACCOUNT);
|
|
|
|
|
|
|
2025-08-28 18:42:37 +08:00
|
|
|
|
std::string userRoleId = params.remove(DMRole::ROLE_ID);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
// step1: 查询
|
|
|
|
|
|
std::vector<Fields> result;
|
|
|
|
|
|
bool ret = dao->exec("SELECT * from user WHERE account='" + account + "';", result);
|
|
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_CONN;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (result.size() > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_DUPLICATE;
|
|
|
|
|
|
}
|
|
|
|
|
|
params.set(DMUser::CREATETIME, createTime);
|
|
|
|
|
|
ret = dao->insertFields(params);
|
|
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
2025-08-28 18:42:37 +08:00
|
|
|
|
if (!userRoleId.empty())
|
|
|
|
|
|
{
|
|
|
|
|
|
Fields paramsUserRole;
|
|
|
|
|
|
paramsUserRole.set(DMUser::USER_ID, params.value(DMUser::USER_ID));
|
|
|
|
|
|
paramsUserRole.set(DMRole::ROLE_ID, userRoleId);
|
|
|
|
|
|
paramsUserRole.set(DMUser::UPDATETIME, createTime);
|
|
|
|
|
|
ret = dao->duplicateUpdate(paramsUserRole, {DMUser::USER_ID});
|
|
|
|
|
|
}
|
2025-08-22 19:06:50 +08:00
|
|
|
|
return Errcode::OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 分页查询用户信息列表
|
|
|
|
|
|
bool DAO::queryUserList(PageInfo& pageInfo, vector<Fields>& result)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string sqlFields = "u.*, r.role_id , r.name role_name";
|
|
|
|
|
|
std::string sqlCondition = "FROM USER u LEFT JOIN user_role ur ON ur.user_id = u.user_id LEFT JOIN ROLE r ON r.role_id =ur.role_id";
|
|
|
|
|
|
|
2025-08-20 19:00:22 +08:00
|
|
|
|
DaoEntity dao("");
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination(sqlFields, sqlCondition, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: queryUserList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
Errcode DAO::updateUserById(Fields& params)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
2025-08-28 18:42:37 +08:00
|
|
|
|
auto dao = DaoEntity::create(DMUser::TABLENAME);
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
std::string createTime = Utils::timeStr();
|
2025-08-28 18:42:37 +08:00
|
|
|
|
std::string userId = params.remove(DMUser::USER_ID);
|
|
|
|
|
|
std::string roleId = params.remove(DMRole::ROLE_ID);
|
2025-08-22 19:06:50 +08:00
|
|
|
|
|
2025-08-28 18:42:37 +08:00
|
|
|
|
if (params.size() > 0)
|
2025-08-22 19:06:50 +08:00
|
|
|
|
{
|
2025-08-28 18:42:37 +08:00
|
|
|
|
bool ret = dao->updateFields(params, "WHERE " + DMUser::USER_ID + "='" + userId + "'");
|
|
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
2025-08-22 19:06:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
if (!roleId.empty())
|
|
|
|
|
|
{
|
|
|
|
|
|
dao->setTableName(DMUserRole::TABLENAME);
|
|
|
|
|
|
Fields paramsUserRole;
|
2025-08-28 18:42:37 +08:00
|
|
|
|
paramsUserRole.set(DMUserRole::USER_ID, userId);
|
|
|
|
|
|
paramsUserRole.set(DMUserRole::ROLE_ID, roleId);
|
2025-08-22 19:06:50 +08:00
|
|
|
|
paramsUserRole.set(DMUserRole::UPDATETIME, createTime);
|
2025-08-28 18:42:37 +08:00
|
|
|
|
bool ret = dao->duplicateUpdate(paramsUserRole, {DMUserRole::ROLE_ID});
|
2025-08-22 19:06:50 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return Errcode::OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::queryRoleList(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
2025-08-22 19:06:50 +08:00
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMRole::TABLENAME + ";";
|
2025-08-26 18:36:25 +08:00
|
|
|
|
return DAO::exec(dao, sql, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool DAO::queryRoleList(PageInfo& pageInfo, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
DaoEntity dao("");
|
|
|
|
|
|
std::string sqlFrom = "FROM " + DMRole::TABLENAME;
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination("*", sqlFrom, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: queryRoleList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool DAO::queryPermissionList(PageInfo& pageInfo, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
DaoEntity dao("");
|
|
|
|
|
|
std::string sqlFrom = "FROM " + DMPermission::TABLENAME;
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination("*", sqlFrom, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: queryPermissionList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
Errcode DAO::insertStation(Fields& params)
|
|
|
|
|
|
{
|
|
|
|
|
|
auto dao = DaoEntity::create(DMStation::TABLENAME);
|
|
|
|
|
|
params.remove(DMStation::STATION_ID);
|
|
|
|
|
|
params.check(DMStation::LATITUDE, "", "NULL");
|
|
|
|
|
|
params.check(DMStation::LONGITUDE, "", "NULL");
|
2025-08-26 18:36:25 +08:00
|
|
|
|
|
|
|
|
|
|
std::string sql = params.toSqlInsert(DMStation::TABLENAME);
|
|
|
|
|
|
return DAO::exec(dao, sql);
|
2025-08-22 19:06:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-20 19:00:22 +08:00
|
|
|
|
// 查询场站信息列表
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::queryStationList(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMStation::TABLENAME;
|
2025-08-26 18:36:25 +08:00
|
|
|
|
return DAO::exec(dao, sql, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 分页查询场站信息列表
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool DAO::queryStationList(PageInfo& pageInfo, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
DaoEntity dao("");
|
|
|
|
|
|
std::string sqlFrom = "FROM " + DMStation::TABLENAME;
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination("*", sqlFrom, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: queryStationList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
Errcode DAO::updateStationById(Fields& params)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string stationId = params.value(DMStation::STATION_ID);
|
|
|
|
|
|
if (stationId.empty())
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
|
|
|
|
|
params.remove(DMStation::STATION_ID);
|
|
|
|
|
|
auto dao = DaoEntity::create(DMStation::TABLENAME);
|
|
|
|
|
|
bool ret = dao->updateFields(params, "WHERE " + DMStation::STATION_ID + "='" + stationId + "'");
|
|
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
|
|
|
|
|
return Errcode::OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-20 19:00:22 +08:00
|
|
|
|
// 查询设备信息列表
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::queryDeviceList(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMDevice::TABLENAME;
|
2025-08-26 18:36:25 +08:00
|
|
|
|
return DAO::exec(dao, sql, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 分页查询设备信息列表
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool DAO::queryDeviceList(PageInfo& pageInfo, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
DaoEntity dao("");
|
|
|
|
|
|
std::string sqlFrom = "FROM " + DMDevice::TABLENAME;
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination("*", sqlFrom, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: queryDeviceList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
// 查询设备类型定义
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::queryDeviceTypeDef(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
2025-08-22 19:06:50 +08:00
|
|
|
|
{
|
2025-08-26 18:36:25 +08:00
|
|
|
|
std::string sql = "SELECT * FROM " + DMDefDeviceType::TABLENAME + ";";
|
|
|
|
|
|
return DAO::exec(dao, sql, result);
|
2025-08-22 19:06:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Errcode DAO::insertDevice(Fields& params)
|
|
|
|
|
|
{
|
2025-08-26 18:36:25 +08:00
|
|
|
|
return DAO::exec(NULL, params.toSqlInsert(DMDevice::TABLENAME));
|
2025-08-22 19:06:50 +08:00
|
|
|
|
}
|
2025-08-26 18:36:25 +08:00
|
|
|
|
|
2025-08-22 19:06:50 +08:00
|
|
|
|
Errcode DAO::updateDeviceById(Fields& params)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string deviceId = params.value(DMDevice::DEVICE_ID);
|
|
|
|
|
|
if (deviceId.empty())
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
2025-08-26 18:36:25 +08:00
|
|
|
|
std::string sql = params.toSqlUpdate(DMDevice::TABLENAME, "WHERE " + DMDevice::DEVICE_ID + "='" + deviceId + "'");
|
|
|
|
|
|
return DAO::exec(NULL, sql);
|
2025-08-22 19:06:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-20 19:00:22 +08:00
|
|
|
|
// 策略管理
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool DAO::queryPolicyList(PageInfo& pageInfo, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
2025-08-22 19:06:50 +08:00
|
|
|
|
auto dao = DaoEntity::create("");
|
2025-08-20 19:00:22 +08:00
|
|
|
|
std::string sqlFrom = "FROM " + DMPolicy::TABLENAME;
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination("*", sqlFrom, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: queryPolicyList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::queryPolicyList(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMPolicy::TABLENAME;
|
|
|
|
|
|
return DAO::exec(dao, sql, result);
|
|
|
|
|
|
}
|
2025-08-28 18:42:37 +08:00
|
|
|
|
Errcode DAO::insertPolicy(Fields& params)
|
|
|
|
|
|
{
|
|
|
|
|
|
return DAO::exec(NULL, params.toSqlInsert(DMPolicy::TABLENAME));
|
|
|
|
|
|
}
|
|
|
|
|
|
Errcode DAO::updatePolicyById(Fields& params)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string policyId = params.value(DMPolicy::POLICY_ID);
|
|
|
|
|
|
if (policyId.empty())
|
|
|
|
|
|
{
|
|
|
|
|
|
return Errcode::ERR_DB_SQL;
|
|
|
|
|
|
}
|
|
|
|
|
|
std::string sql = params.toSqlUpdate(DMPolicy::TABLENAME, "WHERE " + DMPolicy::POLICY_ID + "='" + policyId + "'");
|
|
|
|
|
|
return DAO::exec(NULL, sql);
|
|
|
|
|
|
}
|
2025-08-26 18:36:25 +08:00
|
|
|
|
|
2025-08-20 19:00:22 +08:00
|
|
|
|
// 系统日志管理
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool DAO::querySystemLogList(PageInfo& pageInfo, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
DaoEntity dao("");
|
|
|
|
|
|
std::string sqlFrom = "FROM " + DMSystemLog::TABLENAME;
|
2025-08-22 19:06:50 +08:00
|
|
|
|
bool ret = QueryPagination("*", sqlFrom, pageInfo, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
if (!ret)
|
|
|
|
|
|
{
|
|
|
|
|
|
XLOGE() << "DAO database error: querySystemLogList failed.";
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-26 18:36:25 +08:00
|
|
|
|
Errcode DAO::queryStatDataList(std::shared_ptr<DaoEntity> dao, std::string startDate, std::string endDate, vector<Fields>& result)
|
2025-08-20 19:00:22 +08:00
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMStatStation::TABLENAME + " WHERE dt BETWEEN '" + startDate + "' AND '" + endDate + "';";
|
2025-08-26 18:36:25 +08:00
|
|
|
|
return DAO::exec(dao, sql, result);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Errcode DAO::queryWorkModeDef(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMDefWorkMode::TABLENAME + ";";
|
|
|
|
|
|
return DAO::exec(dao, sql, result);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Errcode DAO::queryPolicyTypeDef(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string sql = "SELECT * FROM " + DMDefPolicyType::TABLENAME + ";";
|
|
|
|
|
|
return DAO::exec(dao, sql, result);
|
2025-08-20 19:00:22 +08:00
|
|
|
|
}
|