|
@@ -63,6 +63,8 @@ namespace MIVA
|
|
|
vector<vector<string>> sql;
|
|
|
// 创建数据库
|
|
|
SqlWriter("create database MIVA_DB;", false) << sql;
|
|
|
+
|
|
|
+ // 创建表
|
|
|
#endif
|
|
|
|
|
|
// 链接Netty后端
|
|
@@ -74,14 +76,14 @@ namespace MIVA
|
|
|
|
|
|
// 查询需要播放的流
|
|
|
vector<vector<string>> sqlRet;
|
|
|
- SqlWriter sqlSelect("SELECT Id,Stream FROM MIVA_DB.`Streams` WHERE Play = 1");
|
|
|
+ SqlWriter sqlSelect("SELECT Id,Uri FROM MIVA_DB.`DataSources` WHERE Play = 1 and Delete = 0");
|
|
|
sqlSelect << sqlRet;
|
|
|
if(!sqlRet.empty()){
|
|
|
for(auto &line : sqlRet){
|
|
|
- Stream stream;
|
|
|
- stream.Id = std::atoi(line[0].c_str());
|
|
|
- stream.uri = line[1];
|
|
|
- this->DataList.push_back(stream);
|
|
|
+ DataSource data;
|
|
|
+ data.Id = std::atoi(line[0].c_str());
|
|
|
+ data.uri = line[1];
|
|
|
+ this->DataList.push_back(data);
|
|
|
}
|
|
|
// 初始化Deepstream
|
|
|
m_Infer = Inference::CreateNew();
|
|
@@ -159,7 +161,7 @@ namespace MIVA
|
|
|
char ctime[80];
|
|
|
getDataTime(ctime);
|
|
|
// 异步更新
|
|
|
- SqlWriter updataSql("UPDATE MIVA_DB.Streams SET num = '?' DataTime = '?' WHERE Id = '?';");
|
|
|
+ SqlWriter updataSql("UPDATE MIVA_DB.DataSources SET Num = '?' DataTime = '?' WHERE Id = '?';");
|
|
|
updataSql << num << ctime << Source_id << endl;
|
|
|
}
|
|
|
|
|
@@ -173,28 +175,21 @@ namespace MIVA
|
|
|
// 上报识别结果
|
|
|
void UserApp::ReportData()
|
|
|
{
|
|
|
+ // 查询数据
|
|
|
vector<vector<std::string>> sqlRet;
|
|
|
- // 查询需要上报的车厢ID
|
|
|
- SqlWriter sqlSelect("SELECT CarId FROM MIVA_DB.`CarId`");
|
|
|
+ PIDSClientResultMsg clentResultMsg;
|
|
|
+
|
|
|
+ SqlWriter sqlSelect("SELECT CarId,Grade,Num FROM MIVA_DB.`CarData`");
|
|
|
sqlSelect << sqlRet;
|
|
|
if(sqlRet.empty()){
|
|
|
ErrorL << "Car data not found.";
|
|
|
return;
|
|
|
}
|
|
|
- PIDSClientResultMsg clentResultMsg;
|
|
|
-
|
|
|
for(auto &line : sqlRet){
|
|
|
- vector<vector<std::string>> sqlRet0;
|
|
|
- SqlWriter sqlSelect0("SELECT Crowdedness,num FROM MIVA_DB.`Crowdedness` where CarId = ?");
|
|
|
- sqlSelect0 << atoi(line[0].c_str()) << sqlRet0;
|
|
|
- if(sqlRet0.empty()) {
|
|
|
- ErrorL << "Crowdedness data not found.";
|
|
|
- continue;
|
|
|
- }
|
|
|
- for(auto &line0 : sqlRet0){
|
|
|
- clentResultMsg.data[atoi(line[0].c_str())].Crowdedness = atoi(line0[0].c_str());
|
|
|
- clentResultMsg.data[atoi(line[0].c_str())].Num = atoi(line0[1].c_str());
|
|
|
- }
|
|
|
+ ResultData resultData;
|
|
|
+ resultData.Grade = atoi(line[1].c_str());
|
|
|
+ resultData.Num = atoi(line[2].c_str());
|
|
|
+ clentResultMsg.data[atoi(line[0].c_str())] = resultData;
|
|
|
}
|
|
|
uint8_t data[1024];
|
|
|
std::string json;
|
|
@@ -235,7 +230,7 @@ namespace MIVA
|
|
|
// 将收到的第一条PIS系统的数据作为空载荷
|
|
|
// 同步
|
|
|
if(num == 0){
|
|
|
- SqlWriter updataSql("UPDATE MIVA_DB.CarId SET NoLoad = '?' WHERE CarId = '?';");
|
|
|
+ SqlWriter updataSql("UPDATE MIVA_DB.CarData SET NoLoad = '?' WHERE CarId = '?';");
|
|
|
for(int id=1; id <= 6 ; id ++){
|
|
|
updataSql << serverResultMag.DynamicLoad[id] << id << sqlRet;
|
|
|
}
|
|
@@ -243,7 +238,7 @@ namespace MIVA
|
|
|
}else
|
|
|
{
|
|
|
// 记录动态载荷
|
|
|
- SqlWriter updataSql("UPDATE MIVA_DB.CarId SET DynamicLoad = '?' WHERE CarId = '?';");
|
|
|
+ SqlWriter updataSql("UPDATE MIVA_DB.CarData SET DynamicLoad = '?' WHERE CarId = '?';");
|
|
|
for(int id=1; id <= 6 ; id ++){
|
|
|
updataSql << serverResultMag.DynamicLoad[id] << id << sqlRet;
|
|
|
}
|
|
@@ -274,7 +269,7 @@ namespace MIVA
|
|
|
std::map<int, CarData> carDatas;
|
|
|
|
|
|
vector<vector<string>> sqlRet;
|
|
|
- SqlWriter sqlSelect0("SELECT CarId,NoLoad,DynamicLoad FROM MIVA_DB.`CarId`");
|
|
|
+ SqlWriter sqlSelect0("SELECT CarId,NoLoad,DynamicLoad FROM MIVA_DB.`CarData`");
|
|
|
sqlSelect0 << sqlRet;
|
|
|
if(sqlRet.empty()){
|
|
|
ErrorL << "Car data not found.";
|
|
@@ -286,7 +281,7 @@ namespace MIVA
|
|
|
data.loadData.DynamicLoad = atoi(line[2].c_str());
|
|
|
carDatas[atoi(line[0].c_str())] = data;
|
|
|
}
|
|
|
- SqlWriter sqlSelect1("SELECT CarId,Stream,Num FROM MIVA_DB.`Streams` WHERE Play = 1");
|
|
|
+ SqlWriter sqlSelect1("SELECT CarId,Uri,Num FROM MIVA_DB.`DataSources` WHERE Play = 1");
|
|
|
sqlRet.clear();
|
|
|
sqlSelect1 << sqlRet;
|
|
|
for (auto &line : sqlRet)
|
|
@@ -302,7 +297,7 @@ namespace MIVA
|
|
|
std::map<int, CarData>::iterator iter;
|
|
|
for(iter=carDatas.begin(); iter!=carDatas.end(); iter++)
|
|
|
{
|
|
|
- SqlWriter sqlUpdata("UPDATA MIVA_DB.Streams SET Crowdedness = '?', num = '?' WHERE CarId = '?'");
|
|
|
+ SqlWriter sqlUpdata("UPDATA MIVA_DB.CarData SET Grade = '?',DataTime = '?', Num = '?' WHERE CarId = '?'");
|
|
|
|
|
|
int sum = 0;
|
|
|
std::list<CarInferData>::iterator it;
|
|
@@ -312,8 +307,10 @@ namespace MIVA
|
|
|
int result = DataCalculation(iter->second.loadData.NoLoad, iter->second.loadData.DynamicLoad, sum);
|
|
|
int grade = GradeDetermination(result);
|
|
|
|
|
|
+ char ctime[80];
|
|
|
+ getDataTime(ctime);
|
|
|
// 更新数据
|
|
|
- sqlUpdata << grade << result << iter->first << sqlRet;
|
|
|
+ sqlUpdata << grade << ctime << result << iter->first << sqlRet;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -323,7 +320,6 @@ namespace MIVA
|
|
|
uint32_t result;
|
|
|
|
|
|
|
|
|
-
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -333,7 +329,6 @@ namespace MIVA
|
|
|
// 等级1 - 4
|
|
|
uint8_t grade = 1;
|
|
|
|
|
|
-
|
|
|
|
|
|
return grade;
|
|
|
}
|