control_enterprise.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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_enterprise(request):
  11. """
  12. """
  13. kwargs = request.json
  14. need_params = ["name","regno","licenceorg","enttype","address","legalperson",
  15. "entcontact","industry","taxtype"]
  16. mse = ccf.check_params(*need_params,**kwargs)
  17. if mse:
  18. raise ce.TipException(mse)
  19. need_params.extend(["subindustry","profit","turnover","entscale","regdate",
  20. "busscope","principals","finacial","funding","legalstate","remark"])
  21. cvals = ccf.get_need_params(*need_params,**kwargs)
  22. cvals["cid"] = request.user.id
  23. cvals["cperson"] = request.user.realname
  24. #生成评分和客户编号待完善
  25. if cm.EnterPrise.objects.filter(name=cvals.get("name")).exists():
  26. raise ce.TipException(u"该客户已录入!")
  27. try:
  28. entobj = cm.EnterPrise.objects.create(**cvals)
  29. except Exception as e:
  30. raise c.TipException(str(e))
  31. def update_enterprise(request):
  32. """
  33. """
  34. kwargs = request.json
  35. need_params = ["id","name","regno","licenceorg","enttype","address","legalperson",
  36. "entcontact","industry","taxtype"]
  37. mse = ccf.check_params(*need_params,**kwargs)
  38. if mse:
  39. raise ce.TipException(mse)
  40. need_params.extend(["subindustry","profit","turnover","entscale","regdate",
  41. "busscope","principals","finacial","funding","legalstate","remark"])
  42. cvals = ccf.get_need_params(*need_params,**kwargs)
  43. cvals["principals"] = json.dumps(cvals["principals"])
  44. cvals["cid"] = request.user.id
  45. cvals["cperson"] = request.user.realname
  46. #生成评分和客户编号待完善
  47. if cm.EnterPrise.objects.exclude(id=cvals.get("id")).filter(name=cvals.get("name")).exists():
  48. raise ce.TipException(u"该客户已录入!")
  49. try:
  50. cm.EnterPrise.objects.filter(id=cvals.get("id")).update(**cvals)
  51. except Exception as e:
  52. raise c.TipException(str(e))
  53. def delete_enterprise(request):
  54. """
  55. """
  56. kwargs = request.json
  57. need_params = ["id"]
  58. mse = ccf.check_params(*need_params,**kwargs)
  59. if mse:
  60. raise ce.TipException(mse)
  61. ids = str(kwargs.get("id")).split(",")
  62. cm.EnterPrise.objects.filter(id__in=ids).update(status=0)
  63. def format_enterprise(*ids):
  64. """
  65. """
  66. eset = cm.EnterPrise.objects.filter(id__in=ids,status=1)
  67. if not eset.exists():
  68. raise ce.TipException(u"客户不存在!")
  69. data = list(eset.values())
  70. for item in data:
  71. item["principals"] = json.loads(item["principals"])
  72. return data
  73. def get_enterprise_info(request):
  74. """
  75. """
  76. kwargs = request.json
  77. need_params = ["id"]
  78. mse = ccf.check_params(*need_params,**kwargs)
  79. if mse:
  80. raise ce.TipException(mse)
  81. ids = str(kwargs.get("id")).split(",")
  82. entinfo = format_enterprise(*ids)
  83. entinfo = entinfo[0] if entinfo else {}
  84. return entinfo
  85. def get_enterprise_list(request):
  86. """
  87. """
  88. kwargs = request.json
  89. eset = cm.EnterPrise.objects.filter(status=1)
  90. if "name" in kwargs and kwargs.get("name"):
  91. eset = eset.filter(name__icontains=kwargs.get("name"))
  92. if "industry" in kwargs and kwargs.get("industry"):
  93. eset = eset.filter(industry__icontains=kwargs.get("industry"))
  94. if "istrans" in kwargs and kwargs.get("istrans"):
  95. if kwargs.get("istrans") == 0:
  96. eset = eset.filter(enttrans__set__isnull=True)
  97. else:
  98. eset = eset.filter(enttrans__set__isnull=False)
  99. if "transpro" in kwargs and kwargs.get("transpro"):
  100. pass
  101. if "licenceorg" in kwargs and kwargs.get("licenceorg"):
  102. eset = eset.filter(licenceorg=kwargs.get("licenceorg"))
  103. if "enttype" in kwargs and kwargs.get("enttype"):
  104. eset = eset.filter(enttype=kwargs.get("enttype"))
  105. if "turnover" in kwargs and kwargs.get("turnover"):
  106. pass
  107. total = eset.count()
  108. edata = list(eset.values())
  109. page = int(kwargs.get("page",1))
  110. page_size = int(kwargs.get("page_size",20))
  111. total,data = ccf.get_page_list(edata,page,page_size)
  112. return (total,data)