control_department.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #coding=utf-8
  2. '''
  3. '''
  4. import json
  5. from django.db import transaction
  6. import common.models as cm
  7. import common.error_info as ce
  8. import common.common_functions as ccf
  9. import common.common_control as ccc
  10. def add_department(request):
  11. """
  12. """
  13. kwargs = request.json
  14. need_params = ["name","permissions"]
  15. mse = ccf.check_params(*need_params,**kwargs)
  16. if mse:
  17. raise ce.TipException(mse)
  18. cvals = ccf.get_need_params(*need_params,**kwargs)
  19. if kwargs.get("pid"):
  20. cvals["pid"] = kwargs.get("pid")
  21. cvals["cid"] = request.user.id
  22. cvals["cperson"] = request.user.realname
  23. try:
  24. obj = cm.Department.objects.create(**cvals)
  25. except Exception as e:
  26. raise c.TipException(str(e))
  27. def update_department(request):
  28. """
  29. """
  30. kwargs = request.json
  31. need_params = ["id"]
  32. mse = ccf.check_params(*need_params,**kwargs)
  33. if mse:
  34. raise ce.TipException(mse)
  35. id = kwargs.get("id")
  36. need_params.extend(["name","pid","permissions"])
  37. cvals = ccf.get_need_params(*need_params,**kwargs)
  38. if kwargs.get("pid"):
  39. cvals["pid"] = kwargs.get("pid")
  40. cvals["cid"] = request.user.id
  41. cvals["cperson"] = request.user.realname
  42. try:
  43. cm.Department.objects.filter(id=id).update(**cvals)
  44. except Exception as e:
  45. raise c.TipException(str(e))
  46. def delete_department(request):
  47. """
  48. """
  49. kwargs = request.json
  50. need_params = ["id"]
  51. mse = ccf.check_params(*need_params,**kwargs)
  52. if mse:
  53. raise ce.TipException(mse)
  54. ids = str(kwargs.get("id")).split(",")
  55. cm.Department.objects.filter(id__in=ids).update(status=0)
  56. def get_department_list(request):
  57. """
  58. """
  59. kwargs = request.json
  60. eset = cm.Department.objects.filter(status=1)
  61. if "name" in kwargs and kwargs.get("name"):
  62. eset = eset.filter(name__icontains=kwargs.get("name"))
  63. total = eset.count()
  64. edata = list(eset.values())
  65. page = int(kwargs.get("page",1))
  66. page_size = int(kwargs.get("page_size",20))
  67. total,data = ccf.get_page_list(edata,page,page_size)
  68. return (total,data)