|
@@ -4,8 +4,8 @@ import pandas as pd
|
|
|
import openpyxl
|
|
|
# 数据入库量及数据监控时效 导出execl
|
|
|
# MongoDB连接配置
|
|
|
-host = '192.168.3.149'
|
|
|
-port = 27180
|
|
|
+host = '172.20.45.129'
|
|
|
+port = 27002
|
|
|
dbname = 'data_quality'
|
|
|
collection_name = 'statistics'
|
|
|
|
|
@@ -39,6 +39,7 @@ pipeline_mongo = [
|
|
|
{"bidding_ai.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
{"connections.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
{"nzj.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
+ {"medical.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
{"bidding_fragment.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}}
|
|
|
]
|
|
|
}
|
|
@@ -56,6 +57,7 @@ bidding_count = 0
|
|
|
bidding_ai_count = 0
|
|
|
connections_count = 0
|
|
|
nzj_count = 0
|
|
|
+medical_count = 0
|
|
|
bidding_fragment_data = {
|
|
|
"情报_法务": 0,
|
|
|
"情报_财务审计": 0,
|
|
@@ -79,6 +81,8 @@ for doc in data_mongo:
|
|
|
connections_count += doc['connections'].get('count', 0)
|
|
|
if 'nzj' in doc:
|
|
|
nzj_count += doc['nzj'].get('count', 0)
|
|
|
+ if 'medical' in doc :
|
|
|
+ medical_count += doc['medical'].get('count', 0)
|
|
|
if 'bidding_fragment' in doc:
|
|
|
for key, value in doc['bidding_fragment'].get('count', {}).items():
|
|
|
if key in bidding_fragment_data:
|
|
@@ -94,6 +98,7 @@ pipeline_es = [
|
|
|
{"es_bidding.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
{"es_bidding_ai.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
{"es_nzj.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
+ {"medical_es.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}},
|
|
|
{"es_bidding_fragment.timestamp": {"$gte": start_timestamp, "$lt": end_timestamp}}
|
|
|
]
|
|
|
}
|
|
@@ -110,6 +115,7 @@ data_es = list(collection.aggregate(pipeline_es))
|
|
|
es_bidding_count = 0
|
|
|
es_bidding_ai_count = 0
|
|
|
es_nzj_count = 0
|
|
|
+es_medical_count = 0
|
|
|
es_bidding_fragment_data = {
|
|
|
"情报_法务": 0,
|
|
|
"情报_财务审计": 0,
|
|
@@ -131,6 +137,8 @@ for doc in data_es:
|
|
|
es_bidding_ai_count += doc['es_bidding_ai'].get('count', 0)
|
|
|
if 'es_nzj' in doc:
|
|
|
es_nzj_count += doc['es_nzj'].get('count', 0)
|
|
|
+ if 'es_medical_count' in doc:
|
|
|
+ es_medical_count += doc['es_medical'].get('count', 0)
|
|
|
if 'es_bidding_fragment' in doc:
|
|
|
for key, value in doc['es_bidding_fragment'].get('count', {}).items():
|
|
|
if key in es_bidding_fragment_data:
|
|
@@ -191,11 +199,11 @@ for doc in data_timeliness:
|
|
|
date_range = f"{start_time.strftime('%Y/%m/%d')}-{end_time.strftime('%Y/%m/%d')}"
|
|
|
|
|
|
# 构建Excel数据
|
|
|
-columns = ['日期', '标讯每周入库数据量', '高质量库每周入库数据量', '人脉管理数据', '拟在建数据量(全国)'] + list(bidding_fragment_data.keys())
|
|
|
-data_row_mongo = [date_range, bidding_count, bidding_ai_count, connections_count, nzj_count] + list(bidding_fragment_data.values())
|
|
|
+columns = ['日期', '标讯每周入库数据量', '高质量库每周入库数据量', '人脉管理数据', '拟在建数据量(全国)','医械通'] + list(bidding_fragment_data.keys())
|
|
|
+data_row_mongo = [date_range, bidding_count, bidding_ai_count, connections_count, nzj_count,medical_count] + list(bidding_fragment_data.values())
|
|
|
|
|
|
-columns_es = ['日期', '标讯每周入库数据量', '高质量库每周数据入库量', '拟在建数据量(全国)'] + list(es_bidding_fragment_data.keys())
|
|
|
-data_row_es = [date_range, es_bidding_count, es_bidding_ai_count, es_nzj_count] + list(es_bidding_fragment_data.values())
|
|
|
+columns_es = ['日期', '标讯每周入库数据量', '高质量库每周数据入库量', '拟在建数据量(全国)','医械通'] + list(es_bidding_fragment_data.keys())
|
|
|
+data_row_es = [date_range, es_bidding_count, es_bidding_ai_count, es_nzj_count,es_medical_count] + list(es_bidding_fragment_data.values())
|
|
|
|
|
|
columns_timeliness = ['日期'] + list(timeliness_data.keys())
|
|
|
data_row_timeliness = [date_range] + list(timeliness_data.values())
|