#coding=utf-8 ''' ''' import json from django.db import transaction import common.models as cm import common.error_info as ce import common.common_functions as ccf import common.common_control as ccc def add_enterprise(request): """ """ kwargs = request.json need_params = ["name","regno","licenceorg","enttype","address","legalperson", "entcontact","industry","taxtype"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) need_params.extend(["subindustry","profit","turnover","entscale","regdate", "busscope","principals","finacial","funding","legalstate","remark"]) cvals = ccf.get_need_params(*need_params,**kwargs) cvals["cid"] = request.user.id cvals["cperson"] = request.user.realname #生成评分和客户编号待完善 if cm.EnterPrise.objects.filter(name=cvals.get("name")).exists(): raise ce.TipException(u"该客户已录入!") try: entobj = cm.EnterPrise.objects.create(**cvals) except Exception as e: raise c.TipException(str(e)) def update_enterprise(request): """ """ kwargs = request.json need_params = ["id","name","regno","licenceorg","enttype","address","legalperson", "entcontact","industry","taxtype"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) need_params.extend(["subindustry","profit","turnover","entscale","regdate", "busscope","principals","finacial","funding","legalstate","remark"]) cvals = ccf.get_need_params(*need_params,**kwargs) cvals["principals"] = json.dumps(cvals["principals"]) cvals["cid"] = request.user.id cvals["cperson"] = request.user.realname #生成评分和客户编号待完善 if cm.EnterPrise.objects.exclude(id=cvals.get("id")).filter(name=cvals.get("name")).exists(): raise ce.TipException(u"该客户已录入!") try: cm.EnterPrise.objects.filter(id=cvals.get("id")).update(**cvals) except Exception as e: raise c.TipException(str(e)) def delete_enterprise(request): """ """ kwargs = request.json need_params = ["id"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) ids = str(kwargs.get("id")).split(",") cm.EnterPrise.objects.filter(id__in=ids).update(status=0) def format_enterprise(*ids): """ """ eset = cm.EnterPrise.objects.filter(id__in=ids,status=1) if not eset.exists(): raise ce.TipException(u"客户不存在!") data = list(eset.values()) for item in data: item["principals"] = json.loads(item["principals"]) return data def get_enterprise_info(request): """ """ kwargs = request.json need_params = ["id"] mse = ccf.check_params(*need_params,**kwargs) if mse: raise ce.TipException(mse) ids = str(kwargs.get("id")).split(",") entinfo = format_enterprise(*ids) entinfo = entinfo[0] if entinfo else {} return entinfo def get_enterprise_list(request): """ """ kwargs = request.json eset = cm.EnterPrise.objects.filter(status=1) if "name" in kwargs and kwargs.get("name"): eset = eset.filter(name__icontains=kwargs.get("name")) if "industry" in kwargs and kwargs.get("industry"): eset = eset.filter(industry__icontains=kwargs.get("industry")) if "istrans" in kwargs and kwargs.get("istrans"): if kwargs.get("istrans") == 0: eset = eset.filter(enttrans__set__isnull=True) else: eset = eset.filter(enttrans__set__isnull=False) if "transpro" in kwargs and kwargs.get("transpro"): pass if "licenceorg" in kwargs and kwargs.get("licenceorg"): eset = eset.filter(licenceorg=kwargs.get("licenceorg")) if "enttype" in kwargs and kwargs.get("enttype"): eset = eset.filter(enttype=kwargs.get("enttype")) if "turnover" in kwargs and kwargs.get("turnover"): pass total = eset.count() edata = list(eset.values()) page = int(kwargs.get("page",1)) page_size = int(kwargs.get("page_size",20)) total,data = ccf.get_page_list(edata,page,page_size) return (total,data)