123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- from fastapi import APIRouter, Request, Depends, HTTPException, Query, BackgroundTasks
- from sqlalchemy.exc import IntegrityError
- from fastapi.responses import HTMLResponse, FileResponse
- from fastapi.responses import JSONResponse
- from database import get_db
- from sqlalchemy import text, exists, and_, or_, not_
- from sqlalchemy.orm import Session
- from models import *
- import json
- import random
- import os
- from sqlalchemy import create_engine, select
- from typing import Optional
- from utils.StripTagsHTMLParser import *
- from utils.three_proofing_responsible_util import *
- from utils.ry_system_util import *
- from common.db import db_event_management, db_user, db_area, db_emergency_plan
- from common.security import valid_access_token
- import traceback
- from utils import *
- from datetime import datetime, timedelta
- import pandas as pd
- import xlrd
- from common.db import db_dept
- from exceptions import AppException
- router = APIRouter()
- @router.get('/list')
- async def get_emergency_contact_list(
- page: int = Query(1, gt=0, description='页码'),
- pageSize: int = Query(10, gt=0, description='每页条目数量'),
- db: Session = Depends(get_db),
- user_id=Depends(valid_access_token)
- ):
- try:
- # 构建查询
- query = db.query(ThreeProofingResponsiblePersonImportFileStatus)
- query = query.filter(ThreeProofingResponsiblePersonImportFileStatus.user_id == user_id)
- # if area_code:
- # query = query.filter(ThreeProofingResponsiblePerson.area_code==area_code)
- # 计算总条目数
- total_items = query.count()
- # 排序
- query = query.order_by(ThreeProofingResponsiblePersonImportFileStatus.create_time.desc())
- # 执行分页查询
- infos = query.offset((page - 1) * pageSize).limit(pageSize).all()
- # 将查询结果转换为列表形式的字典
- infos_list = []
- for info in infos:
- infos_list.append({
- "id": info.id,
- "file_uuid": info.file_uuid,
- "file_name": info.file_name,
- "warning_num":info.warning_num,
- "error_num":info.error_num,
- "status": info.status,
- "create_time":info.create_time.strftime('%Y-%m-%d %H:%M:%S'),
- "update_time": info.update_time.strftime('%Y-%m-%d %H:%M:%S'),
- "remark": info.remark
- })
- # 返回结果+
- return {
- "code": 200,
- "msg": "成功",
- "data": infos_list,
- "total": total_items
- }
- except Exception as e:
- # 处理异常
- traceback.print_exc()
- raise HTTPException(status_code=500, detail=str(e))
|