From 5254779cc78034390a9ef6936e80b0384d7af725 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Tue, 8 Apr 2025 14:25:54 +0800 Subject: [PATCH] modify web code --- common/parameter_defination.hpp | 3 ++- jsonparse/web_cmd_parse3.cpp | 43 +++++++++++++++++++++++++-------- localserver/web_cmd.cpp | 1 + 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/common/parameter_defination.hpp b/common/parameter_defination.hpp index 19b28d1..7c2fcdf 100644 --- a/common/parameter_defination.hpp +++ b/common/parameter_defination.hpp @@ -338,12 +338,13 @@ struct Param_61 { Param_61() : mMode(0),MeasurementID(""),straxis(""),mPackageFlag(0){}; }; struct Param_62 { + int mMode; std::string MeasurementID; std::string straxis; std::string timeStart; std::string timeEnd; int mPackageFlag; - Param_62() : MeasurementID(""),straxis(""),timeStart(""),timeEnd(""),mPackageFlag(0){}; + Param_62() : mMode(0),MeasurementID(""),straxis(""),timeStart(""),timeEnd(""),mPackageFlag(0){}; }; struct Param_63 { diff --git a/jsonparse/web_cmd_parse3.cpp b/jsonparse/web_cmd_parse3.cpp index e2359d8..6c89b59 100644 --- a/jsonparse/web_cmd_parse3.cpp +++ b/jsonparse/web_cmd_parse3.cpp @@ -897,14 +897,29 @@ std::string JsonData::JsonCmd_Cgi_62(Param_62 ¶m){ vec_t vetRes = sqlite_db_ctrl::instance().GetDataMultiLineOfOneColumn(T_SENSOR_INFO(TNAME), T_SENSOR_INFO(DATANODENO), NULL); int nSize = vetRes.size(); if (nSize > 0) { - char szTableName[100] = {0x00}, whereCon[256] = {0x00}; - sprintf(szTableName, " receive_wave_status "); + char szTableName[100] = {0x00}, whereCon[256] = {0x00},selectCon[100] = {0x00}; + if (param.mMode == 1){ + sprintf(selectCon," dataNodeNo,channelID,timeStamp,sendMsg,nodeResend "); + sprintf(szTableName,"t_data_%s",param.MeasurementID.c_str()); + }else{ + sprintf(selectCon," * "); + sprintf(szTableName, " receive_wave_status "); + } - if(param.straxis == "") - sprintf(whereCon, " data_nodeno like '%%%s%%' and timeStamp < '%s' and timeStamp > '%s' ", param.MeasurementID.c_str(), param.timeEnd.c_str(), param.timeStart.c_str()); - else - sprintf(whereCon, " data_nodeno = '%s-%s' and timeStamp < '%s' and timeStamp > '%s' ", param.MeasurementID.c_str(),param.straxis.c_str(), param.timeEnd.c_str(), param.timeStart.c_str()); - + if(param.straxis == ""){ + if (param.mMode == 1){ + sprintf(whereCon, " channelID like '%%%s%%' and timeStamp < '%s' and timeStamp > '%s' ", param.MeasurementID.c_str(), param.timeEnd.c_str(), param.timeStart.c_str()); + }else{ + sprintf(whereCon, " data_nodeno like '%%%s%%' and timeStamp < '%s' and timeStamp > '%s' ", param.MeasurementID.c_str(), param.timeEnd.c_str(), param.timeStart.c_str()); + } + } + else{ + if (param.mMode == 1){ + sprintf(whereCon, " channelID = '%s-%s' and timeStamp < '%s' and timeStamp > '%s' ", param.MeasurementID.c_str(),param.straxis.c_str(), param.timeEnd.c_str(), param.timeStart.c_str()); + }else{ + sprintf(whereCon, " data_nodeno = '%s-%s' and timeStamp < '%s' and timeStamp > '%s' ", param.MeasurementID.c_str(),param.straxis.c_str(), param.timeEnd.c_str(), param.timeStart.c_str()); + } + } int rows = sqlite_db_ctrl::instance().GetTableRows(szTableName, whereCon); int packgeNo = param.mPackageFlag; @@ -935,13 +950,21 @@ std::string JsonData::JsonCmd_Cgi_62(Param_62 ¶m){ memset(whereCon, 0x00, sizeof(whereCon)); if(param.straxis == "") { - sprintf(whereCon, "data_nodeno like '%%%s%%' and timeStamp < '%s' and timeStamp > '%s' order by timeStamp asc LIMIT %d OFFSET %d", param.MeasurementID.c_str(), param.timeEnd.c_str(), param.timeStart.c_str(), 550, packgeNum); + if (param.mMode == 1){ + sprintf(whereCon, " channelID like '%%%s%%' and timeStamp < '%s' and timeStamp > '%s' order by timeStamp asc LIMIT %d OFFSET %d", param.MeasurementID.c_str(), param.timeEnd.c_str(), param.timeStart.c_str(), 550, packgeNum); + }else{ + sprintf(whereCon, " data_nodeno like '%%%s%%' and timeStamp < '%s' and timeStamp > '%s' order by timeStamp asc LIMIT %d OFFSET %d", param.MeasurementID.c_str(), param.timeEnd.c_str(), param.timeStart.c_str(), 550, packgeNum); + } }else{ - sprintf(whereCon, "data_nodeno = %s-%s' and timeStamp < '%s' and timeStamp > '%s' order by timeStamp asc LIMIT %d OFFSET %d", param.MeasurementID.c_str(),param.straxis.c_str(), param.timeEnd.c_str(), param.timeStart.c_str(), 550, packgeNum); + if (param.mMode == 1){ + sprintf(whereCon, " channelID = '%s-%s' and timeStamp < '%s' and timeStamp > '%s' order by timeStamp asc LIMIT %d OFFSET %d", param.MeasurementID.c_str(),param.straxis.c_str(), param.timeEnd.c_str(), param.timeStart.c_str(), 550, packgeNum); + }else{ + sprintf(whereCon, "data_nodeno = %s-%s' and timeStamp < '%s' and timeStamp > '%s' order by timeStamp asc LIMIT %d OFFSET %d", param.MeasurementID.c_str(),param.straxis.c_str(), param.timeEnd.c_str(), param.timeStart.c_str(), 550, packgeNum); + } } array_t vecRes; - vecRes = sqlite_db_ctrl::instance().GetDataMultiLine(szTableName, "*", whereCon); + vecRes = sqlite_db_ctrl::instance().GetDataMultiLine(szTableName, selectCon, whereCon); zlog_info(zct, "vecRes = %d", vecRes.size()); if (vecRes.size() > 0) { Json::Value jsStaticData; diff --git a/localserver/web_cmd.cpp b/localserver/web_cmd.cpp index 94b6867..96fc8f1 100644 --- a/localserver/web_cmd.cpp +++ b/localserver/web_cmd.cpp @@ -431,6 +431,7 @@ std::string LocalServer::HandleCgi_cmd(std::string &pData) { case kWaveReceive:{ JsonData jd; Param_62 param; + param.mMode = recvBody["type"].asInt(); param.mPackageFlag = recvBody["package"].asInt(); param.timeStart = recvBody["timeStart"].asString(); param.timeEnd = recvBody["timeEnd"].asString();