Files
SMANAGE/backup/_api_backup/TempLateAPI/GERP/API/Department/Add.api
T

52 lines
1.9 KiB
Plaintext

from PDAPI import *
import TempLateAPI.GERP.API.FormAPI.FormData as FormData
# 处理添加部门成员请求
def HandleAddDepartmentMember(table, cleanedData):
"""处理添加部门成员请求"""
UserUUIDs = flask.request.form.get("UserUUIDs")
DepartmentUUID = flask.request.form.get("DepartmentUUID")
if not UserUUIDs:
return {"code": 400, "msg": "参数缺失: UserUUIDs"}
if not DepartmentUUID:
return {"code": 400, "msg": "参数缺失: DepartmentUUID"}
if not (Department := GERPDepartment.query.filter(
GERPDepartment.DepartmentUUID == Get16toBytes(DepartmentUUID)
).first()):
return {"code": 1, "msg": "部门 不存在"}
UserUUIDList = [UUID.strip() for UUID in UserUUIDs.split('\n') if UUID.strip()]
if not UserUUIDList:
return {"code": 400, "msg": "参数缺失: UserUUIDs"}
AddedCount = 0
for UserUUID in UserUUIDList:
if not (User := GERPUser.query.filter(
GERPUser.UserUUID == Get16toBytes(UserUUID)
).first()):
continue
if not GERPSMTM.query.filter(
GERPSMTM.DepartmentUUID == Get16toBytes(DepartmentUUID),
GERPSMTM.UserUUID == Get16toBytes(UserUUID)
).first():
NewSMTM = GERPSMTM(
DepartmentUUID=Get16toBytes(DepartmentUUID),
UserUUID=Get16toBytes(UserUUID),
PersonInChargeStatus=0
)
db.session.add(NewSMTM)
AddedCount += 1
try:
db.session.commit()
return {"code": 0, "msg": f"成功添加 {AddedCount} 个成员"}
except:
print(traceback.print_exc())
db.session.rollback()
return {"code": 1, "msg": "SQL 提交失败"}
# 注册函数类型插件
FormData.RegisterFunctionExtension("DepartmentMember", "add", HandleAddDepartmentMember)