• 将组织结构转换为层级json


    # -*-coding:utf8-*-
    import pymysql
    import datetime
    import json
    import random
    import logging
    
    logging.basicConfig(filename="test_convert_org_to_tree.log",filemode="a",
                        format="%(asctime)s-%(funcName)s-%(lineno)d-%(levelname)s:%(message)s",level=logging.INFO)
    console = logging.StreamHandler()
    logging.getLogger().addHandler(console)
    
    def execute_sql(sqlstr):
    	db = pymysql.connect("10.136.142.111","liumin1","liumin1","liumin1",port=3306 )
    	cursor = db.cursor()
    	try:
    		cursor.execute(sqlstr)
    		if(sqlstr.lower().startswith("select")):
    			data = cursor.fetchall()
    		db.commit()
    	except Exception as e:
    		logging.info(e)
    		logging.info("执行失败的SQL是:%s" % sqlstr)
    		db.rollback()
    	db.close()
    	try:
    		return data 
    	except Exception as e:
    		return None
    
    # def convert_table_to_org(data_list):
    # 	org = {}
    # 	org["id"] = data_list[0]
    # 	org["name"] = data_list[1]
    # 	org["parentid"] = data_list[2]
    # 	return org
    
    def consalt_table_to_python(sqlstr):
    	logging.info("要执行的SQL是:%s" % sqlstr)
    	data = execute_sql(sqlstr)
    	# if(not data):
    	# 	return
    	org_list = []
    	logging.info("data是:%s" % json.dumps(data))
    	for i in data:
    		org = {}
    		org["id"] = i[0]
    		org["name"] = i[1]
    		org["parentid"] = i[2]
    		org_list.append(org)
    
    	return org_list 
    
    def get_sub_children(org_tree):
    	sqlstr = "select id,name,parentid from liuyue_test_org where parentid=%d;" %org_tree["id"]
    	org_tree_tmp = consalt_table_to_python(sqlstr)
    	logging.info("org_tree_tmp是:%s" % org_tree_tmp)
    	# if(org_tree_tmp):
    	for i in org_tree_tmp:
    		logging.info("i是:%s" % i)
    		get_sub_children(i)
    	org_tree["childrenlist"]=org_tree_tmp
    
    def convert_org_to_tree():
    	sqlstr = "select id,name,parentid from liuyue_test_org where parentid=0;"
    	org_tree = consalt_table_to_python(sqlstr)[0]
    	get_sub_children(org_tree)
    	return (json.dumps(org_tree))
    
    print(convert_org_to_tree())
    

      

  • 相关阅读:
    软件测试技术实战 设计、工具及管理(51Testing软件测试网作品系列)
    MATLAB智能算法超级学习手册
    HTML与CSS入门经典(第9版)
    深入理解Android 5 源代码
    中文版Dreamweaver CS6基础培训教程(第2版)
    可用性测试手册(第2版)
    网络综合布线系统与施工技术第4版
    PHP核心技术与最佳实践(第2版)
    [OC Foundation框架
    [OC Foundation框架
  • 原文地址:https://www.cnblogs.com/yahutiaotiao/p/12708348.html
Copyright © 2020-2023  润新知