libushang 1 ヶ月 前
コミット
7acf603cdd

+ 104 - 4
routers/api/eventManagement/event.py

@@ -82,7 +82,7 @@ async def create_event(
 
         try:
             user_info = db_user.get_user_info(db, user_id)
-            db_czrz.log_username(db, user_id, user_info.user_name, user_info.nick_name, "应急一张图", "创建事件", request.client.host)
+            db_czrz.log_username(db, user_id, mpfun.dec_data(user_info.user_name), user_info.nick_name, "应急一张图", "创建事件", request.client.host)
         except:
             traceback.print_exc()
         
@@ -877,7 +877,7 @@ async def lauch_emergency_plan(
 
     try:
         user_info = db_user.get_user_info(db, user_id)
-        db_czrz.log_username(db, user_id, user_info.user_name, user_info.nick_name, "应急一张图", "启动预案", request.client.host)
+        db_czrz.log_username(db, user_id, mpfun.dec_data(user_info.user_name), user_info.nick_name, "应急一张图", "启动预案", request.client.host)
     except:
         traceback.print_exc()
 
@@ -1047,7 +1047,7 @@ async def send_emergency_plan_task_by_yzy(
     
     try:
         user_info = db_user.get_user_info(db, user_id)
-        db_czrz.log_username(db, user_id, user_info.user_name, user_info.nick_name, "应急一张图", "预案任务下发", request.client.host)
+        db_czrz.log_username(db, user_id, mpfun.dec_data(user_info.user_name), user_info.nick_name, "应急一张图", "预案任务下发", request.client.host)
     except:
         traceback.print_exc()
 
@@ -1264,4 +1264,104 @@ async def get_casualties(
     except Exception as e:
         # 处理异常
         traceback.print_exc()
-        raise HTTPException(status_code=500, detail=str(e))
+        raise HTTPException(status_code=500, detail=str(e))
+    
+# 统计分析
+@router.post("/get_statistical_analysis")
+async def get_casualties(
+    request: Request,  
+    body = Depends(remove_xss_json), 
+    db: Session = Depends(get_db)
+):
+    eventId = body['event_id']
+
+    try:
+        type_0_num = 0
+        type_0_process_num = 0
+        type_0_complete_num = 0
+        type_0_complete_rate = 0
+        
+        type_1_num = 0
+        type_1_process_num = 0
+        type_1_complete_num = 0
+        type_1_complete_rate = 0
+        
+        type_2_num = 0
+        type_2_process_num = 0
+        type_2_complete_num = 0
+        type_2_complete_rate = 0
+
+        type_3_num = 0
+        type_3_process_num = 0
+        type_3_complete_num = 0
+        type_3_complete_rate = 0
+        
+        q = db.query(TaskRegistration)
+        where = and_(TaskRegistration.event_code == eventId)
+        q = q.filter(where)
+        rows = q.all()
+        for row in rows:
+            task_type = row.task_type
+            processing_status = row.processing_status
+            if task_type == '0':
+                type_0_num = type_0_num + 1
+                
+                if processing_status == '处理中':
+                    type_0_process_num = type_0_process_num + 1
+                else:
+                    type_0_complete_num = type_0_complete_num + 1
+            
+            elif task_type == '1':
+                type_1_num = type_1_num + 1
+
+                if processing_status == '处理中':
+                    type_1_process_num = type_1_process_num + 1
+                else:
+                    type_1_complete_num = type_1_complete_num + 1
+            
+            elif task_type == '2':
+                type_2_num = type_2_num + 1
+
+                if processing_status == '处理中':
+                    type_2_process_num = type_2_process_num + 1
+                else:
+                    type_2_complete_num = type_2_complete_num + 1
+            
+            elif task_type == '3':
+                type_3_num = type_3_num + 1
+
+                if processing_status == '处理中':
+                    type_3_process_num = type_3_process_num + 1
+                else:
+                    type_3_complete_num = type_3_complete_num + 1
+            
+        if type_0_num > 0:
+            type_0_complete_rate = round(100.0 * type_0_complete_num / type_0_num, 2)
+
+        if type_1_num > 0:
+            type_1_complete_rate = round(100.0 * type_1_complete_num / type_1_num, 2)
+
+        if type_2_num > 0:
+            type_2_complete_rate = round(100.0 * type_2_complete_num / type_2_num, 2)
+
+        if type_3_num > 0:
+            type_3_complete_rate = round(100.0 * type_3_complete_num / type_3_num, 2)
+
+        data = []
+        data.append({"task_type": "事件处置", "task_sum": type_0_num, "process_num": type_0_process_num, "complete_num": type_0_complete_num, "complete_rate": type_0_complete_rate })
+        data.append({"task_type": "防范措施", "task_sum": type_1_num, "process_num": type_1_process_num, "complete_num": type_1_complete_num, "complete_rate": type_1_complete_rate })
+        data.append({"task_type": "险情处理", "task_sum": type_2_num, "process_num": type_2_process_num, "complete_num": type_2_complete_num, "complete_rate": type_2_complete_rate })
+        data.append({"task_type": "督办任务", "task_sum": type_3_num, "process_num": type_3_process_num, "complete_num": type_3_complete_num, "complete_rate": type_3_complete_rate })
+
+        # 返回结果
+        return {
+            "code": 200,
+            "msg": "查询成功",
+            "data": data
+        }
+
+    except Exception as e:
+        # 处理异常
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=str(e))
+    

+ 2 - 1
routers/api/taskRegistration/__init__.py

@@ -17,6 +17,7 @@ import copy
 from config import settings
 from common import YzyApi
 from common.db import db_event_management, db_user, db_msg_center, db_yzy, db_dept, db_czrz
+from common.enc import mpfun
 
 router = APIRouter()
 
@@ -97,7 +98,7 @@ async def create_task(
 
         try:
             user_info = db_user.get_user_info(db, user_id)
-            db_czrz.log_username(db, user_id, user_info.user_name, user_info.nick_name, "应急一张图", "任务下达", request.client.host)
+            db_czrz.log_username(db, user_id, mpfun.dec_data(user_info.user_name), user_info.nick_name, "应急一张图", "任务下达", request.client.host)
         except:
             traceback.print_exc()
 

+ 2 - 1
routers/api/videoResource/avcon.py

@@ -16,6 +16,7 @@ from datetime import datetime
 from common.db import db_user, db_czrz
 from common import AvconH5API, AvconMiniAPI
 from models import *
+from common.enc import mpfun
 
 '''
 融合通信相关接口
@@ -101,7 +102,7 @@ async def get_start_mini_param(
 
     try:
         user_info = db_user.get_user_info(db, user_id)
-        db_czrz.log_username(db, user_id, user_info.user_name, user_info.nick_name, "应急一张图", "发起会议", request.client.host)
+        db_czrz.log_username(db, user_id, mpfun.dec_data(user_info.user_name), user_info.nick_name, "应急一张图", "发起会议", request.client.host)
     except:
         traceback.print_exc()