ソースを参照

Merge branch 'master' of http://jiecheng2024.tpddns.cn:3000/liyuezong/SmartPDCode

guohui 2 年 前
親
コミット
c96851e990
共有6 個のファイルを変更した、367 個の追加 と 121 個の削除を含む
  1. 353 93
      pro/src/appweb_handle.c
  2. 5 1
      pro/src/json_handle.c
  3. 1 0
      pro/src/json_handle.h
  4. 1 1
      pro/src/modbus_handle.c
  5. 6 25
      pro/src/sqlite_handle.c
  6. 1 1
      pro/src/sqlite_handle.h

+ 353 - 93
pro/src/appweb_handle.c

@@ -642,9 +642,6 @@ static void overallStatusMonitoring(void* conn)
     //1分钟1个点 6个小时 共360个点
     else if(strcmp(_over_all_sts_monitor.type,"listDyTotalQuery")==0)
     {
-#if DBUG_INFO
-        log_i("over all request: listDyTotalQuery\n");
-#endif
         //申请电压统计信息参数
         GlobalPowerInfo __globalPowerInfo;
         //清0
@@ -655,23 +652,53 @@ static void overallStatusMonitoring(void* conn)
         {
              ack_str = over_all_data_t_ac_to_json(pall,&_over_all_sts_monitor, TOTAL_VOLTAGE_TYPE);
         }
-        else
-        {
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,0,TOTAL_VOLTAGE_TYPE,&__globalPowerInfo,_over_all_sts_monitor.start_time,_over_all_sts_monitor.end_time)!=0)
+        else if (_over_all_sts_monitor.lType && (strcmp(_over_all_sts_monitor.lType,"L1")==0 || strcmp(_over_all_sts_monitor.lType,"L2")==0 || strcmp(_over_all_sts_monitor.lType,"L3")==0))
         {
-            log_e("serach total voltage err.");
+            int ph_id=-1;
+            if (strcmp(_over_all_sts_monitor.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_all_sts_monitor.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_all_sts_monitor.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+            
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, ph_id, TOTAL_VOLTAGE_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total voltage err.");
+            }
+                    // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_voltage.xAxis[i], __globalPowerInfo._total_voltage.xAxis[i]);
+                pall->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
+            }
+
+            // 返回电压统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_VOLTAGE_TYPE);
         }
-        //传值给总管理结构体
-        #define TOTAL_COUNT 60
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pall->_total_voltage.xAxis[i],__globalPowerInfo._total_voltage.xAxis[i]);
-            pall->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, TOTAL_VOLTAGE_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total voltage err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_voltage.xAxis[i], __globalPowerInfo._total_voltage.xAxis[i]);
+                pall->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
+            }
 
-        //返回电压统计
-        ack_str = over_all_total_info_to_json(pall,TOTAL_VOLTAGE_TYPE);
+            // 返回电压统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_VOLTAGE_TYPE);
         }
     }
     //电流统计
@@ -690,22 +717,53 @@ static void overallStatusMonitoring(void* conn)
         {
             ack_str = over_all_data_t_ac_to_json(pall, &_over_all_sts_monitor, TOTAL_CURRENT_TYPE);
         }
-        else
+        else if (_over_all_sts_monitor.lType && (strcmp(_over_all_sts_monitor.lType,"L1")==0 || strcmp(_over_all_sts_monitor.lType,"L2")==0 || strcmp(_over_all_sts_monitor.lType,"L3")==0))
         {
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,0,TOTAL_CURRENT_TYPE,&__globalPowerInfo,_over_all_sts_monitor.start_time,_over_all_sts_monitor.end_time)!=0)
-        {
-            log_e("serach total current err.");
+            int ph_id=-1;
+            if (strcmp(_over_all_sts_monitor.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_all_sts_monitor.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_all_sts_monitor.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, ph_id, TOTAL_CURRENT_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total current err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_current.xAxis[i], __globalPowerInfo._total_current.xAxis[i]);
+                pall->_total_current.ydata[i] = __globalPowerInfo._total_current.ydata[i];
+            }
+
+            // 返回电流统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_CURRENT_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pall->_total_current.xAxis[i],__globalPowerInfo._total_current.xAxis[i]);
-            pall->_total_current.ydata[i] = __globalPowerInfo._total_current.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, TOTAL_CURRENT_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total current err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_current.xAxis[i], __globalPowerInfo._total_current.xAxis[i]);
+                pall->_total_current.ydata[i] = __globalPowerInfo._total_current.ydata[i];
+            }
 
-        //返回电流统计
-        ack_str = over_all_total_info_to_json(pall,TOTAL_CURRENT_TYPE);
+            // 返回电流统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_CURRENT_TYPE);
         }
     }
     //功率统计
@@ -724,22 +782,53 @@ static void overallStatusMonitoring(void* conn)
         {
             ack_str = over_all_data_t_ac_to_json(pall, &_over_all_sts_monitor, TOTAL_POWER_TYPE);
         }
-        else
+        else if (_over_all_sts_monitor.lType && (strcmp(_over_all_sts_monitor.lType,"L1")==0 || strcmp(_over_all_sts_monitor.lType,"L2")==0 || strcmp(_over_all_sts_monitor.lType,"L3")==0))
         {
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,0,TOTAL_POWER_TYPE,&__globalPowerInfo,_over_all_sts_monitor.start_time,_over_all_sts_monitor.end_time)!=0)
-        {
-            log_e("serach total power err.");
+            int ph_id=-1;
+            if (strcmp(_over_all_sts_monitor.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_all_sts_monitor.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_all_sts_monitor.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, ph_id, TOTAL_POWER_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total power err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
+                pall->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
+            }
+
+            // 返回功率统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_POWER_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pall->_total_power.xAxis[i],__globalPowerInfo._total_power.xAxis[i]);
-            pall->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, TOTAL_POWER_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total power err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
+                pall->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
+            }
 
-        //返回功率统计
-        ack_str = over_all_total_info_to_json(pall,TOTAL_POWER_TYPE);
+            // 返回功率统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_POWER_TYPE);
         }
     }
     //耗电量统计
@@ -758,22 +847,53 @@ static void overallStatusMonitoring(void* conn)
         {
             ack_str = over_all_data_t_ac_to_json(pall, &_over_all_sts_monitor, TOTAL_POWER_CONS_TYPE);
         }
-        else
-        {
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,0,TOTAL_POWER_CONS_TYPE,&__globalPowerInfo,_over_all_sts_monitor.start_time,_over_all_sts_monitor.end_time)!=0)
+        else if (_over_all_sts_monitor.lType && (strcmp(_over_all_sts_monitor.lType,"L1")==0 || strcmp(_over_all_sts_monitor.lType,"L2")==0 || strcmp(_over_all_sts_monitor.lType,"L3")==0))
         {
-            log_e("serach total power consumption err.");
+            int ph_id=-1;
+            if (strcmp(_over_all_sts_monitor.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_all_sts_monitor.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_all_sts_monitor.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, ph_id, TOTAL_POWER_CONS_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total power consumption err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_consumption.xAxis[i], __globalPowerInfo._total_consumption.xAxis[i]);
+                pall->_total_consumption.ydata[i] = __globalPowerInfo._total_consumption.ydata[i];
+            }
+
+            // 返回耗电量统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_POWER_CONS_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pall->_total_consumption.xAxis[i],__globalPowerInfo._total_consumption.xAxis[i]);
-            pall->_total_consumption.ydata[i] = __globalPowerInfo._total_consumption.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0, TOTAL_POWER_CONS_TYPE, &__globalPowerInfo, _over_all_sts_monitor.start_time, _over_all_sts_monitor.end_time) != 0)
+            {
+                log_e("serach total power consumption err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pall->_total_consumption.xAxis[i], __globalPowerInfo._total_consumption.xAxis[i]);
+                pall->_total_consumption.ydata[i] = __globalPowerInfo._total_consumption.ydata[i];
+            }
 
-        //返回耗电量统计
-        ack_str = over_all_total_info_to_json(pall,TOTAL_POWER_CONS_TYPE);
+            // 返回耗电量统计
+            ack_str = over_all_total_info_to_json(pall, TOTAL_POWER_CONS_TYPE);
         }
     }
     //查询系统总数情况
@@ -1286,6 +1406,7 @@ static void channelStatusMonitoring(void* conn)
 
         int product_chn_id = 0 ;
         product_chn_id = _over_chn_pwr_request.productChId;
+        /*
         log_d("productChId:%d",product_chn_id);
         log_i("channel status request:listDyTotalQuery");
         log_d("productChId:%d",_over_chn_pwr_request.productChId);
@@ -1294,26 +1415,60 @@ static void channelStatusMonitoring(void* conn)
         log_d("lType:%s",_over_chn_pwr_request.lType);
         log_d("type:%s",_over_chn_pwr_request.type);
         log_d("user_token:%s",_over_chn_pwr_request.user_token);
+        */
         //ack_str = ctrl_sts_ack_to_json();
-        #if(1)
+
         //申请电压统计信息参数
         GlobalPowerInfo __globalPowerInfo;
         //清0
         memset(&__globalPowerInfo,0,sizeof(GlobalPowerInfo));
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,product_chn_id,TOTAL_VOLTAGE_TYPE,&__globalPowerInfo,_over_chn_pwr_request.start_time,_over_chn_pwr_request.end_time)!=0)
+        //查询数据库通道电源信息 传给所申请的参数结构体
+         if (_over_chn_pwr_request.lType && (strcmp(_over_chn_pwr_request.lType,"L1")==0 || strcmp(_over_chn_pwr_request.lType,"L2")==0 || strcmp(_over_chn_pwr_request.lType,"L3")==0))
         {
-            log_e("serach total voltage err.");
+            int ph_id=-1;
+            if (strcmp(_over_chn_pwr_request.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_chn_pwr_request.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_chn_pwr_request.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, ph_id, TOTAL_VOLTAGE_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total power voltage err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_voltage.xAxis[i], __globalPowerInfo._total_voltage.xAxis[i]);
+                pch->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
+            }
+            // 返回电压统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_VOLTAGE_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pch->_total_voltage.xAxis[i],__globalPowerInfo._total_voltage.xAxis[i]);
-            pch->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, TOTAL_VOLTAGE_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total voltage err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_voltage.xAxis[i], __globalPowerInfo._total_voltage.xAxis[i]);
+                pch->_total_voltage.ydata[i] = __globalPowerInfo._total_voltage.ydata[i];
+            }
+            // 返回电压统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_VOLTAGE_TYPE);
         }
-        //返回电压统计
-        ack_str = over_all_total_info_to_json(pch,TOTAL_VOLTAGE_TYPE);
-        #endif
+
     }
     //电流统计
     else if(strcmp(_over_chn_pwr_request.type,"listDlTotalQuery")==0)
@@ -1331,20 +1486,55 @@ static void channelStatusMonitoring(void* conn)
         GlobalPowerInfo __globalPowerInfo;
         //清0
         memset(&__globalPowerInfo,0,sizeof(GlobalPowerInfo));
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,product_chn_id,TOTAL_CURRENT_TYPE,&__globalPowerInfo,_over_chn_pwr_request.start_time,_over_chn_pwr_request.end_time)!=0)
+                //查询数据库通道电源信息 传给所申请的参数结构体
+         if (_over_chn_pwr_request.lType && (strcmp(_over_chn_pwr_request.lType,"L1")==0 || strcmp(_over_chn_pwr_request.lType,"L2")==0 || strcmp(_over_chn_pwr_request.lType,"L3")==0))
         {
-            log_e("serach total current err.");
+            int ph_id=-1;
+            if (strcmp(_over_chn_pwr_request.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_chn_pwr_request.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_chn_pwr_request.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, ph_id, TOTAL_CURRENT_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total power current err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_current.xAxis[i], __globalPowerInfo._total_current.xAxis[i]);
+                pch->_total_current.ydata[i] = __globalPowerInfo._total_current.ydata[i];
+            }
+
+            // 返回电流统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_CURRENT_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pch->_total_current.xAxis[i],__globalPowerInfo._total_current.xAxis[i]);
-            pch->_total_current.ydata[i] = __globalPowerInfo._total_current.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, TOTAL_CURRENT_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total current err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_current.xAxis[i], __globalPowerInfo._total_current.xAxis[i]);
+                pch->_total_current.ydata[i] = __globalPowerInfo._total_current.ydata[i];
+            }
 
-        //返回电流统计
-        ack_str = over_all_total_info_to_json(pch,TOTAL_CURRENT_TYPE);
+            // 返回电流统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_CURRENT_TYPE);
+        }
     }
     //功率统计
     else if(strcmp(_over_chn_pwr_request.type,"listGlTotalQuery")==0)
@@ -1362,20 +1552,55 @@ static void channelStatusMonitoring(void* conn)
         GlobalPowerInfo __globalPowerInfo;
         //清0
         memset(&__globalPowerInfo,0,sizeof(GlobalPowerInfo));
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,product_chn_id,TOTAL_POWER_TYPE,&__globalPowerInfo,_over_chn_pwr_request.start_time,_over_chn_pwr_request.end_time)!=0)
+                        //查询数据库通道电源信息 传给所申请的参数结构体
+         if (_over_chn_pwr_request.lType && (strcmp(_over_chn_pwr_request.lType,"L1")==0 || strcmp(_over_chn_pwr_request.lType,"L2")==0 || strcmp(_over_chn_pwr_request.lType,"L3")==0))
         {
-            log_e("serach total power err.");
+            int ph_id=-1;
+            if (strcmp(_over_chn_pwr_request.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_chn_pwr_request.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_chn_pwr_request.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, ph_id, TOTAL_POWER_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total power  err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
+                pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
+            }
+
+            // 返回功率统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_POWER_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pch->_total_power.xAxis[i],__globalPowerInfo._total_power.xAxis[i]);
-            pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, TOTAL_POWER_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total power err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_power.xAxis[i], __globalPowerInfo._total_power.xAxis[i]);
+                pch->_total_power.ydata[i] = __globalPowerInfo._total_power.ydata[i];
+            }
 
-        //返回功率统计
-        ack_str = over_all_total_info_to_json(pch,TOTAL_POWER_TYPE);
+            // 返回功率统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_POWER_TYPE);
+        }
     }
     //耗电量统计
     else if(strcmp(_over_chn_pwr_request.type,"listHdlTotalQuery")==0)    
@@ -1393,20 +1618,55 @@ static void channelStatusMonitoring(void* conn)
         GlobalPowerInfo __globalPowerInfo;
         //清0
         memset(&__globalPowerInfo,0,sizeof(GlobalPowerInfo));
-        //查询数据库总电源信息 传给所申请的参数结构体
-        if(dev_search_time_power_info(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product_id,product_chn_id,TOTAL_POWER_CONS_TYPE,&__globalPowerInfo,_over_chn_pwr_request.start_time,_over_chn_pwr_request.end_time)!=0)
+                                //查询数据库通道电源信息 传给所申请的参数结构体
+         if (_over_chn_pwr_request.lType && (strcmp(_over_chn_pwr_request.lType,"L1")==0 || strcmp(_over_chn_pwr_request.lType,"L2")==0 || strcmp(_over_chn_pwr_request.lType,"L3")==0))
         {
-            log_e("serach total power consumption err.");
+            int ph_id=-1;
+            if (strcmp(_over_chn_pwr_request.lType,"L1")==0)
+            {
+                ph_id=0;
+            }
+            else if (strcmp(_over_chn_pwr_request.lType,"L2")==0 )
+            {
+                ph_id=1;
+            }
+            else if(strcmp(_over_chn_pwr_request.lType,"L3")==0 )
+            {
+                ph_id=2;
+            }
+
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, ph_id, TOTAL_POWER_CONS_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total power  err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_consumption.xAxis[i], __globalPowerInfo._total_consumption.xAxis[i]);
+                pch->_total_consumption.ydata[i] = __globalPowerInfo._total_consumption.ydata[i];
+            }
+
+            // 返回耗电量统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_POWER_CONS_TYPE);
         }
-        //传值给总管理结构体
-        for(int i=0;i< TOTAL_COUNT;i++)
+        else
         {
-            strcpy(pch->_total_consumption.xAxis[i],__globalPowerInfo._total_consumption.xAxis[i]);
-            pch->_total_consumption.ydata[i] = __globalPowerInfo._total_consumption.ydata[i];
-        }
+            // 查询数据库总电源信息 传给所申请的参数结构体
+            if (dev_search_time_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, product_chn_id, TOTAL_POWER_CONS_TYPE, &__globalPowerInfo, _over_chn_pwr_request.start_time, _over_chn_pwr_request.end_time) != 0)
+            {
+                log_e("serach total power consumption err.");
+            }
+            // 传值给总管理结构体
+            for (int i = 0; i < TOTAL_COUNT; i++)
+            {
+                strcpy(pch->_total_consumption.xAxis[i], __globalPowerInfo._total_consumption.xAxis[i]);
+                pch->_total_consumption.ydata[i] = __globalPowerInfo._total_consumption.ydata[i];
+            }
 
-        //返回耗电量统计
-        ack_str = over_all_total_info_to_json(pch,TOTAL_POWER_CONS_TYPE);        
+            // 返回耗电量统计
+            ack_str = over_all_total_info_to_json(pch, TOTAL_POWER_CONS_TYPE);
+        }
     }
     else if(strcmp(_over_chn_pwr_request.type,"threeTypeSave")==0)
     {

+ 5 - 1
pro/src/json_handle.c

@@ -977,6 +977,10 @@ cJSON* json_to_overall_status_monitor(const char* str,_Over_All_Sts_Monitor* _ov
     if (cjson_type != NULL)
         _over_all_sts_monitor->type = cjson_type->valuestring;
 
+     cJSON *cjson_ltype = cJSON_GetObjectItem(cjson, "lType");
+    if (cjson_ltype != NULL)
+        _over_all_sts_monitor->lType = cjson_ltype->valuestring;
+
     cJSON *cjson_productName = cJSON_GetObjectItem(cjson, "productName");
     if (cjson_productName != NULL)
         _over_all_sts_monitor->product_name = cjson_productName->valuestring;
@@ -2162,7 +2166,7 @@ char *over_all_data_t_ac_to_json(_OverAllPwrAckInfo *_over_all_pwr_back_info,_Ov
     {
         date_Data_info[i] = cJSON_CreateObject();
         // 查询数据库总电源信息 传给所申请的参数结构体
-        if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, i,total_type, &__globalPowerInfo,_over_all_sts_monitor->start_time,_over_all_sts_monitor->end_time) != 0)
+        if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0,i,total_type, &__globalPowerInfo,_over_all_sts_monitor->start_time,_over_all_sts_monitor->end_time) != 0)
         {
             log_e("serach total voltage err.");
         }

+ 1 - 0
pro/src/json_handle.h

@@ -53,6 +53,7 @@ typedef struct
     char*     page_size;
     int   product_pwr_type;
     char*   product_phOrder;
+    char*   lType; //L1 L2 L3
 }_Over_All_Sts_Monitor;
 
 

+ 1 - 1
pro/src/modbus_handle.c

@@ -93,7 +93,7 @@ int g_modbus_init(void* manger,
     struct timeval response_timeout;
     response_timeout.tv_sec = 1;
     response_timeout.tv_usec = 0;
-    modbus_set_response_timeout(modbus_manger->mb, 0,500000);
+    modbus_set_response_timeout(modbus_manger->mb, 0,800000);
     modbus_set_byte_timeout(modbus_manger->mb,0,50000);
 
     //modbus_set_response_timeout(modbus_manger->mb,3,100000);  

+ 6 - 25
pro/src/sqlite_handle.c

@@ -724,11 +724,6 @@ int dev_search_time_power_info(sqlite3 *db,int product_id,int product_ch_id,int
 		{
 			_globalPowerInfo ->_total_voltage.ydata[i] = atof(pResult[(nCount-i)*ncolumn+4]);
             strcpy(_globalPowerInfo ->_total_voltage.xAxis[i],pResult[(nCount-i)*ncolumn+0]);
-            #if DEBUG_TEST
-			_globalPowerInfo ->_total_voltage.ydata[i] = 220.0+i*0.8;
-            sprintf(data_time_str,"2023-01-23:%d",i+4);
-            strcpy(&_globalPowerInfo ->_total_voltage.xAxis[i][0],data_time_str);            
-			#endif  
 		}
 	}
     //电流统计
@@ -736,11 +731,6 @@ int dev_search_time_power_info(sqlite3 *db,int product_id,int product_ch_id,int
 	{
 	    for(int i=1;i < nCount; i++)
 		{
-			#if DEBUG_TEST
-            _globalPowerInfo ->_total_current.ydata[i] = i+2.7;
-            sprintf(data_time_str,"2023-01-23:%d",i+6);
-            strcpy(&_globalPowerInfo ->_total_current.xAxis[i][0],data_time_str);    
-            #endif
 			_globalPowerInfo->_total_current.ydata[i] = atof(pResult[(nCount-i)*ncolumn+5]);
 			strcpy(_globalPowerInfo ->_total_current.xAxis[i],pResult[(nCount-i)*ncolumn+0]);
 		}
@@ -750,11 +740,6 @@ int dev_search_time_power_info(sqlite3 *db,int product_id,int product_ch_id,int
 	{
 		for(int i=0;i < nCount; i++)
 		{
-            #if DEBUG_TEST
-            _globalPowerInfo ->_total_power.ydata[i] = i+5.8;
-            sprintf(data_time_str,"2023-01-23:%d",i+12);
-            strcpy(&_globalPowerInfo ->_total_power.xAxis[i][0],data_time_str);   
-            #endif
 			_globalPowerInfo->_total_power.ydata[i]	= atof(pResult[(nCount-i)*ncolumn+6]);
 			strcpy(_globalPowerInfo ->_total_power.xAxis[i],pResult[(nCount-i)*ncolumn+0]);
 		}
@@ -764,11 +749,6 @@ int dev_search_time_power_info(sqlite3 *db,int product_id,int product_ch_id,int
 	{
 		for(int i=0;i < nCount; i++)
 		{
-            #if DEBUG_TEST
-           _globalPowerInfo ->_total_consumption.ydata[i] = i+7.2;
-            sprintf(data_time_str,"2023-01-23:%d",i+10);
-            strcpy(&_globalPowerInfo ->_total_consumption.xAxis[i][0],data_time_str);   
-            #endif
 			_globalPowerInfo->_total_consumption.ydata[i] = atof(pResult[(nCount-i)*ncolumn+8]);
 			strcpy(_globalPowerInfo ->_total_consumption.xAxis[i],pResult[(nCount-i)*ncolumn+0]);
 		}
@@ -779,7 +759,7 @@ int dev_search_time_power_info(sqlite3 *db,int product_id,int product_ch_id,int
     return 0;
 }
 
-int dev_search_time_t_ac_power_info(sqlite3 *db,int product_id,int product_ch_id,int total_type,GlobalPowerInfo* _globalPowerInfo,char* start_time,char* end_time)
+int dev_search_time_t_ac_power_info(sqlite3 *db,int product_id,int product_ch_id,int product_ph_id,int total_type,GlobalPowerInfo* _globalPowerInfo,char* start_time,char* end_time)
 {
     int res ;
     char select_sql[2000] = {0};
@@ -789,11 +769,12 @@ int dev_search_time_t_ac_power_info(sqlite3 *db,int product_id,int product_ch_id
     char** pResult = NULL;      //用来指向sql执行结果的指针
     char* err_msg=NULL;
 
-    log_d("product_id = %d product_ch_id=%d ",product_id,product_ch_id); 
+    log_d("GET AC Totalinfo product_id = %d product_ch_id=%d product_ph_id=%d total_type=%d",product_id,product_ch_id,product_ph_id,total_type); 
 
-    snprintf(select_sql, sizeof(select_sql), "SELECT * FROM Table_PhasePowerInfo WHERE (product_id=%d) AND (product_ph_id=%d) AND (product_ph_samp_time BETWEEN '%s' AND '%s') ORDER BY product_Index DESC LIMIT 60;",
-             product_id,
+    snprintf(select_sql, sizeof(select_sql), "SELECT * FROM Table_PhasePowerInfo WHERE (product_id=%d) AND (product_ch_id_belong=%d) AND (product_ph_id=%d) AND (product_ph_samp_time BETWEEN '%s' AND '%s') ORDER BY product_Index DESC LIMIT 60;",
+            product_id,
             product_ch_id,
+            product_ph_id,
             start_time,
             end_time
             );
@@ -1509,7 +1490,7 @@ int dev_insert_t_ac_power_info(sqlite3 *db,GlobalTreeACManager* _globalPowerChnI
     sprintf(select_sql,"INSERT INTO Table_PhasePowerInfo VALUES (%d,%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,'%s');",
                         *nIndex,
                         _globalPowerChnInfo->product_id,
-                        _globalPowerChnInfo->product_ph_id,
+                        _globalPowerChnInfo->product_ph_type,
                         _globalPowerChnInfo->product_ch_id,
                         _globalPowerChnInfo->_PowerInfo.voltage,
                         _globalPowerChnInfo->_PowerInfo.current,

+ 1 - 1
pro/src/sqlite_handle.h

@@ -27,7 +27,7 @@ int dev_search_latest_power_statistic_info(GlobalDeviceManager* globalDeviceMang
 int dev_search_latest_t_ac_power_statistic_info(int nCh,int nType,_OverAllPwrAckInfo* __overChnPwrAckInfo,GlobalDeviceManager* globalDeviceManger);
 
 int dev_search_time_power_info(sqlite3 *db,int product_id,int product_ch_id,int total_type,GlobalPowerInfo* _globalPowerInfo,char* start_time,char* end_time);
-int dev_search_time_t_ac_power_info(sqlite3 *db,int product_id,int product_ch_id,int total_type,GlobalPowerInfo* _globalPowerInfo,char* start_time,char* end_time);
+int dev_search_time_t_ac_power_info(sqlite3 *db,int product_id,int product_ch_id,int product_ph_id,int total_type,GlobalPowerInfo* _globalPowerInfo,char* start_time,char* end_time);
 int dev_get_system_total_info(sqlite3 *db,int product_id,int product_ch_id, SystemTotalInfo* __SystemTotalInfo,char* start_time,char* end_time);
 int dev_search_power_trend_info(sqlite3 *db,int product_id,int product_ch_id,GlobalPowerInfo* _globalPowerInfo,char* start_time,char* end_time);
 int dev_search_power_info(sqlite3 *db,