Эх сурвалжийг харах

CDR/CEL sorting order fixed

Hal De 4 жил өмнө
parent
commit
5680d079f0
1 өөрчлөгдсөн 11 нэмэгдсэн , 5 устгасан
  1. 11 5
      app/app.py

+ 11 - 5
app/app.py

@@ -157,7 +157,11 @@ async def presenceStatusCallback(mngr: Manager, msg: Message):
     if combinedState != prevState:
       await userStateChangeCallback(user, combinedState, prevState)
 
-async def getCDR(start=None, end=None, table='cdr', field='calldate'):
+async def getCDR(start=None,
+                 end=None,
+                 table='cdr',
+                 field='calldate',
+                 sort='CAST(linkedid AS DECIMAL(12,2)), CAST(uniqueid AS DECIMAL(12,2)), sequence'):
   _cdr = {}
   if end is None:
     end = dt.now()
@@ -169,8 +173,10 @@ async def getCDR(start=None, end=None, table='cdr', field='calldate'):
                                        IN (SELECT DISTINCT(linkedid)
                                        FROM {table}
                                        WHERE {field}
-                                       BETWEEN :start AND :end);'''.format(table=table,
-                                                                           field=field),
+                                       BETWEEN :start AND :end)
+                                       ORDER BY {sort};'''.format(table=table,
+                                                                  field=field,
+                                                                  sort=sort),
                               values={'start':start,
                                       'end':end}):
     if row['linkedid'] in _cdr:
@@ -182,8 +188,8 @@ async def getCDR(start=None, end=None, table='cdr', field='calldate'):
     cdr.append(_cdr[_id])
   return cdr
 
-async def getCEL(start=None, end=None, table='cel', field='eventtime'):
-  return await getCDR(start, end, table, field)
+async def getCEL(start=None, end=None, table='cel', field='eventtime', sort='id'):
+  return await getCDR(start, end, table, field, sort)
 
 @app.before_first_request
 async def initHttpClient():