dingdingFlightsts.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. from .flightDB import flightDB
  2. import requests
  3. import datetime
  4. from unitls.LogerinTxt import app_logger
  5. import unitls.baseFunction as baseFunction
  6. def dingdingFlightsts(database:flightDB):
  7. try:
  8. flightsts = {}
  9. sever_code={"JJDW":"接机到位","FX":"放行","SJDW":"随机到位","XJ":"销子夹板","ESDW":"二送到位"}
  10. sever_code1 = {"JJDW": "已到位", "FX": "已放行", "SJDW": "已到位", "XJ": "已取下", "ESDW": "已到位"}
  11. code2 = {"JJDW": "接机已到位", "FX": "已放行", "SJDW": "随机已到位", "XJ": "销子夹板已取下", "ESDW": "二送已到位"}
  12. code3 = {"JJDW": "接机已到位提示", "FX": "已放行提示", "SJDW": "随机已到位提示", "XJ": "销子夹板已提示", "ESDW": "二送已到位提示"}
  13. code4 = {"JJDW": 8, "FX": 9, "SJDW": 11, "XJ": 10, "ESDW": 12}
  14. try:
  15. #'''
  16. resfwq = requests.get(url="http://124.223.185.200:888/search_status/", timeout=10) # 自己服务器
  17. if resfwq.json() != "":
  18. flightsts = resfwq.json()
  19. #print(flightsts)
  20. '''
  21. #测试数据
  22. flightsts={'325F': {'JH': '325F', 'JWH': '', 'JJDW': 0, 'FX': 0, 'SJDW': 0, 'XJ': 1, 'ESDW': 0, 'YW': ' 325F 销夹'}}
  23. '''
  24. except Exception as e:
  25. app_logger.log_error(e)
  26. pass
  27. # QT输出弹窗警告,服务器链接失效
  28. nowDay = datetime.datetime.now().strftime("%Y%m%d")
  29. nowDay_1 = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
  30. now = datetime.datetime.now()
  31. now11=str(now).split(".")[0]
  32. day = [nowDay_1, nowDay]
  33. tfac_acs=[]
  34. for nowDayStr in day:
  35. dmacs = database.queryTabel('sortFlight{}'.format(nowDayStr),"航班编号","CAST(级别 AS integer)=1")
  36. datas = database.queryTabel('flightsts{}'.format(nowDayStr), "*", "航班编号!=''")
  37. if dmacs:
  38. for i in dmacs:
  39. dmac = baseFunction.TuplefindInList3(datas,i[0],0,1)
  40. if str(dmac) not in str(tfac_acs):
  41. tfac_acs.append(dmac)
  42. if len(tfac_acs) != 0:
  43. tfudatas=database.queryTabel('flightsts{}'.format(nowDay), "*", "天府飞机 != ''")
  44. for i in tfac_acs:
  45. #print(i[0])
  46. if i in flightsts.keys():
  47. for j,k in sever_code.items():
  48. if flightsts[i][j] == 1:
  49. newdic={"%s"%k:"'%s'"%sever_code1[j]}
  50. #print(newdic)
  51. database.lazyUpdateItem('flightsts{}'.format(nowDay),newdic,"机号='%s' and 天府飞机!=''"%i)
  52. newdic={}
  53. sts = baseFunction.TuplefindInList3(tfudatas, i, 1, code4[j])
  54. taskid = baseFunction.TuplefindInList3(tfudatas, i, 1, 0)
  55. a=sts if sts != "" else "0"
  56. b=taskid if taskid != "" else "未显示机号"
  57. if a !="1":
  58. newdic={"%s"%code3[j]:1}
  59. database.lazyUpdateItem('flightsts{}'.format(nowDay), newdic, "机号='%s' and 天府飞机!=''" % i)
  60. newdic={"航班编号":"%s"%b,"警告信息":"","信息状态":"","提示信息":"钉钉:%s%s!%s"%(i,code2[j],now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
  61. database.lazyInsertData('logs',newdic)
  62. database.FunctionCommit()
  63. #########################################
  64. #引入钉钉显示
  65. ########################################
  66. except Exception as e:
  67. app_logger.log_error(e)
  68. database.FunctionCommit()