Browse Source

使位置信息有效

Eric412V 3 years ago
parent
commit
6e92dfb1c5

+ 11 - 10
LIB/MIDDLE/SaftyCenter/DataDiag_Static/DataStatistics.py

@@ -119,18 +119,19 @@ class DataSta():
         return MaxAccumAh,TotalAccumAh,MaxCycle,MaxRunningHour,TotalRunHour
 
     def FltBatPosition(df_last_pos,df_Diag_Ram):
+        print(df_Diag_Ram)
         all_location_info=DataFrame(columns=['factory','product_id','lat','lon'])
         df_last_pos.rename(columns={'devcode':'product_id'},inplace=True)
-        df_Diag_Ram_Pos=pd.concat([df_Diag_Ram,df_last_pos,df_last_pos]).drop_duplicates(subset=['product_id'],keep=False)
-        
+        df_Diag_Ram_Pos=pd.concat([df_Diag_Ram,df_last_pos]).drop_duplicates(subset=['product_id'],keep=False)
+        df_Diag_Ram_Pos=pd.concat([df_Diag_Ram_Pos,df_Diag_Ram_Pos.drop_duplicates(subset=['product_id'],keep=False)]).drop_duplicates(subset=['product_id'],keep=False)
+        df_Diag_Ram_Pos=df_Diag_Ram.drop_duplicates()
         df_Diag_Ram_Pos=df_Diag_Ram_Pos.reset_index(drop=True)
-
         for i in range(0,len(df_Diag_Ram_Pos)):
-                pos_la_temp=df_last_pos[df_last_pos['product_id']==(df_Diag_Ram_Pos.loc[i,'product_id'])]
-                all_location_info[i,'lat']=pos_la_temp['latitude']
-                all_location_info[i,'lon']=pos_la_temp['longitude']
-                all_location_info[i,'factory']='骑享'
-                all_location_info[i,'product_id']=df_Diag_Ram.loc[i,'product_id']
-        
-        print(all_location_info)
+            df_last_pos_list=df_last_pos['product_id'].values.tolist()
+            if  str(df_Diag_Ram_Pos.loc[i,'product_id']) in df_last_pos_list:
+                pos_la_temp=df_last_pos[df_last_pos['product_id']==(df_Diag_Ram_Pos.loc[i,'product_id'])].reset_index(drop=True)
+                all_location_info.loc[i,'lat']=pos_la_temp.loc[0,'latitude']
+                all_location_info.loc[i,'lon']=pos_la_temp.loc[0,'longitude']
+                all_location_info.loc[i,'factory']='骑享'
+                all_location_info.loc[i,'product_id']=df_Diag_Ram.loc[i,'product_id']
         return all_location_info

+ 1 - 0
LIB/MIDDLE/SaftyCenter/DataDiag_Static/DiagDataMerge.py

@@ -16,6 +16,7 @@ class DiagDataMerge():
             df_Diag_Cal_unfinish = df_Diag_Cal_Update[df_Diag_Cal_Update['end_time'] == '0000-00-00 00:00:00']
             df_Diag_Cal_finish['Batpos'] = 1
             if len(df_OprtnSta):
+                print(df_OprtnSta)
                 if df_OprtnSta.loc[0,'status'] !=1:#0禁用 1正常 2故障 3返修 4 损毁 5丢失已赔偿,6丢失未赔偿
                     df_Diag_Cal_unfinish['Batpos'] = 1
                     

+ 10 - 3
LIB/MIDDLE/SaftyCenter/DataDiag_Static/main.py

@@ -92,6 +92,13 @@ def diag_cal():
             df_Diag_Batdiag_update_xq=DataFrame(columns=['start_time','end_time','product_id','code','level','info','advice','Batpos'])
             df_Diag_Batdiag_update=DataFrame(columns=['start_time','end_time','product_id','code','level','info','advice','Batpos'])
         df_Diag_Ram,df_Diag_Ram_add,df_Diag_Ram_Update=DiagDataMerge.DetaMerge(df_Diag_Ram_sn,df_Diag_Batdiag_update_xq,df_Diag_Batdiag_update,df_OprtnSta,df_Diag_Ram_sn_else)
+        if len(df_Diag_Ram) or len(df_Diag_Ram_add) or len(df_Diag_Ram_Update):
+            print('------------------总计--------------------------')
+            print(df_Diag_Ram)
+            print('------------------新增--------------------------')
+            print(df_Diag_Ram_add)
+            print('-------------------更新-------------------------')
+            print(df_Diag_Ram_Update)
 #.................................统计程序...............................
 def DaTa_Sta_Week_Task():
     all_period_fault_info=DataFrame(columns=['factory','week','level1_count','level2_count','level3_count','level4_count','level5_count','solve_rate'])
@@ -124,7 +131,7 @@ def DaTa_Sta_Week_Task():
     all_period_fault_info.loc[0,'week']=toweek
     all_period_fault_info.loc[0,'solve_rate']=FltAlarmInfo.loc[0,'OprationManageRate']
     all_period_fault_info.fillna(0,inplace=False)
-
+    all_period_fault_info.to_csv('all_period_fault_info.csv')
 def DaTa_Sta_Minutes_Task():
 
     #............................获取数据................................
@@ -209,7 +216,7 @@ def DaTa_Sta_Minutes_Task():
     all_statistic_info.loc[0,'sample_safety_risk_count']=SatftyCount.loc[0,'SamplingSatyCount']
     all_statistic_info.loc[0,'controller_safety_risk_count']=SatftyCount.loc[0,'CtrlSaftyCodeCount']
     all_statistic_info.loc[0,'design_safety_risk_count']=SatftyCount.loc[0,'DsnSaftyCodeCount']
-
+    all_statistic_info.to_csv('all_statistic_info.csv')
 
     end=time.time()
     print(end-start)
@@ -236,7 +243,7 @@ if __name__ == "__main__":
     SNnums_U7255=SNdata_U7255['SN号'].tolist()
     SNnums=SNnums_L7255 + SNnums_C7255 + SNnums_6040 + SNnums_4840 + SNnums_U7255+ SNnums_6060
     # SNnums=['MGMCLN750N215I005','PK504B10100004341','PK504B00100004172','MGMLXN750N2189014']
-    #SNnums = ['PK504B10100004365'] #SNnums_6040
+    SNnums = ['PK504B10100004365'] #SNnums_6040
     
     mylog=log.Mylog('log_diag.txt','error')
     mylog.logcfg()