26 lines
800 B
Python
26 lines
800 B
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, department_id: str):
|
|
role_obj = db.query(Department).filter_by(id=department_id).first()
|
|
return role_obj
|