from .flightDB import flightDB from unitls.LogerinTxt import app_logger import openpyxl import datetime from .sortFlighttime import sortFlighttime from .sortFlighttime2 import sortFlighttime2 import time from unitls.StaticDataclass import get_dic def updateStopFlight(database:flightDB,workLoad:flightDB, fileName): fdb = database textInfo={"机号":2,"非航前进港机位":3,"机型":4,"发动机":5} try: workbook = openpyxl.load_workbook(filename=fileName) mysheet = workbook.active myrows = list(mysheet.values)[2:] #print(myrows) #print(myrows[1]) if myrows[0][1] != "" and myrows[0][2] != "" and myrows[0][1] != None and myrows[0][2] != None: #print(myrows[0]) day=str(myrows[0][1]).split("/")[0]+str(myrows[0][1]).split("/")[1]+str(myrows[0][1]).split("/")[2] day1 = str(myrows[0][1]).split("/")[0] +"-"+ str(myrows[0][1]).split("/")[1] +"-"+ str(myrows[0][1]).split("/")[2] daytime = day1 + " 00:00:00" starttime = day1 + " 09:00:00" a = datetime.datetime.strptime(daytime, "%Y-%m-%d %H:%M:%S") b = datetime.datetime.strptime(starttime, "%Y-%m-%d %H:%M:%S") flightids=fdb.queryTabel("TaskFlightinfo%s"%day,"航班编号","航班类型 ='停场'") if len(flightids) != 0: for i in flightids: fdb.deleteSingledata("TaskFlightinfo%s"%day,"航班编号='%s'"%i[0]) flightinfoLabel=get_dic("TaskflightinfoLabel") for myrow in myrows: mydics0 = {} if myrow[2] and myrow[1] and myrow[2] != "" and myrow[1] != "": now = str(time.time() * 1000000).split(".")[0] flightid = "MAN" + str(now)+str(myrow[2]) for i in flightinfoLabel: if i in textInfo.keys(): text=myrow[textInfo[i]] if myrow[textInfo[i]] else "" mydics0[i] = "%s"%text elif i == "航班编号": mydics0[i]="%s"%flightid elif i == "航班日期": mydics0[i]="%s"%a elif i == "非航前实际到达": mydics0[i]="%s"%b elif i == "航班来源": mydics0[i]="人工添加" elif i == "航班类型": mydics0[i]="停场" else: mydics0[i]='' #print(mydics0) fdb.lazyInsertData("TaskFlightinfo%s"%day,mydics0) fdb.FunctionCommit() sortFlighttime(database,workLoad) sortFlighttime2(database,workLoad) print(datetime.datetime.now(), '[数据库操作]停场航班导入成功!') res = {"返回值": "ok"} return res except Exception as e: print(datetime.datetime.now(),'[数据库操作]停场航班导入失败!!检查模板文件!') app_logger.log_error(e) # 需要QT输出警告弹框信息 res = {"返回值": "fail"} fdb.FunctionCommit() return res #新增内容