import time import sys import os # print('根据当前文件获取当前文件所在目录的路径', os.path.dirname(__file__)) import traceback from air_case.public1.public1.public1 import approval_center, approval_center_all curPath = os.path.abspath(os.path.dirname(__file__)) # 获取当前文件的所在目录的绝对路径 # print('将路径中的/换成\\', curPath) # C:\Users\Administrator\Desktop\temp\dbshop99\main # # #将当前文件的所在目录的绝对路径进行分离,分离成 ('C:\\Users\\Administrator\\Desktop\\temp\\dbshop99', 'main'),存到元组中 # print('切割路径,切割成一个元组,将路径分离', os.path.split(curPath)) rootPath = os.path.split(curPath)[0] # [0]表示元组中的为一个元素 # print('当前项目的根目录', rootPath) sys.path.append(rootPath) # 将项目的根目录路径添加到环境变量中,然后在cmd命令行中就可以正常运行脚本 sys.path.append(os.path.join(rootPath,'common')) # print('根据当前文件获取当前文件所在目录的路径', os.path.dirname(__file__)) from airtest.core.helper import using from common.common_func import commonFuc from common.db.sql.sql_del_branch_info import delData # curPath = os.path.abspath(os.path.dirname(__file__)) # 获取当前文件的所在目录的绝对路径 # print('将路径中的/换成\\', curPath) # C:\Users\Administrator\Desktop\temp\dbshop99\main # # #将当前文件的所在目录的绝对路径进行分离,分离成 ('C:\\Users\\Administrator\\Desktop\\temp\\dbshop99', 'main'),存到元组中 # print('切割路径,切割成一个元组,将路径分离', os.path.split(curPath)) # rootPath = os.path.split(curPath)[0] # [0]表示元组中的为一个元素 # print('当前项目的根目录', rootPath) # sys.path.append(rootPath) # 将项目的根目录路径添加到环境变量中,然后在cmd命令行中就可以正常运行脚本 # print('rootPath',rootPath) # print(sys.path) import tkinter as tk from tkinter import * import tkinter.messagebox from common.run_cmd_script import execute_command pro_path = commonFuc().get_pro_path2() sys.path.append(pro_path + r'/air_case/b5_spd3_core_business_flow/execute.air') using(pro_path + r'//air_case/b5_spd3_core_business_flow/execute.air') def main_text(): # 创建窗口 root = tk.Tk() # 获取屏幕宽高 window_width = root.winfo_screenwidth() window_height = root.winfo_screenheight() # 设置窗口大小 root.geometry('800x560') # 刷新窗口参数 root.update() # 计算窗口居中时左上角的坐标 x = (window_width - root.winfo_width()) // 2 y = (window_height - root.winfo_height()) // 2 # 设置窗口左上角的坐标 root.geometry("+{}+{}".format(x, y)) root.title (string ="核心业务流") root.resizable(False,False) # for a in ['n', 's', 'e', 'w', 'ne', 'nw', 'se', 'sw']: # Button(root, # text='anchor', # anchor=a, # width=30, # height=4).pack() def flow1(): print('调用流程一') from execute import flow1 flow1() print('流程一执行完毕') # execute_command("python runner_test.py tag id2302-1 debug mdm3") # sys.exit(0) def flow2(): print('调用流程二') from execute import flow2 flow2() print('流程2执行完毕') # execute_command("python runner_test.py tag id2302-2 debug mdm3") # sys.exit(0) def flow3(): from execute import flow3 flow3() print('流程3执行完毕') # execute_command("python runner_test.py tag id2302-3 debug mdm3") # sys.exit(0) def flow4(): # execute_command("python runner_test.py tag id2302-4 debug mdm3") from execute import flow4 flow4() # sys.path.append(pro_path + r'/air_case/b5_spd3_core_business_flow/a_a4_流程四_基础模块设置.air') # using(pro_path + r'//air_case/b5_spd3_core_business_flow/a_a4_流程四_基础模块设置.air') # from a_a4_流程四_基础模块设置 import test1,test2,dept_query_all,grants_user,set_dept_lead1,add_StockArea,recover_dataFile # test1(2) # 参数2是新增院区后缀为6位数的参数1是老模式 # test2() # 科室添加产品信息(产品是从外网同步过来的) # dept_query_all() # 科室查询,将科室id写入文件中 # grants_user() # 给用户授权 # set_dept_lead1() # 设置一级科室负责人 # add_StockArea() # 添加库区 # recover_dataFile()#恢复备份的data目录 # commonFuc().check_text_exist_result_text('succees', 'succees') print('流程4执行完毕') # sys.exit(0) def flow5(): # execute_command("python runner_test.py tag id2302-5,id2302-6,id2302-7,id2302-8 debug mdm3") from execute import flow5,flow6,flow7,flow8 flow5() flow6() flow7() flow8() print('流程5执行完毕') # sys.exit(0) def flow6(): from execute import flow9 flow9() print('流程6执行完毕') # sys.exit(0) def flow7(): print('流程七开始执行') from execute import flow10 flow10() print('流程七执行完毕') # sys.exit(0) def flow8(): from execute import flow11 flow11() print('流程八执行完毕','流程八执行完毕 ') # sys.exit(0) def flow9(): from execute import flow12 flow12() print('流程9执行完毕','流程9执行完毕') # sys.exit(0) def flow10(): from execute import flow13 flow13() print('流程十执行完毕','流程十执行完毕') # sys.exit(0) def flow11(): from execute import flow14 flow14() print('流程11执行完毕','flow11执行完毕') # sys.exit(0) def flow12(): from execute import flow15 flow15() print('流程12执行完毕', 'flow12执行完毕') # sys.exit(0) def flow13(): from execute import flow16 flow16() print('流程13执行完毕', 'flow13执行完毕') # sys.exit(0) def flow14(): from execute import flow17 flow17() print('流程14执行完毕', 'flow14执行完毕') # sys.exit(0) def flow15(): from execute import flow18 flow18() print('流程十五执行完毕') # sys.exit(0) def flow16(): from execute import flow19 flow19() print('流程十六执行完毕') # sys.exit(0) def flow17(): from execute import flow20 flow20() print('流程十七执行完毕') # sys.exit(0) def flow18(): from execute import flow21 flow21() print('流程十八执行完毕') # sys.exit(0) def flow0(): execute_command("python runner_test.py tag id2302-23 debug mdm3") sys.exit(0) def exit(): print('退出') sys.exit(0) def del_data(): # 删除自动化脚本产生的数据 result=confirm() if result==True: result1 = confirm1() if result1 == True: delData().Delete_branch_by_id() delData().Delete_goods_change_info() delData().Delete_probeInfo_other() # delData().Del_supply_relation() delData().Delete_business_Data() delData().Del_reporter_data() delData().Delete_business_Data_All() delData().Delete_business_Data_All2() print('===================删除垃圾数据完毕============================') else: print('Cancel') def flow5_flow18(): #脚本运行前清空所有待审批数据 approval_center_all() try: flow5() flow6() time.sleep(20) flow7() flow8() flow9() flow10() flow11() flow12() flow13() flow14() flow15() flow16() flow17() flow18() except Exception as e: print('脚本出现异常,请检查脚本或者数据') print("发生异常:", str(e)) traceback.print_exc() def flow11_flow18(): flow11() flow12() flow13() flow14() flow15() flow16() flow17() flow18() def confirm(): result = tkinter.messagebox.askokcancel("确认", "您确定要执行此操作吗?") # print(result) print("用户选择了:", "OK" if result else "Cancel") return result def confirm1(): result = tkinter.messagebox.askokcancel("再次确认", "您确定要执行此删除操作吗?数据删除后不可逆.") # print(result) print("用户选择了:", "OK" if result else "Cancel") return result def download_data(): print('从Jenkins服务器下载data数据') def del_brachdata_from_brachid(): import tkinter as tk from tkinter import ttk def dropdown_changed(event): value = combo.get() print(value) root = tk.Tk() root.title("删除指定院区数据") # 计算窗口居中时左上角的坐标 x = (window_width - root.winfo_width()) // 2 y = (window_height - root.winfo_height()) // 2 # 设置窗口左上角的坐标 root.geometry("+{}+{}".format(x, y)) root.resizable(False, False) combo = ttk.Combobox(root) combo["values"] = ("选项1", "选项2", "选项3") combo.current(0) # 设置默认选项 combo.bind("<>", dropdown_changed) combo.pack() root.mainloop() # 文本显示的位置。 Button(root, text='流程一\n外网企业注册审批', width=16, height=8,command=flow1).grid(row=2,column=0) Button(root, text='流程二\n供货关系申请审批', anchor='center', width=16, height=8,command=flow2).grid(row=2,column=2) Button(root, text='流程三\n流程三_产品导\n入和审批', anchor='center', width=16, height=8,command=flow3).grid(row=2,column=4) Button(root, text='流程四\n内网基础模块设置', anchor='center', width=16, height=8,command=flow4).grid(row=2,column=6) Button(root, text='流程五\n中心库入库正结算\n开票', anchor='center', width=16, height=8,command=flow5).grid(row=2,column=8) Button(root, text='流程六\n中心库入库负结算', anchor='center', width=16, height=8,command=flow6).grid(row=2,column=10) Button(root, text='流程七\n中心库入库正负结算', anchor='center', width=16, height=8,command=flow7).grid(row=3,column=0) Button(root, text='流程八\n高值跟台业务', anchor='center', width=16, height=8,command=flow8).grid(row=3,column=2) Button(root, text='流程九\n请领业务二级库向\n中心库', anchor='center', width=16, height=8,command=flow9).grid(row=3,column=4) Button(root, text='流程十\n请领业务流_二级库\n向边仓', anchor='center', width=16, height=8,command=flow10).grid(row=3,column=6) Button(root, text='流程十一\n请领业务流_二级库\n向直送', anchor='center', width=16, height=8,command=flow11).grid(row=3,column=8) Button(root, text='流程十二\n请领业务流_二级库\n向二级库', anchor='center', width=16, height=8,command=flow12).grid(row=3,column=10) Button(root, text='流程十三\n请领业务流_三级库\n向二级库', anchor='center', width=16, height=8,command=flow13).grid(row=4,column=0) Button(root, text='流程十四\n退库业务消耗退库', anchor='center', width=16, height=8,command=flow14).grid(row=4,column=2) Button(root, text='流程十五\n退库业务三级库向\n二级库退库', anchor='center', width=16, height=8,command=flow15).grid(row=4,column=4) Button(root, text='流程十六\n退库业务_二级库向\n一级库退库', anchor='center', width=16, height=8,command=flow16).grid(row=4,column=6) Button(root, text='流程十七\n退库业务_中心库退\n供应商', anchor='center', width=16, height=8,command=flow17).grid(row=4,column=8) Button(root, text='流程十八\n中心库业务_拆包功能', anchor='center', width=16, height=8,command=flow18).grid(row=4,column=10) Button(root, text='一键执行', anchor='center', width=8, height=2,command=flow0).grid(row=5,column=0) Button(root, text='删除指定\n院区数据', anchor='center', width=8, height=2,command=del_brachdata_from_brachid).grid(row=5,column=2) Button(root, text='流程五开始\n一键执行', anchor='center', width=8, height=2,command=flow5_flow18).grid(row=5,column=4) Button(root, text='删除垃圾\n数据', anchor='center', width=8, height=2,command=del_data).grid(row=5,column=6) Button(root, text='流程十一开始\n一键执行', anchor='center', width=8, height=2,command=flow11_flow18).grid(row=5,column=8) Button(root, text='从jenkins\n下载data\n数据', anchor='center', width=8, height=2,command=download_data).grid(row=5,column=10) Button(root, text='退 出', anchor='center', width=8, height=2,command=exit).grid(row=5,column=10) # Button(root, text='anchor', anchor='e', width=30, height=4).pack() # Button(root, text='anchor', anchor='w', width=30, height=4).pack() # Button(root, text='anchor', anchor='ne', width=30, height=4).pack() # Button(root, text='anchor', anchor='nw', width=30, height=4).pack() # Button(root, text='anchor', anchor='se', width=30, height=4).pack() # Button(root, text='anchor', anchor='sw', width=30, height=4).pack() root.mainloop() main_text()