博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
销售统计功能
阅读量:7069 次
发布时间:2019-06-28

本文共 4129 字,大约阅读时间需要 13 分钟。

1 class TongJiView(View): 2  3     def get(self,request): 4  5         date = request.GET.get("date","today") 6         if hasattr(self,date): 7             context = getattr(self,date)() 8  9         return render(request,"customer/tongji.html",context)10 11     def today(self):12         today = datetime.datetime.now().date()13         customer_list = Customer.objects.filter(deal_date=today)14 15         # 查询每一个销售的名字以及今天对应的成单量16         ret = UserInfo.objects.filter(depart_id=2,customers__deal_date=today).annotate(c=Count("customers")).values_list("username","c")17         ret = [[item[0], item[1]] for item in ret]18         return {
"customer_list":customer_list,"ret":ret,"today":today}19 20 def zuotian(self):21 today = datetime.datetime.now().date()22 zuotian = datetime.datetime.now().date() - datetime.timedelta(days=1)23 customer_list = Customer.objects.filter(deal_date=zuotian)24 25 # 查询每一个销售的名字以及昨天对应的成单量26 ret = UserInfo.objects.filter(27 depart_id=2,customers__deal_date=zuotian).annotate(c=Count("customers")).values_list("username","c")28 ret = [[item[0], item[1]] for item in ret]29 return {
"customer_list":customer_list,"ret":ret,"today":today}30 31 def week(self):32 today = datetime.datetime.now().date()33 week = datetime.datetime.now().date() - datetime.timedelta(weeks=1)34 customer_list = Customer.objects.filter(deal_date__gte=week,deal_date__lte=today)35 36 # 查询每一个销售的名字以及一周对应的成单量37 ret = UserInfo.objects.filter(depart_id=2,customers__deal_date__gte=week,38 customers__deal_date__lte=today).annotate(c=Count("customers")).values_list("username",39 "c")40 ret = [[item[0], item[1]] for item in ret]41 return {
"customer_list":customer_list,"ret":ret,"today":today}42 43 def month(self):44 today = datetime.datetime.now().date()45 month = datetime.datetime.now().date() - datetime.timedelta(weeks=4)46 customer_list = Customer.objects.filter(deal_date__gte=month, deal_date__lte=today)47 48 # 查询每一个销售的名字以及一周对应的成单量49 ret = UserInfo.objects.filter(depart_id=2, customers__deal_date__gte=month,50 customers__deal_date__lte=today).annotate(c=Count("customers")).values_list("username",51 "c")52 ret = [[item[0],item[1]] for item in ret]53 return {
"customer_list": customer_list,"ret":ret,"today":today}

升级版本

1 class TongJiView(View): 2  3     def get(self,request): 4  5         date = request.GET.get("date","today") 6  7         today = datetime.datetime.now().date() 8         delta1 = datetime.timedelta(days=1) 9         delta2 = datetime.timedelta(weeks=1)10         delta3 = datetime.timedelta(weeks=4)11 12         condition = {13             "today":[{
"deal_date":today},{
"depart_id":2,"customers__deal_date":today}],14 "zuotian":[{
"deal_date":today-delta1},{
"depart_id":2,"customers__deal_date":today-delta1}],15 "week":[{
"deal_date":today-delta2},{
"depart_id":2,"customers__deal_date__gte":today-delta2,"customers__deal_date__lte":today}],16 "month":[{
"deal_date":today-delta3},{
"depart_id":2,"customers__deal_date__gte":today-delta3,"customers__deal_date__lte":today}],17 }18 19 customer_list = Customer.objects.filter(**condition.get(date)[0])20 ret = UserInfo.objects.filter(**condition.get(date)[1]).annotate(c=Count("customers")).values_list("username",21 "c")22 ret = [[item[0], item[1]] for item in ret]23 return render(request, "customer/tongji.html", {
"customer_list": customer_list,"ret":ret,"today":today})

 

转载于:https://www.cnblogs.com/qq849784670/p/9991933.html

你可能感兴趣的文章
Memcached服务级调优
查看>>
TensorFlow中那些鲜为人知却又极其实用的知识
查看>>
12306 售票网站新版验证码识别对抗
查看>>
Maven三种仓库详解
查看>>
使用 json-server 简单完成CRUD模拟后台数据
查看>>
在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
查看>>
Gartner:2016年第四季度全球服务器收入下滑1.9%
查看>>
如何使用jMeter发送两个逻辑上相关的HTTP请求
查看>>
“新技术·新工业·新商业”第二届中国制造千人会即将起航
查看>>
windbg调试堆破坏
查看>>
socket异步编程--libevent的使用
查看>>
VR游戏《Space fist》更新了!增强“打击感”玩起来更带劲
查看>>
配置FTP服务(二):vsftpd部署和优化
查看>>
在C#中调用API获取网络信息和流量
查看>>
Java集合遍历引发的"血案"
查看>>
Webpack入门教程六
查看>>
编译原理:正规式转变成DFA算法
查看>>
MongoDB数据库的MapReduce简单操作(转)
查看>>
cisco图标
查看>>
java获取类的信息
查看>>