import time

import pymysql

from common.fileUtls import FileUtils


def get_db():
    # 打开数据库连接
    db = pymysql.connect(host="10.17.65.108", user="root", password="Cmic.2023", database="spd_hdiorder_test2",
                                     charset="utf8")
    return db
def get_db1():
    # 打开数据库连接
    db = pymysql.connect(host="10.17.65.108", user="root", password="Cmic.2023", database="spd_ybtest_hdi",
                                     charset="utf8")
    return db

def get_sql_conn():
    """
    获取数据库连接
    """
    db = get_db()
    cursor = db.cursor()
    return db, cursor
def get_sql_conn1():
    """
    获取数据库连接
    """
    db = get_db1()
    cursor = db.cursor()
    return db, cursor


def get_index_dict(cursor):
    """
    获取数据库对应表中的字段名
    """
    index_dict = dict()
    index = 0
    for desc in cursor.description:
        index_dict[desc[0]] = index
        index = index + 1
    return index_dict


def get_dict_data_sql(cursor, sql):
    """
    运行sql语句，获取结果，并根据表中字段名，转化成dict格式（默认是tuple格式）
    """
    cursor.execute(sql)
    data = cursor.fetchall()
    index_dict = get_index_dict(cursor)
    res = []
    for datai in data:
        resi = dict()
        for indexi in index_dict:
            resi[indexi] = datai[index_dict[indexi]]
        res.append(resi)
    return res



def check_mcms_dept_buy_car_sql(sql):
    db, cursor = get_sql_conn()
    res_dict = get_dict_data_sql(cursor, sql)
    print('res_dict', res_dict)
    cursor.close()
    return res_dict
def check_mcms_dept_buy_sql(sql):
    db, cursor = get_sql_conn()
    res_dict = get_dict_data_sql(cursor, sql)
    print('res_dict', res_dict)
    cursor.close()
    return res_dict
def check_mcms_pur_plan_sql(sql):
    db, cursor = get_sql_conn()
    res_dict = get_dict_data_sql(cursor, sql)
    print('res_dict', res_dict)
    cursor.close()
    return res_dict
def get_create_time(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchone()
    str1 = str(results)
    new_str1 = str1.replace(',)', '')
    new_str1 = new_str1.replace('(date', 'date')
    # new_str1 = new_str1.replace(',', '')
    # print(new_str1)
    cursor.close()
    return new_str1
def get_expdt_date(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchone()
    str1 = str(results)
    new_str1 = str1.replace(',)', '')
    new_str1 = new_str1.replace('(date', 'date')
    # new_str1 = new_str1.replace(',', '')
    # print(new_str1)
    cursor.close()
    return new_str1
def get_id(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchone()
    str1 = str(results)
    new_str1 = str1.replace(',)', '')
    new_str1 = new_str1.replace('(', '')
    new_str1 = new_str1.replace(',', '')
    new_str1 = new_str1.replace("'", '')
    # print(new_str1)
    cursor.close()
    return new_str1
def get_dept_buy_id(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchall()
    cursor.close()
    return results
def process_tuple(tuple1):
    str1 = str(tuple1)
    new_str1 = str1.replace(',)', '')
    new_str1 = new_str1.replace('(', '')
    new_str1 = new_str1.replace(',', '')
    new_str1 = new_str1.replace("'", '')
    return new_str1
def get_expdt_date1(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchone()
    return results
def get_mdm_goods_code(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchall()
    cursor.close()
    return results
def check_out_check_mcms_purchase(sql):
    db, cursor = get_sql_conn()
    cursor.execute(sql)
    results = cursor.fetchone()
    str1 = str(results)
    new_str1 = str1.replace(',)', '')
    new_str1 = new_str1.replace('(', '')
    new_str1 = new_str1.replace(',', '')
    new_str1 = new_str1.replace("'", '')
    # print(new_str1)
    cursor.close()
    return new_str1
def get_login_user_uxid_bydb(username):
    while True:
        db, cursor = get_sql_conn1()
        sql = "select id from sys_user where user_code='%s';" % username
        cursor.execute(sql)
        results = cursor.fetchone()
        str1 = str(results)
        if str1=='None':
            time.sleep(6)
            continue
        else:
            new_str1 = str1.replace(',)', '')
            new_str1 = new_str1.replace('(', '')
            new_str1 = new_str1.replace(',', '')
            new_str1 = new_str1.replace("'", '')
            break
        # print(new_str1)
    cursor.close()
    db.close()

    return new_str1
# hos_goods_id = 'h034700004220'
# main2(hos_goods_id)