From de45d8dc19cd16b85344a3c3bbb243a12e8811a0 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期三, 13 十一月 2024 15:16:59 +0800 Subject: [PATCH] 增加功能 --- app/service/organization.py | 89 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 89 insertions(+), 0 deletions(-) diff --git a/app/service/organization.py b/app/service/organization.py index e69de29..13b9d08 100644 --- a/app/service/organization.py +++ b/app/service/organization.py @@ -0,0 +1,89 @@ +import uuid + +from Log import logger +from app.models import OrganizationModel +from app.models.role_model import RoleModel + + + +async def get_organization_list(db, deptName: str): + query = db.query(OrganizationModel).filter(OrganizationModel.organization_id == None) + if deptName: + query = query.filter(OrganizationModel.name.like('%{}%'.format(deptName))) + depts = query.order_by(OrganizationModel.seq.desc()).all() + return {"total": query.count(), "rows": [dept.to_json() for dept in depts]} + + +async def create_dept(db, dept_name, leader, phone, address, status, order_num, roles, groups,parent_id): + try: + dept_model = OrganizationModel(id=str(uuid.uuid4()),name=dept_name, address=address,leader=leader,phone=phone,seq=order_num,status=status) + if parent_id: + dept_model.parent = db.get(OrganizationModel, parent_id) + if roles: + dept_model.roles = [db.get(RoleModel, roleId) for roleId in roles] + # if groups: + # dept_model.groups = [db.get(GroupModel, groupId) for groupId in groups] + db.add(dept_model) + db.commit() + db.refresh(dept_model) + except Exception as e: + logger.error(e) + db.rollback() + return False + return True + + +async def edit_dept_data(db, dept_id, dept_name, leader, phone, address, status, order_num, roles, groups,parent_id): + try: + dept_model = db.query(OrganizationModel).filter(OrganizationModel.id == dept_id).first() + dept_model.name = dept_name + dept_model.address = address + dept_model.phone = phone + dept_model.leader = leader + dept_model.status = status + dept_model.seq = order_num + # if parent_id: + # dept_model.parent = db.get(OrganizationModel, parent_id) + if roles: + dept_model.roles = [db.get(RoleModel, roleId) for roleId in roles] + # if groups: + # dept_model.groups = [db.get(GroupModel, groupId) for groupId in groups] + # db.add(dept_model) + db.commit() + db.refresh(dept_model) + except Exception as e: + logger.error(e) + db.rollback() + return False + return True + + +async def edit_dept_parent(db, dept_id, parent_id, order_num): + try: + dept_model = db.query(OrganizationModel).filter(OrganizationModel.id == dept_id).first() + dept_model.parent = db.get(OrganizationModel, parent_id) + dept_model.seq = order_num + db.commit() + db.refresh(dept_model) + except Exception as e: + logger.error(e) + db.rollback() + return False + return True + + +async def get_organization_info(db, dept_id: str): + dept = db.query(OrganizationModel).filter(OrganizationModel.id.__eq__(dept_id)).first() + + return {"total": 0, "data": dept.to_json()} + + +async def delete_organization_info(db, dept_id: str): + try: + db.query(OrganizationModel).filter(OrganizationModel.id.__eq__(dept_id)).delete() + db.commit() + except Exception as e: + logger.error(e) + db.rollback() + return False + return True \ No newline at end of file -- Gitblit v1.8.0