user-wsc/AppUser/Crud/DepartmentCrud.py

42 lines
1.2 KiB
Python

from sqlalchemy.orm import Session
from AppUser.Model.DepartmentModel import Department
def set_next_id(db: Session, num_len: int, prefix: str, model):
data = db.query(model).with_entities(model.id).order_by(model.id.desc()).first()
if data:
num = str(int({**data}.get("id").split(prefix)[-1]) + 1)
return prefix + "0" * (num_len - len(num)) + num
else:
return prefix + "0" * (num_len - 1) + "1"
def create_department(db: Session, name: str):
item = Department(**{"name": name})
item.id = set_next_id(db=db, num_len=3, prefix="D", model=Department)
db.add(item)
db.commit()
return True
def get_department_by_id(db: Session, dp_id: str):
role_obj = db.query(Department).filter_by(id=dp_id).first()
return role_obj
def get_department_by_name(db: Session, name: str):
role_obj = db.query(Department).filter_by(name=name).first()
return role_obj
def get_department_list(db: Session):
role_list = db.query(Department).order_by(Department.id.asc()).all()
return role_list
def delete_department_by_id(db: Session, dp_id: str):
db.query(Department).filter_by(id=dp_id).delete()
db.commit()
return True