12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- from .flightDB import flightDB
- import datetime
- from unitls.StaticDataclass import get_dic
- from unitls.LogerinTxt import app_logger
- import unitls.baseFunction as baseFunction
- def TaskListInsert(database: flightDB, datatime: str, jsonData):
- nowDayStr = datatime
- flightinfo_flight_ids_arr = []
- flightinfo_flight_ids = database.queryTabel('TaskList{}'.format(nowDayStr), '*', "TASKID !=''")#确认一下要不要取整张表
- if len(flightinfo_flight_ids) != 0:
- for i in flightinfo_flight_ids:
- flightinfo_flight_ids_arr.append(i[0])
- flight_id_now = []
- keys = get_dic('TaskListLabel')
- if jsonData != "" and jsonData != None and jsonData != {} and len(jsonData) != 0:
- for row in jsonData:
- flight_id_now.append(row["TASKID"])
- if str(row["TASKID"]) not in str(flightinfo_flight_ids_arr):
- newDic={}
- for key in keys:
- if key in row.keys():
- newDic[key] = str(row[key])
- else:
- if key != "STA":
- newDic[key] = ""
- elif row["TASKTYPE"] == "航前":
- newDic[key] = datetime.datetime.strptime(row["STARTDATE_PL"],"%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=2)
- else:
- newDic[key] = datetime.datetime.strptime(row["STARTDATE_PL"],"%Y-%m-%d %H:%M:%S") + datetime.timedelta(minutes=15)
- database.lazyInsertData('TaskList{}'.format(nowDayStr), newDic)
- elif str(row["TASKID"]) in str(flightinfo_flight_ids_arr):
- for key in keys:
- if key in row.keys():
- b = baseFunction.TuplefindInList3(flightinfo_flight_ids, row["TASKID"], 0, keys.index(key))
- if b != row[key]:
- newdic = {"%s"%key: "'%s'" % row[key]}
- database.lazyUpdateItem('TaskList{}'.format(nowDayStr), newdic,"TASKID='%s'" % row["TASKID"])
- else:
- if key != "STA":
- newdata = ""
- elif row["TASKTYPE"] == "航前":
- newdata = datetime.datetime.strptime(row["STARTDATE_PL"],"%Y-%m-%d %H:%M:%S") + datetime.timedelta(hours=2)
- else:
- newdata = datetime.datetime.strptime(row["STARTDATE_PL"],"%Y-%m-%d %H:%M:%S") + datetime.timedelta(minutes=15)
- newdic = {"%s"%key: "'%s'"%newdata}
- database.lazyUpdateItem('TaskList{}'.format(nowDayStr), newdic,"TASKID='%s'" % row["TASKID"])
- database.FunctionCommit()
- else:
- print(datetime.datetime.now(), "[数据库操作]TaskList航班数据为空")
- app_logger.log_error("[数据库操作]TaskList航班数据为空")
- pass
- if jsonData !="" and jsonData !=None and jsonData != {} and len(flight_id_now) != 0 and len(jsonData)!=0:
- flightinfo_flight_ids = database.queryTabel('TaskList{}'.format(nowDayStr),'*',"TASKID !=''")
- if len(flightinfo_flight_ids) != 0:
- for iii in flightinfo_flight_ids:
- if str(iii[0]) not in flight_id_now :
- database.deleteSingledata("TaskList{}".format(nowDayStr), "TASKID='%s'" % str(iii[0]) )
- database.FunctionCommit()
|