47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
from typing import List
|
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
from Model.DepartmentModel import Department
|
|
from Model.UserModel import User
|
|
|
|
|
|
def get_department_list(db: Session):
|
|
return db.query(Department).all()
|
|
|
|
|
|
def is_department_created(db: Session, name: str):
|
|
if db.query(Department).filter_by(name=name):
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
|
|
def add_department(db: Session, name: str, belong: int):
|
|
if not is_department_created(db, name):
|
|
db.add(Department(name=name, belong=belong))
|
|
db.commit()
|
|
else:
|
|
raise Exception("部门已经存在")
|
|
|
|
|
|
def change_department(db: Session, department_id: int, name: str, belong: int):
|
|
db.query(Department).filter_by(id=department_id).update({"name": name, "belong": belong})
|
|
db.commit()
|
|
|
|
|
|
def delete_department(db: Session, name: str):
|
|
if not is_department_created(db, name):
|
|
db.add(Department(name=name))
|
|
db.commit()
|
|
else:
|
|
raise Exception("部门已经存在")
|
|
|
|
|
|
def set_user_department(db: Session, user_id: str, department_id_list: List[int]):
|
|
department_info = "".join([str(item) for item in department_id_list])
|
|
db.query(User).filter_by(id=user_id).update({"department": department_info})
|
|
db.commit()
|
|
db.refresh(User)
|
|
return User.department
|