organization.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. from ..base import base
  2. from ..models import Resource
  3. from ..models import Role
  4. from ..models import User
  5. from ..models import Organization
  6. from flask import g, jsonify, request
  7. from flask_login import current_user, login_required
  8. import json
  9. from .. import db
  10. from flask import render_template
  11. from datetime import datetime
  12. import uuid
  13. @base.route('/system/dept/list', methods=['GET'])
  14. @login_required
  15. def syorganization_treeGrid():
  16. filters = []
  17. if 'deptName' in request.args:
  18. filters.append(Organization.NAME.like('%' + request.args['deptName'] + '%'))
  19. orgs = Organization.query.filter(*filters)
  20. return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
  21. @base.route('/system/dept/treeselect', methods=['GET'])
  22. @login_required
  23. def syorganization_tree_select():
  24. orgs = Organization.query.filter(Organization.SYORGANIZATION_ID == None)
  25. return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_tree_select_json() for org in orgs]})
  26. @base.route('/system/dept/list/exclude/<id>', methods=['GET'])
  27. @login_required
  28. def syorganization_dept_list_exclude(id):
  29. orgs = Organization.query.filter(Organization.ID != id)
  30. return jsonify({'msg': '操作成功', 'code': 200, "data": [org.to_json() for org in orgs]})
  31. @base.route('/system/dept/<string:id>', methods=['GET'])
  32. @login_required
  33. def syorganization_getById(id):
  34. org = Organization.query.get(id)
  35. if org:
  36. return jsonify({'msg': '操作成功', 'code': 200, 'data': org.to_json()})
  37. else:
  38. return jsonify({'success': False, 'msg': 'error'})
  39. @base.route('/system/dept', methods=['PUT'])
  40. @login_required
  41. def syorganization_update():
  42. org = Organization.query.get(request.json['deptId'])
  43. org.UPDATEDATETIME = datetime.now()
  44. if 'deptName' in request.json: org.NAME = request.json['deptName']
  45. if 'email' in request.json: org.EMAIL = request.json['email']
  46. if 'leader' in request.json: org.LEADER = request.json['leader']
  47. if 'phone' in request.json: org.PHONE = request.json['phone']
  48. if 'orderNum' in request.json: org.SEQ = request.json['orderNum']
  49. if 'parentId' in request.json: org.parent = Organization.query.get(request.json['parentId'])
  50. if 'status' in request.json: org.STATUS = request.json['status']
  51. db.session.add(org)
  52. return jsonify({'code': 200, 'msg': '操作成功'})
  53. @base.route('/system/dept', methods=['POST'])
  54. @login_required
  55. def syorganization_save():
  56. org = Organization()
  57. org.ID = str(uuid.uuid4())
  58. if 'deptName' in request.json: org.NAME = request.json['deptName']
  59. if 'email' in request.json: org.EMAIL = request.json['email']
  60. if 'leader' in request.json: org.LEADER = request.json['leader']
  61. if 'phone' in request.json: org.PHONE = request.json['phone']
  62. if 'orderNum' in request.json: org.SEQ = request.json['orderNum']
  63. if 'parentId' in request.json: org.parent = Organization.query.get(request.json['parentId'])
  64. if 'status' in request.json: org.STATUS = request.json['status']
  65. # add organization to current user
  66. current_user.organizations.append(org)
  67. db.session.add(org)
  68. return jsonify({'code': 200, 'msg': '操作成功'})