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)