David 2 veckor sedan
förälder
incheckning
0e5dfd3382
1 ändrade filer med 38 tillägg och 4 borttagningar
  1. 38 4
      post_processing/cdq_coe_gen.py

+ 38 - 4
post_processing/cdq_coe_gen.py

@@ -4,12 +4,12 @@
 # @Time      :2025/3/28 16:20
 # @Author    :David
 # @Company: shenyang JY
-import os, requests, json
+import os, requests, json, time, traceback
 import pandas as pd
 import numpy as np
 from common.database_dml_koi import get_data_from_mongo
 from pymongo import MongoClient
-from flask import Flask,request,jsonify
+from flask import Flask,request,jsonify, g
 from datetime import datetime
 # from common.logs import Log
 # logger = Log('post-processing').logger
@@ -17,13 +17,19 @@ from logging import getLogger
 logger = getLogger('xx')
 current_path = os.path.dirname(__file__)
 API_URL = "http://ds2:18080/accuracyAndBiasByJSON"
+app = Flask('cdq_coe_gen——service')
 
 
-def iterate_coe(pre_data, point, col_power, col_pre):
+@app.before_request
+def update_config():
+    # ------------ 整理参数,整合请求参数 ------------
+    g.coe = {}
+
+
+def iterate_coe(pre_data, point, col_power, col_pre, coe):
     """
     更新16个点系数
     """
-    coe = {}
     T = 'T' + str(point + 1)
     best_acc, best_score1, best_coe_m, best_coe_n = 0, 0, 0, 0
     best_score, best_acc1, best_score_m, best_score_n = 999, 0, 0, 0
@@ -154,6 +160,34 @@ def history_error(data, col_power, col_pre):
     # data.to_csv('J01080原始数据.csv', index=False)
     return data
 
+@app.route('/data_nwp_ftp', methods=['POST'])
+def get_nwp_from_ftp():
+    # 获取程序开始时间
+    start_time = time.time()
+    result = {}
+    success = 0
+    args = {}
+    coe = g.coe
+    try:
+        args = request.values.to_dict()
+        logger.info(args)
+        data = get_data_from_mongo(args).sort_values(by='dateTime', ascending=True)
+        pre_data = history_error(data, col_power='realPower', col_pre='dq')
+        for point in range(0, 16, 1):
+            iterate_coe(pre_data, point, 'realPower', 'dq', coe)
+        success = 1
+    except Exception as e:
+        my_exception = traceback.format_exc()
+        my_exception.replace("\n", "\t")
+        result['msg'] = my_exception
+        logger.info("调系数出错:{}".format(my_exception))
+    end_time = time.time()
+    result['success'] = success
+    result['args'] = args
+    result['coe'] = coe
+    result['start_time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(start_time))
+    result['end_time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(end_time))
+    return result
 
 if __name__ == "__main__":
     args = {