فهرست منبع

R17.0.1 修复日志异常输出问题

maohu 1 ماه پیش
والد
کامیت
40295eefaa
3فایلهای تغییر یافته به همراه75 افزوده شده و 56 حذف شده
  1. 29 26
      Functions/DButilsFunction/checkTFUairplane.py
  2. 25 28
      Functions/DButilsFunction/get_dic.py
  3. 21 2
      SeverStart.py

+ 29 - 26
Functions/DButilsFunction/checkTFUairplane.py

@@ -136,25 +136,28 @@ def checkTFUairplane(database:flightDB):
                     bay_str = baseFunction.TuplefindInList3(flightinfo_flight_ids, flightstskey[0], 0, 11)
                 else:
                     bay_str =baseFunction.TuplefindInList3(flightinfo_flight_ids, flightstskey[0], 0, 10)
-                newdic = {"机位":"'%s'"%bay_str, "机号":"'%s'"%acno_str}
-                database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                if bay_str != baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 2) or acno_str != baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 1):
+                    newdic = {"机位":"'%s'"%bay_str, "机号":"'%s'"%acno_str}
+                    database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
                 worksts_str=baseFunction.TuplefindInList3(flightinfo_flight_ids, flightstskey[0], 0, 14)
                 worksts = int(worksts_str) if worksts_str != "" else 0
                 a=baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 2) if baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 2)!="" else "未显示机号"
 
                 if worksts >= 7 and str(flightstskey[0]) in str(flightsts_flight_ids_arr):
-                    newdic={"接机到位":"'已到位'", "放行": "'已放行'"}
-                    database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                    if baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0,3) != "已到位" or baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0,4) != "已放行":
+                        newdic={"接机到位":"'已到位'", "放行": "'已放行'"}
+                        database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
                     for i in code2:
-                        if "0" in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, code22num[i]):
+                        if "1" not in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, code22num[i]):
                             newdic={"航班编号":"%s"% flightstskey[0],"警告信息":"","信息状态":"","提示信息":"AMRO:%s%s!%s"%(a,i,now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
                             database.lazyInsertData('logs', newdic)
                             newdic = {"%s"%i: 1}
                             database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
                 elif worksts >= 4 and str(flightstskey[0]) in str(flightsts_flight_ids_arr):
-                    newdic = {"接机到位": "'已到位'"}
-                    database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
-                    if "0" in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 8):
+                    if baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0,3) != "已到位" :
+                        newdic = {"接机到位": "'已到位'"}
+                        database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                    if "1" not in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 8):
                         newdic={"航班编号":"%s"% flightstskey[0],"警告信息":"","信息状态":"","提示信息":"AMRO:%s接机已到位提示!%s"%(a,now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
                         database.lazyInsertData('logs', newdic)
                         newdic = {"接机已到位提示": 1}
@@ -186,25 +189,25 @@ def checkTFUairplane(database:flightDB):
                 ECSJ_worksts_STR = ECSJ_worksts_str if len(ECSJ_worksts_str) != 0 else 0
                 ECSJ_worksts = int(ECSJ_worksts_STR) if ECSJ_worksts_STR != "" else 0
                 if ECSJ_worksts >= 15 and str(flightstskey[0]) in str(flightsts_flight_ids_arr):
-                    #newdic = {"接机到位": "'已到位'", "放行": "'已放行'", "二送到位": "'已到位'"}
-                    newdic = {"二送到位": "'已到位'"}
-                    database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
-                    for i in code:
-                        if "0" in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, code2num[i]):
-                            newdic={"航班编号":"%s"% flightstskey[0],"警告信息":"","信息状态":"","提示信息":"AMRO:%s%s!%s"%(a,i,now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
-                            database.lazyInsertData('logs', newdic)
-                            newdic = {"%s"%i: 1}
-                            database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                    if baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0,7) != "已到位" :
+                        #newdic = {"接机到位": "'已到位'", "放行": "'已放行'", "二送到位": "'已到位'"}
+                        newdic = {"二送到位": "'已到位'"}
+                        database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                    if"1" not in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 12):
+                        newdic={"航班编号":"%s"% flightstskey[0],"警告信息":"","信息状态":"","提示信息":"AMRO:%s二送已到位提示!%s"%(a,now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
+                        database.lazyInsertData('logs', newdic)
+                        newdic = {"二送已到位提示": 1}
+                        database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
                 elif str(flightstskey[0]) in str(flightsts_flight_ids_arr) and "人工" not in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 7):
-                    #newdic = {"接机到位": "'已到位'", "放行": "'已放行'", "二送到位": "'已到位'"}
-                    newdic = {"二送到位": "''"}
-                    database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
-                    for i in code:
-                        if "1" in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, code2num[i]):
-                            newdic={"航班编号":"%s"% flightstskey[0],"警告信息":"","信息状态":"","提示信息":"AMRO:%s%s!%s"%(a,i,now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
-                            database.lazyInsertData('logs', newdic)
-                            newdic = {"%s"%i: 0}
-                            database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                    if baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0,7) != "" :
+                        #newdic = {"接机到位": "'已到位'", "放行": "'已放行'", "二送到位": "'已到位'"}
+                        newdic = {"二送到位": "''"}
+                        database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
+                    if "1" in baseFunction.TuplefindInList3(flightsts_flight_ids, flightstskey[0], 0, 12):
+                        newdic={"航班编号":"%s"% flightstskey[0],"警告信息":"","信息状态":"","提示信息":"AMRO:%s二送到位取消到位!%s"%(a,now11),"产生时间":"%s"%now,"处理人":"","处理时间":"","变更字段":"","显示对象":"","提示内容":""}
+                        database.lazyInsertData('logs', newdic)
+                        newdic = {"二送已到位提示": 0}
+                        database.lazyUpdateItem('flightsts{}'.format(nowDayStr), newdic, "航班编号='%s'" % flightstskey[0])
         database.FunctionCommit()
 
     except Exception as e:

+ 25 - 28
Functions/DButilsFunction/get_dic.py

@@ -15,38 +15,35 @@ def get_full_pinyin2(word, style=Style.NORMAL, separator=''):
     return ''.join([word[0][0] for word in pinyin(word, style=Style.NORMAL)])
 
 def get_dic(database:flightDB, fileName):
+    dic=["维修一队","维修二队","维修三队","维修四队","支援人员"]
     try:
         fdb = database
+        IDS=fdb.getSingledata("工号",'workerinfo')
+        IDSNOW=[]
         try:
-            ''''
-            decrypted_workbook = io.BytesIO()
-            with open(fileName, 'rb') as file:
-                office_file = msoffcrypto.OfficeFile(file)
-                office_file.load_key(password='Scal_0177')
-                office_file.decrypt(decrypted_workbook)
-            workbook = openpyxl.load_workbook(filename=decrypted_workbook,data_only=True)
-            '''
             workbook = openpyxl.load_workbook(filename=fileName) #非加密文档
-            mysheet = workbook["主表"]
-            myrows = list(mysheet.values)[1:]
-            mytitle = list(mysheet.values)[0]
-            for myrow in myrows:
-                mydics0 = {}
-                mydics1 = {}
-                for i in range(0, (len(mytitle))):
-                    a = get_full_pinyin1(str(myrow[0])) + ":" + get_full_pinyin2(str(myrow[0]))
-                    mydics0[mytitle[i]] = "%s"%myrow[i]
-                    mydics0[mytitle[11]] = "%s" % a
-                    if i != 3 and i != 11:
-                        mydics1[mytitle[i]] = "'%s'" % myrow[i]
-                    elif i == 11:
-                        mydics1[mytitle[11]] = "'%s'" % a
-                #a= fdb.getSingledata("工号",'workerinfo')
-                if str(mydics0["工号"]) in str(fdb.getSingledata("工号",'workerinfo')):
-                    fdb.lazyUpdateItem('workerinfo',mydics1,"工号='%s'"%mydics0["工号"])
-                else:
-                    fdb.lazyInsertData('workerinfo',mydics0)
-            #print(1)
+            for sheetname in dic:
+                mysheet = workbook[sheetname]
+                myrows = list(mysheet.values)[1:]
+                mytitle = list(mysheet.values)[0]
+                for myrow in myrows:
+                    mydics0 = {}
+                    mydics1 = {}
+                    for i in range(0, (len(mytitle))):
+                        a = get_full_pinyin1(str(myrow[0])) + ":" + get_full_pinyin2(str(myrow[0]))
+                        mydics0[mytitle[i]] = "%s"%myrow[i]
+                        mydics0[mytitle[11]] = "%s" % a
+                        if i != 3 and i != 11:
+                            mydics1[mytitle[i]] = "'%s'" % myrow[i]
+                        elif i == 11:
+                            mydics1[mytitle[11]] = "'%s'" % a
+                    #a= fdb.getSingledata("工号",'workerinfo')
+                    if str(mydics0["工号"]) in str(IDS) or str(mydics0["工号"]) in IDSNOW:
+                        fdb.lazyUpdateItem('workerinfo',mydics1,"工号='%s'"%mydics0["工号"])
+                    else:
+                        fdb.lazyInsertData('workerinfo',mydics0)
+                        IDSNOW.append(mydics0["工号"])
+                #print(1)
             fdb.FunctionCommit()
             return 1
         except Exception as e:

+ 21 - 2
SeverStart.py

@@ -30,6 +30,8 @@ from Functions.DButilsFunction import flightDB, judge_bc as Judge_bc, initFlight
     dealLogs as DealLogs,update_Pglist as Update_Pglist,getWorkjobInfo as GetWorkjobInfo,mandealAllLogs as MandealAllLogs,\
     calltry as Calltry, callon as Callon,get_empNos_phoone as Get_empNos_phoone,FlightSearchInsert,TaskListInsert,checkWorkerlaod_new,\
     GetPglistInDatabase,Getworkload ,HandoverStsChange,ManCahangeWorkload,UpdateNoteItem,postgresql_bakup
+
+
 app = Flask(__name__)
 dir = os.getcwd()
 app.config["SECRET_KEY"] = "Can't not guess it ."
@@ -43,9 +45,9 @@ databaseWorkLoad = 'workLoad'
 databaseLoginDB = 'loginDB'
 flightDataTransfer,displayDataTransfer=DataTransferMode()
 ServerClas = Server_Class()
-severVersion = "17.0.0"
+severVersion = "17.0.1"
 displayVersion = "17.0.0"
-
+print(f"当前客户端版本:{severVersion}/白板版本:{displayVersion}")
 
 # 获取本地IP地址
 def get_local_ip():
@@ -565,6 +567,23 @@ def handoverflight():
     workLoad.close()
     return {"返回值":res}
 
+
+@app.route('/static/handoverflightAMRO',methods=["GET","POST"])
+def handoverflightAMRO():
+    remote_addr = request.remote_addr
+    data = json.loads(request.get_data())
+    db = flaskDBUtils.flaskDB(host=dbhost,port=dbport,user=dbuser,password=dbpassword,database=database)
+    token = flaskDBUtils.getToken(db)
+    #token = utils.flight_list.get_cookie()
+
+    Pglistdata=fl.request_LM_TSK_HANDOVER(data,token)
+    if Pglistdata['code'] == 200:
+        res = {"返回值": "ok"}
+    else:
+        res = {"返回值": "fail"}
+    print(datetime.datetime.now(),"[%s]使用AMRO工作交接功能"%remote_addr)
+    return res
+
 @app.route('/static/MM_GJJH_LIST/<team>')
 def MM_GJJH_LIST(team):
     remote_addr = request.remote_addr