Browse Source

状态统计添加金茂

lmstack 3 years ago
parent
commit
0885ba0f2c
1 changed files with 21 additions and 12 deletions
  1. 21 12
      LIB/MIDDLE/SaftyCenter/StatusSta/V1_0_0/status_sta.py

+ 21 - 12
LIB/MIDDLE/SaftyCenter/StatusSta/V1_0_0/status_sta.py

@@ -3,25 +3,34 @@ import pandas as pd
 from LIB.BACKEND import DataPreProcess
 
 
-def status_sta(df_bms, df_gps, start_time, charge_count, drive_count, stand_count):
+def status_sta(df_bms, df_gps, start_time, charge_count, drive_count, stand_count, factory='骑享'):
     dataPrePro = DataPreProcess.DataPreProcess()
     if not df_bms.empty:
-    # 时间完全相同的数据仅保留一行
-        df_bms_pro, df_gps_pro = dataPrePro.time_filter(df_bms, df_gps)
+        if factory == '骑享':
+        # 时间完全相同的数据仅保留一行
+            df_bms_pro, df_gps_pro = dataPrePro.time_filter(df_bms, df_gps)
 
-        # bms数据按照电流和状态分段, 然后在状态分段内部,根据时间跳变继续分段(解决段内数据丢失)
+            # bms数据按照电流和状态分段, 然后在状态分段内部,根据时间跳变继续分段(解决段内数据丢失)
 
-        df_bms_pro = dataPrePro.data_split_by_status(df_bms_pro)
-        df_bms_pro = dataPrePro.data_split_by_time(df_bms_pro)
+            df_bms_pro = dataPrePro.data_split_by_status(df_bms_pro)
+            df_bms_pro = dataPrePro.data_split_by_time(df_bms_pro)
 
-        if 'charge' in df_bms_pro['data_status'].tolist():
-            charge_count = charge_count + 1
-        elif 'drive' in df_bms_pro['data_status'].tolist():
-            drive_count = drive_count + 1
-        else:
-            stand_count = stand_count + 1
+            if 'charge' in df_bms_pro['data_status'].tolist():
+                charge_count = charge_count + 1
+            elif 'drive' in df_bms_pro['data_status'].tolist():
+                drive_count = drive_count + 1
+            else:
+                stand_count = stand_count + 1
+        elif factory == '金茂':
+            if 4 in df_bms['充电状态'].tolist():
+                charge_count = charge_count + 1
+            elif 3 in df_bms['充电状态'].tolist() or 5 in df_bms['充电状态'].tolist():
+                drive_count = drive_count + 1
+            else:
+                stand_count = stand_count + 1
     else:
         stand_count = stand_count + 1
+                
 
     return charge_count, drive_count, stand_count