44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
from PDAPI import *
|
|
import TempLateAPI.GERP.API.FormAPI.FormData as FormData
|
|
|
|
# 处理删除部门成员请求
|
|
def HandleDeleteDepartmentMember(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"}
|
|
|
|
DeletedCount = 0
|
|
for UserUUID in UserUUIDList:
|
|
SMTMRecord = GERPSMTM.query.filter(
|
|
GERPSMTM.DepartmentUUID == Get16toBytes(DepartmentUUID),
|
|
GERPSMTM.UserUUID == Get16toBytes(UserUUID)
|
|
).first()
|
|
|
|
if SMTMRecord:
|
|
db.session.delete(SMTMRecord)
|
|
DeletedCount += 1
|
|
|
|
try:
|
|
db.session.commit()
|
|
return {"code": 0, "msg": f"成功删除 {DeletedCount} 个成员"}
|
|
except:
|
|
print(traceback.print_exc())
|
|
db.session.rollback()
|
|
return {"code": 1, "msg": "SQL 提交失败"}
|
|
|
|
# 注册函数类型插件
|
|
FormData.RegisterFunctionExtension("DepartmentMember", "delete", HandleDeleteDepartmentMember) |