import pandas as pd
import time,base64,lzma
import requests as QhReq
import json
import pyperclip
import sys,time
from PyQt5.QtWidgets import QWidget,QApplication, QMessageBox,QFileDialog
from PyQt5 import QtCore
from PyQt5.QtCore import pyqtSignal, QThread
from QHchexjiem import Ui_Form
from loguru import logger
QhKeyList = ["Account", "Entity","Year",
"Period","Scenario","Process",
"Currency","AuditTrail","ChangeType",
"InternalCompany","T01"]
start_time = time.time()
def QhGetLogin(url="*******",
user = "******",
paswd = ""):
"""
获取登录token,绑定用户
作者:阙辉
"""
try:
# paswd = "*******" 密码是固定的
qh_token_url = "{}/ierp/api/getAppToken.do".format(url)
qh_token_body = {
"appId": "*******",
"appSecuret": "*******",
"tenantid": "ierp",
"accountId":"*******",
"language": "zh_CN"
}
if paswd != "": qh_token_body["appSecuret"] = paswd
qh_respons_token = QhReq.post(qh_token_url,json=qh_token_body)
qh_respons_token_json = json.loads(qh_respons_token.text)
print(qh_respons_token_json)
qh_apptoken = qh_respons_token_json["data"]["app_token"]
print(qh_respons_token_json)
except Exception as e:
logger.error("获取登录token报错\n{}".format(e))
try:
qh_login_url = "{}/ierp/api/login.do".format(url)
qh_login_body = {
# "user": "*******",
"user": user,
"apptoken": "*******",
"tenantid": "ierp",
"accountId": "*******",
"usertype": "*******"
}
qh_login_body["apptoken"] = qh_apptoken
qh_respons_login = QhReq.post(qh_login_url,json=qh_login_body)
qh_respons_login_json = json.loads(qh_respons_login.text)
qh_login_text = qh_respons_login_json["data"]["access_token"]
print(qh_respons_login_json)
print("登录Login参数:",qh_login_text)
pyperclip.copy(qh_login_text)
return qh_login_text
except Exception as e:
logger.error("获取登录token,绑定用户报错\n{}".format(e))
def QhGetOLapData(url = "*******",
tocken = "",
modelNum="*******",
Entity = "*******",
Year = "*******",
Period = "*******",
):
"""
获取OLAP数据
作者:阙辉
"""
try:
QhTiaoJian = {
"modelNum":modelNum,
"parmas":{
"includeNull":False,
"excludeDynaData":False,
"includeName":False,
"filters":[
{
"dim": "Entity",
"scope": "50",
"val":
Entity.split(",")
}
],
"fixDim": {
"Year": Year,
"Period": Period,
"Scenario": "MRpt"
合并报表多维数据库核对软件
于 2025-02-17 20:04:27 首次发布