Explorar o código

网页功率对齐,以及处理bug,增加操作日志的操作者。

liyi hai 11 meses
pai
achega
d21b32a035
Modificáronse 7 ficheiros con 117 adicións e 53 borrados
  1. 6 6
      pro/src/app.c
  2. 55 27
      pro/src/appweb_handle.c
  3. 3 2
      pro/src/cascade.c
  4. 6 6
      pro/src/json_handle.c
  5. 1 0
      pro/src/json_handle.h
  6. 44 10
      pro/src/sqlite_handle.c
  7. 2 2
      pro/src/sqlite_handle.h

+ 6 - 6
pro/src/app.c

@@ -1703,7 +1703,7 @@ void AlarmCtrlChn(int nChID, int nCtrl)
             }
 
             sprintf(buff, "Over limit protection |$关闭$|$通道$|%d", _globalPowerMangerTemp->product_ch_id);
-            int nAlarmID=dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_SENSOR, buff);
+            int nAlarmID=dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_SENSOR, buff,"");
 
             struct tm *t;
             time_t now;
@@ -1741,7 +1741,7 @@ void AlarmCtrlAll(int nCtrl)
             if(rec<0)log_i("Close All address:%d rec:%d:%s",nSendAddr,rec,modbus_strerror(errno));
         }      
         sprintf(buff,"Over limit protection |$关闭$|$所有$|$通道$");
-        int nAlarmID=dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_SENSOR, buff);
+        int nAlarmID=dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_SENSOR, buff,"");
 
         struct tm *t;
         time_t now;
@@ -2905,12 +2905,12 @@ static int msg_read_Ctrl(void* arg)
                 if (nCtrl == 1)
                 {
                     sprintf(buff, "$开启$|$通道$|%d", _globalPowerMangerTemp->product_ch_id);
-                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff);
+                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff,"QT");
                 }
                 else
                 {
                     sprintf(buff, "$开启$|$通道$|%d", _globalPowerMangerTemp->product_ch_id);
-                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff);
+                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff,"QT");
                 }
             }
         }
@@ -2938,12 +2938,12 @@ static int msg_read_Ctrl(void* arg)
         if (nCtrl == 1)
         {
             sprintf(buff, "|$开启$|$所有$|$通道$");
-            dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff,"QT");
         }
         else
         {
             sprintf(buff, "|$关闭$|$所有$|$通道$");
-            dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff,"QT");
         }
     }
     break;

+ 55 - 27
pro/src/appweb_handle.c

@@ -898,7 +898,9 @@ static void overallStatusMonitoring(void* conn)
             
         }
         sprintf(buff,"$开启$|$所有$|$通道$");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff);
+        char *user = getUserNamebyToken(_over_all_sts_monitor.user_token);
+
+        dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff,user);
         ack_str = ctrl_sts_ack_to_json();
     }   
     //关闭所有开关
@@ -931,7 +933,8 @@ static void overallStatusMonitoring(void* conn)
             if(rec<0)log_i("Close All address:%d rec:%d:%s",nSendAddr,rec,modbus_strerror(errno));
         }      
         sprintf(buff,"$关闭$|$所有$|$通道$");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff);
+        char *user = getUserNamebyToken(_over_all_sts_monitor.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff,user);
         ack_str = ctrl_sts_ack_to_json();
     }
     //查询历史记录   
@@ -1454,7 +1457,8 @@ static void channelStatusMonitoring(void* conn)
                                                     1);
                     }
                     sprintf(buff, "$开启$|$通道$|%d Naught wire!", _globalPowerMangerTemp->product_ch_id);
-                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff);
+                    char *user = getUserNamebyToken(_over_chn_pwr_request.user_token);
+                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff,user);
                     break;
                 }
             }
@@ -1499,7 +1503,8 @@ static void channelStatusMonitoring(void* conn)
                                                     0);
                     }
                     sprintf(buff, "$关闭$|$通道$|%d Naught wire!", _globalPowerMangerTemp->product_ch_id);
-                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff);
+                    char *user = getUserNamebyToken(_over_chn_pwr_request.user_token);
+                    dev_insert_alarm_ctrl(__globalDeviceManage.db, _globalPowerMangerTemp->product_id, ALARM_TYPE_OPRATION, buff,user);
                     break;
                 }
             }
@@ -1662,7 +1667,8 @@ static void channelStatusMonitoring(void* conn)
                 }
                 char buff[256];
                 sprintf(buff,"$开启$|$通道$|%d",_globalPowerMangerTemp->product_ch_id);
-                dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff);
+                char *user = getUserNamebyToken(_over_chn_pwr_request.user_token);
+                dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff,user);
                 break;
             }
         }
@@ -1714,7 +1720,8 @@ static void channelStatusMonitoring(void* conn)
                 }
 
                 sprintf(buff,"$关闭$|$通道$|%d",_globalPowerMangerTemp->product_ch_id);
-                dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff);
+                char *user = getUserNamebyToken(_over_chn_pwr_request.user_token);
+                dev_insert_alarm_ctrl(__globalDeviceManage.db,_globalPowerMangerTemp->product_id,ALARM_TYPE_OPRATION,buff,user);
                 break;
             }
         }
@@ -2279,7 +2286,8 @@ static void channelStatusMonitoring(void* conn)
         }
         char log_buff[256];
         sprintf(log_buff, "Reset power consumption!");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+        char *user = getUserNamebyToken(_over_chn_pwr_request.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff,user);
     }
 quit:
     cJSON_Delete(cjson);
@@ -2450,7 +2458,8 @@ static void sensorStatusMonitoring(void* conn)
             char temp[100];
             // sprintf(temp,"$删除$|$传感器$|%d",sensor_id_temp);
             sprintf(temp, "Delete sensor %s", sensorName);
-            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+            char *user = getUserNamebyToken(_over_all_sensor_request.user_token);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
         }
 
         ack_str = ctrl_sts_ack_to_json();
@@ -2589,7 +2598,8 @@ static void sensorStatusMonitoring(void* conn)
                 char temp[100];
                 // sprintf(temp,"$修改$|$传感器$|%d",sensor_id_temp);
                 sprintf(temp, "Update sensor %s", _globalSensorMangerTemp->sensor_name);
-                dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+                char *user = getUserNamebyToken(_over_all_sensor_request.user_token);
+                dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
             }
         }
 
@@ -2771,7 +2781,8 @@ static void sensorStatusMonitoring(void* conn)
             char temp[100];
             //sprintf(temp,"$新增$|$传感器$|%d",_over_all_sensor_request.sensorId);
             sprintf(temp,"Add sensor %s",_globalSensorMangerTemp->sensor_name);
-            dev_insert_alarm_ctrl(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+            char *user = getUserNamebyToken(_over_all_sensor_request.user_token);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
         }
         else {
             r = dev_update_sensor_genera_manage(__globalDeviceManage.db,
@@ -3372,7 +3383,8 @@ static void alarmProtect(void *conn)
             sprintf(log_buff, "Update power threshold ALL_CH!");
         }
         else sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+        char *user = getUserNamebyToken(_alarm_request_info.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff,user);
     }
     else if (strcmp(_alarm_request_info.type, "batchSave") == 0) // 批量设置
     {
@@ -3393,7 +3405,8 @@ static void alarmProtect(void *conn)
         }
         char log_buff[256];
         sprintf(log_buff, "Batch setting power threshold!");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+        char *user = getUserNamebyToken(_alarm_request_info.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff,user);
     }
     else if(strcmp(_alarm_request_info.type,"sensorThresholdList")==0)//传感器阈值查询
     {
@@ -3554,7 +3567,8 @@ static void alarmProtect(void *conn)
             log_e("power threshold update error.");
         char log_buff[256];
         sprintf(log_buff, "Update sensor threshold ID%d!",g_sensor_id);
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+        char *user = getUserNamebyToken(_alarm_request_info.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff,user);
         //拿到参数保存
         ack_str = ctrl_sts_ack_to_json();
     }    
@@ -3877,7 +3891,8 @@ static void communicationManagement(void *conn)
         {
             sprintf(buff, "$%s$|$%s$|addr:%d BD:%d",language_RS485_install[0],language_alarm_RS485_slave[0],info->addr,info->baudrate);
         }
-        dev_insert_alarm_ctrl(__globalDeviceManage.db,__globalDeviceManage._globalPowerManger.product_id,ALARM_TYPE_OPRATION,buff);
+        char *user = getUserNamebyToken(reqInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db,__globalDeviceManage._globalPowerManger.product_id,ALARM_TYPE_OPRATION,buff,user);
 
         ack_str = ctrl_sts_ack_to_json();
     }
@@ -4363,7 +4378,8 @@ static void serviceManagement(void *conn)
            // sprintf(temp,"$设置$|$时间$|NTP %s",  _globalNTPManager.ntpaddress);
             sprintf(temp,"Set Date & Time sync from NTP %s", _globalNTPManager.ntpaddress);
         }
-        dev_insert_alarm_ctrl(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db,__globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
 
         if (_globalNTPManager.mode == 0)
         {
@@ -4545,7 +4561,8 @@ static void serviceManagement(void *conn)
         char temp[100];
         //sprintf(temp, "$设置$|定时$");
         sprintf(temp, "Add scheduled tasks");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
 
         ack_str = ctrl_sts_ack_to_json();
     }
@@ -4591,7 +4608,8 @@ static void serviceManagement(void *conn)
         char temp[100];
        // sprintf(temp, "$删除$|定时$");
         sprintf(temp, "Delete scheduled tasks");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
         ack_str = ctrl_sts_ack_to_json();
     }
     // 时序设置
@@ -4831,7 +4849,8 @@ static void serviceManagement(void *conn)
             char temp[100];
             // sprintf(temp, "$打开$|$分组$|%d", ngroup);
             sprintf(temp, "Update group %d", ngroup);
-            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+            char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
         }
         ack_str = ctrl_sts_ack_to_json();
     }
@@ -4939,7 +4958,8 @@ static void serviceManagement(void *conn)
         char temp[100];
         //sprintf(temp, "$打开$|$分组$|%d", ngroup);
         sprintf(temp, "Open group %d", ngroup);
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
 
         ack_str = ctrl_sts_ack_to_json();
     }
@@ -5049,7 +5069,8 @@ static void serviceManagement(void *conn)
         char temp[100];
        // sprintf(temp, "$关闭$|$分组$|%d", ngroup);
         sprintf(temp, "Close group %d", ngroup);
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
         ack_str = ctrl_sts_ack_to_json();
     }
     else if (strcmp(_serviceManageRequestInfo.type, "gysbSave") == 0)
@@ -5064,7 +5085,8 @@ static void serviceManagement(void *conn)
 
             char log_buff[256];
             sprintf(log_buff, "Modify device information!");
-            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+            char *user = getUserNamebyToken(_serviceManageRequestInfo.user_token);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff,user);
         }
         ack_str = ctrl_sts_ack_to_json();
     }
@@ -5258,7 +5280,8 @@ static void systemManagent(void *conn)
             // sprintf(temp, "$删除$|$用户$|%d", _UserRoleManageRequestInfo.userIds);
 
             sprintf(temp, "Delete user %s", ndelName);
-            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+            char *user = getUserNamebyToken(_UserRoleManageRequestInfo.user_token);
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
             ack_str = ctrl_sts_ack_to_json();
         }
         else
@@ -5329,7 +5352,8 @@ static void systemManagent(void *conn)
                 char temp[100];
                 // sprintf(temp, "$添加$|$用户$|%s", _UserRoleManageRequestInfo.userName);
                 sprintf(temp, "Add user %s", _UserRoleManageRequestInfo.userName);
-                dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+                char *user = getUserNamebyToken(_UserRoleManageRequestInfo.user_token);
+                dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
                 
                 ack_str=ctrl_sts_ack_to_json();
             }
@@ -5372,7 +5396,8 @@ static void systemManagent(void *conn)
         char temp[100];
         //sprintf(temp, "$修改$|$用户$|%s", _UserRoleManageRequestInfo.userName);
          sprintf(temp, "Update user %s", _UserRoleManageRequestInfo.userName);
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+         char *user = getUserNamebyToken(_UserRoleManageRequestInfo.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
 
         ack_str=ctrl_sts_ack_to_json();
     }    
@@ -5460,7 +5485,8 @@ static void equipmentMintenance(void *conn)
         char temp[100];
         //sprintf(temp, "$系统$|$重启$");
         sprintf(temp, "System Reboot!");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_Over_equipment_mintenance.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
 
         sys_reboot();
     }else if(strcmp(_Over_equipment_mintenance.type,"listKgSbQuery")==0)    // part of device infomation 
@@ -5913,7 +5939,8 @@ static void equipmentMintenance(void *conn)
 
         //sprintf(temp, "$系统$|$恢复出厂设置$");
         sprintf(temp, "System Reset!");
-        dev_insert_alarm_ctrl(dm->db, dm->_globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+        char *user = getUserNamebyToken(_Over_equipment_mintenance.user_token);
+        dev_insert_alarm_ctrl(dm->db, dm->_globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,user);
 
         for (size_t i = 0; i <= ptotal->brdMax; i++)
         {
@@ -5935,7 +5962,8 @@ static void equipmentMintenance(void *conn)
         lock_s_release(LOCK_ID_POWER_UPDATE);
         char log_buff[256];
         sprintf(log_buff, "Rescan channel!");
-        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+        char *user = getUserNamebyToken(_Over_equipment_mintenance.user_token);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff,user);
         //__globalDeviceManage._ReloadChm_flag=false;
 
         upg_board_all_update();

+ 3 - 2
pro/src/cascade.c

@@ -1911,7 +1911,8 @@ static void *cmd_thread(void *arg)
     {
         sprintf(temp, "$关闭$|$所有$|$通道$");
     }
-    dev_insert_alarm_ctrl(dm->db, dm->_globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+    
+    dev_insert_alarm_ctrl(dm->db, dm->_globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,"Modbus Master");
     free(pcmd);
 
     pthread_exit(NULL);
@@ -1961,7 +1962,7 @@ static void *cmd_NF_thread(void *arg)
     {
         sprintf(temp, "$关闭$|$通道$|%d Naught wire!", pcmd->chId);
     }
-    dev_insert_alarm_ctrl(dm->db, dm->_globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
+    dev_insert_alarm_ctrl(dm->db, dm->_globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp,"Modbus Master");
     free(pcmd);
 
     pthread_exit(NULL);

+ 6 - 6
pro/src/json_handle.c

@@ -2821,7 +2821,7 @@ char* over_chn_pwr_monitor_to_json(_OverChnPwrAckInfo* _over_chn_pwr_back_info)
         cJSON_AddStringToObject(data_filed,"productChVoltage",temp);
         sprintf(temp,"%0.3f",_chnPwrTemp->current);
         cJSON_AddStringToObject(data_filed,"productChCurrent",temp);
-        sprintf(temp,"%0.3f",_chnPwrTemp->power);
+        sprintf(temp,"%0.3f",_chnPwrTemp->power / 1000.0);
         cJSON_AddStringToObject(data_filed,"productChPower",temp);
         float FactorTemp = _chnPwrTemp->factor;
         float PowerTemp = _chnPwrTemp->power;
@@ -2831,8 +2831,8 @@ char* over_chn_pwr_monitor_to_json(_OverChnPwrAckInfo* _over_chn_pwr_back_info)
             FactorTemp = 1.0;
         }
         AppPowerTemp = PowerTemp / FactorTemp;
-        sprintf(temp,"%0.3f",AppPowerTemp);
-        cJSON_AddStringToObject(data_filed, "productChApparentPower", temp);
+        sprintf(temp,"%0.3f",AppPowerTemp/1000.0);
+        cJSON_AddStringToObject(data_filed, "productApparentPower", temp);
 
         sprintf(temp,"%0.3f",_chnPwrTemp->freq);
         cJSON_AddStringToObject(data_filed,"productChPowerFreq",temp);
@@ -3896,7 +3896,7 @@ char* alarm_ctrl_type_info_to_json(_AlarmAckInfo* _alarm_ack_info,int nAlarmNum)
     {
         cJSON* data_filed = cJSON_CreateObject();
         cJSON_AddStringToObject(data_filed,"title",_temp->alarmNumber);
-        cJSON_AddStringToObject(data_filed,"operName","");
+        cJSON_AddStringToObject(data_filed,"operName",_temp->alarmUser);
         replace_sequences(_temp->alarmContent,__globalDeviceManage.alarmTab);
         cJSON_AddStringToObject(data_filed,"operLocation",_temp->alarmContent);
         cJSON_AddStringToObject(data_filed,"operTime",_temp->alarmDate);
@@ -4793,7 +4793,7 @@ char* ws_chn_status_ack_to_json(int type,_OverChnPwrAckInfo* _over_chn_pwr_back_
         cJSON_AddStringToObject(data_filed,"productChVoltage",temp);
         sprintf(temp,"%0.3f",_chnPwrTemp->current);
         cJSON_AddStringToObject(data_filed,"productChCurrent",temp);
-        sprintf(temp,"%0.3f",_chnPwrTemp->power);
+        sprintf(temp,"%0.3f",_chnPwrTemp->power/1000.0);
         cJSON_AddStringToObject(data_filed,"productChPower",temp);
 
         float FactorTemp = _chnPwrTemp->factor;
@@ -4804,7 +4804,7 @@ char* ws_chn_status_ack_to_json(int type,_OverChnPwrAckInfo* _over_chn_pwr_back_
             FactorTemp = 1.0;
         }
         AppPowerTemp = PowerTemp / FactorTemp;
-        sprintf(temp,"%0.3f",AppPowerTemp);
+        sprintf(temp,"%0.3f",AppPowerTemp/1000.0);
         cJSON_AddStringToObject(data_filed, "productApparentPower", temp);
 
         sprintf(temp, "%0.3f", _chnPwrTemp->freq);

+ 1 - 0
pro/src/json_handle.h

@@ -358,6 +358,7 @@ typedef struct
     char deviceNumber[32];
     char deviceName[32];
     char alarmContent[128];
+    char alarmUser[64];
     struct list_head list;
 }_AlarmAckInfo;
 

+ 44 - 10
pro/src/sqlite_handle.c

@@ -15,6 +15,22 @@
 #include "pduMIB_trap.h"
 #include "Cellular.h"
 
+
+#define   SQL_KEY_CHECK_AND_ADD(table,colm,type,value)  "ALTER TABLE "\
+                                                   	    #table\
+                                                   	    " ADD COLUMN "\
+						   	                            #colm\
+                                                        " "\
+							                            #type\
+							                            " DEFAULT "\
+							                            #value\
+							                            
+                                                   
+
+
+
+
+
 #define	TOTAL_COUNT	60//统计总数
 #define LIMIT_HOF(x)  (x*1.1f)
 #define LIMIT_LOF(x)  (x*0.9f)
@@ -122,6 +138,10 @@ static int get_key(sqlite3 *db, char *table, char *key, int mm)
 
 
 
+
+
+
+
 /// @brief 初始化SQLite数据库
 /// @param db 数据库接口          
 /// @param daba_name 数据库名称
@@ -142,6 +162,15 @@ int sqlite_init(sqlite3** db,pthread_mutex_t* pDBMutex, const char* daba_name)
         return -1 ;
     char SetData[]="PRAGMA cache_size = 0";
     ret = sqlite3_exec(*db,SetData,NULL,NULL,&errorMsg);
+//////////////////////////////////////////////
+    char *check_str=SQL_KEY_CHECK_AND_ADD(Table_AlarmManage,alarmUser,TEXT(64),"");
+    //printf("%s\n",chech_str);
+
+    ret = sqlite3_exec(*db,check_str,NULL,NULL,&errorMsg);
+    //printf("%s\n",errorMsg);
+
+/////////////////////////////////////////////
+
     return 0;
 }
 
@@ -2957,7 +2986,7 @@ static void AlarmToShm(char* strData)
 /// @param alarm_type 
 /// @param alarm_content 
 /// @return 
-int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t date_time,char* alarm_content)
+int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t date_time,char* alarm_content,char *user)
 {
     int res = 0 ;
     int rowIndex = 1 ;
@@ -2977,7 +3006,7 @@ int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t
         }
         alarmNumber++;
 
-        sprintf(select_sql,"UPDATE %s SET alarmNumber=%d,alarmDate='%s',alarmType=%d,product_id=%d,alarmContent='%s' "
+        sprintf(select_sql,"UPDATE %s SET alarmNumber=%d,alarmDate='%s',alarmType=%d,product_id=%d,alarmContent='%s',alarmUser='%s' "
                                           "WHERE alarmNumber=(SELECT MIN(alarmNumber) FROM %s);",
                 table,
                 alarmNumber,
@@ -2985,15 +3014,18 @@ int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t
                 alarm_type,
                 product_id,
                 alarm_content,
+                user,
                 table);
     }
     else {
-        sprintf(select_sql,"INSERT INTO %s (alarmDate,alarmType,product_id,alarmContent) VALUES ('%s',%d,%d,'%s');",
+        sprintf(select_sql,"INSERT INTO %s (alarmDate,alarmType,product_id,alarmContent,alarmUser) VALUES ('%s',%d,%d,'%s','%s');",
             table,
             date_time,
             alarm_type,
             product_id,
-            alarm_content);
+            alarm_content,
+            user
+        );
     }
     // 只有是电源 传感器以及网络告警才同步到小屏幕上显示报警信息
     if (alarm_type == ALARM_TYPE_POWER || alarm_type == ALARM_TYPE_SENSOR || alarm_type == ALARM_TYPE_NETWORK)
@@ -3213,6 +3245,7 @@ int dev_search_alarm_info(sqlite3* db,
         strcpy(_alarmTemp->deviceNumber,__globalDeviceManage._globalDevInfo.product.number);
         strcpy(_alarmTemp->deviceName,__globalDeviceManage._globalDevInfo.product.name);
         strcpy(_alarmTemp->alarmContent,pResult[i*ncolumn+4]);
+        strcpy(_alarmTemp->alarmUser,pResult[i*ncolumn+5]);
         //尾部插入
         list_add_tail(&_alarmTemp->list, &_alarm_ack_info->list);
     }
@@ -3453,7 +3486,7 @@ int dev_update_snmp_info(sqlite3 *db, int product_id, SNMPManager* _globalSNMPIn
 /// @param product_id 
 /// @param alarm_content 
 /// @return 
-int dev_insert_alarm_ctrl(sqlite3* db,int product_id,int nAlarmType,char* alarm_content)
+int dev_insert_alarm_ctrl(sqlite3* db,int product_id,int nAlarmType,char* alarm_content,char *user)
 {
     struct tm* t ;
     time_t now;
@@ -3462,7 +3495,8 @@ int dev_insert_alarm_ctrl(sqlite3* db,int product_id,int nAlarmType,char* alarm_
 
     char buffer[80];
     strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);    
-    return dev_insert_alarm_info(db,product_id,nAlarmType,buffer,alarm_content);
+
+    return dev_insert_alarm_info(db,product_id,nAlarmType,buffer,alarm_content,user);
 }
 /// @brief 删除分组信息
 int dev_delete__group_info(sqlite3 *db,int product_id)
@@ -4089,7 +4123,7 @@ int dev_Alarm_send_message(GlobalDeviceManager* globalDeviceManger,GlobalPowerMa
 
     char buffer[80];
     strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);    
-    int nAlarmID=dev_insert_alarm_info(globalDeviceManger->db,__globalPowerTemp->product_id,0,buffer,AlarmText);
+    int nAlarmID=dev_insert_alarm_info(globalDeviceManger->db,__globalPowerTemp->product_id,0,buffer,AlarmText,"");
 
     mail_post_alarm(ALARM_TYPE_POWER, 0, _AlarmType, AlarmText);
 
@@ -4272,7 +4306,7 @@ int dev_Alarm_T_AC_message(GlobalDeviceManager* globalDeviceManger, GlobalTreeAC
 
     char buffer[80];
     strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);    
-    int nAlarmID=dev_insert_alarm_info(globalDeviceManger->db,__globalPowerTemp->product_id,0,buffer,AlarmText);
+    int nAlarmID=dev_insert_alarm_info(globalDeviceManger->db,__globalPowerTemp->product_id,0,buffer,AlarmText,"");
 
     mail_post_alarm(ALARM_TYPE_POWER, 1, _AlarmType, AlarmText);
 
@@ -4524,7 +4558,7 @@ int dev_sensor_Alarm_send_message(GlobalDeviceManager* globalDeviceManger,Global
 
     char buffer[80];
     strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);    
-    int nAlarmID=dev_insert_alarm_info(globalDeviceManger->db,__globalPowerTemp->product_id,1,buffer,AlarmText);
+    int nAlarmID=dev_insert_alarm_info(globalDeviceManger->db,__globalPowerTemp->product_id,1,buffer,AlarmText,"");
 
     int subtype=__globalPowerTemp->sensor_type;
     mail_post_alarm(ALARM_TYPE_SENSOR, subtype, _AlarmType, AlarmText);
@@ -4572,7 +4606,7 @@ int dev_Alarm_Run_message(GlobalDeviceManager* globalDeviceManger, const char* s
     t = localtime(&now);
     char buffer[80];
     strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);    
-    dev_insert_alarm_info(globalDeviceManger->db,0,4,buffer,AlarmText);
+    dev_insert_alarm_info(globalDeviceManger->db,0,4,buffer,AlarmText,"");
     return 0;
 }
 

+ 2 - 2
pro/src/sqlite_handle.h

@@ -90,7 +90,7 @@ int dev_delete_sensor_manage(sqlite3 *db,int product_id,int sensor_id);
 int dev_delete_sensor_info_all(sqlite3 *db);
 
 
-int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t date_time,char* alarm_content);
+int dev_insert_alarm_info(sqlite3* db,int product_id,int alarm_type,time_data_t date_time,char* alarm_content,char* user);
 int dev_search_alarm_info(sqlite3* db,
                         int product_id,
                         int alarm_type,
@@ -120,7 +120,7 @@ int dev_get_snmp_info(sqlite3 *db, SNMPManager* _globalSNMPInfo);
 int dev_insert_snmp_info(sqlite3 *db, SNMPManager* _globalSNMPInfo);
 int dev_update_snmp_info(sqlite3 *db, int product_id, SNMPManager* _globalSNMPInfo);
 
-int dev_insert_alarm_ctrl(sqlite3* db,int product_id,int nAlarmType,char* alarm_content);
+int dev_insert_alarm_ctrl(sqlite3* db,int product_id,int nAlarmType,char* alarm_content,char *user);
 int dev_delete__group_info(sqlite3 *db,int product_id);
 int dev_insert_group_info(sqlite3 *db,GroupInfo* _globalgroupInfo);
 int dev_get_group_info(sqlite3 *db, GroupInfo* _globalgroupInfo);