123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- from .flightDB import flightDB
- import datetime
- from .initFlightDatabase import initFlightDatabase
- from unitls.LogerinTxt import app_logger
- def getSortFlightdata(fdb:flightDB, datatime:str,tablename:str):
- try:
- nowDayStr = datatime
- sortData = fdb.sortTable('{}{}'.format(tablename,nowDayStr), '级别,保障时间','asc')
- return sortData
- except Exception as e:
- app_logger.log_error(e)
- def sortFlighttime2(database:flightDB,wokload:flightDB):
- try:
- sortLabel = ["编号", "航班编号", "保障时间", "航班类型", "航班日期", "级别"]
- nowDay = datetime.datetime.now().strftime("%Y%m%d")
- nowDay_1 = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
- nowDay_2 = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
- now = datetime.datetime.now()
- now_20 = (datetime.datetime.now() + datetime.timedelta(minutes=200)).strftime("%Y%m%d")
- initFlightDatabase(database, wokload, now_20)
- initFlightDatabase(database, wokload, nowDay_1)
- initFlightDatabase(database, wokload, nowDay_2)
- initFlightDatabase(database, wokload, nowDay)
- if now_20 == nowDay:
- day = [nowDay, nowDay_1]
- else:
- day = [nowDay, nowDay_1, nowDay_2]
- for selectedtime in day:
- sort2NOs_arr=[]
- sort2NOs = database.getSingledata("编号","sortFlight2{}".format(selectedtime))
- sortNOs = database.getSingledata("编号", "sortFlight{}".format(selectedtime))
- if sort2NOs !=None and len(sort2NOs)!=0:
- for i in sort2NOs:
- if str(i) in str(sortNOs):
- sort2NOs_arr.append(i[0])
- else:
- database.deleteSingledata("sortFlight2{}".format(selectedtime),"编号 = '%s'"%i[0])
- sorttable = getSortFlightdata(database, selectedtime,"sortFlight")
- for row in sorttable:
- if row[3] == "短停接" or row[3] == "特后前接":
- if str(row[5]) == "4":
- find_id = row[1] + "-2"
- for row2 in sorttable:
- if row2[0] == find_id and row2[5] == "4":
- jb = row[5]
- elif row2[0] == find_id:
- jb = "1"
- else:
- jb = row[5]
- newdic = {}
- newdic2={}
- for col in range(0,6):
- if col == 0:
- newdic[sortLabel[col]]=row[col]
- elif col != 5:
- newdic[sortLabel[col]]=row[col]
- newdic2[sortLabel[col]]="'%s'"%row[col]
- else:
- newdic[sortLabel[5]]=jb
- newdic2[sortLabel[5]] = "'%s'"%jb
- if str(row[0]) not in str(sort2NOs_arr):
- database.lazyInsertData('sortFlight2{}'.format(selectedtime),newdic)
- else:
- database.lazyUpdateItem('sortFlight2{}'.format(selectedtime),newdic2,"编号 = '%s'"%row[0])
- elif row[3] != "短停送" and row[3] != "特后前送":
- newdic = {}
- newdic2 = {}
- for col in range(0,6):
- if col == 0:
- newdic[sortLabel[col]]=row[col]
- else:
- newdic[sortLabel[col]]=row[col]
- newdic2[sortLabel[col]] = "'%s'"%row[col]
- if str(row[0]) not in str(sort2NOs_arr):
- database.lazyInsertData('sortFlight2{}'.format(selectedtime), newdic)
- else:
- database.lazyUpdateItem('sortFlight2{}'.format(selectedtime), newdic2, "编号 = '%s'" % row[0])
- database.FunctionCommit()
- except Exception as e:
- app_logger.log_error(e)
|