#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends, Form, Body, File, UploadFile from database import get_db from utils.StripTagsHTMLParser import * from sqlalchemy.orm import Session from datetime import datetime, timedelta import jwt from passlib.context import CryptContext from models import * from sqlalchemy import text, exists, and_, or_, not_ from sqlalchemy.sql import func from models import * from extensions import logger from utils import * import traceback from . import device, company, certificate, third router = APIRouter() router.include_router(device.router, prefix="/device") router.include_router(company.router, prefix="/company") router.include_router(certificate.router, prefix="/certificate") router.include_router(third.router, prefix="/third") # 2.2.1.13.人员基础信息 @router.post('/staff/info', description='提交人员基础信息') async def post_company_industry( request: Request, db: Session = Depends(get_db), data: dict = Depends(remove_xss_json) ): try: id = get_req_param(data, 'id') info = db.query(DangerBaseStaffInfo).filter(DangerBaseStaffInfo.id == id).first() if info is None: new_entity = DangerBaseStaffInfo(**data) db.add(new_entity) else: db.query(DangerBaseStaffInfo).filter(DangerBaseStaffInfo.id == id).update(data) db.commit() return { "code":1, "message":"成功", "data":{} } except Exception as e: traceback.print_exc() return { "code":0, "message":"更新异常,错误信息:" + str(e), "data":{} } # 2.2.1.14.值班值守 @router.post('/duty/info', description='提交值班值守信息') async def post_duty_info( request: Request, db: Session = Depends(get_db), data: dict = Depends(remove_xss_json) ): try: id = get_req_param(data, 'id') info = db.query(DangerBaseDutyInfo).filter(DangerBaseDutyInfo.id == id).first() if info is None: new_entity = DangerBaseDutyInfo(**data) db.add(new_entity) else: db.query(DangerBaseDutyInfo).filter(DangerBaseDutyInfo.id == id).update(data) db.commit() return { "code":1, "message":"成功", "data":{} } except Exception as e: traceback.print_exc() return { "code":0, "message":"更新异常,错误信息:" + str(e), "data":{} } # 2.2.1.16.摄像头信息 @router.post('/video/info', description='提交摄像头信息') async def post_video_info( request: Request, db: Session = Depends(get_db), data: dict = Depends(remove_xss_json) ): try: id = get_req_param(data, 'id') info = db.query(DangerBaseVideoInfo).filter(DangerBaseVideoInfo.id == id).first() if info is None: new_entity = DangerBaseVideoInfo(**data) db.add(new_entity) else: db.query(DangerBaseVideoInfo).filter(DangerBaseVideoInfo.id == id).update(data) db.commit() return { "code":1, "message":"成功", "data":{} } except Exception as e: traceback.print_exc() return { "code":0, "message":"更新异常,错误信息:" + str(e), "data":{} } # 2.2.1.17.1.10.危险化学品目录信息表 @router.get('/medium/menu') @router.post('/medium/menu', description='获取危险化学品目录信息表') async def get_medium_menu( request: Request, db: Session = Depends(get_db), data: dict = Depends(remove_xss_json) ): try: data = [] rows = db.query(DangerBaseMediumMenu).all() for row in rows: data.append({ "id": row.id, "medium": row.medium, "alias": row.alias, "cas": row.cas, "description": row.description, "deleted": row.deleted }) return { "code":1, "message":"成功", "time": unixstamp(), "data": data } except Exception as e: traceback.print_exc() return { "code":0, "message":"获取异常,错误信息:" + str(e), "data":{} }