浏览代码

241224-2代码。

baoyubo 6 月之前
父节点
当前提交
569bc04442
共有 3 个文件被更改,包括 60 次插入0 次删除
  1. 2 0
      routers/prod_api/system/__init__.py
  2. 53 0
      routers/prod_api/system/area/__init__.py
  3. 5 0
      utils/riskManagement_uitl.py

+ 2 - 0
routers/prod_api/system/__init__.py

@@ -11,6 +11,7 @@ from . import dic
 from . import dept
 from . import config
 from . import role
+from . import area
 
 import json
 
@@ -23,6 +24,7 @@ router.include_router(menu.router, prefix="/menu") #, dependencies=[Depends(vali
 router.include_router(dic.router, prefix="/dict")
 router.include_router(dept.router, prefix="/dept")
 router.include_router(role.router, prefix="/role")
+router.include_router(area.router, prefix="/area")
 router.include_router(config.router, prefix="/config")
 
 

+ 53 - 0
routers/prod_api/system/area/__init__.py

@@ -0,0 +1,53 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+from fastapi import APIRouter, Request, Depends,Query,HTTPException
+from database import get_db
+from sqlalchemy.orm import Session
+from fastapi.responses import JSONResponse
+from models import *
+from utils import *
+from utils.ry_system_util import *
+from common.security import valid_access_token
+import traceback
+
+router = APIRouter()
+
+@router.get("/tree/{parent_id}")
+def read_all_areas(parent_id:int = 1,db: Session = Depends(get_db)):
+    def parent_id_get_area_info(parent_id):
+        query = db.query(GovdataArea)
+        query = query.filter(GovdataArea.parent_id == parent_id)
+        return query.all()
+    def id_get_area_info(id):
+        query = db.query(GovdataArea)
+        query = query.filter(GovdataArea.id == id)
+        return query.first()
+    try:
+        area_info = id_get_area_info(parent_id)
+        area_list = parent_id_get_area_info(parent_id)
+        data = []
+        if parent_id>1:
+            data.append({'id': area_info.id,
+                         'label': f"{area_info.area_name}本级",
+                         'personSum': 0,
+                         'isShowSelect': False,
+                         # 'parentLabel': area_info.area_name
+                         })
+        for info in area_list:
+            isShowSelect = True
+            if parent_id_get_area_info(info.id):
+                isShowSelect=False
+            data.append({'id': info.id,
+                'label': info.area_name,
+                'personSum': 0,
+                'isShowSelect': isShowSelect,
+                'parentLabel': area_info.area_name})
+        return {
+                "code": 200,
+                "msg": "成功",
+                "data": data
+        }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")

+ 5 - 0
utils/riskManagement_uitl.py

@@ -155,6 +155,11 @@ def get_task_date_list(cycle,start_date,end_date,corn_query):
             # 增加七天
             current_date += relativedelta(years=1)
         return date_list
+
+def rang_get_user_list(db,rang):
+    area_list = get_area_code_list(db, rang)
+    user_list = db.query(RiskManagementInspectionUser).filter(RiskManagementInspectionUser.del_flag=='0').filter(RiskManagementInspectionUser.area_code.in_(area_list)).all()
+    return user_list
 def create_children_task(db,task_info,corn_query):
     cycle = task_info.inspection_cycle
     task_range = task_info.inspection_range