libushang 3 hafta önce
ebeveyn
işleme
86db72d0db

+ 29 - 20
routers/api/videoResource/avcon.py

@@ -293,22 +293,36 @@ async def get_drone_tree(
         result = []
 
         if equipment == '无人机':
-            equipment_type = "广东省应急管理厅4G单兵布控球"
-        elif equipment == '单兵设备':
-            equipment_type = "无人机视频"
-        
-        print('equipment:', equipment)
+            # 无人机没有和茂名市局对接,所以只能在融合通信PC端看,下面反馈的静态数据仅供界面有内容看
+            result = [
+                {
+                    "id": "1",
+                    "label": '茂名应急无人机'
+                }
+            ]
+            return {
+                "code": 0,
+                "msg": "success",
+                "data": result
+            }
 
-        data = AvconH5API.get_search_region(equipment_type)
-        if data is not None:
-            result1 = []
-            fomat_device_result(data[0], result1)
-            result.append({
-                "id": data[0]["group_id"],
-                "label": data[0]["group_name"],
-                "children": result1
-            })
+        elif equipment == '单兵设备':
+            data = AvconH5API.get_search_region("移动视频")
+            if data is not None:
+                result1 = []
+                fomat_device_result(data[0], result1)
+
+                for n in result1:
+                    if n['label'].find("单兵") != -1:
+                        result.append(n)
+            return {
+                "code": 0,
+                "msg": "success",
+                "data": result
+                # "data": [{"id": "1", "label": "无人机单兵", "children": result}]
+            }
 
+        '''
         if result == []:
             result = [
                 {
@@ -347,12 +361,7 @@ async def get_drone_tree(
                     ]
                 }
             ]
-        
-        return {
-            "code": 0,
-            "msg": "success",
-            "data": result
-        }
+        '''
 
     except Exception as e:
         traceback.print_exc()

+ 58 - 1
routers/prod_api/system/czrz/__init__.py

@@ -126,4 +126,61 @@ async def get_list(
         'total': total_count,
         "currentPage": pageNum,
         "pageSize": pageSize,
-    }
+    }
+
+# 事件指挥日志
+@router.get('/event_log')
+async def get_list(
+    # request: Request,
+    operIp: str = Query(None, max_length=100),
+    operName:str = Query(None, max_length=100),
+    title: str =  Query(None, max_length=100),
+    params: str =  Query(None, max_length=100),
+    dateRange: str =  Query(None, max_length=100),
+    pageNum: int = Query(1, gt=0, description="页码"),
+    pageSize: int = Query(10, gt=0, le=100, description="每页大小"),
+    db: Session = Depends(get_db),
+    user_id = Depends(valid_access_token),
+):
+    print(params)
+    query = db.query(CzrzEntity)
+    query = query.filter(CzrzEntity.action == '应急一张图')
+    query = query.filter(CzrzEntity.czrz != '大屏登录成功')
+    if operIp:
+        query = query.filter(CzrzEntity.ip.like(f'%{operIp}%'))
+    if operName:
+        query = query.filter(CzrzEntity.nick_name.like(f'%{operName}%'))
+    if title:
+        query = query.filter(CzrzEntity.action.like(f'%{title}%'))
+    if dateRange:
+        start_date, end_date = dateRange.split('-')
+        # start_date = datetime.strptime(start_date, "%Y-%m-%d")
+        # end_date = datetime.strptime(end_date, "%Y-%m-%d") + timedelta(days=1)
+        query = query.filter(CzrzEntity.gxsj.between(start_date, end_date))
+
+    total_count = query.count()
+
+    offset = (pageNum - 1) * pageSize
+    query = query.order_by(CzrzEntity.gxsj.desc()).offset(offset).limit(pageSize)
+    czrz_list = query.all()
+
+    # 将模型实例转换为字典
+    czrz_list_dict = [{
+            "operIp": item.ip,
+            "operName": item.nick_name,
+            "title": item.action,
+            "czrz": item.czrz,
+            "operTime": item.gxsj.strftime('%Y-%m-%d %H:%M:%S') if item.gxsj else '',
+        } for item in czrz_list]
+
+
+    return {
+        "code": 200,
+        "msg": "操作成功",
+        "rows": czrz_list_dict,
+        'pages': (total_count + pageSize - 1) // pageSize,
+        'total': total_count,
+        "currentPage": pageNum,
+        "pageSize": pageSize,
+    }
+