import operator import os import re import pandas as pd from copy import deepcopy from fastapi import APIRouter, Depends, Request, File, UploadFile from motor.motor_asyncio import AsyncIOMotorDatabase from utils.dingding import get_redis_alluid, send_dates from utils.jianli import get_resume import crud, schemas from datetime import datetime from core.configuration import * from db import get_database from db.ckdb import get_ck_db, CKDrive from models.interview_zsgc import InterviewDo from utils import get_time, qujian_time, Download_xlsx, send_str_mail router = APIRouter() # 增加入职人员 @router.post("/add_worker") async def add_worker( request: Request, data_in: schemas.InWorkerQuery, db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """ 增加入职人员信息 """ insert_data = data_in.data_in insert_data.update({ 'worker_id': data_in.worker_id }) data = await crud.worker_info.insert_worker(db, insert_data) return schemas.Msg(code=200, msg='ok', data=data) # 增加渠道 @router.post("/add_owner") async def add_owner( request: Request, data_in: schemas.InOwnerQuery, db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """ 增加渠道信息 """ insert_data = data_in.data_in insert_data.update({ 'owner_id': data_in.owner_id }) data = await crud.owner_info.insert_owner(db, insert_data) return schemas.Msg(code=200, msg='ok', data=data) # 查询入职人员信息 @router.post("/find_worker") async def find_worker( request: Request, data_in: schemas.WorkerQuery, db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """ 查询入职人员信息 """ data = await crud.worker_info.find_worker_some(db, findlist=data_in.find_filed) if not data: return schemas.Msg(code=-9, msg='无数据', data=None) return schemas.Msg(code=200, msg='ok', data=data) # 查询入职人员信息 @router.post("/find_worker_form") async def find_worker_form( request: Request, data_in: schemas.WorkerQuery, db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """ 查询入职人员信息 """ data = await crud.worker_info.find_worker_some(db, findlist=data_in.find_filed) if not data: return schemas.Msg(code=-9, msg='无数据', data=None) res_msg = { 'p1-p3': [i['name'] for i in data if i['job_level'] in ['p1', 'p2', 'p3']], 'p4': [i['name'] for i in data if i['job_level'] == 'p4'], 'p5': [i['name'] for i in data if i['job_level'] == 'p5'], 'p6': [i['name'] for i in data if i['job_level'] == 'p6'], 'p7': [i['name'] for i in data if i['job_level'] == 'p7'], 'p8': [i['name'] for i in data if i['job_level'] == 'p8'], 'm1': [i['name'] for i in data if i['job_level'] == 'm1'], 'm2': [i['name'] for i in data if i['job_level'] == 'm2'], 'm3': [i['name'] for i in data if i['job_level'] == 'm3'], 'm4': [i['name'] for i in data if i['job_level'] == 'm4'], '总人数': len(data) } return schemas.Msg(code=200, msg='ok', data=res_msg) # 修改入职人员信息 @router.post("/update_worker") async def update_worker( request: Request, data_in: schemas.WorkerQuery, db: AsyncIOMotorDatabase = Depends(get_database) ) -> schemas.Msg: """ 修改入职人员信息 """ data = await crud.worker_info.update_worker(db, data_in.worker_query, data_in.data_in) return schemas.Msg(code=200, msg='ok', data=data)